数字电子时钟设计与开发毕业论文文档格式.docx
《数字电子时钟设计与开发毕业论文文档格式.docx》由会员分享,可在线阅读,更多相关《数字电子时钟设计与开发毕业论文文档格式.docx(45页珍藏版)》请在冰豆网上搜索。
3.5.474LS07逻辑图19
3.6矩阵键盘模块19
3.6.1矩阵键盘的工作原理20
第4章数字电子时钟软件电路设计21
4.1系统软件设计流程图21
4.1.1主程序流程21
4.1.2按键处理流程21
4.1.3定时器中断流程21
4.1.4时间显示流程21
4.2源程序清单24
第5章数字电子时钟系统调试31
5.1软、硬件调试31
5.1.1测试AT89C51单片机、8155、74LS07芯片31
5.1.2主程序流程31
5.1.3软件调试31
5.2统一调试31
第6章数字电子时钟实物电路展示32
结论33
参考文献34
致谢35
作者简介36
第1章绪论
1.1数字电子时钟的背景
20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。
忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。
但是,一旦重要事情,一时的耽误可能酿成大祸。
目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着科技化、低功耗、小体积、大容量、高性能、低价格和外围电路装化等几个方面发展。
下面是单片机的主要发展趋势。
单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。
单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。
1.2数字电子时钟的发展史
电子钟有着很长的历史,从民国19年的电钟,研制始于60年代中期的国电晶体、半导体管钟,到研制始于70年代末的石英电子钟,再到今天我们所用的智能电子钟。
以前的电子钟存在着很多缺点,其外观体积庞大,在功能上有死摆、走时时间不长、走时精确度不高等缺点。
如今无论是外观,还是在功能上,电子钟都有了很大的改进。
1.3数字电子时钟的意义
数字钟是采用数字电路实现对时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
1.4数字电子时钟的应用
数字钟已成为人们日常生活中:
必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。
由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。
第2章数字电子时钟总体设计
2.1设计方案
2.1.1核心控制部分方案
方案一:
采用单片机作为数字电子时钟的核心控制部分
方案二:
采用555定时器作为电子时钟的核心控制部分
2.1.2显示部分方案
静态显示就是当CPU将要显示的字或字段码送到输出口,显示器就可以显示出所要显示的字符,如果CPU不去改写它,它将一直保持下去;
静态显示硬件开销大,电路复杂,信息刷新速度慢。
动态显示则是一位一位地轮流点亮显示器地各个位(扫描)。
对于显示器的每一位而言,每隔一段时间点亮一次;
动态显示耗能较小,但编写程序较复杂。
动态显示硬件连接简单,信息刷新速度快。
2.1.3键盘部分方案
独立式键盘。
独立式键盘的各个按键相互独立,每个按键独立地与一根数据输入线(单片机并行接口或其他芯片的并行接口)连接。
独立式键盘配置灵活,软件结构简单,但每个按键必须占用一根接口线,在按键数量不多时,接口线占用多。
所以,独立式按键常用于按键数量不多的场合。
矩阵式键盘。
矩阵式键盘采用的是行列式结构,按键设置在行列的交点上.(当接口线数量为8时,可以将4根接口线定义为行线,另4根接口线定义为列线,形成4×
3键盘,可以配置12个按键。
)
2.2方案选择
经过论证,决定采用AT89C51单片机作为数字电子时钟的核心部分,采用8155以及6位数码管作为显示系统,采用4×
3矩阵键盘作为数字电子时钟的控制系统的方案。
如图2-1数字电子时钟硬件电路图
2.2.1时间显示
由于本方案需要显示时、分、秒三方面容,所以计划采用6位数码管作为显示系统,上电后系统自动进入时钟显示,从00:
00:
00开始计时,此时可以设定当前时间。
2.2.2时间调整
按下矩阵键盘上的C/R键(时间设定/起动计时键),系统停止计时,进入时间设定状态,系统保持原有显示,等待键入当前时间,根据需要按下0—9数字键可以顺序设置分和秒,并在相应的LED上显示设置值。
6位设置完毕后,系统将从设定后的时间开始计时显示。
2.2.3闹钟设置
按下ALM键(闹钟设置/启闹/停闹键),系统继续计时,显示00:
00,进入闹钟设置状态,等待键入启闹时间,根据需要按下0—9数字键可以顺序进行相应的时间设置,并在相应的LED上显示设置值。
6位设置完毕后,系统启动定时启闹功能,并恢复时间显示。
定时时间一到,蜂鸣器就会鸣叫,直至重新按下ALM键停闹,并取消闹钟设置。
第3章数字电子时钟硬件电路设计
3.1硬件电路采用器件
数字电子时钟电路有80C51单片机、可编程I/O接口芯片8155、4×
3键盘输入电路、6位LED显示输出电路及74LS07为主要部件的蜂鸣器启闹电路组成。
如图3-1数字电子时钟硬件电路图
3.2AT89C51单片机模块
AT89C51单片机是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
如图3-2AT89C51单片机
3.2.1AT89C51单片机的主要性能
·
与MCS-51兼容
4K字节可编程闪烁存储器
寿命:
1000写/擦循环
数据保留时间:
10年
全静态工作:
0Hz-24Hz
三级程序存储器锁定
128×
8位部RAM
32可编程I/O线
两个16位定时器/计数器
5个中断源
可编程串行通道
低功耗的闲置和掉电模式
片振荡器和时钟电路
3.2.2AT89C51单片机的引脚说明
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个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口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
表3-1AT89C51的特殊功能口
P3口也可作为AT89C51的一些特殊功能口,如表3-1所示:
口管脚
备选功能
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编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
如图3-3AT89C51单片机引脚图
3.2.3AT89C51单片机的储存器说明
MCS-51器件有单独的程序存储器和数据存储器。
外部程序存储器和数据存储器都可以64K寻址。
程序存储器:
如果EA引脚接地,程序读取只从外部存储器开始。
对于AT89C51,如果EA接VCC,程序读写先从部存储器(地址为0000H~1FFFH)开始,接着从外部寻址,寻址地址为:
2000H~FFFFH。
数据存储器:
AT89S52有256字节片数据存储器。
高128字节与特殊功能寄存器重叠。
也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。
当一条指令访问高于7FH的地址时,寻址方式决定CPU访问高128字节RAM还是特殊功能寄存器空间。
直接寻址方式访问特殊功能寄存器(SFR)。
例如,下面的直接寻址指令访问0A0H(P2口)存储单元MOV0A0H,#data使用间接寻址方式访问高128字节RAM。
例如,下面的间接寻址方式中,R0容为0A0H,访问的是地址0A0H的寄存器,而不是P2口(它的地址也是0A0H)。
MOVR0,#data堆栈操作也是简介寻址方式。
因此,高128字节数据RAM也可用于堆栈空间。
储存器的结构如图3-4
3.2.4AT89C51单片机的振荡器说明
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
3.2.5AT89C51单片机的定时/计数器说明
AT89C51有两个16位可编程定时器/计数器T0/T1。
T0由TH0,TL0构成,T1由TH1,TL1构成。
T0/T1在定时控制寄存器TCON和方式选择寄存器TMOD控制下,可实现定时或计数。
3.2.6AT89C51单片机的芯片擦除功能说明
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
3.2.7AT89C51的中断源
中断源
说明
外部中断INT0
从P3.2引脚引入的外部中断申请
定时器T0中断
定时器T0溢出时引发中断申请
外部中断INT1
从P3.3引脚引入的外部中断申请
定时器T1中断
定时器T1溢出时引发中断申请
串行口中断
一次串行发送或接收完成后,发出中断申请
引起专断的原因称为中断源。
AT89C51单片机有5个中断源,包括2个外部中断,2个片定时/计数器溢出中断,1个串行口中断。
89C51单片机中断源如表3-2所示。
表3-2AT89C51单片机中断源
3.3可编程I/O扩展—8155芯片模块
8155是单片机常用的接口扩展芯片,其部包含256B的静态RAM,2个8位的并行I/O接口,1个6位的并行I/O接口和一个14位的定时/计数器。
3.3.18155芯片的部结构
8155芯片部共包括4个部分,分别是
1、256B的静态RAM,存取时间为400ns
2、3个通用的输入/输出口PA、PB、PC。
3、1个14位的可编程定时/计数器。
4、1个8位命令寄存器(只能写入)/8位状态寄存器(只能读出)。
8155芯片的具体结构如图3-5。
3.3.28155芯片的引脚说明
复位信号输入端,高电平有效。
复位后,3个I/O口均为输入方式。
AD0~AD7:
三态的地址/数据总线。
与单片机的低8位地址/数据总线(P0口)相连。
单片机与8155之间的地址、数据、命令与状态信息都是通过这个总线口传送的。
:
读选通信号,控制对8155的读操作,低电平有效。
写选通信号,控制对8155的写操作,低电平有效。
片选信号线,低电平有效。
IO/
8155的RAM存储器或I/O口选择线。
当IO/
=0时,则选择8155的片RAM,AD0~AD7上地址为8155中RAM单元的地址(00H~FFH);
=1时,选择8155的I/O口,AD0~AD7上的地址为8155I/O口的地址。
ALE:
地址锁存信号。
8155部设有地址锁存器,在ALE的下降沿将单片机P0口输出的低8位地址信息及
,IO/
的状态都锁存到8155部锁存器。
因此,P0口输出的低8位地址信号不需外接锁存器。
PA0~PA7:
8位通用I/O口,其输入、输出的流向可由程序控制。
PB0~PB7:
8位通用I/O口,功能同A口。
PC0~PC5:
有两个作用,既可作为通用的I/O口,也可作为PA口和PB口的控制信号线,这些可通过程序控制。
TIMERIN:
定时/计数器脉冲输入端。
TIMEROUT:
定时/计数器输出端。
+5V电源。
8155芯片的引脚如图3-6所示
3.3.38155芯片的地址编码及工作方式
在单片机应用系统中,8155是按外部数据存储器统一编址的,为16位地址,其高8位由片选线
提供,
=0,选中该片。
当
=0,IO/
=0时,选中8155片RAM,这时8155只能作片外RAM使用,其RAM的低8位编址为00H~FFH;
=1时,选中8155的I/O口,其端口地址的低8位由AD7~AD0确定,如表6-6所示。
这时,A、B、C口的口地址低8位分别为01H、02H、03H(设地址无关位为0)。
8155芯片的I/O口地址如表3-3所示
表3-38155芯片的I/O口地址
AD7~AD0
选择I/O口
A7
A6
A5
A4
A3
A2
A1
A0
×
命令/状态寄存器
1
A口
B口
C口
定时器低8位
定时器高6位及方式
3.3.48155芯片的命令/状态寄存器
8155芯片的A口、B口可工作于基本I/O方式或选通I/O方式。
C口可工作于基本I/O方式,也可作为A口、B口在选通工作方式时的状态控制信号线。
当C口作为状态控制信号时,其每位线的作用如下:
PC0:
AINTR(A口中断请求线)
PC1:
ABF(A口缓冲器满信号)
PC2:
(A口选通信号)
PC3:
BINTR(B口中断请求线)
PC4:
BBF(B口缓冲器满信号)
PC5:
(B口选通信号)
8155芯片的I/O工作方式选择是通过对8155芯片部命令寄存器设定控制字实现的。
命令寄存器只能写入,不能读出,命令寄存器的格式如图6-16所示。
在ALT1~ALT4的不同方式下,A口、B口及C口的各位工作方式如下:
ALT1:
A口,B口为基本输入/输出,C口为输入方式。
ALT2:
A口,B口为基本输入/输出,C口为输出方式。
ALT3:
A口为选通输入/输出,B口为基本输入/输出。
PC0为AINTR,PC1为ABF,PC2为
,PC3~PC5为输出。
ALT4:
A口、B口为选通输入/输出。
,PC3为BINTR,PC4为BBF,PC5为
。
8155芯片命令寄存器的格式如图3-7所示。
8155芯片还有一个状态寄存器,用于锁存输入/输出口和定时/计数器的当前状态,供CPU查询用。
状态寄存器的端口地址与命令寄存器相同,低8位也是00H,状态寄存器的容只能读出不能写入。
所以可以认为8155芯片的I/O口地址00H是命令/状态寄存器,对其写入时作为命令寄存器;
而对其读出时,则作为状态寄存器。
8155芯片状态寄存器的格式如图3-8所示。
3.3.58155芯片与51单片机接口
8155芯片与51单片机接口如图3-9所示
3.4显示模块
根据硬件电路要求,本次数字电子时钟设计决定采用6位数码管作为显示模块。
3.4.1数码管简介
LED数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。
如图3-10。
这些段分别由字母a,b,c,d,e,f,g,dp来表示。
当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的字样了。
如:
显示一个“2”字,那么应当是a亮b亮g亮e亮d亮f不亮c不亮dp不亮。
LED数码管有一般亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。
小尺寸数码管的显示笔画常用一个发光二极管组成,而大尺寸的数码管由二个或多个发光二极管组成,一般情况下,单个发光二极管的管压降为1.8V左右,电流不超过30mA。
发光二极管的阳极连接到一起连接到电源正极的称为共阳数码管,发光二极管的阴极连接到一起连接到电源负极的称为共阴数码管。
常用LED数码管显示的数字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。
3.4.2数码管结构及工作原理
LED数码管(LEDSegmentDisplays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在部连接完成,只需引出它们的各个笔划,公共电极。
LED数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。
位数有半位,1,2,3,4,5,6,8,10位等等。
本次设计将采用如图3-11所示的6位数码管作为显示模块。
LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。
例如图3-12是4位8段共阴极数码管的部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。
颜色有红,绿,蓝,黄等几种。
led数码管广泛用于仪表,时钟,车站,家电等场合。
选用时要注意产品尺寸颜色,功耗,亮度,波长等。
3.4.3数码管分类
3.4.3.1从控制方式上分:
分为控方式(部有单片机,通电自动变色)和外控方式(需要外接控制器才能变色)。
3.4.3.2从变化方式上分:
分为固定色彩的和七彩、全彩的;
固定色彩的是用来勾轮廓的,全彩的可以勾轮廓,也可以组成管屏显示文字、视频等。
3.4.3.3从尺寸上分:
有D50的、D30的,D50和D30表示直径。
3.3.2.4从部可控性上分:
有1米6段的,有1米8段的和1米12段、1米16段、1米32段的。
也就是1米的管子有几段可以独立受控;
1米段数越多,做视频的效果越好。
如果密度低,或者做些追逐效果,做1米6段也就可以了。
3.4.3.5从LED数量上分:
有1米96颗灯的,有1米144颗灯的