一电路原理分析.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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)

天马行空 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档