单片机多功能数字钟系统设计.docx
《单片机多功能数字钟系统设计.docx》由会员分享,可在线阅读,更多相关《单片机多功能数字钟系统设计.docx(12页珍藏版)》请在冰豆网上搜索。
单片机多功能数字钟系统设计
毕业设计(论文)
题目:
单片机多功能数字钟系统设计
姓名:
指导教师:
专业:
层次:
专科
毕业论文(设计)任务书
题目
单片机多功能数字钟系统
学生姓名
专业
机械设计与制造
专科
指导教师
概述:
随着电子技术的飞速发展,家用电器和办公电子设备逐渐增多,不同的设备都有自己的控制器,使用起来很不方便。
根据这种实际情况,设计了一个单片机多功能定时系统,它可以避免多种控制器的混淆,利用一个控制器对多路电器进行控制,同时又可以进行时钟校准和定点打铃。
大可构成复杂的工业过程控制系统,完成复杂的控制功能。
小则可以用于家电控制,甚至可以用于儿童电子玩具。
它功能强大,体积小,质量轻,灵活好用,配以适当的接口芯片,可以构造各种各样、功能各异的微电子产品。
它可以执行不同的时间表(考试时间和日常作息时间)的打铃,可以任意设置时间。
这种具有人们所需要的智能化特性的产品减轻了人的劳动,扩大了数字化的范围,为家庭数字化提供了可能。
要求阅读或检索的参考资料及文献(包括指定给学生阅读的外文资料):
[1]张专成赵怀勋.单片机测控系统中的监视定时器.武警技术学院.Mar1997
[2]张景元.基于单片机的多用途定时器的设计与实现.电子工程师2000年第8期
[3]李洪涛.一种单片机控制的定时打铃器.电子世界.1990年第2期
[4]何业军李超.基于单片机控制的高精度定时打铃器的设计.电子技
术.2001年第7期
[5]关宗安仲丛久.基于单片机实现的多路定时控制器的设计.沈阳航空工业
学院学报.2004年6月.第21卷第3期
目录
前言1
1MCS-51单片机的结构2
1.1控制器2
1.2存储器的结构2
1.3并行I/O口3
1.4时钟电路与时序3
2电路的硬件设计5
2.1复位电路5
2.2时钟电路5
2.3按键电路6
2.4各环节控制电路7
2.4.1控制打铃电路7
2.4.2时间表显示电路7
2.5数码管显示电路8
2.6电源电路设计8
3电路的软件设计9
3.1软件程序内容9
3.2软件流程图9
3.3定时程序设计10
3.3.1实时时钟实现的基本方法10
3.3.2实时时钟程序设计步骤10
结论12
致谢13
参考文献14
摘要
在日常生活和工作中,我们常常用到定时控制,如扩印过程中的曝光定时等。
早期常用的一些时间控制单元都使用模拟电路设计制作的,其定时准确性和重复精度都不是很理想,现在基本上都是基于数字技术的新一代产品,随着单片机性能价格比的不断提高,新一代产品的应用也越来越广泛,大可构成复杂的工业过程控制系统,完成复杂的控制功能。
小则可以用于家电控制,甚至可以用于儿童电子玩具。
它功能强大,体积小,质量轻,灵活好用,配以适当的接口芯片,可以构造各种各样、功能各异的微电子产品。
随着电子技术的飞速发展,家用电器和办公电子设备逐渐增多,不同的设备都有自己的控制器,使用起来很不方便。
根据这种实际情况,设计了一个单片机多功能定时系统,它可以避免多种控制器的混淆,利用一个控制器对多路电器进行控制,同时又可以进行时钟校准和定点打铃。
它可以执行不同的时间表(考试时间和日常作息时间)的打铃,可以任意设置时间。
这种具有人们所需要的智能化特性的产品减轻了人的劳动,扩大了数字化的范围,为家庭数字化提供了可能。
关键词:
单片机控制器时间表
前言
单片机自1976年由Intel公司推出MCS-48开始,迄今已有二十多年了。
由于单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。
单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。
单片机有两种基本结构形式:
一种是在通用微型计算机中广泛采用的,将程序存储器和数据存储器合用一个存储器空间的结构,称为普林斯顿结构。
另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,一般需要较大的程序存储器,目前的单片机以采用程序存储器和数据存储器截然分开的结构为多。
本文讨论的单片机多功能定时器的核心是目前应用极为广泛的51系列单片机,配置了外围设备,构成了一个可编程的计时定时系统,具有体积小,可靠性高,功能强等特点。
不仅能满足所需要求而且还有很多功能可供开发,有着广泛的应用领域。
1MCS-51单片机的结构
MCS-51单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上。
如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行I/O口、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)。
它们都是通过片内单一总线连接而成,其基本结构依旧是CPU加上外围芯片的传统结构模式。
但对各种功能部件的控制是采用特殊功能寄存器(SFR)的集中控制方式。
1.1控制器
控制器是单片机的指挥控制部件,控制器的主要任务是识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动而协调地工作。
单片机执行指令是在控制器的控制下进行的。
首先从程序存储器中读出指令,送指令寄存器保存,然后送至指令译码器进行译码,译码结果送定时控制逻辑电路,由定时控制逻辑产生各种定时信号和控制信号,再送到单片机的各个部件去进行相应的操作。
这就是执行一条指令的全过程,执行程序就是不断重复这一过程。
控制器主要包括程序计数器、程序地址寄存器、指令寄存器IR、指令译码器、条件转移逻辑电路及时序控制逻辑电路。
1.2存储器的结构
MCS-51单片机存储器采用的是哈佛结构,即程序存储器空间和数据存储器空间截然分开,程序存储器和数据存储器各有自己的寻址方式,寻址空间和控制系统。
这种结构对于单片机面向控制的实际应用极为方便,有利.在8051/8751弹片击中,不仅在片内集成了一定容量的程序存储器和数据存储器及众多的特殊功能寄存器,而且还具有极强的外存储器的扩展能力,寻址能力分别可达64KB,寻址和操作简单方便.MCS-51的存储器空间可划分为如下几类:
程序存储器,单片机系统之所以能够按照一定的次序进行工作,主要是程序存储器中存放了经调试正确的应用程序和表格之类的固定常数。
程序实际上是一串二进制码,程序存储器可以分为片内和片外两部分。
8031由于无内部存储器,所以只能外扩程序存储器来存放程序。
MCS-51单片机复位后,程序存储器PC的内容为0000H,故系统必须从0000H单元开始取指令,执行程序.程序存储器中的0000H地址是系统程序的启动地址.一般在该单元存放一条绝对跳转指令,跳向用户设计的主程序的起始地址。
内部数据存储器,MCS-51单片机内部有128个字节的随机存取存储器RAM,作为用户的数据寄存器,它能满足大多数控制型应用场合的需要,用作处理问题的数据缓冲器。
MCS-51单片机的片内存储器的字节地址为00H-7FH.MCS-51单片机对其内部RAM的存储器有很丰富的操作指令,从而使得用户在设计程序时非常方便。
地址为00H-1FH的32个单元是4组通用工作寄存器区,每个区含8个8位寄存器,编号为R7-R0。
用户可以通过指令改变PSW中的RS1,RS0这二位来切换当前的工作寄存器区,这种功能给软件设计带来极大的方便,特别是在中断嵌套时,为实现工作寄存器现场内容保护提供了极大的方便。
特殊功能寄存器(SFR-SpecialFunctionRegister),特殊功能寄存器反映了MCS-51单片机的状态,实际上是MCS-51单片机各功能部件的状态及控制寄存器.SFR综合的,实际的反应了整个单片机基本系统内部的工作状态及工作方式.SFR实质上是一些具有特殊功能的片内RAM单元,字节地址范围为80H-FFH.特殊功能寄存器的总数为21个,离散的分布在该区域中,其中]有些SFR还可以进行位寻址.128个字节的SFR块中仅有21个字节是由定义的.对于尚未定义的字节地址单元,用户不能作寄存器使用,若访问没有定义的单元,则将得到一个不确定的随机数.
1.3并行I/O口
MCS-51单片机共有4个双向的8位并行I/O端口(Port),分别记作P0-P3,共有32根口线,各口的每一位均由锁存器、输出驱动器和输入缓冲器所组成。
实际上P0-P3已被归入特殊功能寄存器之列。
这四个口除了按字节寻址以外,还可以按位寻址。
由于它们在结构上有一些差异,故各口的性质和功能有一些差异。
P0口是双向8位三态I/O口,此口为地址总线(低8位)及数据总线分时复用口,可驱动8个LS型TTL负载。
P1口是8位准双向I/O口,可驱动4个LS型负载。
P2口是8位准双向I/O口,与地址总线(高8位)复用,可驱动4个LS型TTL负载。
P3口是8位准双向I/O口,是双功能复用口,可驱动4个LS型TTL负载。
P1口、P2口、P3口各I/O口线片内均有固定的上拉电阻,当这3个准双向I/O口做输入口使用时,要向该口先写“1”,另外准双向I/O口无高阻的“浮空”状态,故称为双向三态I/O口。
1.4时钟电路与时序
时钟电路用于产生MCS-51单片机工作时所必需的时钟信号。
MCS-51单片机本身就是一个复杂的同步时序电路,为保证同步工作方式的实现,MCS-51单片机应在唯一的时钟信号控制下,严格地按时序执行进行工作,而时序所研究的是指令执行中各个信号的关系。
在执行指令时,CPU首先要到程序存储器中取出需要执行的指令操作码,然后译码,并由时序电路产生一系列控制信号去完成指令所规定的操作。
CPU发出的时序信号有两类,一类用于片内对各个功能部件的控制,这列信号很多。
另一类用于片外存储器或I/O端口的控制,这部分时序对于分析、设计硬件接口电路至关重要。
这也是单片机应用系统设计者普遍关心的问题。
2电路的硬件设计
2.1复位电路
MCS-51单片机的复位是由外部的复位电路来实现的。
复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。
上电复位:
上电复位电路是—种简单的复位电路,只要在RST复位引脚接一个电容到VCC,接一个电阻到地就可以了。
上电复位是指在给系统上电时,复位电路通过电容加到RST复位引脚一个短暂的高电平信号,这个复位信号随着VCC对电容的充电过程而回落,所以RST引脚复位的高电平维持时间取决于电容的充电时间。
为了保证系统安全可靠的复位,RST引脚的高电平信号必须维持足够长的时间。
电路图如下:
图2-1复位电路
上电自动复位是通过外部复位电路的电容充电来实现的。
只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。
2.2时钟电路
时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。
因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。
常用的时钟电路有两种方式:
一种是内部时钟方式,另一种为外部时钟方式。
本文用的是内部时钟方式。
电路图如下:
图2-2时钟电路
MCS-51单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反向放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。
这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。
2.3按键电路
按键的开关状态通过一定的电路转换为高、低电平状态。
按键闭合过程在相应的I/O端口形成一个负脉冲。
闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。
抖动持续时间的常长短与开关的机械特性有关,一般在5-10ms之间。
为了避免CPU多次处理按键的一次闭合,应采用措施消除抖动。
本文采用的是独立式按键,直接用I/O口线构成单个按键电路,每个按键占用一条I/O口线,每个按键的工作状态不会产生互相影响。
电路图如下:
图2-3按键电路
P1.0口表示功能移位键,按键选择要调整的时十位、时个位、分十位或分个位。
P1.1口表示数字“+“键,按一下则对应的数字加1。
P1.2口表示数字“-”键,按一下则对应的数字减1。
P1.3口表示时间表的切换,程序默认为日常时间表,当按下该开关,使输入为低电平时,表示当前执行的是考试时间表,并有绿发光二极管显示。
再按键,使键抬起,输入维高电平时,表示当前执行的是日常作息时间表,用红发光二级管显示。
2.4各环节控制电路
2.4.1控制打铃电路
P1.5口控制继电器进而控制电铃工作。
当时钟当前的时间和当前所执行的时间表的时间一致时,相应得标志位为1,P1.5口输出高电平,控制继电器闭合,从而合上开关,启动电铃进行打铃。
打铃一定时间,标志位置0,P1.5输出低电平,继电器打开,电铃停止工作。
电路图如下:
图2-4控制打铃电路
2.4.2时间表显示电路
因为该电路可以执行两个时间表,即正常作息时间表和考试时间表。
为了能够从外观上看出当前正在执行的是那种时间表。
为此,在电路中加上了红、绿两个不同的发光二极管,当红发光二极管接通时,表示当前正在执行日常作息时间表;当绿发光二极管接通时则表示当前正在执行的是考试时间表。
有了红绿两发光二极管表示,就可以明显看出当前执行的是何种时间表,不会混淆。
电路图如下:
图2-5时间表显示电路
2.5数码管显示电路
数码管显示器成本低,配置灵活,与单片机接口简单,在单片机应用系统中广泛应用。
数码管是由8个发光二极管构成的显示器件。
在数码管中,若将二极管的阳极连在一起,称为共阳极数码管;若将二极管的阴极连在一起,称为共阴极数码管。
本文用到的6个数码管均是共阴极的。
当发光二极管导通时,它就会发光。
每个二极管就是一个笔划,若干个二极管发光时,就构成了一个显示字符。
将单片机的I/O口控制相应的芯片与数码管的a-g相连,高电平的位对应的发光二极管亮,这样,由I/O口输出不同的代码,就可以控制数码管显示不同的字符。
本文的6个数码管均采用动态显示方式,显示当前的时间。
整个显示电路应用了2个164芯片,1个244芯片。
第一个164芯片把从单片机传出的串行数据转换成并行数据。
164只能存储8位数据,因此,当单片机输出第9-14位数据的时候,第一个164芯片中的8位数据就被传到第二个164芯片中,这8位数据就是段选信号,控制数码管将要显示的字符。
第9-14位数据输出后,控制244芯片的单片机的P1.7口置为高电平,244芯片选通。
这六位数据经过244芯片以后是片选信号,即控制动态显示的是哪一位数码管。
在片选信号和段选信号的控制下,数码管就正确的动态显示当前的时间。
2.6电源电路设计
电源电路包括变压器、桥式整流器、电容和稳压器。
通过变压器变压,使得220V电压变为5V,在通过桥式整流,电容的滤波作用,稳压器的稳压作用,可输出5V的稳定电压。
3电路的软件设计
3.1软件程序内容
本设计的软件程序包括主程序、中断子程序、打铃子程序、时钟显示子程序、查询时间表切换程序和延时子程序等等。
另外由于电路中有四个按键,还另外设计了防抖动程序来防止干扰。
3.2软件流程图
软件程序整个流程图如下:
图3-1软件流程图
3.3定时程序设计
单片机的定时功能也是通过计数器的计数来实现的,此时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲,也就是每经过1个机器周期的时间,计数器加1。
如果MCS-51采用的12MHz晶体,则计数频率为1MHz,即每过1us的时间计数器加1。
这样可以根据计数值计算出定时时间,也可以根据定时时间的要求计算出计数器的初值。
MCS-51单片机的定时器/计数器具有4种工作方式,其控制字均在相应的特殊功能寄存器中,通过对特殊功能寄存器的编程,可以方便的选择定时器/计数器两种工作模式和4种工作方式。
定时器/计数器工作在方式0时,为13位的计数器,由TLX(X=0、1)的低5位和THX的高8位所构成。
TLX低5位溢出则向THX进位,THX计数溢出则置位TCON中的溢出标志位TFX.
当定时器/计数器工作于方式1,为16位的计数器。
本设计师单片机多功能定时器,所以MCS-51内部的定时器/计数器被选定为定时器工作模式,计数输入信号是内部时钟脉冲,每个机器周期产生一个脉冲使计数器增1。
3.3.1实时时钟实现的基本方法
时钟的最小计时单位是秒,但使用定时器的方式1,最大的定时时间也只能达到131ms。
我们可把定时器的定时时间定为50ms。
这样,计数溢出20次即可得到时钟的最小计时单位:
秒。
而计数20次可以用软件实现。
秒计时是采用中断方式进行溢出次数的累积,计满20次,即得到秒计时。
从秒到分,从分到时是通过软件累加并进行比较的方法来实现的。
要求每满1秒,则“秒”单元中的内容加1;“秒”单元满60,则“分”单元中的内容加1;“分”单元满60,则“时”单元中的内容加1;“时”单元满24,则将时、分、秒的内容全部清零。
3.3.2实时时钟程序设计步骤
(1)选择工作方式,计算初值;
(2)采用中断方式进行溢出次数累计;
(3)从秒——分——时的计时是通过累加和数值比较实现的;
(4)时钟显示缓冲区:
时钟时间在方位数码管上进行显示,为此在内部
RAM中要设置显示缓冲区,共6个地址单元。
显示缓冲区从左到右依次存放时、分、秒数值;
(5)主程序:
主要进行定时器/计数器的初始化编程,然后反复调用显示
子程序的方法等待中断的到来。
(6)中断服务程序:
进行计时操作
(7)加1子程序:
用于完成对时、分、秒的加操作,中断服务程序在秒、
分、时加1时共有三种条调用加1子程序,包括三项内容:
合字、加1并进行十进制调整、分字。
结论
自单片机出现至今,单片机技术已走过了几十年的发展路程。
纵观几十年来单片机发展历程可以看出,单片机技术的发展以微处理器(MPU)技术及超大规模集成电路技术的发展为先导,拉动广泛的应用领域,表现出比微处理器更具个性的发展趋势。
单片机多功能定时系统理论上能很好的达到了学校教学要求,发挥了单片机在智能化方面的应用。
该系统的设计很好的满足当前学校教学的需要,是一个理想的智能化的设计。
它具有一个走时精确的实时钟,可以任意设置时间,可以控制时间表的转换,时钟的显示功能等。
可以通过按键操作和数字显示。
该系统规模小,但是功能较多,操作简单,造价低,应用非常广泛。
该系统的设计为向家庭数字化方向发展又前进了一步。
同时又扩大了单片机的应用领域。
致谢
在完成这篇毕业设计的过程里,我得到了导师和同学们的帮助,他们为我的设计付出了心血和精力,在这里我想对他们表示最诚挚的感谢!
我要感谢我的导师。
这篇论文从最初的构想到最后的完成,都是经过他精心的指导和修改,提出了严格的要求和很多宝贵的意见。
可以这样说,我的整篇设计处处都凝聚着他的心血。
还要感谢学校给予我这样一次机会,让我能够独立地完成一个课题,还在这个过程当中,给予我们各种方便,使我们在即将离校的最后一段时间里,能够更多学习一些实践应用知识,增强了我们实践操作和动手应用能力,提高了独立思考的能力。
再一次对我的母校表示感谢。
参考文献
[1]张专成赵怀勋.单片机测控系统中的监视定时器.武警技术学院.Mar1997
[2]张景元.基于单片机的多用途定时器的设计与实现.电子工程师2000年第8期
[3]李洪涛.一种单片机控制的定时打铃器.电子世界.1990年第2期
[4]何业军李超.基于单片机控制的高精度定时打铃器的设计.电子技
术.2001年第7期