单片机实现闹钟设计.doc
《单片机实现闹钟设计.doc》由会员分享,可在线阅读,更多相关《单片机实现闹钟设计.doc(47页珍藏版)》请在三一文库上搜索。
1、河北工程大学科信学院目录1.绪 论31.1 课题研究背景31.2 课题研究意义31.3 本文的主要内容41.4 本文的结构42总体设计42.1 设计要求42.2设计内容52.3 设计方案的确定52.3.1单片机芯片52.3.2显示部分52.3.3时钟部分52.3.4闹铃部分62.3.5 键盘部分62.3.6电源部分62.4总体方案62.5工作原理62.6总体设计图73硬件设计73.1 STC89C52介绍73.1.1 STC89C52主要功能及PDIP封装73.1.2 STC-89C52引脚介绍83.2 DS1302时钟芯片介绍93.2.1 DS1302概述93.2.2 DS1302引脚介绍9
2、3.2.3 DS1302使用方法103. 3 1602字符液晶介绍123.3.1 1602液晶概述123.3.2 1602引脚介绍123.3.3 1602字符液晶使用方法133.4系统电路设计153.4.1 单片机主控部分153.4.2 时钟系统电路设计163.4.3 显示系统电路设计173.4.4 键盘调控系统电路设计183.4.5闹铃系统电路设计183.5整体电路图194系统软件设计194.1主程序设计204.2子程序设计204.2.1实时时钟子程序设计204.2.2显示子程序设计214.2.3键盘扫描子程序224.2.4闹铃子程序设计235系统调试245.1 硬件调试255.2软件调试2
3、56结论256.1 课程设计中遇到的问题集解决方案256.2 经验教训26参考文献26附件271.绪 论单片计算机即单片微型计算机(Single-Chip Microcomputer),是集CPU、RAM、ROM、定时、计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。单片机在这种情况下诞生了。截止今日,单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置
4、,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。本实验通过对一个基于单片机的能实现时间,闹钟等功能的电子时钟的设计学习,详细介绍了单片机应用中的数据转换显示,液晶显示原理。从而达到学习、了解单片机相关指令在各方面的应用。系统由STC89C52、LCD1602、DS1302等部分构成,能进行年、月、日、周、时、分、秒的显示,也具有定时时间报警等功能。1.1 课题研究背景人类的生活和工作均离不开时钟。从古代的滴漏更鼓到近代的机械钟,从电子表到目前的数字时钟,为了准确的测量和记录时间
5、,人们一直在努力改进着计时工具。钟表的数字化,大力推动了计时的精确性和可靠性。在单片机构成的装置中,数字时钟是必不可少的部件。它的用途十分广泛,只要有计时的存在,便要用到数字时钟的原理及结构;同时在日期中,它以其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱。随着人类科技文明的发展,人们对于时钟的要求在不断地提高。时钟已不仅仅被看成一种用来显示时间的工具,在很多实际应用中它还需要能够实现更多其它的功能。高精度、多功能、小体积、低功耗,是现代时钟发展的趋势。在这种趋势下,时钟的数字化、多功能化已经成为现代时钟生产研究的主导设计方向。1.2 课题研究意义基于MCS-51
6、、MCS-52单片机的数字时钟系统具有显示准确、直观、易于调整等特点。单片机自诞生以来给全世界人类的生活和工作起到了剧烈的变化,而MCS-51单片机是我国使用最早、最易掌握和应用的一款单片机。通过该系统的设计,对单片机的原理和功能有个较系统和全面的掌握,初步学习到有关工程设计的方法和思路。这样以后的就业面会更加宽广,也可以满足当今社会对单片机开发人才的大量需求。纵观传统的电路设计,大部分是采用分立元件进行设计,既复杂成本又高。随着集成化的发展,现在系统的设计都是在模块化的基础上设计系统的。本课题是基于智能化和模块化的前提下设计数字时钟的,通过对设计目标的分析,分立出各个模块,然后根据各个模块的
7、功能,选择适当的芯片进行设计的。本课题的研究,对智能化、模块化设计具有较强的推广应用价值。1.3 本文的主要内容本文的主要内容是利用51单片机设计一个数字时钟系统,使其实现以下功能:1在LCD液晶显示时间的功能;2具有实现系统时间的调整与设置;3闹铃定时功能。通过对系统功能的分析,该系统主要包括按键电路、显示电路、闹铃电路等。然后对系统进行了硬件设计和软件设计,通过利用Proteus和Keil软件,对系统进行调试,实现系统的功能。本设计中的数字闹钟是以单片机为控制核心,从各个控制模块介绍电路的设计,经过单片机将时间数据在LCD液晶屏上显示,系统中有按键可以进行定时,定时时间到时,蜂鸣器发出1分
8、钟的提示信号。1.4 本文的结构报告从六个方面介绍了这一设计:(1)简单介绍了课题背景及现状;(2)第二部分对电子时钟功能与方案等作了较详细的阐述;(3)第三部分介绍了系统硬件设计;(4)第三部分介绍了系统软件设计;(5)第四部分介绍了系统调试。(6)第五部分写出程序中遇到的问题,解决方案,经验教训。2总体设计2.1 设计要求(1)使用集成数字电路或单片机作为主控制芯片;(2)使用LCD来显示现在的时间,显示格式为:显示:20年份-月份-日期 week x时时:分分:秒秒;(3)使用时钟芯片DS1302实现时钟定时;(4)具有闹铃功能,一旦时间到则发出1分钟提示声;(5)具有调整时间的功能。2
9、.2设计内容(1)查阅相关资料,整体构思,(2)进行调研和总体设计,并绘制系统方框图和主程序流程图等;(3)详细设计:1)LCD显示电路的设计及功能实现 2)实时时钟电路的设计及其功能实现3)按键设置电路的设计及其功能实现2.3 设计方案的确定2.3.1单片机芯片采用STC89C52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,对所下载的程序能够加密,比较安全。当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次
10、拔插,所以不会对芯片造成损坏。所以选择采用STC89C52作为主控制系统做此实验比较合理。2.3.2显示部分显示部分是本次设计的重要部分,一般有以下两种方案:方案一:采用LED显示,分静态显示和动态显示。对于静态显示方式,所需的译码驱动装置很多,引线多而复杂,且可靠性也较低。而对于动态显示方式,虽可以避免静态显示的问题,但设计上如果处理不当,易造成亮度低,有闪烁等问题。方案二:采用LCD显示。LCD液晶显示具有丰富多样性、灵活性、电路简单、易于控制而且功耗小等优点,对于信息量多的系统,是比较适合的。鉴于上述原因,我们组采用方案二。2.3.3时钟部分数字时钟是本设计的核心的部分。根据需要可采用以
11、下两种方案实现:方案一:方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将时字节清零。年月日的设计也是如此方法。该方案具有硬件电路简单的特点,但当单片机不上电,程序将不执行。而且由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。方案二:方案采用Dallas公司的专用时钟芯片DS1302。该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年
12、,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。当电网电压不足或突然掉电时,可使系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。基于时钟芯片的上述优点,本课程设计采用方案二完成数字时钟的功能。2.3.4闹铃部分闹铃部分是采用蜂鸣器来进行提示,用蜂鸣器成本低,电路结构简单,而且体积小。一个引脚接地另一个引脚在闹铃时间设置于数字钟时间一致时,给引脚一个高点平,驱动蜂鸣器发出提示音,提示进行延时1分钟。2.3.5
13、 键盘部分用开发板上的5个按键就能实现想要的设计,我们组开始想的是用4个按键,但是实现起来需要做想赢得程序设计,就自己想着多用一个按键,来简单的实现想要的功能。用了开发板上的4个闲置按键意外加了一个按键来实现想要的功能。2.3.6电源部分采用稳定的电压源对开发板进行供电。来实现开发板的各种功能在LCD来显示出来,以及蜂鸣器提示音。2.4总体方案综上各方案所述,对此次作品的方案选定: 采用STC89C52作为主控制系统; DS1302提供时钟;1602液晶作为显示等。独立按键进行控制,蜂鸣器实现闹铃提示。2.5工作原理本设计采用STC89C52RC单片机作为本系统的控制模块。单片机对DS1302
14、进行初始化,写入当前的时间,以后不再进行写入时间,DS1302有个后备电池我,会自动计时。单片机每隔1s读DS1302时间,从而把数据传输到显示模块,实现时间的显示。以LCD1602为显示模块,把单片机传来的数据显示出来,并且显示多个信息。通过按键设计一个闹铃时间,软件设计中通过比较当前时间和闹铃时间,是否相同,如果相同,启动蜂鸣器发出声音,持续一段时间,然后关闭蜂鸣器。在显示电路中,主要靠按键来实现各种显示要求的功能选择、调节与切换。2.6总体设计图图2.6 :程序设计总体设计图STC89C52主控制模块LCD1602显示模块DS1302时钟模块键盘控制模块蜂鸣器电源模块3硬件设计3.1 S
15、TC89C52介绍3.1.1 STC89C52主要功能及PDIP封装STC89C52是由深圳宏晶科技公司生产的与工业标准MCS-51指令集和输出管脚相兼容的单片机。其PDIP封装如表3.1所示表3.1:STC89C52主要功能主要功能特性兼容MCS51指令系统8K可反复擦写Flash ROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能3.1.2 STC-89C52引脚介绍 主电源引脚(2根)3.1.2 STC-89
16、C52引脚介绍VCC(Pin40):电源输入,接5V电源。GND(Pin20):接地线。外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端。XTAL2(Pin20):片内振荡电路的输出端。控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号。PSEN(Pin29):外部存储器读选通信号。EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口
17、,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。P0口(Pin39Pin32):8位双向I/O口线,名称为P0.0P0.7。P1口(Pin1Pin8):8位准双向I/O口线,名称为P1.0P1.7 。P2口(Pin21Pin28):8位准双向I/O口线,名称为P2.0P2.7 。P3口(Pin10Pin17):8位准双向I/O口线,名称为P3.0P3.7。图3.1.2 : STC89C52引脚图3.2 DS1302时钟芯片介绍3.2.1 DS1302概述DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、周、时、分、秒
18、进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用双电源供电(主电源和备用电源),同时提供了对后背电源进行涓细电流充电的能力。采用三线接口与CPU进行同步通信。图3.2.1 :DS1302引脚图3.2.2 DS1302引脚介绍各引脚功能为:Vcc: 主电源;Vcc2:备用电源。当Vcc2Vcc1+0.2V时,由Vcc2向DS1302供电;当Vcc2Vcc1时,由Vcc1向DS1302供电。SCLK:串行时钟输入端,控制数据的输入与输出。I/O: 三线接口时的双向数据线。 CE: 输入信号,在读、写数据期间必须为高。2引脚3引脚之间接12M晶振。GND引脚接地引脚 以及RST复位引脚3
19、.2.3 DS1302使用方法表3.2.3:1302rs位及性质(1)RS位电阻典型位00没有没有01R12K10R24K11R38K(1) 时钟芯片DS1302的工作原理:DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置 “0”,接着把RST端置“1”,最后才给予SCLK脉冲;读/写时序如图5所示。表2为DS1302的控制字,此控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。对于位6,若对程序进行读/写时RAM=1,对时间进行读/写时,CK=0。位1至位5指操作单元的地址。位0是读/写操作位,进行读操作时,该位为1;该位为0则表示进行的是写操作。控制字节总是从
20、最低位开始输入/输出的。表6为DS1302的日历、时间寄存器内容:“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。“WP”是写保护位,在任何的对时钟和RAM的写操作之前,WP必须为0。当“WP”为1时,写保护位防止对任一寄存器的写操作。(2) DS1302的控制字节DS1302的控制字如表所示。控制字节最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制
21、字节总是从最低位开始传输。表3.2:DS1302控制字(2)1RAMA4A3A2A1A0RDCKWR(3) 数据输入输出(I/O)在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。其读写时序如3.3图示图3.2.3:DS1302读写时序DS1302中与时间、日期有关的寄存器共有12个,其中7个存放数据的格式为BCD码格式,其读写地址如表3.2.3所示表3.2.3:DS1302时钟寄存器(3)第一行秒寄存器,CH为时钟暂停标志位,该位为
22、1时时钟停止,该位为0时时钟运行第二行分寄存器,bit0bit6表示分钟数,因采用BCD编码,所以低四位最大能表示的数字为9,计数满向高三位进1。第三行时寄存器,12/24用来定义DS1302小时的运行模式,12小时模式下bit5为1表示PM下午,bit5为0表示AM上午。第八行控制寄存器,bit7是写保护位WP,当WP为1时,写保护位可防止对任一寄存器的写操作,在任何的对时钟和RAM的写操作之前,WP位必须为0 。此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与R
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 实现 闹钟 设计
链接地址:https://www.31doc.com/p-3314260.html