- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一电路原理分析.doc
一 电路原理分析
1. 显示原理
由6 个共阴极的数码管组成时、分、秒的显示。为了节约成本,P0 口的8 条数据线P0.0 至P0.7 直接与数码管的a~g相连。P2 口用作选通控制端, P2.0 至P2.5通过三极管与数码管的阴极相连。程序中通过查表找到数据的数码管显示代码,通过P0 口送出,再通过P2 口送出扫描选通代码轮流点亮LED1 至LED6,这样利用人的视觉暂留作用,就会将要显示的数据在数码管中动态显示出来。
2. 数码管结构及代码显示
共阴LED 数码管由8 只发光二极管VD1 至VD8 共阴连接并按8字形结构排列而成。这样,我们将这些二极管的正极接高低不同的电位,把所有的负极接地,当正极为高电位时相应的二极管就会导通而发光,从而使数码管呈现不同的字符。而只有P2 相应呈现高电位,VT 个管导通,LED1 的GND 与地相接,LED 位被选中才具备发光的使能条件;可见,在利用P2 口送出位选码,使各位轮流得到发光使能条件的同时,通过P0 口分别送出不同的段选码,就会在LED1 至LED6 中显示出不同的数字来。
3 键盘及读数原理
键盘是人与微机打交道的主要设备,按键的读取容易引起误动作。可采用软件去抖动的方法处理,软件的触点在闭合和断开的时候会产生抖动,这时触点的逻辑电平是不稳定的,如不采取妥善处理的话,将引起按键命令错误或重复执行,在这里采用软件延时的方法来避开抖动,延时时间20ms.
二 程序设计
1主程序
首先,设定毫秒、秒、分、时的数据分别保存在存储区20H、21H、22H、23H。设定定时器工作在方式1,采用16位工作方式。24H用于保存按键次数。然后启动定时器1。循环执行调用显示子程序、按键检测子程序、按键处理子程序。如下面框图1
2定时中断处理子程序
计数器T0 打开后,进入计时,满50 毫秒后,重装定时。中断一次,满一秒后秒进位,毫秒位清零;满60 秒后即为1 分钟,分钟单元进位,秒位清零;60 分到了后,时位进位,分位清零,满24小时后,时位清零,重新计时。也就是说最大显示时间为23小时59分59秒。
定时满50毫秒以后产生以下中断。流程图见框图2
3显示子程序
分别将时、分、秒的个位十位分离,保存到存储器的2AH~2FH,然后查表得到数据的数码管显示代码,通过控制P2口轮流显示。
4按键判断子程序
P1.3-P1.5功能键 低电平有效
读取P1口的值判断是否有键按下,然后去抖后再判断,最后判断按键是否松开,去抖后再判断。流程图如框图3
5按键处理子程序
首先关中断,然后判断R6,来判断需要调整时分秒中的哪一位。然后,通过24H中保存的按键次数进行调整。具体见程序。
本方案比较复杂,使用实时钟芯片将会很简单。
框图1:主程序流程图
框图2:中断处理程序流程图
框图3:按键判断子程序流程图
Y
调用按键处理子程序
调用按键检测子程序
有键按下?
调用显示子程序
初始化
CX (N-1
开始
N
N
Y
N
Y
N
Y
N
Y
返回主程序
调用延时程序
A=0?
读取P1的值保存到A并取反,并与38H相与,
A=0?
读取P1的值保存到A并取反,并与38H相与,
调用显示子程序
Y
N
Y
N
N
Y
中断返回
时位清零,另一天开始
满24小时?
时位加1,分位清零
满60分?
分位加1,秒位清零
满60秒?
秒位加1,毫秒位清零
满1秒?
毫秒位加1并保存
定时器0重装初值
进入中断服务
Y
N
R6=A,保存键值
A=0?
A的值与
再次读取P1的值保存到A并取反
调用延时程序
A=0?
A的值与
P1的值保存到A并取反
文档评论(0)