基于51单片机的LCD简单电子钟的设计_第1页
基于51单片机的LCD简单电子钟的设计_第2页
基于51单片机的LCD简单电子钟的设计_第3页
基于51单片机的LCD简单电子钟的设计_第4页
基于51单片机的LCD简单电子钟的设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

XX 电子科技大学课程设计论文 电子时钟的设计 0 编号 XXX 科技大学科技大学 单片机原理及应用 设计实验报告 课 题 电子钟 专 业 自动化 学生姓名 XXX 学 号 XXXXX 2016 年 5 月 16 日 XX 电子科技大学课程设计论文 电子时钟的设计 1 目目 录录 0 0前言前言 1 1 1 1总体方案设计总体方案设计 1 1 2 2 硬件电路设计硬件电路设计 2 2 3 3 软件设计软件设计 4 4 4 4 调试分析及说明调试分析及说明 5 5 5 5 结论结论 7 7 参考文献参考文献 7 7 课设体会课设体会 8 8 附录附录 1 1 电路原理电路原理 9 9 附录附录 2 2 程序清单程序清单 1010 XX 电子科技大学课程设计论文 电子时钟的设计 2 摘要 传统的数字电子时钟采用了较多的分立元器件 不仅占用了很大的空间 而且利用率也比很低 随着系统设计复杂度的不断提高 用传统时钟系统设计 方法很难满足设计需求 单片机是集CPU RAM ROM 定时器 计数器和多种接口于一体的微控制器 它体积小 成本低 功能强 广泛应用于智能产品和工业自动化上 而51系列 的单片机是各单片机中最为典型和最有代表性的一种 本次设计提出了系统总 体设计方案 并设计了各部分硬件模块和软件流程 在用C语言设计了具体软件 程序后 将各个模块完全编译通过过后 结果证明了该设计系统的可行性 该设 计给出了以AT89C2051为核心 利用单片机的运算和控制功能 并采用系统化 LED显示模块实时显示数字的设计方案 适当地解决了实际生产和日常生活中对 计时高精确度的要求 因此该设计在现代社会中具有广泛的应用性 关键字 AT89C2051 C 语言程序 电子钟 0前言 利用 51 单片机开发电子时钟 实现时间显示 调整功能 具体要求如下 1 根据给定题目设计的 Proteus 仿真原理图 并简单阐述设计原理 2 根据给定题目设计有关的 51 汇编语言 或 C 语言 源程序 及主 要的流程框图 3 在 Proteus 仿真界面下运行程序实现给定的功能 4 下载到 ZKSYS 单片机实验板上验证有关程序实现给定的功能 1总体方案设计 该电子时钟由 89C51 按键 1602 LCD 液晶屏等构成 采用晶振电路作为 驱动电路 利用单片机内部定时计数器 0 通过软件扩展产生的一秒定时 达到 时分秒的计时 六十秒为一分钟 六十分钟为一小时 满二十四小时为一天 时钟的年月日时分秒的切换是由一个按键控制 而另外两个个按键控制加减调 节 XX 电子科技大学课程设计论文 电子时钟的设计 3 图 1 系统结构框图 该电子时钟由 STC89C51 按键 1602 LCD 液晶屏等构成 采用晶振电路作 为驱动电路 晶振电路的晶振频率为 12MHZ 使用的定时器 计数器工作方式 1 通过软件扩展产生的一秒定时 达到时分秒的计时 60 秒为一分钟 60 分钟为 一小时 24 小时为一天 又重 00 00 00 开始计时 2 硬件电路设计 1 时钟电路设计 单片机利用外部 12MHZ 晶振构成振荡电路作为时钟源 时钟电路的原理如 下图 图 2 时钟电路图 2 独立按键输入电路 按键处理设置为 当有没键按下时 时钟正常运行 当按 K1 时分别切换到 年月日时分秒 按 K2 为加 按 K3 为减 电路图如下图 图 3 独立按键电路 3 单片机系统 AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器 FPEROM Falsh XX 电子科技大学课程设计论文 电子时钟的设计 4 Programmable and Erasable Read Only Memory 的低电压 高性能 CMOS8 位 微处理器 俗称单片机 外形及引脚排列如下图 图 4 单片机系统图 4 液晶显示 LCD1602 采用标准的 16 脚接口 第 1 脚 VSS 为电源地 第 2 脚 VDD 接 5V 电源正极 第 3 脚 V0 为液晶显示器对比度调整端 接正电源时对比度最弱 接地电源时对比度最高 第 4 脚 RS 为寄存器选择 高电平 1 时选择数据寄存 器 低电平 0 时选择指令寄存器 第 5 脚 RW 为读写信号线 高电平 1 时进 行读操作 低电平 0 时进行写操作 第 6 脚 E 或 EN 端为使能 enable 端 第 7 14 脚 D0 D7 为 8 位双向数据端 第 15 16 脚 空脚或背灯电源 电 路如下图 图 5 LCD 液晶显示图 3 软件设计 本系统的软件系统主要可分为主程序 定时计数中断程序 时间调整程序 XX 电子科技大学课程设计论文 电子时钟的设计 5 延时程序四大模块 系统的流程图如下图 是 否 设计思路 本系统主要可分为主程序 定时计数中断程序 时间调整程序 延时程序 和 LCD 液晶驱动程序 定时中断程序是利用单片机内部定时器 0 实现 1 秒的定 时 然后利用软件延时实现分小时 时间调整程序是利用单片机的内部存贮器 把调整好的时间写到显示时间的存贮单元 然后启动定时器开始计时并显示 延时程序是利用软件实现延时达到去抖的目的 液晶启动程序是为了把单片机 的数据送到显示器的同时让显示器的第 6 脚使能断的电平实现由 1 到 0 的跳变 使显示器执行显示的命令 主程序就是利用这些子程序中断程序实现显示 定 时等功能 4 调试分析及说明 1 时钟正常运行调试仿真图 开始 液晶初始化 时间初始化 按键是否按下 读取时间 显示时间 调整时间 结束 XX 电子科技大学课程设计论文 电子时钟的设计 6 图 6 正常运行仿真图 2 时间调整仿真 图 10 对时分秒的调整 5 结论 本次电子时钟的设计基本完成 当没有键按下时 时钟正常运行 时钟的年 月日时分秒的切换是由一个按键控制 而另外两个个按键控制加减调节 附录附录 1 1 电路原理电路原理 附录 2 程序清单 include define uchar unsigned char XX 电子科技大学课程设计论文 电子时钟的设计 7 define uint unsigned int uchar code table 2015 05 27 WED uchar code table1 12 30 55 uchar code table2 uchar code table3 Made by HUANG uchar code table4 MONTUEWEDTHUFRISATSUN uchar count s1num char miao fen shi ri yue uint nian sbit lcd rs P2 0 sbit lcd rw P2 1 sbit lcd en P2 2 sbit s1 P1 0 sbit s2 P1 1 sbit s3 P1 2 sbit Output squ P3 6 void delay uint z 延时子函数 uint x y for x z x 0 x for y 110 y 0 y void write com uchar com 写命令函数 lcd rs 0 P0 com delay 5 lcd en 1 delay 5 lcd en 0 void write date uchar date 写数据函数 lcd rs 1 P0 date delay 5 lcd en 1 delay 5 lcd en 0 void init 初始化函数 int num XX 电子科技大学课程设计论文 电子时钟的设计 8 shi 12 fen 30 miao 55 ri 27 yue 5 nian 2015 lcd en 0 lcd rw 0 write com 0 x38 显示设置模式 write com 0 x0c 开显示 不显示光标 光标不闪烁 write com 0 x06 地址指针加一 整屏不移动 write com 0 x01 清屏 write com 0 x80 for num 0 num 16 num 显示数字 write date table2 num delay 300 write com 0 x80 0 x40 for num 0 num 16 num 显示 made by HUANG write date table3 num delay 300 delay 5000 write com 0 x01 write com 0 x80 for num 0 num 16 num 显示日期 write date table num delay 5 write com 0 x80 0 x40 for num 0 num 12 num 显示时间 write date table1 num delay 5 TMOD 0 x51 启动定时器中断 TH0 0X3C 50ms TL0 0XB0 TH1 0X00 TL1 0X00 EA 1 XX 电子科技大学课程设计论文 电子时钟的设计 9 ET0 1 TR0 1 打开定时器 0 TR1 1 打开定时器 0 void write sfm uchar add uchar date 写时分秒函数 uchar shi ge shi date 10 ge date 10 write com 0 x80 0 x40 add write date 0 x30 shi write date 0 x30 ge void write nyr uint add uint date 写年月日函数 此处若用 uchar 范围只有 0 255 不够 改用 uint 0 65535 uint qian bai shi ge qian date 1000 bai date 1000 100 shi date 100 10 ge date 10 write com 0 x80 add write date 0 x30 qian write date 0 x30 bai write date 0 x30 shi write date 0 x30 ge void write yr uchar add uchar date 写月日函数 uchar shi ge shi date 10 ge date 10 write com 0 x80 add write date 0 x30 shi write date 0 x30 ge void keyscan 按键扫描函数 int m n if s1 0 delay 5 if s1 0 按键 1 光标移位扫描 s1num XX 电子科技大学课程设计论文 电子时钟的设计 10 if s1num 1 while s1 等待按键松手 write com 0 x80 0 x40 10 TR0 0 关闭定时器 write com 0 x0f 开显示 显示光标 光标闪烁 if s1num 2 while s1 write com 0 x80 0 x40 7 if s1num 3 while s1 write com 0 x80 0 x40 4 if s1num 4 while s1 write com 0 x80 3 if s1num 5 while s1 write com 0 x80 6 if s1num 6 while s1 write com 0 x80 9 if s1num 7 while s1 write com 0 x80 13 if s1num 8 while s1 s1num 0 write com 0 x0c TR0 1 开定时器 XX 电子科技大学课程设计论文 电子时钟的设计 11 if s1num 0 if s2 0 按键 2 加功能 delay 5 if s2 0 while s2 if s1num 1 秒加 miao if miao 60 miao 0 write sfm 10 miao write com 0 x80 0 x40 10 if s1num 2 分加 fen if fen 60 fen 0 write sfm 7 fen write com 0 x80 0 x40 7 if s1num 3 时加 shi if shi 24 shi 0 write sfm 4 shi write com 0 x80 0 x40 4 if s1num 4 年加 nian if nian 10000 XX 电子科技大学课程设计论文 电子时钟的设计 12 nian 2000 write nyr 1 nian write com 0 x80 3 if s1num 5 月份加 yue if yue 13 yue 1 write yr 6 yue write com 0 x80 6 if s1num 6 日期加 ri if ri 29 平年 if ri 30 闰年 if ri 31 if ri 32 ri 1 write yr 9 ri write com 0 x80 9 if s1num 7 星期加 m m 3 if m 21 m 0 XX 电子科技大学课程设计论文 电子时钟的设计 13 write com 0 x80 12 for n m n m 3 n write date table4 n delay 5 write com 0 x80 13 if s3 0 按键 3 减功能 delay 5 if s3 0 while s3 if s1num 1 秒减 miao if miao 1 miao 59 write sfm 10 miao write com 0 x80 0 x40 10 if s1num 2 分减 fen if fen 1 fen 59 write sfm 7 fen write com 0 x80 0 x40 7 if s1num 3 时减 shi if shi 1 shi 23 write sfm 4 shi write com 0 x80 0 x40 4 if s1num 4 年减 XX 电子科技大学课程设计论文 电子时钟的设计 14 nian if nian 1999 nian 2000 write nyr 1 nian write com 0 x80 3 if s1num 5 月份减 yue if yue 0 yue 12 write yr 6 yue write com 0 x80 6 if s1num 6 日减 ri if ri 0 if yue 2 平年 if yue 2 闰年 if yue 4 yue 6 yue 9 yue 11 ri 30 if yue 1 yue 3 yue 5 yue 7 yue 9 yue 11 ri 31 wr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论