单片机定时闹钟毕业设计

上传人:小** 文档编号:88601188 上传时间:2019-05-05 格式:DOC 页数:26 大小:437.50KB
返回 下载 相关 举报
单片机定时闹钟毕业设计_第1页
第1页 / 共26页
单片机定时闹钟毕业设计_第2页
第2页 / 共26页
单片机定时闹钟毕业设计_第3页
第3页 / 共26页
单片机定时闹钟毕业设计_第4页
第4页 / 共26页
单片机定时闹钟毕业设计_第5页
第5页 / 共26页
点击查看更多>>
资源描述

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

1、毕业设计(论文)课题:单片机定时闹钟学生: 系部: 班级: 学号: 指导教师:24目录摘 要11 基于单片机的时钟应用及其特点21.1 基于单片机的时钟应用21.2基于单片机的时钟介绍22 基于AT89C51单片机的定时闹钟设计方案32.1整体设计方案32.2硬件设计方案42.2.1主控芯片AT89C51的设计42.2.2时钟电路部分设计52.2.3 LCD显示电路部分的设计62.3 软件设计方案72.3.1软件设计说明72.3.2 主函数的设计83 基于AT89C51单片机定时闹钟的实现93.1系统仿真103.2液晶显示模块103.3程序部分113.3.1液晶程序初始化113.3.2基于AT

2、89C51单片机定时闹钟的程序11总结21致谢22参考文献 单片机定时闹钟 摘 要单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。而AT89C51单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习、应用,以AT89C51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。基于单片机的定时闹钟在设计时需要解决三个方面的主要问题:一是

3、LCD显示模块的驱动和编程,二是有关单片机中定时器的使用,三是如何利用单片机的按键键盘实现时钟调整时间的功能和运行模式的转化。在本设计的电路中,除了基本的单片机系统和外围电路外,还需按键键盘作控制装置,LCD液晶显示器作显示装置。本文主要介绍用单片机内部的定时/计数器来实现电子时钟的方法,由单片机AT89S51芯片和液晶显示为核心,辅以必要的电路,构成了一个单片机电子闹钟/时钟。关键词:单片机 AT89S51 闹钟1 基于单片机的时钟应用及其特点1.1 基于单片机的时钟应用以单片机为核心的数字时钟是很有社会意义和社会价值的。钟表原先的报时功能已经原不能满足人们日益增长的要求,现代的电子时钟多带

4、有类似自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、通断动力设备、甚至各种定时电气的自动启用等功能。1.2基于单片机的时钟介绍时钟是将小时、分钟、秒钟显示于人的肉眼的计时装置。而单片机模块中最常见的正是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。而LCD电子定时闹钟是以单片机为基础的数字电路实现对时、分、秒的数字显示的数字计时装置,它的计时周期为24小时,另外应有校时功能和一些显示日期、闹钟等附加功能。一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”

5、,“星期”计数器、校时电路、报时电路和振荡器组成。目前电子钟广泛用于各种私人和公众场合,成为我们生活、工作和学习中不可缺少的好帮手。2 基于AT89C51单片机的定时闹钟设计方案2.1整体设计方案 在本次LCD定时闹钟设计中,是以单片机及外围接口电路为核心硬件,辅以其他外围硬件电路,用汇编语言设计的程序来实现的。根据C51单片机的外围接口特点扩展相应的硬件电路,然后根据单片机的指令设计出数字钟相应的软件,再利用软件执行一定的程序来实现数字钟的功能。由于采用集成芯片性的单片机来制作电子钟,这样设计制作简单而且功能多、精确度高,也可方便扩充其他功能,实现也十分简单。这次设计是利用AT89C51单片

6、机为主控芯片,由LCD、晶振、电阻、电容、发光二极管、开关、喇叭等元件组成硬件电路,通过编写软件程序来实现和控制的数字定时闹钟。整体示意图如下;AT89C51震荡电路调时电路喇叭LCD片选代码2.2硬件设计方案2.2.1主控芯片AT89C51的设计在本次电子闹钟设计中是采用我们熟悉的AT89C51单片机为主控芯片。AT89C51单片机由微处理器,存储器,I/O口以及特殊功能寄存器SFR等部分构成。其存储器在物理上设计成程序存储器和数据存储器两个独立的空间,片内程序存储器的容量为4KB,片内数据存储器为128个字节。89C51单片机有4个8位的并行I/O口:P0口,P1口,P2口和P3口。各个接

7、口均由接口锁存器,输出驱动器,和输入缓冲器组成。P1口是唯一的单功能口,仅能用作通用的数据输入/输出口。P3口是双功能口除了具有数据输入/输出功能外,每条接口还具有不同的第二功能,如P3.0是串行输入口线,P3.1口是串行输出口线。在需要外部程序存储器和数据存储器扩展时,P0可作为分时复用的低8位地址/数据总线,P2口可作为高8位的地址总线。P3口也可作为AT89C51的一些特殊功能口,同时为闪烁编程和编程校验接收一些控制信号.2.2.2时钟电路部分设计 AT89C51系列的单片机的时钟方式分为内部方式和外部方式。内部方式就是在单片机的XTAL1和XTAL2的两引脚外接晶振,就够成了自激振荡器

8、在单片机内部产生时钟脉冲信号。外部时钟方式是把外部已经有的时钟信号引入到单片机内部。时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间。在本次电子闹钟设计中是采用内部时钟方式,用一个12MHz晶振和两个30Pf瓷片电容组成,为单片机提供标准时钟,其中两个瓷片电容起微调作用.之所以采用高性能的振荡电路,因为:1.单片机电子钟的计时脉冲基准是由外部晶振的频率经过12分频后提供,采用内部的定时

9、/计数器来实现计时功能。所以,外接晶振频率精确度直接影响电子钟计时的准确性。 2.单片机电 子钟利用内部定时/计数器溢出产生中断(12M晶振一般为50ms)再乘以相应的倍率来实现秒、分、时的转换。大家都知道从定时/计数器产生中断请求到响 应中断需要3-8个机器周期,定时中断子程序中的数据入栈和重装定时/计数器的初值还需要占用数个机器周期,还有从中断入口转到中断子程序也要占用一定的机器周期。2.2.3 LCD显示电路部分的设计为了获得更好的效果本设计并没有采用常见的LED,而是采用了型号为1602的 LCD。LCD有LED数码显示更好的更的直观效果,也更加经久耐用。液晶显示模块体积小功耗低、显示

10、内容丰富,现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件之一了。本LCD是2行16列液晶 可显示2行16列英文字符,有8位数据总线D0-D7,RS,R/W,EN三个控制端口(共14线),工作电压为5V。没背光,和常用的1602B功能和引脚一样(除了调背光的二个线脚). 该模块也可只用D4-D7作为四位数据分两次传送。这样的话可以节省MCU的I/O口资源。引脚说明,见下表。VDD:电源正极,4.55.5V,通常使用5V电压;VL:LCD对比度调节端,电压调节范围为05V。接正电源时对比度最弱,接地电源时对比度最高,但对比度过高时会产生“鬼影”,因此通常使用一个10K的电位器来调

11、整对比度或者直接串接一个电阻到地;RS:MCU写入数据或者指令选择端。MCU要写入指令时,使RS为低电平;MCU要写入数据时,使RS为高电平;R/W:读写控制端。R/W为高电平时,读取数据;R/W为低电平时,写入数据;E:LCD模块使能信号控制端。写数据时,需要下降沿触发模块。D0D7:8位数据总线,三态双向。如果MCU的I/O口资源紧张的话,该模块也可以只使用4位数据线D4D7接口传送数据。本充电器就是采用4位数据传送方式;BLA: LED背光正极。需要背光时,BLA串接一个限流电阻接VDD,BLK接地,实测该模块的背光电流为50mA左右;BLK: LED背光地端。 LCD显示屏引脚说明编号

12、符号引脚说明编号符号引脚说明1VCC电源地9D2双向数据口2VDD电源正极10D3双向数据口3VL对比度调节11D4双向数据口4RS数据/命令选择12D5双向数据口5R/W读/写选择13D6双向数据口6E模块使能端14D7双向数据口7D0双向数据口15BLK背光源地8D1双向数据口16BLA背光源正极2.3 软件设计方案2.3.1软件设计说明本次设计用汇编的单片机程序构成了本LCD电子闹钟的软件系统。该程序实现时间及定时(时间以0点0分0秒为基准计算,闹铃定时以0时0分为基准计算)的显示,有外中断0和五个开关实现校时,闹钟功能。其中程序的晶振频率为12MHz,最小计时单位为1/20秒。主芯片p

13、0.1-p0.7输出数据到LCD数据总线,p3.0-2.2输出LCD控制信号,P2.1输出声音信号,.P1.0-P1.3输入外部控制信号,整个软件系统也是根据这个关系连接成一个完整的系统。2.3.2 主函数的设计本LCD电子闹钟的的主程序流程图如下图所示:系统初始化定时器初始化定时器初始化串口初始化显示待机指示符设定闹铃时间判设置闹铃时间否?显示刷新启动走时有关变量初始化刷新显示判断日期是否变化化否?秒指示判断时间是否变化闹铃判是否到闹铃时间?延时YYYY3 基于AT89C51单片机定时闹钟的实现 闹钟功能的实现涉及到两个方面:闹铃时间设定和是否闹铃判别与相应处理。闹铃时间设定模块的设计可参照

14、时间设定模块,这里着重阐述闹铃判别与处理模块的设计问题。闹铃判别与闹铃处理的关键在于判别何时要进行闹铃。当时十位、时个位、分十位、分个位中任一位发生改变(进位)时,就必须进行闹铃判别。程序设计思想如图。 时十位、个位,分十位、个位改变了设置闹铃标志是否设置了闹铃清除闹铃标志判当前时间是设定时间中断返回中断返回闹铃判别处理3.1系统仿真单片机定时闹钟系统仿真图 为了更好的验证系统软件设计的正确性,我使用了Proteus ISIS软件对系统进行了仿真。我们使用Proteus ISIS绘制了与实验向“基础型实验”部分相同的电路图,将使用keil编译后的hex加载进入了单片机里面,结合仿真结果调整源代码,最终实现设计要求的全部功能。3.2液晶显示模块液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

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