下载此文档

基于汇编语言的数字时钟.doc


文档分类:通信/电子 | 页数:约12页 举报非法文档有奖
1/12
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/12 下载此文档
文档列表 文档介绍
基于汇编语言的数字时钟.doc专业文档珍贵文档一摘要单片计算机即单片微型计算机。( Single-Chip puter ),是集 CPU ,RAM ,ROM , 定时, 计数和多种接口于一体的微控制器。他体积小, 成本低, 功能强, 广泛应用于智能产品和工业自动化上。而 51 单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学****应用,从而达到学****设计、开发软、硬的能力。二说明系统由 AT89C51 、 LED 数码管、按键、发光二极管等部分构成,能实现时间的调整、定时时间的设定, 输出等功能。系统的功能选择由 SB0 、 SB1 、 SB2 、 SB3 、 SB4 完成。其中 SB0 为时间校对,定时器调整功能键,按 SB 0 进入调整状态。 SB1 为功能切换键。第一轮按动 SB1 依次进入一路、二路、三路定时时间设置提示程序,按 SB3 进入各路定时调整状态。定时时间到,二极管发亮。到了关断时间后灭掉。如果不进入继续按 SB1 键,依次进入时间?年? 位校对、?月? 位校对、?日? 位校对、?时? 位校对、?分? 位校对、?秒?位校对状态。不管是进入那种状态,按动 SB2 皆可以使被调整位进行不进位增量加 1 变化。各预置量设置完成后,系统将所有的设置存入 RAM 中,按 SB1 退出调整状态。上电后,系统自动进入计时状态,起始于? 00 ?时? 00 ? 分。 SB4 为年月日显示转换键,可使原来显示时分秒转换显示年月日。三、电路原理分析 1. 显示原理电原理图见附图 1 。由 6 个共阴极的数码管组成时、分、秒的显示。 P0 口的 8 条数据线 至 分别与两个 CD4511 译码的 ABCD 口相接, P2 口的 至 分别通过电阻 R10 至 R13 与 VT1 至 VT3 的基极相连接。这样通过 P0 口送出一个存储单元的高位、低位 BCD 显示代码,通过 P2 口送出扫描选通代码轮流点亮 LED1 至 LED6 ,就会将要显示的数据在数码管中显示出来。从 P0 口输出的代码是 BCD 码,从 P2 口输出的就是位选码。这是扫描显示原理。。2 键盘及读数原理键盘是人与微机打交道的主要设备,按键的读取容易引起误动作。可采用软件去抖动的方法处理,软件的触点在闭合和断开的时候会产生抖动,这时触点的逻辑电平是不稳定的,如不采取妥善处理的话,将引起按键命令错误或重复执行,在这里采用软件延时的方法来避开抖动,延时时间 20ms. 3 连击功能的实现按下某键时,对应的功能键解释程序得到执行,如操作者没有释放按键,则对应专业文档珍贵文档的功能会反复执行,好象连续执行,在这里我们采用软件延时 250ms, 当按键没释放则执行下一条对应程序。利用连击功能,能实现快速调时操作。四、程序设计思想和相关指令介绍本系统的主程序主要完成时间显示和定时输出判断功能。而年月日显示和各时间单元进位,时间设定时,调定时间设定时等功能全部在中断服务程序中完成。 1 .数据与代码转换。由前述可知,从 P2 口输出位选码,从 P0 口输出段选码, LED 就会显示出数字来。但 P0 口的输出的数据是要 BCD 码, 各存储单元存储的是二进制数, 也就是和要显示出的字符表达的含义是不一致的。可见,将要显示的存储单元的数据直接送到 P0 口去驱动 LED 数码管显示是不能正确表达的, 必须在系统内部将要显示的数据经过 BCD 码行转换后, 将各个单元数据的段选代码送入 P0 口,给 CD4511 译码后去驱动数码管显示。具体转换过程如下: 我们先将要显示的数据装入累加器 A 中,再将 A 中的数据转换成高低两位的 BCD 码, 再放回 A中, 然后将 A 中的值输出。如: 有一个单元存储了 45 这样一位数, 则需转换成四位的 BCD 码:( 0100 )( 0101 ) 然后放入 A中。A中 BCD 码, 高位四位代表?4? 低四位代表?5? 同时送给两个译码器中,译码后? 45 ? 字就在两个 LED 中显示出来。 2 .计时功能的实现与中断服务程序时间的运行依靠定时中断子程序对时钟单元数值进位调整来实现的。计数器 T0 打开后, 进入计时,满 100 毫秒后, 重装定时。中断一次, 满一秒后秒进位,满 60 秒后即为 1 分钟, 分钟单元进位, 60 分到了后,时单元进位, 24 小时满后,天单元进位。这样然后根据进率, 得到年、月、日、时、分、秒存储单元的值,并经译码后,通过扫描程序送 LED 中显示出来, 实现时钟计时功能。累加是用指令 INC 来实现的。进入中断服务程序以后, 执行 PUSH PSW 和 PUSH A 将程序状态寄存器 PSW 的内容和累加器 A 中的数据保存起来, 这便是所谓的? 保护现场?. 以保护

基于汇编语言的数字时钟 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息