基于AT89C52单片机的数字钟设计方案.docx
- 文档编号:27325854
- 上传时间:2023-06-29
- 格式:DOCX
- 页数:28
- 大小:175.12KB
基于AT89C52单片机的数字钟设计方案.docx
《基于AT89C52单片机的数字钟设计方案.docx》由会员分享,可在线阅读,更多相关《基于AT89C52单片机的数字钟设计方案.docx(28页珍藏版)》请在冰豆网上搜索。
基于AT89C52单片机的数字钟设计方案
基于AT89C52单片机的数字钟设计方案
一、设计目的与背景
1.1设计目的
(1)通过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤。
(2)培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力;
(3)提高综合及灵活运用所学知识解决工业控制的能力,培养动手能力和实际应用能力。
1.2设计背景
目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMO化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。
下面是单片机的主要发展趋势。
单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。
单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。
1.3数字钟的意义
数字钟是采用数字电路实现对时、分、秒的数字显示计时装置,广泛用于个
人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由
于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远
超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
二、设计内容及要求
2.1任务及要求
1通过单片机内定时器控制走时,准确持续走时,调时不影响走时。
2在八个数码管上显示时、分、秒及两个小数点。
3含有闹钟功能,可以选择闹钟开关,可以设定闹铃时间。
4到达闹钟时刻蜂鸣器警报,可以关掉警报。
2.2系统功能说明
电子钟的格式为:
XX.XX.XX,由左向右分别为:
时、分、秒。
完成显示由
秒01一直加1至59,再恢复为00;分加1,由00至01,—直加1至59,再恢复00;时加1,时由00加至23之后秒、分、时全部清清零。
该钟使用T0作250us的定时中断。
走时调整:
走时过程中直接调整且不影响走时准确性,按下时间选择键对
“时、分、秒”显示进行调整,每按一下时间加,即加1,时间减,即减1。
三、整体设计方案
本课题整体设计方案分为硬件设计和软件设计。
硬件电路设计主要是用单片机和LED显示屏连接组成,另外加入按键,开关,
蜂鸣器等;软件编程设计室用C编程,KeilC51调试
3.1单片机的基本介绍
单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件
[1]:
中央处理器、存储器和I/O接口电路等。
因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。
3.1.1单片机的特点
单片机经过三代的发展,正朝着多功能、高性能、低电压、低功耗、低价格、大存储容量、强大的I/O功能及较好的结构兼容性方向发展。
其发展趋势不外乎以下几个方面:
1、多功能
单片机中尽可能地把所需要的存储器和I/O口都集成在一块芯片上,使得单片机可以实现更多的功能。
比如A/D、PWMPCA(可编程计数器阵列)、WDT(监视定时器---看家狗)、高速I/O口及计数器的捕获/比较逻辑等。
有的单片机针对某一个应用领域,集成了相关的控制设备,以减少应用系统的芯片数量。
例如,有的芯片以51内核为核心,集成了USB控制器、SMARCARD
2
接口、MP3解码器、CAN或者IC总线控制器等,LEDLCD或VFD显示驱动器也开始集成在8位单片机中。
2、高效率和高性能
为了提高执行速度和执行效率,单片机开始使用RISC流水线和DSP的设计技术,使单片机的性能有了明显的提高,表现为:
单片机的时钟频率得到提高;同样频率的单片机运行效率也有了很大的提升;由于集成度的提高,单片机的寻址能力、片内R0(FLASH和RAM勺容量都突破了以往的数量和限制。
由于系统资源和系统复杂程度的增加,开始使用高级语言(如C语言)来开发单片机的程序。
使用高级语言可以降低开发难度,缩短开发周期,增强软件的可读性和可移植性,便于改进和扩充功能。
3、低电压和低功耗
单片机的嵌入式应用决定了低电压和低功耗的特性。
由于CMOS等工艺的大量采用,很多单片机可以在更低的电压下工作(1.2V或0.9V),功耗已经降低到uA级。
这些特性使得单片机系统可以在更小电源的支持下工作更长的时间。
4、低价格
单片机应用面广,使用数量大,带来的直接好处就是成本的降低。
目前世界各大公司为了提高竞争力,在提高单片机性能的同时,十分注意降低产品的价格。
3.1.2单片机的主要应用领域
(1)家用电器领域
用单片机控制系统取代传统的模拟和数字控制电路,使家用电器(如洗衣机、空调、冰箱、微波炉、和电视机等)功能更完善,更加智能化和易于使用。
(2)办公自动化领域
单片机作为嵌入式系统广泛应用于现代办公设备,如计算机的键盘、磁盘驱动、打印机、复印机、电话机和传真机等。
(3)商业应用领域
商业应用系统部分与家用和办公应用系统相似,但更加注重设备的稳定性、可靠性和安全性。
商用系统中广泛使用的电子计量仪器、收款机、条形码阅读器、安全监测系统、空气调节系统和冷冻保鲜系统等,都采用了单片机构成的专用系统。
与通用计算机相比,这些系统由于比较封闭,可以更有效地防止病毒和电磁干扰等,可靠性更高。
(4)工业自动化
在工业控制和机电一体化控制系统中,除了采用工控计算机外,很多都是以单片机为核心的单片机和多机系统。
(5)智能仪表与集成智能传感器目前在各种电气测量仪表中普遍采用了单片机应用系统来代替传统的测量系统,使得测量系统具有存储、数据处理、查询及联网等智能功能。
将单片机和传感器相结合,可以构成新一代的智能传感器。
它将传感器变换后的物理量作进一步的变化和处理,使其成为数字信号,可以远距离传输并与计算机接口。
(6)现代交通与航空航天领域
通常应用于电子综合显示系统、动力监控系统、自动驾驶系统、通信系统以及运行监视系统等。
这些领域对体积、功耗、稳定性和实时性的要求往往比商用系统还要高,因此采用单片机系统更加重要。
3.2单片机的结构
321MCS-52单片机内部结构
8052单片机包含中央处理器、程序存储器(ROM)数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等二大总线。
1.中央处理器[3]:
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
2•数据存储器(RAM)
8052内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
如图1
I程序存擔器〕[数据存储需1[定时计数器]
TITTTTTt
时钟
I并行口[率行通信口I[中斷系统|
图1单片机8052的内部结构
3•程序存储器(ROM)
8052共有4096个8位掩膜ROM用于存放用户程序,原始数据或表格
4.定时/计数器:
8052有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。
5.并行输入输出(I/O)口:
8052共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。
6.全双工串行口:
8052内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。
7.中断系统:
8052具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一
个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。
8.时钟电路:
8052内置最高频率达12MHZ勺时钟电路,用于产生整个单片机运行的脉冲时序,但8052单片机需外置振荡电容。
单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。
Intel的MCS-52系列单片机采用的是哈佛结构的形式,而后续产品16位的
MCS-96系列单片机则采用普林斯顿结构。
下图2是MCS-52系列单片机的内部结构示意图
pao—por?
2.o—par
|迴谨「i曲动品||jfiiS25b.^S
瓦时和
it令
i
•01—
'1
哥蒋SS
「a:
[
中韵t串厅匚I
~-~〜''耳卜卜曲匚—1^44井卜•—
FlQ*-n.7P襄丸F
图2MCS-52系列单片机的内部结构
323MCS-52的引脚说明
MCS-52系列单片机中的8031、8051及8751均采用40Pin封装的双列直接
DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。
现在我们对这些引脚的功能加以说明。
如图3
T2/P1.0E
1
5
2Uec
TZEI/PL1r
2
39
1PQ0/ADC
Fl.2匚
3
as
□PhlUDl
PL3匚
4
37
□Ph占畑
Pl.4C
5
36
:
P0.3/AD3
Pl.5C
6
35
:
P9.4/AD4
Fl.feC
34
2PO.5/AD5
Fl.Tr
e
38
1F0.fc/AD6
RST匚
9
32
3PS.TMT
RKD/P3.0匚
10
31
JEJL/TO
TXD/P3-1匸
11
30
1ALE/FKOO
INT0/F3.2匸
12
29
1PESIT
TtI'f.?
.?
匚
廿
28
JFi77丸15
T0/P3.4匚
14
27
JFZ&/A14
T1/P3.S匚
15
2E
JF25/A1?
WL/P3.6L
止
25
Jf2.4/112
RB/P3.7C
ir
24
:
?
/AU
IT1L2C
13
23
1F2,?
/AlB
XTALl匚
n
22
□F£1?
A3
fdif&肛1-
汕
21
jPi.
图3单片机的引脚图
P0端口[P0.0-P0.7]:
P0是一个8位漏极开路型双向I/O端口,端口置1
(对端口写1)时作高阻抗输入端。
作为输出口时能驱动8个TTL=
对内部Flash程序存储器编程时,接收指令字节;校验程序时输出指令字节,要求外接上拉电阻。
在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/
数据总线,访问期间内部的上拉电阻起作用。
P1端口[P1.0—P1.7]:
P1是一个带有内部上拉电阻的8位双向I/O端口。
输出时可驱动4个TTL=端口置1时,内部上拉电阻将端口拉到高电平,作输入用。
对内部Flash程序存储器编程时,接收低8位地址信息。
P2端口[P2.0—P2.7]:
P2是一个带有内部上拉电阻的8位双向I/O端口。
输出时可驱动4个TTL=端口置1时,内部上拉电阻将端口拉到高电平,作输入用。
对内部Flash程序存储器编程时,接收高8位地址和控制信息。
在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。
而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。
P3端口[P3.0—P3.7]:
是一个带有内部上拉电阻的8位双向I/O端口。
输出时可驱动4个TTL=端口置1时,内部上拉电阻将端口拉到高电平,作输入用。
对内部Flash程序存储器编程时,接控制信息。
除此之外P3端口还用于一些专门功能,见表1。
P3引脚
兼用功能
P3.0
串行通讯输入(RXD
P3.1
串行通讯输出(TXD)
P3.2
外部中断0(INT0)
P3.3
夕卜部中断1(INT1)
P3.4
定时器0输入(T0)
P3.5
定时器1输入(T1)
P3.6
外部数据存储器写选通WR
P3.7
外部数据存储器写选通RD
表1P3端口引脚兼用功能表
Pin9:
RESETS位信号复用脚,当8052通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。
初始化后,程序计数器PC指向0000HP0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。
RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。
然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8052的初始态。
Pin30:
ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。
而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。
更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。
对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOV冷口MOVC旨令才能将ALE激活。
此外,该引脚会被微拉高,单片机执行外部程序时,应设置ALE禁止位无效。
Pin29:
当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位
地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU卖入并执行。
Pin31:
EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。
如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。
显然,对内部无程序存储器的8031,EA端必须接地。
3.3硬件设计
3.3.1硬件设计的原则
在性价比满足应用系统要求的情况下,选择更可靠,更熟悉的单片机缩短研制周期。
尽可能选择自己较为熟悉的应用电路,以提高系统的可靠性。
单片机内部的资源与外部的扩展资源应在满足系统设计的基础上留有余地,为进一步的升级和扩展提供方便。
应充分的结合软件方案考虑硬件的结构,通常硬件功能较完善,其相应的软件程序就简单,但硬件的成本较高,而功能较低,其相应的软件就复杂,其实际常用软件代替硬件来降低成本。
整个系统相关的器件尽可能的做到性能相匹配。
3.3.2单片机的型号选择
目前,我国生产很多型号的单片机,在此,我们采用型号为AT89C52的单片机。
因为AT89C52是一个低电压,高性能CMOS位单片机,片内含4kbytes的可反复擦写的Flash只读程序存储器和128bytes的随机存取数据存储器
(RAM,器件采用ATME公司的高密度、非易失性存储技术生产,兼容标准MCS-52指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C52提供了高性价比的解决方案。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口
LED数码管是显示常用电子元器件,它是由发光二极管构成的,亦称半导体数码管。
将条状发光二极管按照共阴极(负极)或共阳极(正极)的方法连接,组成“8”字,再把发光二极管另一电极作笔段电极,就构成了LED数码管。
下面将介绍它的性能特点:
(1)能在低电压、小电流条件下驱动发光,能与CMO、SITL电路兼容。
⑵发光响应时间极短(<0•1卩S),高频特性好,单色性好,亮度高。
(3)体积小,重量轻,抗冲击性能好。
(4)成本低,寿命长,使用寿命在10万小时以上,甚至可达100万小时
首先介绍一下七段数码管的引脚图,如图40
图4七段数码管引脚图
数码管使用条件:
A、段及小数点上加限流电阻。
B、使用电压:
段:
根据发光颜色决定;小数点:
根据发光颜色决定。
C、使用电流:
静态:
总电流80mA(每段10mA;
动态:
平均电流4-5mA峰值电流100mA
LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。
如图5
A、共阴极七段数码管B、共阳极七段数码管
图5
将多只LED的阴极连在一起即为共阴式,而将多只LED的阳极连在一起即为共阳式。
以共阴式为例,如把阴极接地,在相应段的阳极接上正电源,该段即会发光。
当然,LED的电流通常较小,一般均需在回路中接上限流电阻。
假如我们将"b"和"c"段接上正电源,其它端接地或悬空,那么"b"和"c"段发光,此时,数码管显示将显示数字“1”。
而将"a"、"b"、"d"、"e"和"g"段都接上正电源,其
它引脚悬空,此时数码管将显示“2”。
其它字符的显示原理类同
对于多位LED显示器,通常都是采用动态扫描的方法进行显示。
334
按键控制电路
本课程设计需要校对时间和设定闹钟,所以用三个按键来实现。
按hour来
调节小时的时间,按min来调节分针的时间,按sec来调节秒的时间。
当用手按下一个键时,如图6所示,往往按键在闭合位置和断开位置之间跳
几下才稳定到闭合状态的情况;在释放一个键时,也回会出现类似的情况,这就是抖动。
这是使用按键控制不可避免的问题。
抖动的持续时间随键盘材料和操作员而异,不过通常总是不大于10ms。
很
容易想到,抖动问题不解决就会引起对闭合键的识别。
用软件方法可以解决抖动问题,这就是通过延迟10ms来等待抖动消失,这之后,在读入按键码。
一键按下J
闭合+
3.4软件设计
3.4.1软件程序设计
本设计的软件程序包括主程序、定时中断子程序、时钟显示子程序和延时子程序等等。
主程序是先开始执行的,然后启动定时器,定时器启动后在进行按键检测,检测完后,就可以显示时间。
按键处理是先检测秒按键是否按下,秒按键如果按下,秒就加1;如果没有
按下,就检测分按键是否按下;分按键如果按下,分就加1,如果没有按下,就检测时按键是否按下;时按键如果按下,时就加1,如果没有按下,就把时间显示出来。
定时器中断是先检测1秒是否到,1秒如果到,秒单元就加1;如果没到,就检测1分钟是否到,1分钟如果到,分单元就加1;如果没到,就检测1小时是否到,1小时如果到,时单元就加1,如果没到,就显示时间。
时间显示是先秒个位计算显示,然后是秒十位计算显示,再是分个位计算显
示,再然后是分十位显示,再就是时个位计算显示,最后是时十位显示。
主程序流程图,如图6
初始化
显示器清零
1
显示器赋初值
L
窑1-
—►时间如碱
否
读取E捆
图6源程序流程图
342定时中断程序设计
单片机的定时功能也是通过计数器的计数来实现的,此时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲,也就是每经过1个机器周期的时间,计数器加1。
如果MCS-52采用的12MHz晶体,则计数频率为1MH?
即每过1us的时间计数器加1。
这样可以根据计数值计算出定时时间,也可以根据定时时间的要求计算出计数器的初值。
MCS-52单片机的定时器/计数器具有4种工作方式,其控制字均在相应的特殊功能寄存器中,通过对特殊功能寄存器的编程,可以方便的选择定时器/计数器两种工作模式和4种工作方式。
定时器/计数器工作在方式0时,为13位的计数器,由TLX(X=01)的低5位和THX的高8位所构成。
TLX低5位溢出则向THX进位,THX计数溢出则置位TCON中的溢出标志位TFX.
当定时器/计数器工作于方式1,为16位的计数器。
本设计师单片机多功能定时器,所以MCS-51内部的定时器/计数器被选定为定时器工作模式,计数输入信号是内部时钟脉冲,每个机器周期产生一个脉冲使计数器增1。
四、电路设计和仿真实现
4.1电路设计原理:
1•将整个硬件系统划分为若干功能单元电路,绘出整个系统逻辑电路图,
注明各交单元电路间接口信号;
2.完成各单元电路设计,包括选择合适的各类元器件和电路板设计(元件布局和走线)。
3.整个硬件图由蓝色LED七段数码管、80C52单片机、按键、电容、电解电容、石英晶振、电阻、排阻、和蜂鸣器组成。
4.2Proteus软件介绍
Proteus软件是LabcenterElectronics公司的一款电路设计与仿真软件,
它包括ISIS、ARES等软件模块,ARES莫块主要用来完成PCB勺设计,而ISIS模块用来完成电路原理图的布图与仿真。
Proteus的软件仿真基于VSM技术,它
与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如
MCS-51系列、PIC系列等等,以及单片机外围电路,比如键盘、LEDLCD等等。
通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。
4.3KeilC调试环境介绍
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C来开发,体会更加深刻
4.4电路的引脚连接
P0.0-P0.7经过上拉电阻连接7SE—MPX—CA—BLUE显示器的A—G和DP控制数位(0—9),P2.0-P2.7连接7SEG-MPX—CA—BLUE的1—8脚控制显示器的时、分、秒和中间空格发光二极管的发光循序。
4.5电路连接图
Proteus仿真和KeilC联调
用PROTUE软件,根据数字电子钟的原理图,画出仿真图,得到的图如下所示
图7电路连接图
五、总结
首先从
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 AT89C52 单片机 数字 设计方案