基于at89s51单片机的扩展时钟系统设计(编辑修改稿)内容摘要:

C 将清除所有标志。 第 9 页 共 23 页 寄存器 D中仅 D7有 定义,读时应若寄存器 D中仅 D7 有定义,读时应总为 1,若为 0 则说明内部锂电池已耗尽。 为防止锂电池在芯片装入系统前被耗尽,DS12887 在出厂时先关掉了其内部的晶振,编程时必须首先给寄存器 A 的DV2DV1DV0 位写入 010 以打开晶振,然后 ,读寄存器 D 以检查内部锂电池是否有效;接着根据需要对寄存器 A、 B 进行设置。 当需要修改日历时钟时,必须先使SET 位置 1,当需要读日历时钟数据时,必须先查询寄存器 A 中的 UIP 位,只有当其为 0 时,才能进行读取数据。 CPU 通过读 DS12887 的内部时标寄存器得到当前的时间和日 历,也可通过选择二进制码或 BCD 码初始化芯片的 10个时标寄存器。 其 114bit 非易失性静态RAM 可供用户使用,对于没有 RAM 的单片机应用系统,可在主机掉电时来保存一些重要的数据。 DS12887 的 4 个状态寄存器用来控制和指出 DS12887 模块的当前工作状态,除数据更新周期外,程序可随时读写这 4个寄存器。 液晶 LCD1602 1602 液晶显示模块,是点阵字符型液晶显示模块,可以用来显示字母,符号,数字以及简单的汉字和图案等信息。 “ 1602”的含义是这类液晶显示模块每行能够显示 16 个字符,一共可以显示两 行。 该液晶显示模块,分为带背光和不带背光两类,两者在应用过程中功能基本类似,只是带背光的模块更厚一些,通常的背光颜色以黄绿色和蓝色为主。 4 软件系统设计 程序流程图 在这个设计中, 89S51 主要功能是存储程序、根据程序的内容对各个端口进行判断并做出相应的处理; DS12887 主要的功能是控制时、分、秒的显示 LCD1602主要的功能是将所要显示的显示出来。 主程序主要实现了从 DS12887 各时间单元 第 10 页 共 23 页 中读出数据并送到 LCD1602 中显示的功能,同时检测有没有按键按下,如 果有键被按下,则执行按 键处理子程序。 首先进 行DS12887时钟芯片 和LCD1602的初始化 函数,然后进行按键扫 描,不断地检测按键是 否按下,读取 DS12887 时钟芯片的数据,并且 送到液晶显示器显示; 当数据发生变化时候, 重新进行扫描写入。 流 程图如图 5所示, 第 11 页 共 23 页 图 5 程序流程图 5 调试结果(如图 61 和 62) 图 61 程序第一次运行后,初始化时间显示为 00: 00: 00,即 6 位数码管显示为。 通过键盘 [MON]设 定小时为 00,通过键盘 [LAST]设定分钟为 34,通过键盘 [NEXT]设定秒为 52,为 00:36:52 两分钟后即在 00..52 时关掉电源,等待 2 分钟后再打开电源,这时时间应为, 第 12 页 共 23 页 图 62 6 小结 通过这次课程设计,我对单片机的应用有了更深的认识。 同时,也初步掌握了通过芯片资料所给出的各种信息,应用该芯片的能力。 我在设计过程中,学会了总线的应用以及标号规则。 这是一个很大收获,可以在以后的应用中简化电路,在以后的实际工作和学习中带来很大的便利。 通过这次设计,我对 LCD1602 有了进一步的了 解和认识,对它的应用更加熟练。 虽然在这次设计中没有用到该功能。 在这次设计中我要感谢我的指导老师牟琳,是在牟琳老师的帮助下我才能顺利的完成该设计。 对此我表示深深的诚挚的谢意和崇高的敬意。 第 13 页 共 23 页 参考文献 : [1] 何立民 .单片机应用技术选编 [M]. 北京:北京航空航天大学出版社, 1993. [2] 张毅刚 . 单片机原理及应用 [M]. 北京:高等教育出版社, 2020. [3] 郭天祥 . 新概念 51单片机 C语言教程 [M]:入门、提高、开发、拓展全攻略 .电子工业出版社, 2020. [4] 莫树 .培刘夏 . 基于 DS12887的时钟设计 [M].科技创新导报, 2020. [5] 孙佳玲 .基于单片机的多功能数字时钟系统设计 [M].吉林工程技术师范学院学报, 2020. [6] 李大有 .单片机应用与设计 [M].电子工业大学出版社, 1998年 . [7] 钟睿 .MCS51 单片机原理及应用开发技术 [M].北京:中国铁道出版社, 2020. [8]王幸之 .AT89系列单片机原理与接口技 术 [M].北京:北京航空航天大学出版社, 2020. 第 14 页 共 23 页 附件 程序代码。 按“ NEXT”键,调整秒位;按“ LAST”键 ,调整分位。 按 MON键,调整时位。 OUTBIT equ 0e101h。 位控制口 CLK164 equ 0e102h。 段控制口 (接 164 时钟位 ) DAT164 equ 0e102h。 段控制口 (接 164 数据位 ) IN equ 0e103h。 键盘读入口 LEDBuf equ 60h。 显示缓冲 ljmp Start LEDMAP:。 八段管显示码 db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h db 00H Delay:。 延时子程序 mov r7, 00 DelayLoop: djnz r7, DelayLoop。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。