数字钟硬件课设讲解Word文档格式.docx
《数字钟硬件课设讲解Word文档格式.docx》由会员分享,可在线阅读,更多相关《数字钟硬件课设讲解Word文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
在单片机技术日趋成熟的今天,其灵活的硬件电路的设计和软件的设计,让单片机得到了广泛的应用,几乎是从小的电子产品,到大的工业控制,单片机都起到了举足轻重的作用。
单片机小的系统结构几乎是所有具有可编程硬件的一个缩影,可谓是“麻雀虽小,肝胆俱全”,单片机的学习和研究是对微机系统学习和研究的简捷途径。
在目前,用户对单片机的需要越来越多,但是,要求也越来越高,因此,单片机也在不断的发展和进步。
单片机的技术进步主要反映在内部结构、功率消耗、外部电压等级以及制造工艺上。
在这几方面,较为典型地说明了数字单片机的水平。
下面分别就这三个方面说明单片机的技术进步状况。
(1)内部结构的进步
单片机在内部已集成了越来越多的部件,这些部件包括一般常用的电路,例如:
定时器,比较器,A/转换器,D/A转换器,串行通信接口,Watchdog电路,LCD控制器等。
有的单片机为了构成控制网络或形成局部网,内部含有局部网络控制模块CAN。
例如,Infineon公司的C505C,C515C,C167CR,C167CS-32FM,81C90;
Motorola公司的68HC08AZ系列等。
特别是在单片机C167CS-32FM中,内部还含有2个CAN。
因此,这类单片机十分容易构成网络。
特别是在控制,系统较为复杂时,构成一个控制网络十分有用。
为了能在变频控制中方便使用单片机,形成最具经济效益的嵌入式控制系统。
有的单片机内部设置了专门用于变频控制的脉宽调制控制电路,这些单片机有Fujitsu公司的MB89850系列、MB89860系列;
Motorola公司的MC68HC08MR16、MR24等。
在这些单片机中,脉宽调制电路有6个通道输出,可产生三相脉宽调制交流电压,并内部含死区控制等功能。
(2)功耗、封装及电源电压的进步现在新的单片机的功耗越来越小,特别是很多单片机都设置了多种工作方式,这些工作方式包括等待,暂停,睡眠,空闲,节电等工作方式。
Philips公司的单片机P87LPC762是一个很典型的例子,在空闲时,其功耗为1.5mA,而在节电方式中,其功耗只有0.5mA。
而在功耗上最令人惊叹的是TI公司的单片机MSP430系列,它是一个16位的系列,有超低功耗工作方式。
它的低功耗方式有LPM1、LPM3、LPM4三种。
当电源为3V时,如果工作于LMP1方式,即使外围电路处于活动,由于CPU不活动,振荡器处于1~4MHz,这时功耗只有50?
A。
在LPM3时,振荡器处于32kHz,这时功耗只有1.3?
在LPM4时,CPU、外围及振荡器32kHz都不活动,则功耗只有0.1?
现在单片机的封装水平已大大提高,随着贴片工艺的出现,单片机也大量采用了各种合符贴片工艺的封装方式出现,以大量减少体积。
在这种形势中,Microchip公司推出的8引脚的单片机特别引人注目。
这是PIC12CXXX系列。
它含有0.5~2K程序存储器,25~128字节数据存储器,6个I/O端口以及一个定时器,有的还含4道A/D,完全可以满足一些低档系统的应用。
扩大电源电压范围以及在较低电压下仍然能工作是今天单片机发展的目标之一。
目前,一般单片机都可以在3.3~5.5V的条件下工作。
而一些厂家,则生产出可以在2.2~6V的条件下工作的单片机。
这些单片机有Fujitsu公司的MB89191~89195,MB89121~125A,MB89130系列等,应该说该公司的F2MC-8L系列单片机绝大多数都满足2.2~6V的工作电压条件。
而TI公司的MSP430X11X系列的工作电压也是低达2.2V的。
(3)工艺上的进步
现在的单片机基本上采用CMOS技术,但已经大多数采用了0.6?
m以上的光刻工艺,有个别的公司,如Motorola公司则已采用0.35?
m甚至是0.25?
m技术。
这些技术的进步大大地提高了单片机的内部密度和可靠性。
单片机在目前的发展形势下,可靠性及应用越来越高的水平和互联网连接已是一种明显的走向。
所集成的部件越来越多;
NS(美国国家半导体)公司的单片机已把语音、图象部件也集成到单片机中,也就是说,单片机的意义只是在于单片集成电路,而不在于其功能了;
如果从功能上讲它可以讲是万用机。
原因是其内部已集成上各种应用电路。
功耗越来越低和模拟电路结合越来越多也将会成为单片机的一个发展的方向。
随着半导体工艺技术的发展及系统设计水平的提高,单片机还会不断产生新的变化和进步,最终人们可能发现:
单片机与微机系统之间的距离越来越小,甚至难以辨认。
3.方案选择
由于现在市面上的电子万年历的种类比较多,因此到底选择什么样的方案在设计中是至关重要的。
正确地选择方案就可以使产品更加人性化,并且可以减小开发的难度,缩短开发的周期,降低产品的成本等等,因此就会被人们普遍接受,并且能够更快地将产品推向市场实现其自身的价值。
下面我们就拟订了两种方案,希望能够选择一种性价比高的方案。
——基于STC89C52单片机的电子万年历设计
不使用时钟芯片,而直接用STC89C52单片机来实现电子万年历设计。
STC89C52是一种带8K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。
单片机的可擦除只读存储器可以反复擦写1000余次。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的STC89C52是一种高效微控制器,
为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
若采用单片机计时,利用它的一个16位定时器/计数器每50ms产生一个中断信号,中断20次后产生一个秒信号,然后根据时间进制关系依次向分、时、日、星期、月、年进位。
这样就实现了直接用单片机来实现电子万年历设计。
用单片机来实现电子万年历设计,无须外接其他芯片,充分利用了单片机的资源。
但是精度不够高,误差较大,掉电后丢失所有数据,软件编程较复杂。
4.摘要随着当今世界经济的快速发展和信息化时代的来临,各种各样的小型智能家电产品陆续出现在我们的生活当中。
日历是人们不可或缺的日常用品。
但一般日历都为纸制用品,使用不便,寿命不长。
电子万年历采用智能电子控制和显示技术,改善了纸制日历的缺陷。
本设计以STC89S52单片机为核心,构成单片机控制电路,STC89C52是一种带8K字节闪速可编程可擦除只读存储器(PERO)M的低电压、高性能CMOS8位为控制器。
该器件采用ATMEL非易失存储器制造技术制造,与工业标准的80C51和80C52指令集和输出管脚相兼容。
结合DS1302时钟芯片和24C02FLASH存储器,完成时间的自动调整和掉电保护,全部信息用液晶显示。
时间、日期调整由三个按键来实现,并可对闹铃开关进行设置。
日历能显示阳历和阴历年、月、日以及星期、时、分、秒。
在显示阴历月份时,能标明是否闰月。
关键词:
电子万年历;
单片机;
时钟芯片;
FLASH存储器;
液晶显示
5、项目概述设计并实现一个基于单片机的数字钟,能够显示年、月、日、时、分、秒等信息,并支持时间的设定、闹钟等功能。
5.1设计与实现背景采用单片机设计数字钟:
时钟的生成、计数、译码显示、按键调时等均可以利用单片机内部的功能模块完成。
只要单片机内部具有定时器、中断、I/O、RS232等模块就能够满足选型基本要求,可用的单片机型号广泛、并且价格低廉。
系统的精度能够保证,如单片机选型恰当也能满足电池供电应用。
此外,系统除了可以选用一片单片机实现所有功能的方案外,还可以采用单片机+时钟芯片、单片机+显示芯片、单片机+时钟芯片+显示芯片等多芯片的各种设计方案。
5.2项目功能指标
5.2.1基本要求
1基于单片机,单片机型号自选;
2至少12位信息显示(年2位,月2位,日2位,时2位,分2位,秒2位),显示可用LED数码管,也可用液晶显示;
3精度要求:
1小时误差<
1s;
4可通过外部按键进行时间的设定;
5系统稳定、可靠,不会有按键响应错误、运行状态混乱等不足。
5.2.2发挥部分
1)支持闹钟功能;
2)支持2节以内电池供电;
3)具有掉电存储功能,可以存储掉电前的系统时间信息,再次上电后系统自动调用掉电时的时间,并从此时间开始新的计时;
4)时间的设定、调整可通过COM端口,由PC端程序完成;
其它功能。
5.3系统框图
数码管显示
STC89C
键盘矩阵
模块
52单片
机
电源
LED状态显示
5.4程序设计框图
开始
系统初始化
显示年月日时分秒
5.5
模块说明
a.数码管显示模块:
用数码管显示时间、环境温度、电网频率及电压温度转换模块:
测量环境温度,并经过模数转换后送单片机。
b.键盘和状态显示模块:
用可编程并行I/O芯片8255接状态显示所用的发光二极管及选择各功能的键盘。
c.电源模块:
向各用电系统提供电源。
d.LED状态显示模块:
用于在调节数字钟年月日、时分秒时选定设置位的显示。
6.实验开发板简介及开发板模块介绍
6.1开发板简介
本实验是采用HL-1型开发板,上面有8位LED流水灯,6位共阴极数码管,USB供电,USB下载,4×
4矩阵键盘,STC89C52芯片,74HC573数码管锁存,复位电路等,用上述几个模块就可以做出简单的数字钟。
6.2STC89C52
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
STC89C52使用经典的MCS-51内核,但做了很多的改
进使得芯片具有传统51单片机不具备的功能。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
具有以下标准功能:
8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。
另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
最高运作频率35MHz,6T/12T可选。
(1)主要电源引脚
1VCC电源端
2GND接地端
(2)EA控制或与其它电源复用引脚RST、ALE/PROG、PSEN和EA/VPP
1RST复位输入端。
当振荡器运行时,在该引脚上出现两个机器周期的高电平将使单片机复位。
2ALE/PROG当访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址的低位字节。
即使不访问外部存储器,ALE端仍以不变的频率(此频率为振荡器频率的1/6)周期性地出现正脉冲信号。
因此,它可用作对外输出的时钟,或用于定时目的。
然而要注意的是:
每当访问外部数据存储器时,将跳过一个ALE脉冲。
在对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)[6]。
3PSEN程序存储允许(PSEN)输出是外部程序存储器的读选通信号。
当STC89C52/LV52由外部程序存储器取指令(或常数)时,每个机器周期两次PSEN有
效(既输出2个脉冲)。
但在此期间内,每当访问外部数据存储器时,这两次有效的PSEN信号将不出现。
4EA/VPP外部访问允许端。
要使CPU只访问外部程序存储器(地址为0000H~FFFFH),则EA端必须保持低电平(接到GND端)。
当EA端保持高电平(接VSS端)时,CPU则执行内部程序存储器中的程序。
(4)输入/输出引脚P0.0~P0.7、P1.0~P1.7、P2.0~P2.7和P3.0~P3.7
①P0端口(P0.0~P0.7)P0是一个8位漏极开路型双向I/O端口。
作为输出口用时,每位能以吸收电流的方式驱动8个TTL输入,对端口写1时,又可作高阻抗输入端用。
②P1端口(P1.0~P1.7)P1是一个带有内部上拉电阻的8位双向I/O端口。
P1的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。
作输入口时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
3P2端口(P2.0~P2.7)P2是一个带有内部上拉电阻的8位双向I/O端口。
P2的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。
P2作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
4P3端口(P3.0~P3.7)P3口管脚是8个带内部上拉电阻的双向I/O口,可
接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作
输入。
作为输入,由于外部下拉为低电平,P3口将输出电流,这是由于上拉的缘故。
P3口也可作为STC89C52的一些特殊功能,这些特殊功能见表3-1[7]。
6.36位共阴极数码管与74HC573数码管锁存器
6.3.16位共阴极数码管可显示内容:
数字、小数点和部分英文字符、符号。
特点:
自发光、亮度高,特别适合环境亮度低的场合使用。
、牢固,不怕冲击。
数码管是一种半导体发光器件,其基本单元是发光二极管。
6位共阴极数码管采用动态显示驱动方式数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"
a,b,c,d,e,f,g,dp"
的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
6.3.274HC573数码管锁存器
SL74HC573跟LS/AL573的管脚一样。
器件的输入是和标准CMOS?
输出兼容的;
加上拉电阻,他们能和LS/ALSTTL输出兼容。
?
当锁存使能端为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。
当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。
74HC573和74LS373原理一样,8数据锁存器。
主要用于数码管、按键等的控制。
HL-1/HJ-3G/HJ-C52用于控制驱动数码管,也可以用于控制驱动8X8点阵管。
4×
4矩阵键盘矩阵键盘的优点:
当键数较多时,可以节约大量的I/O口资源。
7关键技术及实施描述
7.1总体程序流程图
时间、定时器初始化
判断是否为闰年
判断按键次数对LED灯进行设定
定时器溢出后产生中断,时间间隔设定为
1S
自动走时进位系统
按键输入扫描
进行年月日或者时分秒的调整
将结果送入六位数码管显示进
行年月日或时分秒的显示
7.2闰年判断过程
将年份后两位除以四,能够整除的是闰年,标志位leap为1,不能整除的是平年,标志位为0
7.3二月份28日和29日的处理
将闰年和平年的12个月份分别列出来,形成两个一维数组,然后将两个数组合并形成一个二维数组,在上述闰年判断过程中有一个标志位,当leap为1时,在进行月的调整时,选择第一个数组,2月为28天;
当leap为0时,选择第二个数组,2月为29天。
7.4定时器延时模块
本实验采用定时器溢出中断的方式来进行延时,先简要介绍一下STC89C52内部计时器及中断方式
定时器结构
定时器实质是加一计数器,有高八位和第八位两个寄存器组成。
TMOD是定时/计数器的工作方式寄存器,确定工作方式和功能;
TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。
加1计数器输入的计数脉冲有两个来源:
一个是由系统的时钟振荡器输出脉冲经12分频后送来;
一个是T0或T1引脚输入的外部脉冲源。
每来一个脉冲计数器加1,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向CPU发出中断请求(定时计数器中断允许时)。
如果定时计数器工作于定时模式,则表示定时时间已到;
如果工作于计数模式,则表示计数值已满。
可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值。
7.4.1工作方式寄存器TMOD
工作方式寄存器用于设置定时计数器的工作方式,低四位用于T0,高四位用于T1,其格式如下
GATE为门控位C/T^为定时/计数模式选择位本实验选择定时模式,M1、M2为工作方式设置位
验只用到了定时器T0,故只关心低四位。
且其工作方式选择方式2,8位自动重装定时器。
7.4.2控制寄存器TCON
TCON的作用是控制定时器的启、停,标志定时器溢出和中断情况。
低四位用于控制外部中断,高四位用于定时器的启动和中断申请。
其格式如下:
各位定义如下:
TF1:
定时器1溢出标志位。
当定时器1计满溢出时,由硬件使TF1置“1”,并且申请中断。
进入中断服务程序后,由硬件自动清“0”,在查询方式下用软件清“0”
R1:
定时器1运行控制位。
由软件清“0”关闭定时器1。
当GATE=1,且INT1为高电平时,TR1置“1”启动定时器1;
当GATE=0,TR1置“1”启动定时器1。
TF0:
定时器0溢出标志。
其功能及操作情况同TF1
TR0:
定时器0运行控制位。
其功能及操作情况同TR1
7.5中断系统硬件结构
7.5.1中断允许寄存器IE
EX0(IE.0),外部中断0允许位;
(interruptcontrollerofexternalinterrupt)
ET0(IE.1),定时/计数器T0中断允许位;
(interruptcontrollerofTimer0interrupt)EX1(IE.2),外部中断0允许位;
ET1(IE.3),定时/计数器T1中断允许位;
ES(IE.4),串行口中断允许位;
(interruptcontrollerofserialport)EA(IE.7),CPU中断允许(总允许)位(globalallinterrupt)
本实验中EA=1,ET0=1
7.6延时时间相关参数的计算及设定本实验的理想情况是在定时