
基于89C52单片机的实用八路物位测量仪.doc
5页基于89C52单片机的实用八路物位测量仪2008-05-10 嵌入式 收藏|打印本测量仪的信号采样通过P0 口的八根输入线可接受八路经过整形后的标准TTL电平因此可测量不同传感器传来的脉冲型物位采样信号,只要在原始信号基础上加以整形 处理即可,每来一个脉冲均被P0 口捕捉到并可以通过软件编制使脉冲计数增一,定时读取 计数和便可以换算成相应的物位情况通过P3.3~P3.5H条线与串行显示驱动器Max7219 的连接加以软件编程可完成八位数码管显示驱动,利用P1.3-P1.6四条口线接入四个按键, 完成按键操作,利用P2 口作为八路输出控制,可驱动八路固态继电器具体组成见图1图12硬件线路设计2.1资源分配AT89C52芯片是基于MCS-51结构的高集成度8位微控制器,其主要特性是具有一个 用于多处理器通讯的增强型串口和一个增/减定时器计数器,专门适用于控制应用选用89 C52的另外一个重要原因就是在芯片上实现了 256字节的RAM,高端128字节的地址和特 殊功能寄存器(SFR)的地址相同,但可以通过不同寻址方式区分,因此解决了测量仪的软 件编程所用的RAM空间,不必再另外扩展随机存储器,节约了硬件资源。
2.2串行显示设计多位LED显示时,常将所有位的段选线并联在一起,由一个8位I/O 口控制,也可 采用并行扩展口构成显示电路,通常,需要扩展器件管脚的较多,价格较高在本测量仪中,为了节约I/O 口资源,米用了由Max7219芯片构成的串行显示方式oMax7219是串行输入, 输出共阴极显示驱动电路,可直接与单片机的3条I/O线接口,特别适用于I/O 口线少的系 统,并且可以程序控制数码管的亮度在本设计中,采用P3.3~P3.4三条线经74LS273锁 存后与Max7219相连接,P3.3、P3.4锁存后分别作为7219串行数据输入信号DIN和时钟 信号CLK, P3.5输出口锁存作为LOAD信号具体硬件线路图见图2IC13AT89C52P0 3937363534_P33P34P35ALE血AL2AL如213 P33 314 P34 415 P35 7813Nup2nerlnR务_<-瓷」IC1974LS2735 1361291215 」16 g19 略1041LOAD>CLK GNDT 0.1b F0.1b FGNDONDV+5./Jazz /DAI /Lb /LIR /■ Qa /looz /!二LED-2 \565C2 二\、\、LED-4 \H564C4 jDINCLKIC20 721911 DIGf"6 DIG2*7 DIG3、>I5Ti^5 DI%、8 DIG7]on3600908冯3第S3+24V/ / / / / /图2 主要硬件连接图2.3软件计数器的设计在物位测量仪表中,当传感器书送来的信号为脉冲量时,通常需要通过专门计数器芯片 如8254等来完成脉冲的计数,CPU将此变化的计数信号处理后使传感器送来的脉冲的个 数与物位信号相对应。
而在本设计中,巧妙利用了 89C52的P0 口资源,将脉冲量整形后 直接送至P0 口的8条数据线,此时P0 口作为数据输入口使用通过软件设计,每路开辟 存贮单元(利用片内RAM),当P0 口有电平跳变时,相应的计数单元计数加1,通过软件 设置定时器,当定时时间到时,读取存储单元数值并清零,这样就完成了软件计数器的功能, 节约了硬件资源,降低了硬件成本3软件设计3.1 128字节内存分配本测量仪设计的另一大特点就是充分利用了 128字节的片内RAM,无外部扩展存储芯 片CPU内部地址从15H开始算起,直到0C5H全部被开辟作标志或存储单元具体分配 为:15H~1CH为各路采样时间,09H~0FH为各种标志位,42H~5BH为与各路计数有 关的计数存储处理单元,5CH~63H为物位报警域值对应的计数存储单元,64H-6FH和3c H~3FH位报警类别等存储单元通过合理分配,尽管只有128字节RAM,可以满足8路 物位测量的数据处理要求3.2串行显示子程序Max7219驱动的显示部分程序放在DISP显示子程序中,在程序开始完成Max7219的 初始化工作,将每次待显示的数据放置于从20H~27H开始的显示缓冲区地址中,每路需要 送显时,直接调用显示子程序即可。
其中显示部分程序如下:DISP: MOV R0,#20H ; R0指向显示缓冲区首地址MOV R1,#01HMOV R3,#08HLOOP3: MOV a,@R0MOV R4,A ;显示缓冲区数据送R4MOV A,R1ICALL WRITE ;数据锁存到273INC R1INC RODJNZ R3.LOOP33.3采样处理子程序调试过的部分源代码如下:LOOP: MOV A,#0FH ;主程序循环开始MOV P0,A;先查询P0 口,读取射线计数MOV A,P0XCH A,PQXRL A,PQMOV B,AJB B.0JA1:第1路有计数,跳至加1程序;第2路有计数,跳至加1程序JIA20:JBB.2,JIA3JIA30:JBB.3,JIA4JIA40:JBB.4,JIA5JIA50:JBB.5,JIA6JIA60:JBB.6,JIA7JIA70:JBB.7,JIA8;第8路有计数,跳至加1程序LJMP LOOP01;接着处理键盘的查询3.4主程序部分流程图主程序流程图见图3图3主程序流程图4结束语本设计的创新点在于充分利用了 AT89C52的硬件资源,实现了软件计数器,能够对脉 冲量信号所反映的物位信号通过数码管来显示,显示部分的处理采用Max7219显示驱动器, 与软件编程相结合,大大节约了硬件资源,减少了通用的单片机扩展芯片,降低了成本。
本 仪表投入生产后成本比用其它方式组成的系统节约直接硬件成本每台约300元,投产后产 生年经济效益约60万元(按每套仪表利润0.8万元计)参考文献:1吴玉平译MCS51微控制器系列用户指南电子工业出版社19952王建萍Max7219串行LED显示驱动器及应用,电子技术应用,1996, 63刘志壮 洪添胜等一种智能液位检测仪的设计微计算机信息2007年第2-1期P156-1574史源平于京生等基于工控机的多路核子秤微计算机信息2008年第2-1期。












