单片机控制数显“消屏”算是的探讨

2006-05-07 15:49:41来源: 互联网

在众多的数控、数显智能化器件中,很大一部分是没日没液、长年累月地工作着的(如电力部门的智能路灯钟控器、干式变压器中的智能温控仪等),这样对数字显示部件尤其刺能耗较大手工艺LED数码管的使用寿命就有很大影响。本文运用单片机的软件处理,实现类似于微电脑PC机的“静屏”功能——经一设定时间后自动“消屏”,从而延长了数据管等的使用寿命。在“消屏”期间,数码管(包括指示灯中的几个或全部)虽然不亮了,但系统监察信号的输入和控制开关量的输出等依然照常进行——所有功能保护不变,只要按动一个任一个输入键,数码管及指示灯就会恢复显示(显示当前应有的即时信息)。

1 “消屏”的实现

一般来讲用单片机处理的显示器件大多数是以循环扫描的方式进行显示的,而监控的输入输出及其相应的指示,又往往与单片机的输入输出端口直接联系。因此,既要“消屏”,又要保住输入输出端口随着监控的具体情况及时更新,以便一旦由“消屏”恢复显示时就能显示当前应有的即时信息。至少要有两点:①需有两个循环程序,一个是正常显示时用的主循环程序,另一个则是“消屏”时用的辅助循环程序——保证单片机能正常运行工作;②运用可进行“位”操作的内存字节单元,将输入输出端口的信息一一对应地记录下来。换个角度来讲,就是要想对某端口进行有关“位”的逻辑操作,首先要对跟其对应的内存单元进行相关“位”的逻辑操作,然后再赋值给对应的端口。这样确保了即时信息不会因为“消屏”或偶尔由某种强烈干扰导致程序“跑飞”引起“看门狗”复位,使所有端口都被置“1”而丢失。只有这样,设定的时间一到,MCU才能“无忧无虑”地跳出主循环而进入辅助循环程序运行,达到“消屏”的目的。一旦恢复显示,应有的即时信息也随之显示,而监控端口能一直处于输入输出的即时状态。

2 “消屏”运行的程序

实现“消屏”运行要牵涉的程序主要有:用以正常显示的主循环程序、用以“消屏”的辅助循环程序和用以定时设置的时钟程序。下面以干式变压器智能温控仪为例,给出如图1所示的电原理方框图以及实现“消屏”功能的三个主要部分的程序,其主流程如图2所示。该温控仪是一个以MCS-51系列的单片机AT89C52为核心,具有温度监察、控制、故障报警、有5位数码显示及与PC机通信等功能的智能化仪器。

3 运行程序

3.1 显示主循环程序

部分位及寄存器的定义

FUNCT EQU 95H ;P1.5为功能键输入端口

FANNER EQU 96H ;P1.6为风机键输入端口

EYRE EQU 97H ;P1.7为巡回键输入端口

SIGN EQU 2FH ;定时到点“消屏”标志位

DECIMAL EQU 6FH ;小数点标志位

SEC EQU 46H ;秒计数寄存器

MIN EQU 47H ;分计数寄存器

HR EQU 48H ;时计数寄存器

INIT_0: ORG 0000H ;程序初始化

AJMP INIT_0

ORG 000BH

AJMP T0ZD

ORG 001BH

AJMP T1ZD

ORG 0050H

DB0 C0H,0F9H,0A4H,0B0H ;字符的段码

DB 99H,92H,82H,0D8H

DB 80H,90H,0C6H,89H

DB 88H,80H,0FFH

ORG 0070H

INIT_1:MOV 45H,#00H

MOV 46H,#00H

MOV 47H,#00H

MOV 48H,#00H

MOV TCON,#00H

MOV TMOD,#11H

MOV 0C8H, #04H

MOV 0CAN,#0B4H

MOV 0CBH,#3CH

MOV 0CCH,#0B4H

MOV 0CDH,#3CH

MOV SCON,#00H

MOV IE,#0BAH

CLR SIGN ;初始化清零“消屏”标志位

LOOP0:MOV R1,#51H ;显示字段的缓冲区由内存51H单元开始

MOV R2,#04H

MOV R3,#05H ;显示数码为5位

LOOP1:MOV DPH,#00H

MOV DPL,#50H

MOV A,@R1

MOVC A,@A+DPTR

JNB DECIMAL,LOOP2

ADD A,#02H ;小数点显示处理

LOOP2:MOV P0,A

MOV A,#03H

ADD A,R2

MOV P3,A

JNB FUNCT,KSM0 ;跳至键解释子程序

JNB FANNER,KSM0 ;跳至键解释子程序

JNB EYRE,KSM0 ;跳至键解释子程序

JNB 72H,LOOP3

ANL 2EH,#0BH

CLR 72H

LOOP3:JB SIGH,LOOP20;若标志位为“1”则跳之“消屏”循环

LOOP4:LCALL YSCX ;调用循环显示延时子程序

CLR DECIMAL

LOOP5:MOV A,R2

RL A

MOV R2,A

JB 55H ,LOOP7

LOOP6:CJNE A,#10H,LOOP7

SETB DECIMAL

LOOP7:INC R1

MOV P1,2AH ;内存2A记录值赋予P1口

MOV P2,2BH ;内存2BH记录值赋予P2口

DJNZ R3,LOOP1

LJMP LOOP0

主循环显示程序是一个扫描式显示的主循环。假若程序运行到倒数第十四条“JB SIGN,LOOP20”指令、且标志位“SIGN”(即“2FH”)已被置为逻辑“1”时,程序将跳出扫描显示主循环,而进入“消屏”循环运行。其中,内存寄存器2AH、2BH是可位寻址操作的——分别对应于端口P1、P2的内存字节单元,它们的数据由具体运算监控程序赋予。另外,扫描显示主循环程序中所牵涉到的诸如“跳至键解释子程序”中的“键解释子程序”、“调用循环显示延时子程序”中的“循环显示延时子程序”,以及下文中的温度信息采访监控程序等,由于篇幅的关系都没有具体阐述,因为,它们不影响关于“消屏”的讨论。

3.2 “消屏”辅助循环程序

LOOP20:INB SIGN,LOOP23

MOV P1,#0FBH

MOV P3,#03H

ORL 0D0H,#18H

MOV R5,#25H

LOOP21:MOV R6,#2AH

LOOP22:DJNZ R6,LOOP22

DJNZ R5,LOOP21

ANL 0D0H,#0E7H

MOV P0,#00H ;保证显示输出为“0” ——“消屏”

ANL P1,#0E7H ;而监控通信端口仍正常工作

MOV P3,#03H

JNB FUNCT,LOOP23

JNB FANNER,LOOP23

JNB EYRE,LOOP23

LJMP LOOP20

LOOP23:MOV P1,2AH ;记录内容赋值给相应端口

MOV P2,2BH

CLR SIGN

LJMP LOOP1

在“消屏”循环程序运行中,当其倒数第6、第7、第8条指令中任一条指令的条件转换成立,即有任一按键按下时,程序便退出“消屏”循环,回到主循环运行,进而由键解释子程序对该按键作出解释响应。“消屏”辅助循环程序中包含子延时程序。其实,整个“消屏”循环便是以延时程序做主体来运行“等待”的——等待时机(如有键按入或某种因素引起复位)跳出“消屏”运行程序,并“清零”标示位“SIGN”,回到扫描显示主循环中去。“消屏”辅助循环程序只是为了“消屏” ——数码管及LED指示灯中的几个或全部不亮,而不影响系统的其它功能。

3.3 时钟程序

T0ZD: PUSH ACC ;时钟程序

MOV TL0,#0B4H

MOV TH0,#3CH

INC 45H

MOV A,45H

CJNE A,#0AH,FW0

INC 46H ;秒计数

INC 40H ;40H为2s间隔辅助内存单元

MOV 45H,#00H

MOV A,40H

CJNE A,#02H,T0ZD1

MOV 40H,#00H

LCALL VISIT ;调用采用温度信息子程序

T0ZD1:MOV A,46H

CJNE A,#3CH,FW0

INC 47H ;分计数

MOV 46H,#00H

MOV A,47H

CJNE A,#3CH,FW0

INC 48H ;时计数

MOV 47H,#00H

MOV A,48H

CJNE A,#02H,FW0

MOV 48H,#00H

SETB SIGN ;“消屏”标志位置“1”

FW0:POP ACC

RETI

时钟程序其实是片内定时/计数器0的中断服务程序。这段程序给出的是开机或最后一次按键后2个小时“消屏”标志位“SIGN”置“1”,即系统将进入“消屏”运行状态,直到有键按下或某种因素引起复位时才“唤醒”回到扫描显示主循环。当然,可根据具体的需要将时间设置成几秒钟、几分钟、几十小时甚至几天后才把“消屏”标志位“SIGN”置为逻辑“1”,使系统进入“消屏”运行状态。中断服务程序的另一个重要功能就是定期汲取并处理信息。以上中断服务程序是每间隔2s采访一次温度信息和端口监控状况用以运算分析,以便及时对系统作出相应的控制。

结束语

单片机控制数显的“消屏”处理,类似于微电脑PC机的“静屏”功能。从某种意义上讲是延长了系统中部分元器件的使用寿命,而不影响单片机控制系统其它功能。这种猫头鹰头“睁一只眼,闭一只眼”的工作方式对那些“没日没夜、长年累月”运行着的仪器设备来说是不无裨益的。再者,由多个单片机组合的控制系统运用类似工作方式,在不影响系统监控功能的前提下,此“休眠”彼“工作”互为调协,互相应和,或许是一着延长元器件使用寿命的好举措。

关键字:探讨

编辑: 引用地址:http://www.eeworld.com.cn/gykz/qrsxt/200605/4050.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
探讨

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved