基于单片机的电子数字时钟设计讲解Word文件下载.docx
《基于单片机的电子数字时钟设计讲解Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的电子数字时钟设计讲解Word文件下载.docx(54页珍藏版)》请在冰豆网上搜索。
指导教师:
刘XX教授
助理指导教师:
李XX讲师
二〇12年六月
摘要
近年来,随着数字信息的高速发展,人们对各种各样的数字产品有了越来越多的需求,然而在设计当中,单片机以它功能强大、体积小、价格低廉、而且功耗低的优点,越来越广泛地被应用。
不仅用于小型仪器的设计制造、自动化控制等方面,更是涉及诸多领域。
本次课题研究的是利用AT89C51单片机设计一个LCD多功能数字时钟。
以实现日期、年、月、日、以及温度显示的功能。
以AT89C51为核心,利用LCD显示屏作为显示元件,四个独立按键组成调控电路,附加一个温度采集器以实现温度采集,通过Keil软件编写程序,以实现上述功能,并在LCD液晶屏上显示出来。
本课题的设计思路是利用protues单片机仿真软件进行仿真,在Keil软件商编写相应的仿真程序,最终加入到51单片机的芯片当中进行调试,实现预期功能。
关键词数字信息,单片机,数字时钟,仿真
ABSTRACT
Inrecentyears,withtherapiddevelopmentofdigitalinformation,Peoplehavemoreandmoredemandforavarietyofdigitalproductsintheirdesign,however,theadvantagesofthemicrocontrolleritispowerful,small,inexpensive,andlowpowerconsumption,moreandmorewidespreadapplication.Notonlyforthedesignandmanufactureofsmallinstruments,automationcontrol,andisinvolvedinmanyfields.TheresearchisAT89C51microcontrollerdesignamulti-functionLCDdigitalclock.Inordertoachievethedate,year,month,day,week,andtemperaturedisplay.AT89C51astheuseoftheLCDscreenasadisplayelement,fourseparatebuttonsuptheregulationcircuit,attachatemperatureloggerfortemperatureacquisition,Keilsoftwarewriteaprogramtoachievetheabovefunctions,anddisplayedontheLCDscreen.ThedesignideasofthesubjectistouseprotuesmicrocontrollersimulationsoftwaretosimulateinKeilsoftwarevendorstopreparethecorrespondingsimulationprogrameventuallyaddedtothe51microcontrollerchipdebugging,toachievethedesiredfunctionality.
Keywordsdigital,microcontroller,digitalclock,simulation
摘要………………………………………………………………………………………Ⅰ
ABSTRACT……………………………………………………………………………………Ⅱ
1绪论…………………………………………………………………1
1.1课题背景…………………………………………………………1
1.1.1AT89C51单片机简介…………………………………………1
1.1.2AT89C51单片机的引脚图及说明……………………………2
1.1.3AT89C51单片机的中断系统……………………………………3
2课题设计原理……………………………………………………………3
2.1设计思路………………………………………………………………6
2.1.1设计要求……………………………………………………………12
2.1.2总体设计框图………………………………………………………13
2.2硬件设计………………………………………………………………14
2.2.1AT89C51单片机最小系统…………………………………………15
2.2.2设计所需器件以及介绍………………………………………………20
3软件设计…………………………………………………………………28
3.1软件实现功能……………………………………………………………28
3.2软件设计的基本流程……………………………………………………28
3.3软硬件调试………………………………………………………………30
3.4软件设计程序…………………………………………………………35
结论……………………………………………………………………………52
参考文献………………………………………………………………………53
附录A:
设计元件清单………………………………………………………54
附录B:
参与设计人员………………………………………………………55
致谢……………………………………………………………………………56
1绪论
20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。
下面是单片机的主要发展趋势。
单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。
单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。
数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字时钟及扩大其应用,有着非常现实的意义。
1.1课题背景
1.1.1AT89C51单片机简介
AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
1.1.2AT89C51单片机的引脚图及说明
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写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口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当