毕业设计-基于单片机的电子时钟的设计

上传人:aa****6 文档编号:38211295 上传时间:2018-04-28 格式:DOC 页数:41 大小:976.50KB
返回 下载 相关 举报
毕业设计-基于单片机的电子时钟的设计_第1页
第1页 / 共41页
毕业设计-基于单片机的电子时钟的设计_第2页
第2页 / 共41页
毕业设计-基于单片机的电子时钟的设计_第3页
第3页 / 共41页
毕业设计-基于单片机的电子时钟的设计_第4页
第4页 / 共41页
毕业设计-基于单片机的电子时钟的设计_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《毕业设计-基于单片机的电子时钟的设计》由会员分享,可在线阅读,更多相关《毕业设计-基于单片机的电子时钟的设计(41页珍藏版)》请在金锄头文库上搜索。

1、课程设计(论文)题题 目目 名名 称称 基于基于 89C52 的电子时钟的电子时钟 课课 程程 名名 称称 单片机原理及应在电气测控学科中的应用单片机原理及应在电气测控学科中的应用 学学 生生 姓姓 名名 学学 号号 系系 、专专 业业 电气工程电气工程 10 自动化自动化 指指 导导 教教 师师 朱群峰朱群峰 2012 年 6 月 1 日摘摘 要要电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许多场合都用到电子时钟。现在高精度的计时工具大多数都使用了石英晶体振荡器,

2、由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LCD显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。本课程设计就是用一块89C52单片机和一块LCD1602液晶显示屏及其他元器件设计出一个电子时钟。用单片机的定时器来产生时钟信号,用液晶显示屏来显示时钟的变化,通过扫描几个按键来控制时钟。把这几个模块的程序及原理图设计好后组合在一起就成了一个电子时钟。关键词:89C52单片机;LCD1602液晶;定时器;石英晶体振荡器。

3、目 录摘要. I 1电子时钟总体设计.1 1.1 设计任务与要求.1 1.2 方案设计与论证.1 2单片机应用系统简介2 2.1 单片机结构.2 2.2 单片机的封装形式,引脚定义及功能.3 2.3 定时/计数器.4 2.4 键盘接口技术.5 2.5 复位操作.8 2.6 显示控制模块.8 3硬件电路设计13 3.1 电子时钟的原理图13 3.2 单元电路设计13 4软件设计17 4.1 系统主程序设计17 4.2 主程序清单19 4.3 系统调试24 5 结论与心得25 参考文献.26 附录.27 致谢.301 电子时钟总体设计1.1 设计任务与要求设计要求:熟悉单片机的I/O口原理;掌握L

4、ED驱动电路和LED显示的原理;掌握定时计数器的使用。设计任务:设计一个电子时钟,要求实时显示时间(时钟/分钟/秒钟)要求可以通过按键设置当前时间。1、要求设计出电气原理图;2、要求设计出程序流程图和程序;3、要求设计出实物仿真模拟调试;4、用 C 语言编程,用proteus仿真。1.2 方案设计与论证方案:该系统采用52系列单片机AT89C52作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。MCS-52单片

5、机特点如下:(1)单片机按照工业控制要求设计,抵抗工业噪声干扰优于一般的CPU,程序指令和数据都可以写在ROM里,许多信号通道都在同一芯片,因此可靠性高,易扩充。(2)单片机有一般电脑所必须的器件,如三态双向总线,串并行的输入及输出引脚,可扩充为各种规模的微电脑系统。(3)控制功能强:单片机指令除了输入输出指令,逻辑判断指令外还有更丰富的条件分支跳跃指令。其原理框图如图1.1所示: AT89C52最小应用系统按键电路晶振电路复位电路LCD显示时间蜂鸣器电路图1.1 电子时钟原理框图 2 单片机应用系统简介2.1单片机结构2.1.1 89C52 单片机的功能结构如下图所示,单片机是属于三总线结构

6、,89C52单片机功能方框图如图2.1所示:图2.1单片机内部结构框图2.1.2 单片机内容结构中断控制外部中断振荡器内部中断定时器定时器计数器输入64KB总线 扩展控制控制信号I/O端口可编程全双 工串行口地址/数据据据存储器单片机的内部结构如图2.2所示。从图中看出,它具有以下特征;(1)适于控制应用的8位CPU(2)56字节片内数据存储器,分高低两个128字节(3)4K字节片内程序存储器(4)64KB程序存储器空间(5)64KB数据存储器空间(6)4个8位共32根双向并可按位寻址的I/O口线(7)两个16位定时/计数器;(8)一个全双工的串行I/O接口(9)有5个中断源(10)片内时钟振

7、荡器(11)具有布尔处理(位处理)能力图2.2 单片机内部结构2.2单片机的封装形式、引脚定义及功能2.2.1 89C52 封装口驱动器口锁存器定时和 逻辑控制器件指令寄存器口驱动器中断、 、TX、口锁存器、RX、程序计数器PC程序地址 寄存器口驱动器口锁存器地址寄存器寄存器口锁存器口驱动器堆栈指针SP缓冲器加 器89C52系列单片机具有双列直插式和方形两种封装。如图2.3所示图2.3双列直插式和方形 2.2.2 89C52 系列单片机引脚功能(1)引脚分布:如图2.4所示为双列直插式引脚分布图图2.4 双列直插式引脚分布图(2)引脚功能VCC-工作电源+5VGND-电源地ALE/PROG -

8、访问外部存储器时作为低8位地址锁存控制信号;在对EPROM编程时作为编程脉冲输入;在不访问外部存储器和非EPROM编程状态下,该脚输出频率为1/6单片机晶振频率的方波信号,该信号,可作为时钟脉冲,但在访问数据存储器时会丢失一个脉冲; PSEN外部程序存储器读选通信号.EA/VPP访问程序存储器控制信号。当EA为低电平时,只读外部存储器,当EA为高电平时则先读内部程序存储器,再读外部程序存储器;这个引脚在编程时接编程电压VPP. RST复位信号,对系统复位信号要2T。XTAL1片内振荡电路输入端。XTAL2片内振荡电路输出端。P0-P3输入输出端口。2.3 定时计数器2.3.1定时/计数器结构8

9、9C52单片机内部设有两个16位定时/计数器,简称为定时器0(T0)和定时器1(T1)。定时器计数器的结构如图2.5所示:TMOD-方式控制寄存器,用于设定定时计数器的工作方式TCON-定时器控制寄存器,用于启动定时计数器IE-中断允许控制寄存器:定时计数器是微机的中断源图2. 5 89C52单片机内部定时计数器的结构2.3.2 工作原理89C52系列单片机内部定时计数器的工作原理可用图2.6来说明。工作方式中 断溢 出()()定时器定时器(. 5)溢 出启 动启 动工 作 方 式中 断INT1INT00(. 5)图2.6 定时计数器的工作原理图定时/计数功能选择:当CT0时,为定时器功能,此

10、时,C与A相连(计数脉冲为机器周期);当CT1时,为计数功能,此时,C与B相连(计数脉冲从P3.4或P3.5口输入)。定时/计数器设置:定时计数器设置由工作方式控制寄存器(TMOD)、定时控制寄存器(TCON)以及中断允许寄存器(IE)共同完成。2.4 键盘接口技术键盘分两类:独立连接多键盘和矩阵式键盘,如图2.7所示。图2.7独立式键盘2.4.1 独立式键盘独立式按键结构独立式按键结构的键盘是最简单的键盘电路,每个键独立接入一根输入线。这种键盘的优点是结构简单、使用十分方便,目前这种结构的键盘应用还相当普遍,这种键盘的缺点是随着键数数量的增加所占用的 I/O 口线也增加。晶 振12TxTRx

11、INTxGATEABC/T=0 CC/T=1DE计数器中断请求TFx中断 请求/各引脚定义 /液晶 sbit rw=P31; sbit en=P32; sbit s1=P10; /键盘 sbit s2=P11; sbit s3=P12; sbit beep=P13; /蜂鸣器 uint shi,fen,miao,s1num=0,num=0; void delay(uint x) /延时程序 uint i,j; for(i=0;i110;i+) for(j=0;jx;j+); void laba() /蜂鸣器程序 beep=1;delay(100);beep=0; void write_com(

12、uchar command) /液晶写命令 rs=0;en=0;rw=0;P2=command; delay(2);en=1;delay(2); en=0;delay(2); void write_date(uchar date) /液晶写数据 rs=1;en=0;rw=0;P2=date; delay(2);en=1;delay(2); en=0;delay(2); void init() /液晶初始化 write_com(0x30);write_com(0x0c);write_com(0x01);delay(2); void write_sfm(uchar add,uchar date)

13、/数据分离、显示 uchar si,ge; si=date/10; ge=date%10; write_com(0x80+add); write_date(0x30+si); write_date(0x30+ge); void keyscan() /键盘扫描 if(s1=0) delay(5); if(s1=0) /确认功能键被按下s1num+; /功能键按下次数记录while(!s1); / 释放确定laba(); /每当有按键释放蜂鸣器发出滴声if(s1num=1) /第一次被按下时TR0=0; /关闭定时器 write_com(0x80+0x06); /光标定位到秒位置write_com(0x0f); /光标开始闪烁 if(s1num=2) /第二次按下光标闪烁定位到分钟位置 write_com(0x80+0x03);

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号