首页 > 文章中心 > pic单片机

pic单片机

开篇:润墨网以专业的文秘视角,为您筛选了八篇pic单片机范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

pic单片机范文第1篇

【关键词】温度测量;pic16F877;DS18B20;仿真测试

在日常生活经常要用到温度的检测及控制,传统的测温元件有热电偶和热电阻,而热电偶和热电阻测出的一般是电压,在转换成对应的温度,需要比较多的硬件支持,硬件电路很复杂,软件调试也复杂,制作成本高。而且测出来的温度精度也没有技术成熟的温度传感器高。

本文基于PIC单片机来设计数字式测温计,直接采用数字式温度传感器DS18B20,用单片机对18B20进行控制,来进行测温[1]。显示部分可用lcd1602,单片机可直接驱动lcd1602显示温度,硬件较简单,稳定。DS18B20采用单总线技术,容易扩展,并且具有转换速度快,转换精度高,可由片机直接读出温度并显示出来等优点。

一、设计目标和思路

本文采用PIC16F877的USART异步通信模式,可广泛应用于单片机与PC机,以及单片机与单片机之间的通信。USART接口由RC6、RC7这两只引脚构成。RC6用于数据的发送,RC7用于接收数据[2]。

当单片机需要通过USART发送数据时,只需将所发送数据送入数据缓冲寄存器TXERG,然后系统会自动将TXREG寄存器内容送入发送移位寄存器TSR,接着系统会根据所设置的波特率脉冲信号,通过RC6引脚从高位到低位依次发送出去。当系统将TXERG寄存器内容加载到TSR中时,会自动将中断发送标志位TXIF置位,根据程序决定是否进入中断。而当单片机需要通过USART接受数据时,通过RC7引脚将数据依次送入接收移位寄存器RSR中,当收到一个停止位时,移位寄存器RSR就把收到的8位数据自动送入接收数据缓冲器RCREG中。在接收数据缓冲器RCREG收到一个稳定的数据后,接收中断标志位RCIF将自动置位,根据程序决定是否进入中断。

二、原理结构图

本文利用PIC16F877和DS18B20传感器设计了测温计,其包含主控器部分、温度显示部分、传感测试部分和按键设计部分[3]。

基于PIC16F877的测温计原理电路图结构如图1所示。

其中,电源部分的S1为复位按钮它在被按得时候断开放开后自动闭合,在其断开又闭合的瞬间使整套电路中各芯片的供电电压实现从5V降到0V再升到5V的过程,从而达到复位的目的。输入电容C2一般情况不接,但当集成稳压器远离整流、滤波电路时应接入一个0.33μf的电容器,它的作用是改善纹波和抑制输入的瞬时过电压,保证78L05的输入与输出间的电压差不会超过允许值。输出电容C3一般不采用大容量的电解电容器,只要接入0.1μf的电容器便可以改善负载的瞬态响应。但是,为了减小输出的纹波电压,在输出端并联一只大容量的电解电容C4,会取得更好的效果。然而,这样将随之产生一种弊端:一旦78L05的输入端出现短路时,输出端上的大电容器上储存的电荷将通过集成稳压器内部电路调整管的发射极与基极泄放,因大容量电容器释放能量较大,会造成集成稳压器内部调整管的损坏,导致电路无法工作。为了防止这一点,在78L05的输入端与输出端之间跨接一个二极管,它为C4上电荷的泄放提供了一个分流通路,对集成稳压器起保护作用。

串口接收温度函数流程图如图2所示。

三、Protues仿真调试

为调试和检验上述的电路原理图的正确性和合理性,本文通过Protues软件仿真来进行波形调试。

在仿真调试的过程中,先后对DS18B20测温模块、lcd1602显示模块、PIC单片机的USART模块通信等,分别进行了仿真测试。待各部分均测试正确无误后,方才对整体电路进行测试。图3所示即为本文对温度测量部分进行仿真调试和测试。

从Protues的仿真结果来看,本文设计的数字温度测量电路,以PIC16F877单片机为工作处理器的核心,外接DS18B20和LCD1602,用单片机处理数字信号,再把其送入显示器显示。在经过反复的仿真调试和测试后,验证其使用起来比较方便且结果简单易读。与此同时,如果在本文涉及的基础上在扩展其功能,如多点测温、温度报警等,则只需调整PIC单片机程序即可。这样的话,本文设计的测温系统,在具有电路简单、维护方便等优点的同时,还具有扩展兼容性好、读数准确易懂等特点,能够满足日常生活对测温计的一般基本要求。

参考文献

[1]刘君华.传感器技术及应用实例[M].电子工业出版社, 2008.

[2]彭树生,庄志洪,赵惠昌.《PIC单片机原理及应用》P224-226[M].机械出版社,2001,1.

[3]李荣正.PIC单片机原理及应用[M].北京航空航天大学出版社,2005.

作者简介:

pic单片机范文第2篇

EPS是一种依靠电动机产生助力的系统,本文介绍了美国一家公司研发的以高性能微处理器PIC18F4431单片机为核心等的电动助力转向电子控制单元,为提高驱动的速度和精确度,采用智能直流电机控制芯片从而驱动电路中的MOSFET管,而且通过单片机串口与PC机完成通信,经由LABVIEW编程进行显示。

【关键词】EPS 单片机设计 LABVIEW

1 前言

EPS即电动助力转向系统,是由传感器、电控单元和助力电机构成的,在电动机提供助力的条件下,电子控制单元能够控制助力大小的转向助力方式。该系统由于具有结构简单、质量轻、容易维护等优点而成为汽车改变方向系统研究和发展的主要方向。

因为PIC18F4431具有工作的可靠度高、功能多样、方便操作、功耗较小等优点而受到人们的关注,以它为核心的电动助力转向控制单元的设计至关重要。

2 EPS系统发展现状

20世纪末期,在日本和美国在某些型号车上首次成功采用EPS系统之后,欧洲市场的经济型汽车也将EPS作为标配,经过三十多年的发展,该系统的技术已经逐步趋于完善,它的应用范围也在向多种车型全面发展。

我国在21世纪出开始进行EPS系统的研发,不过因为国产汽车车型技术的实际情况和使用条件的限制,并不能与国外的EPS完全协调匹配。另一方面,EPS研发所获取的相关核心技术资料相对缺乏,目前仍处于技术攻关阶段。

3 EPS系统工作原理

EPS的硬件主要有传感器、助力电机和电控单元组成,软件部分包括控制策略和故障诊断与保护程序两个内容。该系统的结构如图1所示:

EPS系统工作原理:转矩传感器与转轴相连接,当驾驶员对方向盘施加扭转力矩的作用转动方向盘时,通过传感器将位移信号转变为电信号,同时将其传递给ECU,此时,车速传感器所测得的当前车速信号也传输至ECU。通过ECU内置控制作用对以上两个信号的处理便可以确定理想的助力电流给电机,减速机构将力矩放大和司机的操作力矩共同作用克服阻力,使车辆转向。

4 PIC18F4431单片机的设计

PIC18F4431单片机具有高性能PWM和A/D功能,是一种8位单片机,具有以下优势:拥有以互补形式输出的PWM模块、灌电流和拉电流的峰值较高、采样速度较快、功耗模式良好、振荡器结构灵活等。以上的优势方便了后续的结构设计和软件设计。

4.1 电控单元的结构

PIC18F4431型单片机是ECU的核心控制部分,控制单元的组成如下图所示,车载12V的蓄电池所供电量通过内部电源的转换后保证其正常工作。当经过处理的传感器信号到达单片机的对应端口时,单片机可以依据EPS的助力特性和正确算法分析所接收的数据,获得理想助力电流的数值和方向,并产生PWM信号同时经过PIC18F4431输出控制指令,信号在驱动电路和H桥的作用下控制直流电机的运转。微处理器把电动机驱动电路上的传感器正常工作时检测到的实时工作电流依据内部的控制算法进行计算从而实现对电机的闭环控制。当EPS系统工作出现故障时,报警模式开启在做出提示的同时断开继电器用人工助力代替电动助力模式。

4.2 直流电动机驱动控制电路

要满足EPS系统高速、可靠性的要求,直流电机驱动控制电路需要有足够的精度和速度实现对直流电动机转速和输出转矩的控制。因此可以采用PWM控制模式控制H桥电路,直流电动机的驱动控制电路如图3所示,它适合对可靠性要求较高的大功率、重载的场合。

5 LABVIEW显示

采用LABVIEW的虚拟测试系统中的VISA库来检测系统的工作情况, 完成对电动助力转向系统的串口数据通信的同时,全面显示数据并完成监测。

6 结束语

分析研究EPS系统的工作原理和助力控制后,对EPS控制系统的硬件电路进行了设计并进行实验分析,探索出低压、低速、大电流直流电机的控制方法在汽车电动助力转向系统中能够满足汽车助力效果的要求。

参考文献

[1]季学武,陈奎元.动力转向系统的发展与节能[J].世界汽车,1999.

[2]何道清.传感器与传感器技术[M].北京:科学出版社,2004.

[3]李谋.位置检测与数显技术[M].北京:机械工业出版社,1993.

pic单片机范文第3篇

关键词:PIC16F873;ZLG7289A;升降速曲线的优化;抗干扰技术;控制系统

中图分类号:TM383.6;TP368.1 文献标识码:A

文章编号:1004-373X(2009)12-175-04

Stepping Motor Control System Based on PIC16F873 MCU

HUANG Fa1,KONG Xiuhua2

(1.Training Center for Vocational Skills,Weihai Vocational College,Weihai,264210,China;

2.Shandong Jiaotong University,Weihai,264200,China)

Abstract:Stepping motor controlled by single chip computer is applied widely in various motion control system because of the characteristics of flexible function,accurate outputting pluse and strong real-time etc.PIC16F873 is used in the design,stepping motor speed can be changed by data and instructions entered through the keyboard and can be continuously changed by rotating button,working mode and setting of motor is real-time displayed.The variation of unreasonable pulse frequency causes the matter that system can not realize accurate location in the course ofrise and fall-speed of stepping motor.The matter is solved by adopting an optimized method.Driving circuit of stepping motor is optimized,anti-interference technique is adopted in software and hardware.The whole system runs stably and reliably.

Keywords:PIC16F873;ZLG7289A;optimization of the rise and fall-speed;anti-interference technique;control system

0 引 言

单片机控制步进电机具有功能灵活多样,脉冲输出准确,实时性强等特点,通过软件设计可以实现各种复杂的控制,其系统成本较低,近些年来已被广泛应用在各种不同的运动控制系统中。

在实际应用中,若步进电机在升降速时,脉冲频率的变化不合理,就会使电机失步或者过冲,使系统无法做到精确定位;同时,由于系统快速性的要求,电机需要很快地完成加减速过程。

这里设计了基于PIC单片机的步进电机控制系统,分析快速性最好的指数型加减速曲线在实际系统中的应用规律,提出了一种升降速曲线的优化方法,采用了硬件、软件抗干扰技术措施。可以通过键盘输入数据与指令,并能通过旋钮方便地实现电机的连续调速,实时设置与显示步进电机的工作方式。

1 控制系统总体方案设计

系统功能原理示意图如图1所示。

图1 系统功能原理示意图

在该系统中由单片机直接输出电机的各相控制脉冲序列,光耦进行必要的光电隔离,采用分立元件构成功率MOSFET管驱动电路,带动电机转动。键盘接口与LED显示功能由具有SPI串行接口功能的ZLG7289实现。既可使用按键输入的方式精确设置电机的工作方式与转速,也可以通过调速旋钮实现电机转速的连续调节,还能通过上位微机实现对电机工作方式的调整与控制。

2 硬件电路设计

2.1 控制电路设计

控制芯片采用PIC16F873,该单片机具有抗干扰能力强,超低功耗。芯片自带硬件看门狗,具有高速SPI通信端口,6通道10位A/D转换,2路PWM输出,8 KB容量的FLASH存储器,368 B容量的SRAM,3个定时器,1个SPI串行通信口。由于单片机内部的资源丰富,性价比高,能够满足该设计的要求,而且减少硬件电路的设计,提高工作效率。单片机的外部引脚定义以及在该设计的资源分布如图2所示。

图2 PIC16F873单片机外部引脚分布

RA0口外接4.7 kΩ的可调电位器,利用单片机内部的模/数转换功能转换成数字量,进而控制输出脉冲频率的高低,完成步进电机速度的“连续”调节。过流检测的结果直接引入到RB6,通过中断实现对电流的快速控制。

2.2 驱动电路设计

功率MOSFET管的部分驱动电路如图3所示。

图3 由分立元件构成的功率MOSFET管驱动电路

由于功率MOSFET管栅极电容的存在,对该管的驱动电流实际表现为对栅极电容的充、放电。图中电路的设计可改进功率MOSFET管的快速开通时间,减少在前级门电路上的功耗,提高了驱动电流的前后沿陡度,能够改善高频响应。

栅源间过压保护齐纳二极管的稳压值为15 V。功率MOSFET管栅源间的阻抗很高,工作于开关状态下的漏源间电压的突变会通过极间电容藕合到栅极而产生相当幅度的VGS脉冲电压。这一电压会引起栅源击穿造成管子的永久损坏,如果是正方向的VGS脉冲电压,虽然达不到损坏器件的程度,但会导致器件的误导通。为此,要适当降低栅极驱动电路的阻抗,在栅源之间并接阻尼电阻或接一个稳压值小于20 V而又接近20 V的齐纳二极管,防止栅源开路工作。

为了抑制功率管内的快恢复二极管出现反向恢复效应,在电路中接入4只快恢复二极管。其中,反并联快恢复二极管的作用是为电机相绕组提供续流通路,其余2只是为了使功率MOSFET管内部的快恢复二极管不流过反向电流,以保证功率MOSFET管在动态工作时能起正常的开关作用。

2.3 显示与按键处理电路

在单片机应用系统中,键盘显示接口技术已经比较成熟,相对于并行方式,串行扩展接线灵活,占用单片机资源少,系统结构简化,极易形成用户的模块化结构。现代单片机应用系统广泛采用串行扩展技术。ZLG7289A是具有SPI串行接口功能的可同时驱动8位共阴式数码管或64只独立LED的智能显示驱动芯片。单片即可完成LED显示p键盘接口的全部功能。ZLG7289A采用串行方式与微处理器通信。串行数据从DIO引脚送入芯片,并由CLK端同步。当选信号变为低电平后,DIO引脚上的数据在CLK引脚的上升沿被写入ZLG7289A的缓冲寄存器。

应注意的是ZLG7289A应连接共阴式数码管,在应用中无需用到的数码管和键盘可以不连接,省去数码管和对数码管设置消隐属性均不会影响键盘的使用。整个电路无需添加锁存器、驱动器、寄存器等,耗电较小,软件设计中也无需进行显示译码,省去了静态显示扩展芯片,大大节省了MCU的占用时间,因而使用更方便,适于推广。

本电路设计中仅采用4×4键盘和4位数码管,已完全满足设计需要。PIC16F873单片机与ZLG7289接口示意如图4所示。

2.4 硬件电路抗干扰设计

2.4.1 PCB的抗干扰设计

(1) 当集成电路在工作状态翻转时,其工作电流的变化很大。集成电路电源线的电感会阻止电流的瞬态变化,从而影响集成电路的响应速度。与此同时集成电路芯片的瞬态变化电流流过环路面积较大电源线路时,将会产生较为强烈的对外辐射噪声。由于各集成电路很可能会流经相同的线路,在此线路上存在较大的公共阻抗,从而产生较严重的阻抗耦合干扰。除电源系统输出端采用电解电容与高频瓷片电容并联去耦外,还应包括MCU与数字集成电路去耦、电源走线末端去耦等措施。具体做法如下:电源输入端接10~100 μF的电解电容。在集成电路的电源输入端和接地端之间接0.01 μF陶瓷电容。在Vcc与电源地之间安放一个0.1 μF的瓷片去耦电容。

图4 PIC16F873单片机与ZLG7289接口示意图

(2) 合理布线是提高单片机系统抗干扰的最主要措施。电源系统在PCB上的走线较长,当电磁噪声感应到电源系统,将可能导致系统内诸如触发器、反向器等电路的状态改变,从而使系统产生误动作。另一方面,电源系统上产生的快变大电流,也可能产生电磁能量的发送。设计时可按下列原则布线:电源线尽可能与地线平行,以减小供电环路面积,减小电源噪声的产生。对大电流的走线,尽可能将它们的宽度加粗,使传输压降减到最低。将不同电路功能区域的地分开走线,最后汇到主接触地点。数字地与模拟地应分开布线、单点连接。

2.4.2 电机驱动电路的抗干扰设计

为了防止电机产生的噪声引起干扰,将单片机定时控制电路和电机控制电路分成2块电路板,这样有利于抗干扰,并提高电控板的可靠性。电机驱动信号由PIC16F873智能运算后加至电机驱动器,通过电平转换芯片输出。MCU的几个输出端口加接的光电耦合电路“耦合”两边的“地”分割开来。电机的电源引线不要和其他引线捆扎在一起,避免绕过或覆盖电控板上的元器件而产生对复位信号的干扰,引起单片机死机。

3 软件设计

3.1 加减速优化设计

3.1.1 指数型加减速优化控制方法

步进电机运行时一定满足动力学方程:

Jθdf/dt+Dθf+Tl

式中:θ为步距角;J为转动惯量;Tl为负载转矩;Tm为输出转矩;f为频率。

每个频率下的最大输出力矩可以由电机矩频特性曲线得到,但是一般的矩频特性曲线是整体呈下降趋势的非线性曲线,不便于计算;所以在一定的频率范围内,采用直线来近似拟合它的特性,得到电机的输出转矩与频率的关系:

Tm=Tm0-af

这种近似的关系要根据电机自身的矩频特性曲线和一定频率范围内曲线的特性来确定。Tm0为电机的最大转矩,a为拟和直线的斜率。对于不同的电机和在不同的频率范围内,也可用二次函数或其他的函数近似表示它们之间的关系。

利用直线拟合矩频特性,通过牛顿跌代法和Matlab中的m-file编程,可计算得到加减速运行时每步所走的速度台阶,即步进电机的指数型加减速运行曲线。

3.1.2 提出新优化方法

由上面的理论方法得到的理论加减速曲线,对于负载比较大的系统,所需的加减速台阶数过多,过程复杂,消耗了大量的系统资源,同时步进电机也出现了明显的失步情况,其原因在于每个速度只运行一步,还没有完全稳定就运行到更高的速度,从而造成了系统的不稳定。

通过在实际工作中的经验,提出了一种升降速曲线的优化方法:电机的加减速趋势采用理论计算得到的指数加减速曲线趋势;上升和下降的台阶数分别取相应的理论优化曲线的一半,然后每个上升台阶走5步,每个下降台阶走3步,这样就可以保证电机正常运行,而且有较快的速度,同时减少了运行的台阶数,使曲线更简单;同时即使负载有少量的变化,电机也可以正常运行,使系统的鲁棒性更好。

3.2 软件中的抗干扰设计

3.2.1 “看门狗”程序

采用“看门狗”程序,防止单片机系统因干扰而产生持续异常甚至导致元器件和部件的损坏。“看门狗”必须在开机复位后,初始化前被激活,并且必须设置在主程序中,尽量避免放在中断程序或子程序中。

3.2.2 标志检测程序

单片机系统受干扰而导致出错后,若无法自动恢复,通常是由于RAM区数据被破坏的缘故。因此,可以利用数据RAM单元,设置检验标志,应用程序定期检查各标志位,若标志正确,相应功能程序继续运行;否则,进入初始化程序。

3.2.3 未使用存储器与中断地址的处理程序

若程序计数器出错而跳转到MCU的未用程序存储器空间,程序将按照其中的指令代码运行,会产生异常。处理办法有2种:填写软件中断指令,程序计数器落入该区域时,产生软件中断,将程序导入预定的程序入口地址;填写空操作指令,并最终跳转到初始化程序。

3.3 模块化结构设计

软件部分采用模块化结构设计。对步进电机转速的控制是通过定时器工作在中断方式实现的。定时器定时中断产生周期性脉冲序列,不是采用软件延时的方式,这样不占用MCU的时间。MCU在非中断时间内可以处理其他事件,只有在中断发生时才驱动步进电机转动一步。

根据步进电机励磁状态转换,采用查表法求出所需的输出状态,并以二进制码的形式依次存入单片机内部的存储器中,然后按照正向或反向顺序依次取出地址的状态字,送给PIC16F873的RA1,RA2,RA3,RA4,输出各励磁状态,经放大电路驱动步进电机,从而实现环形分配器的功能。

程序总体框架包括3部分:主程序、过流检测中断服务子程序、定时器中断服务子程序、以及其他子程序(包括正转、反转子程序、键盘显示控制子程序、A/D转换子程序等),由于篇幅限制,在此不再赘述。

4 结 语

在电机控制系统开发过程中,如果恰当地选取单片机的型号及各个电路模块,则一定能够简化设计过程,起到事半功倍的效果。该步进电机控制系统采用PIC16F873单片机,工作方式、转动速率及转矩数可以通过键盘输入,也可通过普通旋钮以及上位机调节。键盘与LED控制部分采用具有SPI接口的ZLG7289实现,简化了硬件电路。采用硬件、软件抗干扰技术措施和一种升降速曲线的优化方法,解决了步进电机在升降速过程中,脉冲频率的变化不合理,使系统无法做到精确定位的问题。系统工作可靠,具有通用性,适当改变输出口各位控制端,便可控制不同相数的步进电机。

参考文献

[1]张毅刚.自动测试系统[M].哈尔滨:哈尔滨工业大学出版社,2001.

[2]胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,2002.

[3]胡伟,季晓衡.单片机C程序设计及应用实例[M].北京:人民邮电出版社,2003.

[4]吴健强.现代传动及其控制技术[M].北京:机械工业出版社,2003.

[5]余永权,汪明慧,董英.单片机在控制系统中的应用[M].北京:电子工业出版社,2004.

[6]白恩远,王俊元,孙爱国,等.现代数控机床伺服及检测技术[M].北京:国防工业出版社,2002.

pic单片机范文第4篇

关键词:PIC单片机;只能小区;监控系统

中图分类号:TK511 文献标识码:A

1、引言

伴随着人们生活质量的逐渐提高,人们对居住环境的要求随之也不断提高,对于安全工作以及信息服务的要求也是非常突出的.怎样使用计算机以及通信技术它在智能化小区家庭智能管理系统之中,对于住户家庭电表、煤气表等的自动计量和火灾、煤气泄漏、入室盗窃种种警情的实时检测则已变成信息产业中备受关注的热点。使用CAN总线技术虽然具有开放式、数字化以及多点通信等相关的优点,然而将其使用到智能住宅小区之中,具有成本偏高的缺点,当前在我国比较难推广。所以,对其技术进行改革就很有必要。

单片机的智能小区监控系统的产生的相关背景

智能小区它是通过使用计算机技术、自动控制技术、当代通信网络技术以及IC卡等技术,使用高效的传输网络,来建立起一个住宅小区综合物业管理中心同安防系统、物业管理系统、信息服务系统和家居智能化组合在一体的住宅小区服务以及集成管理系统。在我国经济的飞速发展的推动之下,我国人们的生活水平不断提高,并且也对住宅的相关功能提出了较高的要求。智能小区因为其智能化、多样化以及舒适化是人们对居住环境的要求得到满足。

3、系统结构

可以使用单片机来进行实时而定采集,同时把采集到的数据通过串行口来传给PC机,那么PC机则可以完成数据它的运算、存储、以及打印。而硬件则可以通过PC16FXX单片机来实现,而软件则由VC++6.0来实现。

本系统则是由一台PC机及时上位机以及多台PIC单片机即就是下位机,来作为终端控制器,如此则就构成分布式控制的系统,PC机COM口会带数个终端的控制器,终端控制器的地址可以为1-N。 PC机使用的是巡查的工作方式来自动查询小区之内所有终端控制器的报警状态,方便及时对各种报警信号做出相关的反映,同时可以通过行之有效的手段包括语音提示以及电子地图标识等等方式来向监控中心工作人员可以提供相关报警家庭的地址以及电话等有关信息,这样就可以方便及时的处理;并且也可以通过抄表这样的方式来实现自动抄表和报表输出等相关业务,而终端控制器将把用户煤气表、电表以及水表脉冲等相关数据来实现,并且可以收集现场的防盗以及防灾等有关的信息,当意外事件发生之时则可以自动开启报警器进行报警。PC机同终端控制器将使用总线式网络结构相与之相连连,并且使用RS-485接口总线进行通信以及RS485接口总线来利用平衡发送以及差分接收方式这样的方式来实现通信,用半双工的工作方式来工作,其中最大传输距离将会达到达1200m,波特率将在1200HZ以及38400b/s之间则来设置. RS485网络使用一对有补偿的双绞线。终端控制器使用PIC16FXX 单片机,片中串行口可以加MAX487转换器,并且选择在多点总线传输线之中的双向数据通信使用网络广泛应用的MAX487收发器,它的特点则是限斜率的驱动器,即就是驱动器将会发送一定的数字信号,它的沿边斜率将会受到一定的限制,这样就会使得电磁干扰被减少到最低,同时也会减少因为电缆终端不匹配进而出现的相关的影响.接口接线简单,在维护上比较方便,这就确保了抄表它的可靠性以及监控的实时性。其结构如下图所示。

4、终端控制器硬件设计

每一个家庭都可以安装有单片机PIC16FXX作为核心的数据采集以及处理装置的终端控制器,PIC16FXX之中单片机则是由美国Microchip,该公司推出一种新型的CMOS工艺的8位单片机,具有特色的总线以及RISC的结构,和PIC16FXX的程序存储器作为电可以擦除闪速存储器Flash, 可修改相关的程序,或者还可以在线编程。PICI6F83以及PIC16F84片之中数据存储器除过RAM之外,并且还有64K字节的EPROM,还可以当作普通的或者是非易失性数据存储器来使用,如此则比较方便使用,它还具有片内之上电复位,并且可以延时电路,看门狗电路等等。终端控制器则是由PIC16FXX单片机来扩展8路信号输入通道,通信接口电路,键盘,看门狗电路. LCD显示器以及EEPROM 24C16等等。

为了可以使硬件结构简化,使得三表设计为脉冲表,报警探头则为脉冲来输出,这样就会避免在控制器的主板之上使用A/D转换接口.本系统对脉冲安排4路输入通道,使用单片机PIC16FXX之中的PORTA端口输入,表脉冲以及报警脉冲信号则可以分别通过斯密特触发器波形整形以及74LS244缓冲器进入到CPU之中,在一定的采样周期之内,CPU可以轮流来查询用户表以及报警输入端口的状态,同时也将会进行数据的分析处理,将之存到EEPROM 24C16同其相应的存储区之内,等着中央计算机的抄写以及查询。再来安排4路输入通道使用到对撤防、设防以及解警之中。使用串行接口的器件LCD液晶显示器可以显示表的数据以及相关的报警状态有关信息,使用的是液晶显示模块,其内置是显示RAM以及驱动控制器,可以通过4线同中片机来相连。8KB串行EEPROM 24C16,使用存储用户各表的数据信息、报警状态的信息、采集控终端地址和有关初始化的信息.每个用户采集控终端来设置不同的地址,保证采集到数据的准确无误。

通常来说,终端控制器工作的流程是这样的:上电复位自检之后,那么开始运行,当其指示灯闪烁,程序可以开始正常的工作,初始化LCD,脉冲表,密码,报警状态,键盘以及串口。之后进入主程序的循环之中,应该首先记录它的报警的状态,脉冲表数据,之后把上的述两种数据将存入到24C16之中,通过串口来响应PC机通信命令同PC机之间来进行数据的传输。

5、 系统通信

一般来说,主机是通信的发起者,也由PC机来控制通讯的主动性,单片机他在通讯的过程之中总是一种被动的状态。因为各个分机是共享同一个频率的,为了有效地回避冲突,PC机则可以使用轮番检查分机的工作方式来查询各个单片机能否将相关的信息给上报给PC机。

为了确保PC机同数台单片机之间可以准确、安全的通信,确保一个既明确而又合理的通讯协议是非常关键的。其中包括有对数据的格式、通讯方式、传送速度、传送步骤、检纠错的方式以及控制字符定义等等相关问题来做出统一的规定。

区分不同的分机,应该给每一个分机来分配一个唯一的地址,该地址做重要的区别是各个单片机。数据的格式使用数据包的形式,可一次传输一组数据。

因为系统使用的是上位机是对下位机使用巡检的工作方式,单片机在通信的过程中处于被动的地位,只可以其被轮询的时候才可以给上位机来发送数据,否则即便是信息上报给主机之时,也处于等待的状态。上位机将第一分机依次来对下位机进行查询,在给巡查到的下位机输送查询的命令,询问单片机能否将信息要给上位机上报之时。被轮询的单片机没有信息上报给上位机的话给上位机发送无上报要求的相关指令,上位机接受到这个指令之后便轮询下一个地址的分机;如果分机有数据需要上报就会回发一个有上报并且要求给主机,主机收到之后等到分机上报数据,上报数据的分机应该组织好相关数据将上报给主机,接着等待主机接收的应答。主机接受分机输送的数据之后进行相关的检查,正确接收的话就发送正确接收,反之发送错误接收。接收到错误之后,主机等着分机重新上报数据,当分机接受到错误应答之后则会再次发送数据。

6、PC机通信程序设计

通常上位机的软件则是基于V C++6.0来实现的,这之中的重点以及难点则是应该进行实时的串行通讯。使用V C++来编写串行通信的程序,通常会有四种方法:其一是使用Widnows API通信函数;其二则是应用Microsoft提供的Microsoft Communications Control;其三则是使用第三方编写的通信类,比如说MuMcga Tcchnologies公司的Cscrial,其四则是在V C++之中使用端口操作指令来直接对串行端口来进行编程,这样就会有效实现串行通信。

结语

结合前文所述,以及在实践之中的使用现状分析其运行稳定可靠,通过软件更新可以迅速的增容,确保系统可以有良好的服务质量,同时依据企业的规模可随时更新软件。这项系统的运用,不但可以节约管理成本,而且降低了运行维护费用,具有很高应用价值。

参考文献:[1]朱锐,韩其睿.基于PIC单片机的智能小区监控系统的设计[J].计算机工程,2005,(9)

pic单片机范文第5篇

实验操作是理论联系实际的重要环节,实验报告必须在科学实验的基础上进行,实验报告的撰写是知识系统化的吸收和升华的过程,实验报告应该体现完整性、规范性、正确性、有效性。现将撰写实验报告的有关内容说明如下:

1.实验名称

2.实验目的

本次实验所涉及并要求掌握的知识点。

3.实验内容与实验步骤

实验内容、原理、原理图分析及具体实验步骤。

4.实验环境

实验所使用的器件、仪器设备名称及规格。

5.设计实验数据表格

6.实验过程与分析

详细记录在实验过程中发生的故障和问题,并进行故障分析,说明故障排除的过程及方法。

根据具体实验,记录、整理相应数据表格、绘制曲线、波形图等,并进行误差分析。

7.实验结果总结

对实验结果进行分析,完成思考题目,总结实验的心得体会,并提出实验的改进意见。

注:1.前5项必须在做实验之前完成,并由指导教师签字后才能做实验。

2.对于学生自拟实验题目、参与科研、创新实验等形式实验项目的实验报告可采用论文、实验总结报告等形式完成。

3.此封皮标准页面为16K,实验报告:实验名称:

熟悉PIC系列单片机的开发环境及简单编程

实验目的:

1. 通过顺序结构的简单程序设计,熟悉PIC系列单片机的开发环境,掌握基本应用步骤和命令;

2. 熟悉汇编语言指令,掌握基本的程序设计方法。

实验环境:

PC计算机 MAPLAB编译环境

实验原理 :

实验一:交换两个寄存器内容(例如交换f10H和f11H的内容) 实验过程比较简单,无分支程序,而且思路十分清晰,难度不大。

实验二:(选作)将某一寄存器内容中的奇偶位数据交换。

本实验的思想是:将寄存器中数据同10101010二进制数相与,得到原数据的奇数位,并向右移一位后存至一个寄存器,作为结果数据的偶位数;再将寄存器中数据同01010101二进制数相与,得到原数据的偶数位,并向左移一位后存至另外一个寄存器,作为结果数据的奇位数。最后,将这两个寄存器中的数字进行或运算,得到结果。

实验中,使用了RO作为记录原数奇位数的寄存器,RE作为记录原数偶位数的寄存器,RN作为记录员数据的寄存器,RR作为记录结果的寄存器。

实验程序:

实验一:

LIST P=16C54

RA EQU 10

RB EQU 11

RT EQU 12

ORG 1FFH

GOTO MAIN

ORG 0

MAIN NOP

MOVLW 0

MOVWF RT

MOVLW 15H

MOVWF RA

MOVLW 3AH

MOVWF RB

MOVF RA,0

MOVWF RT

MOVF RB,0

MOVWF RA

MOVF RT,0

MOVWF RB

END

实验二:(选作)

LIST P=16C54

RO EQU 10

RE EQU 11

RN EQU 13

STATU EQU 3

CARRY EQU 0

RR EQU 12

ORG 1FFH

GOTO MAIN

ORG 0

MAIN NOP

MOVLW 99H

MOVWF RN; GIVE VALUE

ANDLW B'10101010'

MOVWF RE

BCF STATU, CARRY

RRF RE; ODD->EVEN

MOVF RN,0

ANDLW &nbs p; B'01010101'

BCF STATU, CARRY

MOVWF RO

RLF RO; EVEN->ODD

MOVF RO,0

IORWF RE,0; ADD THE TWO PARTS OF THE NUMBER BY OR THEM

MOVWF RR

END

调试结果:

实验一结果:

1、赋值后

2、调换中

3、调换后

实验二结果:

1、赋值后

2、取奇数位的数值存入RE

3、将奇数位的数值右移一位

5、取偶数位的数值存入RO

6、将偶数位的数值左移一位

7、得到最后结果

实验分析与实验体会:

本实验通过顺序结构的简单程序设计,我基本掌握了PIC系列单片机的开发步骤和命令,熟悉了PIC系列单片机的开发环境MAPLAB,并在具体变成过程中,熟悉汇编语言指令,掌握基本的程序设计方法。

虽然本实验是基本练习,目的是为了熟悉实验环境,但是,在实验中还是学到了很多东西:

pic单片机范文第6篇

关键词:热熔涂料;自动划线机;PIC单片机

DOI:10.16640/ki.37-1222/t.2016.14.028

0 绪论

热熔型道路划线机是随着热熔型涂料的发展而逐渐发展提高起来的,用来涂刷热熔型反光涂料,具有涂料与路面粘结力强、定向反光效果好、耐磨、抗老化、干燥迅速、流动性好等优点,但此种结构材料对所使用的划线机技术要求高。施工需要有数台设备分别完成从熔料到划线各个环节。智能型自动划线机主要依靠进口,技术先进,但结构庞大,价格昂贵,难以大面积推广;手推式划线机结构简单、价格较低,但操作繁琐、工人劳动强度高,难以铺设均匀间隔线,至今尚无理想的国产机型。针对以上问题,本文设计了一种价格较低、操作简单的基于PIC单片机控制的手推式公路热熔涂料标线自动划线机。它具有涂料加热、涂料温度显示、自动出料控制功能。

本文主要讨论了它机械结构和控制系统的软硬件设计。

1 机械部分结构及工作原理

基于PIC 单片机控制的热熔涂料标线自动划线机工作时,温度检测装置先检测熔釜内热熔融的涂料温度,将检测到的温度与设定的温度进行比较,加热系统控制模块根据比较的结果控制加热系统的启停,对涂料进行加热或保温,显示模块显示温度检测模块检测到的实时温度,当检测温度达到预设温度后,热熔涂料经料斗过滤,搅拌叶片搅拌均匀,由电磁阀控制料门自动打开出料开始划线,同时后部的玻璃珠储箱开关也开始撒玻璃珠,划线机在移动过程中,热涂料缓缓流入料斗后涂敷在路面上,同时玻璃珠通过撒珠箱落在涂料层中,含有玻璃珠的涂料层冷却后形成反光型热熔涂料标线。其原理示意图如图1所示。

该划线机主要由前后车轮、机架、搅拌桶、划线斗、玻璃珠斗、撒播器、电动机及单片机等组成。该机型结构紧凑,质量可靠,操作简便。该机的熔料釜采用耐热不锈钢制造,机身配有温度检测控制装置。涂料斗通过调整杠杆的高度来实现无级调节涂膜厚度。涂料斗与地接触的落地刀采用耐磨硬质合金制造,使其具有很好的耐久性;玻璃珠的撒布采用齿条轴随划线车的前进而联动的定量进料装置,当划线机进行划线时,定量辊洒下与所涂面积相当的玻璃珠,且玻璃珠撒布装置备有离合装置,可方便地离合,控制撒布装置的动作状态。

2 道路划线车控制系统总体设计

道路划线车控制系统总体设计包括硬件和软件两部分,主要有设定模块,温度检测模块,加热系统控制模块,自动出料控制模块和显示模块五个部分。硬件部分主要介绍单片机和其它硬件电路的联系,软件部分包括控制系统主程序设计。

2.1 控制系统硬件设计

根据道路划线车控制系统功能需要,其硬件电路包括单片机复位和时钟电路,温度仪,加热器件,电机控制电路、显示电路。其结构简图如图2所示。

单片机选用作为控制主机。PIC16F676是MICROCHIP公司的一款14引脚封装双列直插式结构的中档单片机,它体积小,功耗低,指令少,抗干扰性好,可靠性高,具有较强的模拟接口,代码保密性好。在一些小型应用中,比传统的C51单片机更加灵活。

温度控制器采用欧姆龙E5CSZ温度控制器。它是一种精确的温度检测控制器,可以对温度进行数字量化控制。采用热电偶作为温度检测元件,它的原理是把热电偶设计到相应电路中,热电偶随温度变化而改变,就会产生相应的电压电流改变,再通过微控制器对改变的电压电流进行检测、量化显示出来,并做相应的控制。数字温度控制器具有精确度高、灵敏度好、直观、操作方便等特点。

电磁阀选用高粘度法兰电磁阀。当线圈通电时,先导阀芯吸合,先导孔打开,阀上腔卸压,活塞靠下腔介质压力推动,电磁阀打开出料。当线圈断电时,先导阀芯靠弹簧复位,先导孔关闭,阀上腔由活塞节流孔增压和复位弹簧的推力,电磁阀关闭。

根据PIC16F676的端口功能和控制系统的需求情况,对单片机的端口进行分配,分配情况如表1。

2.2 道路划线车控制系统软件设计

道路划线车控制系统的主程序主要完成单片机的初始化涂料温度检测、料斗自动出料和涂料温度显示功能。其程序流程图如图3所示。

3 总结

基于PIC单片机控制的公路热熔涂料标线自动划线机它不同于以往的划线机,通过单片机的控制,将自动化和低成本统一起来,实现划线设备的升级,大大降低了操作人员的劳动强度。该新产品具有广阔的市场空间。本文设计的道路划线车控制系统基本可以满足设计的要求,但是它在抗干扰方面还需要进一步改善。

参考文献:

[1]陈先惠,海.加热溶剂型公路标线涂料的喷涂设备研制[J].流体传动与控制,2004(07).

[2]鄂晓宇,王敏.高压无气冷喷漆划线车的发展概况和趋势[J].养护机械与施工技术,2004(05).

[3]李克,林金木.一种新型公路划线车的专用喷涂系统[J].湖南大学学报,1996(02).

[4]张明峰.PIC单片机入门与实战[M].北京航空航天大学出版社,2004.

[5]罗翼,张宏伟.PIC单片机应用系统开发典型实例[M].中国电力出版社,2005.

pic单片机范文第7篇

关键词:智能双电源;PIC单片;应用;原理;发展

1、智能双电源装置的简介

随着对供电可靠性的要求也越来越高,很多场合用两路电源来保证供电的可靠性。当常用电源异常,智能双电源装置能自动切换到备用电源,智能双电源装置就是这种在两路电源之间进行可靠切换、以保证供电的装置。在医院、宾馆和矿山等有广泛的应用。随着时代的发展和社会的进步,智能双电源装置由开关本体和控制器两部分组成。开关本体由电机通过机械联锁机构控制常用电源的断路器和备用电源的断路器的分合,进而控制电源的切换。控制器通过对电压的采样来判断电源是否异常,如果出现异常应产生相应的切换。

双电源之间进行自动切换的装置,是保证某路正在使用的电源在出现故障时能自动切换到另外的正常电源上,保证供电不间断,当常用电路恢复正常时,该装置能够将用户电路切换回正常电路,以降低用电成本。该电源切换装置必须具有反应灵敏、工作可靠、功能齐全、声光指示等特点。传统的电源切换装置采用模拟信号处理方式的控制器,反应不灵敏,不可靠,工作模式也很单一。所以PIC单片机的发展在智能双电源装置中有很重要的作用。

2、PI电源完整性

PI的提出,源于当不考虑电源的影响下基于布线和器件模型而进行SI分析时所带来的巨大误差,相关概念如下。

电子噪声,指电子线路中某些元器件产生的随机起伏的电信号。

地弹噪声。当PCB板上的众多数字信号同步进行切换时(如CPU的数据总线、地址总线等),由于电源线和地线上存在阻抗,会产生同步切换噪声,在地线上还会出现地平面反弹噪声(简称地弹)。SSN和地弹的强度也取决于集成电路的I/O特性、PCB板电源层和地平面层的阻抗以及高速器件在PCB板上的布局和布线方式。负载电容的增大、负载电阻的减小、地电感的增大、同时开关器件数目的增加均会导致地弹的增大。

回流噪声。只有构成回路才有电流的流动,整个电路才能工作。这样,每条信号线上的电流势必要找一个路径,以从末端回到源端。一般会选择与之相近的平面。由于地电平面(包括电源和地)分割,例如地层被分割为数字地、模拟地、屏蔽地等,当数字信号走到模拟地线区域时,就会产生地平面回流噪声。

断点,是信号线上阻抗突然改变的点。如用过孔(via)将信号输送到板子的另一侧,板间的垂直金属部分是不可控阻抗,这样的部分越多,线上不可控阻抗的总量就越大。这会增大反射。还有,从水平方向变为垂直方向的90°的拐点是一个断点,会产生反射。如果这样的过孔不能避免,那么尽量减少它的出现。

在一定程度上,我们只能减弱因电源不完整带来的系列不良结果,一般会从降低信号线的串绕、加去耦电容、尽量提供完整的接地层等措施着手。

3、 PIC16F877A的简介

美国Microchip公司的PIC?8位单片机其生产史11年,但现在其产量已跃居世界第二位(仅次于Motorola公司)。现在PIC单片机的品种已超过120种。PIC单片机是RISC结构的单片机,具有高速处理数据的特性(执行速度可达120ns)。PIC16F877A内部自带看门狗、256Bytes的EEPROM、8路AD功能、ISP功能和宽电压工作,工作可靠,能很好的适应智能双电源装置应用开发。

4、在8位单片机中PIC与51系列单片机的比较

PIC的堆栈结构是硬件固定的,PIC16F877A有8级深度的硬件堆栈,51系列单片机的堆栈结构是在RAM区,由程序指定SP的开始位置。

PIC的RAM区每个Byte的位都可以寻址,有4条专用的位操作指令和2条移位指令。51系列单片机的只有0x20到0x2F的Bytes的位是可以寻址,有17条专用的位操作指令和4条移位指令。

PIC的ROM和RAM是采用“页”结构的,每页为512个Bytes,通过STATUS的位来选择不同的页,在程序调用和变量寻址的时候,要先确定目标的页,使有起来不是很方便。51系列单片机的ROM是可以在64K范围内寻址的,可程序直接寻址调用;RAM在0到0x7F可以直接寻址或间接寻址,0x80以上地址的RAM(包括扩展的RAM)只有间接寻址。

5、智能双电源装置的动作处理

双电源控制器的有三种控制方式,自投自复方式、自投不自复方式和发电机方式。 自投自复式方式:如果常用电源被检测到出现偏差时,则自动将负载从常用电源转换至备用电源;如果常用电源恢复正常时,则自动将负载返回换接到常用电源。 自投不自复式方式:如果常用电源被检测到出现偏差时,则自动将负载从常用电源转换至备用电源;如果常用电源恢复正常时,不能自动将负载返回换接到正常电源供电。除非备用电源出现异常才进行转换。

发电机方式:如果常用电源被检测到出现偏差时,发出发电指令请求发电。当发电电压达到额定电压时,先从电网断开负载电路,自动转换到发电电源供电;当常用电源恢复正常后,则又自动返回换接到正常电源供电,并发出停电指令,请求停止发电。

以下是三种方式在不同合闸状态下的程序任务处理简述:

自投自复方式在常用电源合闸状态, 常用电源出现异常,进行计时 异常计时中 异常计时完成,启动电机 常用电源正常,停止并恢复计时器 备用电源异常,停止并恢复计时器 自投自复方式在备用电源合闸状态, 常用电源出现正常 正常计时 正常计时完成,启动电机 常用电源异常,停止计时 自投不自复方式在常用电源合闸状态, 常用电源出现异常,进行计时 异常计时中 异常计时完成,启动电机 常用电源正常,停止并恢复计时器 备用电源异常,停止并恢复计时器 自投不自复方式在备用电源合闸状态, 常用电源正常,备用电源异常,进行计时 计时中 计时完成,启动电机 备用电源正常,停止并恢复计时器 发电机方式在常用电源合闸状态, 常用电源出现异常,进行计时 异常计时中 异常计时完成,启动发电机 发电机启动等待时间,计时中 发电机等待时间完成,启动电机,进行切换动作 常用电源正常,停止任何计时,并恢复计时器 发电机方式在备用电源合闸状态, 常用电源正常,计时开始 计时中, 正常计时完成,启动电机,进行切换动作 常用电源异常,停止计时,并恢复计时器 如何把这些相近的操作归纳成相同的函数进行处理,才可以节约程序代码。

6、智能双电源装置的电压采样的校准

在实际生产中,由于采样电阻的误差,所以在相同的校准电压输入,单片机采样到的AD值是不一样的。如何设定AD值和校准电压的校准比例,是一个关键的问题,校准比例不能在程序编译中固定下来,因为这样会有较大的误差,即使改用精密电阻来采样,误差也不能减低很多。我在应用中采用的方法是:提高采样电路的线性度,使其在不同电压下的校准比例有很好的一致性(在解决了温升的问题后,这点是可以做到的);在采样电路输入校准电压,输入设置密码后,单片机自动计算校准比例,并把校准比例进行保存。■

参考文献

pic单片机范文第8篇

g[j].cc==0)

{

bvolerrcnting=0; // 恢复异常计时器标记

}

else

{

if (bvolerrcnting==0)

{

di();

clrwdt();

volerrcnt=(unsigned int) limparams.cc[j]*tiscale;

// 预设异常计时器的初值

ei();

bvolerrcnting=1;

return;

}

}

if (volerrflag[k].cc !=0)

bvolerrcnting=0;

if (bvolerrcnting && volerrcnt==0)

{ // 启动转换动作

bvolerrcnting=0;

bbkopen1=k;

clrwdt();

startturn(k);

}

}

static void checkvol2()

{ // 电压判断,处理函数2

if (volerrflag[0].cc !=0)

{

bvolerrcnting=0; // 恢复异常计时器标记

}

else

{

if (bvolerrcnting==0)

{

di();

clrwdt();

volerrcnt=(unsigned int) limparams.para.trn*tiscale;

// 预设异常计时器的初值

ei();

bvolerrcnting=1;

return;

}

}

if (bvolerrcnting && volerrcnt==0)

{ // 启动转换动作

bvolerrcnting=0;

clrwdt();

bbkopen1=0;

startturn(0);

}

}

static void checkvol3()

{ // 电压判断,处理函数3

if (volerrflag[0].cc==0)

{

bvolerrcnting=0; // 恢复异常计时器标记

bdjstarting=0;

}

else

{

if (bvolerrcnting==0)

{

di();

clrwdt();

volerrcnt=(unsigned int) limparams.para.tnr*tiscale;

// 预设异常计时器的初值

ei();

bvolerrcnting=1;

return;

}

}

if (bvolerrcnting && bdjstarting==0 && volerrcnt==0)

{

di();

clrwdt();

djstartcnt=(unsigned int)limparams.para.t1*tiscale;

// 预设发电机启动的等待计时器的初值

ei();

clrwdt();

bdjstarting=1;

return;

}

if (bdjstarting && djstartcnt==0)

{ // 启动转换动作

clrwdt();

bvolerrcnting=0;

bbkopen1=1;

startturn(1);

}

}

……

void main()

{

……

if (bbkopen1)

{ // 在备用电源合闸状态

if (limparams.para.jobtype==1)

{ // 自投不自复方式

checkvol1(1);

}

else

{ //自投不自复或发电机方式

checkvol2();

}

}

else

{ // 在常用电源合闸状态

i

f (limparams.para.jobtype==2)

{ // 发电机工作方式

checkvol3();

}

else

{ // 自投自复或自投不自复方式

checkvol1(0);

}

}

……

}

5. 智能双电源装置的电压采样的校准

在实际生产中,由于采样电阻的误差,所以在相同的校准电压输入,单片机采样到的ad值是不一样的。如何设定ad值和校准电压的校准比例,是一个关键的问题,校准比例不能在程序编译中固定下来,因为这样会有较大的误差,即使改用精密电阻来采样,误差也不能减低很多。我在应用中采用的方法是:提高采样电路的线性度,使其在不同电压下的校准比例有很好的一致性(在解决了温升的问题后,这点是可以做到的);在采样电路输入校准电压,输入设置密码后,单片机自动计算校准比例,并把校准比例进行保存。

……

void main()

{

……

readscal();

……

while(1)

{

……

……

}

}

……

static void keyproc()

{……

if ( setkey==0)

{

……

if ( bsecpass==1)

{

// 设电压

if (readscalflag() !=0)

return;

// 如果已设定了比例,就不能再更改

clrwdt();

showstring(0, 0);

showstring(1, 1); // "pass"

showstring(0, 2);

// 在lcd屏上显示pass

clrwdt();

for (i=0; i!=6; i++)

scaluarray[i]=intuarray[i]; // 读入比例参数,

clrwdt();

savescal(); // 保存比例参数

savescalflag(); // 并改写标志

delay5s();

return;

}

……