《单片机小闹钟》由会员分享,可在线阅读,更多相关《单片机小闹钟(39页珍藏版)》请在金锄头文库上搜索。
1、信息与电气工程学院课程设计说明书(2019 /2020学年第二学期)课程名称 : 小型数字系统创新实训1 题 目 : 小闹钟提示器 专业班级 : 计算机 1803 学生姓名 : 宋磊 学 号: 180210325 指导教师 : 黄伟建 设计周数 : 1 周 设计成绩 : 2020年 6月 26日目录一、系统概述2二、 硬件设计4三、 软件设计114总结与感悟15附录A 元器件清单16附录17附录一:自动打铃系统原理图17附录二:源程序18q = dq; /读取18b20初始化信号20一、系统概述1.1 设计背景单片机作为一种采用超大规模集成电路技术、并把具有数据处理能力的中央处理器CPU和随机
2、存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。其体积小、功能强、成本低、适用范围广,体现出了其很大的使用价值。据统计,我国的单片机年容量已达到3亿片,且每年以大约30%的速度高速增长。随着开发以及推出单片机的公司越来越多,各种高性能的单片机芯片市场也日趋活跃。新技术的不断加入和纳入使用,使得单片机的性能和种类及其应用范围不断增强和扩大。集成的功能及其展现出的性能得到了逐步的全面和强化,所以单片机会越来越受到广大用户的青睐和使用。而今,在很多的公
3、共场所,例如学校、机关、工厂、车站等单位,都是用电铃作为作息时间信号的。而最原始的电铃控制方式就是人工打铃,采用逻辑电路进行控制,其原理简单、便于操作,但会导致设备体积过大,不利于临时调整。所以,就引入以单片机为基础控制的自动打铃系统,这样不仅节省了人力,同时也使得设备的集成化大大提高,而且便于设备的调整。为此,设计一种基于单片机的自动打铃系统,采用数字钟和自动打铃系统相结合的方式。该系统一单片机为核心来控制各个功能模块,使用者可以随时对作息时间进行修改,可以很方便地设定作息时间方案。这是一个集数字钟显示、设置、打铃为一体的多功能打铃计时系统。这样,通过简单的设置,就可以满足任何学校、企事业公
4、共场所和单位的需求。而本设计就是理论与实践并重,对于有效地掌握单片机的应用具有很重要的意义1.2系统设计1.2.1 总体设计单片机是在集成电路芯片上集成了各种元件的微型计算机,这些元件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时/计数器、中断系统、时钟部件的集成和I/O接口电路。由于单片机具有体积小、价格低、可靠性高、开发应用方便等特点,因此在现代电子技术和工业领域应用较为广泛,在智能仪表中单片机是应用最多、最活跃的领域之一。在控制领域中,现如今人们更注意计算机的底成本、小体积、运行的可靠性和控制的灵活性。在各类仪器、仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和
5、精度,提高计算机的运算速度,简化仪器仪表的硬件结构,提高其性能价格比。本设计将闹钟提示器系统分为主控模块、DS1302时钟电路、LCD1602显示时间电路、温度电路、闹钟的模拟五大部分。利用独立按键,当事人可自行设置闹钟提示的时间,利用单片机的定时器,系统会在设置好的时间闹钟响起(响起一分钟)。当事人听到之后可随时通过独立按键实现闹钟提示停止,系统可以恢复正常操作。并且可以通过独立按键手动调整显示时间温度。系统框图如下所示:图1-1 闹钟提示器系统框图1.2.2 方案设计利用AT89C51单片机控制闹钟提示系统工作。其中P0口接数据输出口,与外部LCD1602连接。P3口作为闹钟以及时间温度设
6、置的控制口,P1口主要接DS1302时序电路。下面就每个部分进行具体概述:主控模块包括单片机AT89C51,时钟电路和复位电路,作为闹钟提示器系统的控制器,主要负责与其他模块连接,指导系统的运行。DS1302时钟电路部分:利用它的特性存储读取所需的时间日期LCD1602显示时间电路:显示时间日期温度DS18B20温度控制电路:实时存储读取温度闹钟的模拟部分:硬件方面使用单片机AT89C51的P0.0-P0.7,P1.0-P1.2控制LCD1602显示器,P1.3-P1.7控制DS1302,P3.7作为闹钟报警器P3.3-6为独立按键,P3.1为温度传感器。软件方面实现四个独立按键、在预定好的时
7、间响起闹钟、设置时间温度日期,采用定时器实现定时控制,当定时时间到的时候,进行模式切换,进而实现闹钟提示的控制。在本设计中采用定时器延长1ms的方法,在定时器的中断程序中采用软件计数的方法来加长延长时间。二、 硬件设计2.1 AT89C51单片机简介2.1.1单片机主要特性与MCS-51 兼容4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路2.1.2单片机引脚介绍VCC:供电电压GND:接地P0口:P
8、0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流当P1口的管脚一次写1时,被定义为高阻输入P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故在FLASH编程和校验时,P1口作为第八位地址接收 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出
9、4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入并因此作为输入时,P2口的管脚被外部拉低,将输出电流这是由于内部上拉的缘故P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容P2口在FLASH编程和校验时接收高八位地址信号和控制信号P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流当P3口写入“1”后,它们被内部上拉为高电平,并用作输入作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这
10、是由于上拉的缘故P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号RST:复位输入当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节在FLASH编程期间,此引脚用于
11、输入编程脉冲在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6因此它可用作对外部输出的脉冲或用于定时目的然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲如想禁止ALE的输出可在SFR8EH地址上置0此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用另外,该引脚被略微拉高如果微处理器在外部执行状态ALE禁止,置位无效PSEN:外部程序存储器的选通信号在由外部程序存储器取指期间,每个机器周期两次/PSEN有效但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFF
12、H),不管是否有内部程序存储器注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入XTAL2:来自反向振荡器的输出单片机引脚图如下:图2-1 单片机引脚图2.1.3振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的
13、宽度。2.1.4芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。2.2 单片机最小系统单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统对51系
14、列单片机来说,最小系统一般应该包括:单片机晶振电路复位电路下面给出一个51单片机的最小系统电路图:图2-2 51系列单片机最小系统图2.2.2 复位电路设计单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期以上,则CPU就可以响应并将系统复位单片机系统的复位方式有:手动按钮复位和上电复位采用专用复位电路芯片构成复位电路在实际应用系统中,为了保证复位电路可靠的工作,常采用手动复位以及专用的复位电路芯片复位复位电路的工作原理在书本上有介绍,51单片机要复位只需要在第9引脚接个高电平持续2US就可以实现在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位所以可以通过按键的断开和闭合在运行的系统中控制其复位开机的时候为什么会复位:在电路图中,电容的的大小是10uF,电阻的大小是10k所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K*10UF=0.1S也就是说在单片机启动的0.1S内,电容两端的电压时在03.5V增加这个时候10K电阻两端的电压为从51.5