- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机控制数显“消屏”算是的探讨.doc
单片机控制数显“消屏”算是的探讨|第1
内容加载中... 在众多的数控、数显智能化器件中,很大一部分是没日没液、长年累月地工作着的(如电力部门的智能路灯钟控器、干式变压器中的智能温控仪等),这样对数字显示部件尤其刺能耗较大手工艺LED数码管的使用寿命就有很大影响。本文运用单片机的软件处理,实现类似于微电脑PC机的“静屏”功能——经一设定时间后自动“消屏”,从而延长了数据管等的使用寿命。在“消屏”期间,数码管(包括指示灯中的几个或全部)虽然不亮了,但系统监察信号的输入和控制开关量的输出等依然照常进行——所有功能保护不变,只要按动一个任一个输入键,数码管及指示灯就会恢复显示(显示当前应有的即时信息)。
1 “消屏”的实现
一般来讲用单片机处理的显示器件大多数是以循环扫描的方式进行显示的,而监控的输入输出及其相应的指示,又往往与单片机的输入输出端口直接联系。因此,既要“消屏”,又要保住输入输出端口随着监控的具体情况及时更新,以便一旦由“消屏”恢复显示时就能显示当前应有的即时信息。至少要有两点:①需有两个循环程序,500)this.style.ouseg(this)一个是正常显示时用的主循环程序,另一个则是“消屏”时用的辅助循环程序——保证单片机能正常运行工作;②运用可进行“位”操作的内存字节单元,将输入输出端口的信息一一对应地记录下来。换个角度来讲,就是要想对某端口进行有关“位”的逻辑操作,首先要对跟其对应的内存单元进行相关“位”的逻辑操作,然后再赋值给对应的端口。这样确保了即时信息不会因为“消屏”或偶尔由某种强烈干扰导致程序“跑飞”引起“看门狗”复位,使所有端口都被置“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,#00H500)this.style.ouseg(this)
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”则跳之“
文档评论(0)