资源描述
班 级:08级电气自动化技术3班
姓 名:
学 号:
指引教师:
年 06 月 05 日
课程设计(论文)任务书
年级专业
学生姓名
学 号
题目名称
电子时钟
设计时间
-6.8~7.2
课程名称
单片机原理及接口技术
课程编号
设计地点
单片机实验室
一、 课程设计(论文)目
通过课程设计,使学生巩固和加深对单片机基本知识理解,学会查寻资料、方案设计、方案比较,以及单元电路设计计算等环节,进一步提高学生综合运用所学知识能力,提高分析解决实际问题能力。锻炼分析、解决电子电路问题实际本领,通过此综合训练,为后来毕业设计打下一定基本。
二、 已知技术参数和条件
(1)8031集成定期器
(2)LED七段数码显示屏
(3)89C51多功能接口芯片
(4)0.125W、8欧姆扬声器
(5) 电阻箱,5V电源,电阻若干 ,导线若干
(6)KEIL 软件
(7)THKSCM-1型单片机实验系统
三、 任务和规定
1. 设计一种基于单片机电子时钟,并且可以实现时分秒现实和调节。
2. 设计出硬件电路;
3. 设计出软件编程办法,并写出源代码;
4. 用PROTEUS进行仿真;
5.用汇编语言编实现程序设计。
6.运用查表,中断等方式实现目。
7.系统各各功能模块要清晰,有序。
8.程序运营时有和谐顾客界面.
四、参照文献
1、李朝青.单片机原理及接口技术(简要修订版).杭州:北京航空航天大学出版社,1998
2、THKSCM-1型单片机实验系统实验指引书、KEIL 软件,WAVE 软件
3、数字控制与PLC实验室”THKSCM-1型单片机实验系统”。
4、李光才. 单片机课程设计 实例指引[M]. 北京 北京航空航天大学出版社
五、进度安排
6月8日-14日:收集和课程设计关于资料,熟悉课题任务何规定
6月15日-16日:总体方案设计
6月17日-19日:硬件电路设计
6月20日-23日:软件设计
6月24日-25日:系统调试改进
6月26日-28日:整顿书写设计阐明书
6月29日-7月1日:答辩
六、教研室审批意见
教研室主任(签字): 年 月 日
七|、主管教学主任意见
主管主任(签字): 年 月 日
八、备注
指引教师(签字): 学生(签字):
课程设计(论文)评阅表
学生姓名 学 号
系 别 电气工程系 专业班级
题目名称 电子时钟 课程名称 单片机原理与接口技术
一、学生自我总结
通过这次单片机课程设计,我感觉到自己知识严重局限性。诸多方面都没能较好掌握,在制作过程中,经常遇到自己不理解问题,固然,在同窗协助下,我还是把那些疑难问题给解决啦。
在这次学习中,让我更深刻理解啦AT89C51芯片在电气控制方面广泛运用和重大作用,因此咱们一定要认真。夯实。进一步理解。掌握好AT89C51芯片。
学生签名: 7 月2 日
二、指引教师评估
评分项目
平时成绩
论文
答辩
综合成绩
权 重
30
40
30
单项成绩
指引教师评语:
指引教师(签名): 年 月 日
目录
单片机电子时钟设计
摘 要
单片机自20世纪70年代问世以来,以其极高性能价格比,受到人们注重和关注,应用很广、发展不久。单片机体积小、重量轻、抗干扰能力强、环境规定不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具备上述长处,在国内,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性一种。这次毕业设计通过对它学习、应用,以AT89S51芯片为核心,辅以必要电路,设计了一种简易电子时钟,它由4.5V直流电源供电,通过数码管可以精确显示时间,调节时间,从而到达学习、设计、开发软、硬件能力。
Design of the singlechip electronics clock
Abstract
Single slice machine from published in 70's for 20 centuries,is compare with its very high function price,is value by people and pay attention to,apply very widely,develop very quickly. Single slice the machine physical volume is small,the weight is light,the anti- interference ability is strong,the environment haven't high request,the price is cheap,the credibility is high,vivid good,develop more easy. In order to having an above-mentioned advantage,at the our country,single slice the machine is broadly applied already to turn an equipment at industrial automation control,automatic examination,intelligence instrument appearance,home appliances,electric power electronics,the machine electricity integral whole etc. each aspect,but 51 machines is is a typical model most and have a representative most in each machine of a kind. This graduation design passes to its study and application,Take the AT89S51 chips as core,assist with the electric circuit of the necessity,design a simple electronics clock,it from the 4.5 V direct current power supply power supply,pass the figures tube can accurate manifestation time,adjust time。Arrive a study and design,develop thus soft,the ability of the hardware .
第一章 前言
数字电子钟具备走时精确,一钟多用等特点,在生活中已经得到广泛应用。虽然当前市场上已有现成电子钟集成电路芯片,价格便宜、使用也以便,但是人们对电子产品应用规定越来越高,数字钟不但可以显示当前时间,并且可以显示期、农历 、以及星期等,给人们生活带来了以便。此外数字钟还具备秒表和闹钟功能,且闹钟铃声可自选,使一款电子钟具备了多媒体色彩。单片机具备体积小、功能强可靠性高、价格低廉等一系列长处,不但已成为工业测控领域普遍采用智能化控制工具,并且已渗入到人们工作和和生活各个角落,有力地推动了各行业技术改造和产品更新换代,应用前景辽阔。
时钟电路在计算机系统中起着非常重要作用,是保证系统正常工作基本。在一种单片机应用系统中,时钟有两方面含义:一是指为保障系统正常工作基准振荡定期信号,重要由晶振和外围电路构成,晶振频率大小决定了单片机系统工作快慢;二是指系统原则定期时钟,即定期时间,它普通有两种实现办法:一是用软件实现,即用单片机内部可编程定期/计数器来实现,但误差很大,重要用在对时间精度规定不高场合;二是用专门时钟芯片实现,在对时间精度规定很高状况下,普通采用这种办法,典型时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度规定。
AT89S51是一种低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)可重复擦写1000次Flash只读程序存储器,器件采用ATMEL公司高密度、非易失性存储技术制造,兼容原则MCS-51指令系统及80C51引脚构造,芯片内集成了通用8位中央解决器和ISP Flash存储单元,功能强大微型计算机AT89S51可为许多嵌入式控制应用系统提供高性价比解决方案。
AT89S51具备如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定期计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
此外,AT89S51设计和配备了振荡频率可为0Hz并可通过软件设立省电模式。空闲模式下,CPU暂停工作,而RAM定期计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM数据,停止芯片其他功能直至外中断激活或硬件复位。同步该芯片还具备PDIP、TQFP和PLCC等三种封装形式,以适应不同产品需求。
本文重要简介用单片机内部定期/计数器来实现电子时钟办法,本设计由单片机AT89S51芯片和LED数码管为核心,辅以必要电路,构成了一种单片机电子时钟。
第二章 关于电子时钟
2.1电子时钟简介
1957年,Ventura创造了世界上第一种电子表,从而奠定了电子时钟基本,电子时钟开始迅速发展起来。当代电子时钟是基于单片机一种计时工具,采用延时程序产生一定期间中断,用于一秒定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满24小时小时清零。从而达到计时功能,是人民寻常生活补课缺少工具。
2.2 电子时钟基本特点
当前高精度计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因而走时精度高,稳定性好,使用以便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示屏代替指针显示进而显示时间,减小了计时误差,这种表具备时、分、秒显示时间功能,还可以进行时和分校对,片选灵活性好。
2.3 电子时钟原理
该电子时钟由89C51,BUTTON,六段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生一秒定期,达届时分秒计时,六十秒为一分钟,六十分钟为一小时,满24小时为一天。而电路中唯一一种控制键却拥有各种不同功能,按下又松开,可以实现屏蔽数码管显示功能,达到省电目;直接按下不松开,则可以通过按键实现分钟累加,每按一次分钟加一;而持续两次按下按键不放松,则可实现小时调节,同样每按一次小时加一。
第三章 关于单片机
3.1 单片机简介
单片机全称为单片机微型计算机(Single Chip Microsoftcomputer)。从应用领域来看,单片机重要用来控制,因此又称为微控制器(Microcontroller Unit)或嵌入式控制器。单片机是将计算机基本部件微型化并集成在一块芯片上微型计算机。
3.2 单片机发展史
1 . 4位单片机
1975年,美国德克萨斯仪器公司初次推出4位单片机TMS-1000;此后,各个计算机公司竞相推出四位单片机。日本松下公司MN1400系列,美国洛克威尔公司PPS/1系列等。四位单片机重要应用领域有:PC机输入装置,电池充电器,运动器材,带液晶显示音/视频产品控制器,普通家用电器控制及遥控器,电子玩具,钟表,计算器,多功能电话等。
2 . 8位单片机
1972年,美国Intel公司一方面推出8位微解决器8008,并于1976年9月率先推出MCS-48系列单片机。在这后来,8位单片机纷纷面市。例如,莫斯特克和仙童公司合伙生产3870系列,摩托罗拉公司生产6801系列等。随着集成电路工艺水平提高,某些高性能8位单片机相继问世。例如,1978年摩托罗拉公司MC6801系列及齐洛格公司Z8系列,1979年NEC公司UPD78XX系列。此类单片机寻址能力达64KB,片内ROM容量达4--8KB,片内除带有并行I\O口外,尚有串行I\O口,甚至尚有A\D转化器功能。8位单片机由于功能强,被广泛用于自动化装置、智能仪器仪表、智能接口、过程控制、通信、家用电器等各个领域。
3 . 16位单片机
1983年后来,集成电路集成度可达几十万只管/片,各系列16位单片机纷纷面市。这一阶段代表产品有1983年Intel公司推出MCS-96系列,1987年Intel推出了80C96,美国国家半导体公司推出HPC16040,NEC公司推出783XX系列等。16位单片机重要用于工业控制,智能仪器仪表,便携式设备等场合。
4 . 32位单片机
随着高新技术只智能机器人,光盘驱动器,激光打印机,图像与数据实时解决,复杂实时控制,网络服务器等领域应用与发展,20世纪80年代末推出了32位单片机,如Motorlora公司MC683XX系列,Intel80960系列,以及近年来流行ARM系列单片机。32位单片机是单片机发展趋势,随着技术发展及开发成本和产品价格下降,将会与8位单片机并驾齐驱。
5 . 64位单片机
近年来,64位单片机在引擎控制,智能机器人,磁盘控制,语音图像通信,算法密集实时控制场合已有应用,如英国Inmos公司Transputer T800是高性能64位单片机。
3.3单片机特点
1 . 单片机存储器ROM和RAM时严格区别。ROM称为程序存储器,只存储程序,固定常数,及数据表格。RAM则为数据存储器,用作工作区及存储顾客数据。
2 . 采用面向控制指令系统。为满足控制需要,单片机有更强逻辑控制能力,特别是单片机具备很强位解决能力。 3 . 单片机I/O口普通时多功能。由于单片机芯片上引脚数目有限,为理解决实际引脚数和需要信号线矛盾,采用了引脚功能复用办法,引脚处在何种功能,可由指令来设立或由机器状态来区别。 4 . 单片机外部扩展能力很强。在内部各种功能部件不能满足应用需求时,均可在外部进行扩展,与许多通用微机接口芯片兼容,给应用系统设计带来了很大以便。
第四章 方案论证与比较
2.1数字时钟方案
数字时钟是本设计最重要某些。依照需要,可运用两种方案实现。
方案一:本方案采用Dallas公司专用时钟芯片DS12887A。该芯片内部采用石英晶体振荡器,其芯片精度不不不大于10ms/年,且具备完备时钟闹钟功能,因而,可直接对其以用于显示或设立,使得软件编程相对简朴。为保证时钟在电网电压局限性或突然掉电等突发状况下仍能正常工作,芯片内部包括锂电池。当电网电压局限性或突然掉电时,系统自动转换到内部锂电池供电系统。并且虽然系统不上电,程序不执行时,锂电池也能保证芯片正常运营,以备随时提供对的时间。
方案二:本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存储时钟时、分、秒信息。运用定期器与软件结合实现1秒定期中断,每产生一次中断,存储器内相应秒值加1;若秒值达到60,则将其清零,并将相应分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零。该方案具备硬件电路简朴特点。但由于每次执行程序时,定期器都要重新赋初值,因此该时钟精度不高。并且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。
基于硬件电路考虑,本设计采用方案二完毕数字时钟功能。
2.2 数码管显示方案
方案一:静态显示。所谓静态显示,就是当显示屏显示某一字符时,相应发光二极管恒定导通或截止。该方式每一位都需要一种8 位输出口控制。静态显示时较小电流能获得较高亮度,且字符不闪烁。但当所显示位数较多时,静态显示所需I/O口太多,导致了资源挥霍。
方案二:动态显示。所谓动态显示就是一位一位轮流点亮各个位,对于显示屏每一位来说,每隔一段时间点亮一次。运用人视觉暂留功能可以看到整个显示,但必要保证扫描速度足够快,字符才不闪烁。显示屏亮度既与导通电流关于,也于点亮时间与间隔时间比例关于。调节参数可以实现较高稳定度显示。动态显示节约了I/O口,减少了能耗。
从节约I/O口和减少能耗出发,本设计采用方案二。
第五章 系统设计
5.1 总体设计
计时方案
运用AT89S51单片机内部定期/计数器进行中断时,配合软件延时实现时、分、秒计时。该方案节约硬件成本,且能使读者在定期/计数器使用、中断及程序设计方面得到锻炼与提高,对单片机指令系统能有更进一步理解,从而对学好单片机技术这门课程起到一定作用。
控制方案
AT89S51P0口和P2口外接由八个LED数码管(LED8~LED1)构成显示屏,用P0口作LED段码输出口,P2口作八个LED数码管位控输出线,P1口外接四个按键A、B、C构成键盘电路。
AT89S51 是一种低功耗,高性能CMOS 8位微型计算机。它带有8K Flash 可编程和擦除只读存储器(EPROM),该器件采用ATMEL高密度非易失性存储器技术制造,与工业上原则80C51和80C52指令系统及引脚兼容,片内Flash 集成在一种芯片上,可用与解决复杂问题,且成本较低。简易电子钟功能不复杂,采用其既有I/O便可完毕,因此本设计中采用此设计方案。
5.详细设计分析
运用单片机(AT89S51)制作简易电子时钟,由六个LED数码管分别显示小时十位、小时个位、分钟十位、分钟个位、秒钟十位、秒钟个位。结合本设计实验来说,规定显示时间为时,分,秒,并且都用两位数码管来实现显示。因而,详细设计程序时,应尽量多用某些子程序与数据暂寄存器单元。本程序设计中,在主程序之外,可以设立时间值解决子程序,时间值显示前解决子程序,按键状况扫描子程序,1S定期中断子程序以及5ms延时消除按键抖动子程序等各种小型子程序。此外,可以设立某些数据单元作为数据寄存器。用28H,2AH,2BH和2CH地址单元分别作为显示位数扫描指针值寄存器,时寄存器,分寄存器和秒寄存器,再用20H地址单元作为显示寄存器
系统框图
5.2 模块设计
5.2.1芯片分析
5.2.1.1 AT89S51芯片
选用AT89S51与同系列AT89C51在功能上有明显提高,最突出是可以实当前线编程。用于实现系统总控制。其重要功能列举如下:
1、为普通控制应用 8 位单片机
2、晶片内部具备时钟振荡器(老式最高工作频率可至 33MHz)
3、内部程式存储器(ROM)为 4KB
4、内部数据存储器(RAM)为 128B
5、外部程序存储器可扩充至 64KB
6、外部数据存储器可扩充至 64KB
7、32 条双向输入输出线,且每条均可以单 独做 I/O 控制
8、5 个中断向量源
9、2 组独立 16 位定期器
10、1 个全双工串行通信端口
11、8751 及 8752 单芯片具备数据保密功能
12、单芯片提供位逻辑运算指令
AT89S51各引脚功能简介:
VCC:
ATAT89S51 电源正端输入,接+5V。
VSS:
电源地端。
XTAL1:
单芯片系统时钟反向放大器输入端。
XTAL2:
系统时钟反向放大器输出端,普通在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两个引脚与地之间加入一种 20PF 小电容,可以使系统更稳定,避免噪声干扰而死机。
RESET:
AT89S51重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提高至高电平并保持两个机器周期以上时间,AT89S51便能完毕系统重置各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。
EA/Vpp:
"EA"为英文"External Access"缩写,表达存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部程序代码(存于外部EPROM中)来执行程序。因而在8031及8032中,EA引脚必要接低电平,由于其内部无程序存储器空间。如果是使用 8751 内部程序空间时,此引脚要接成高电平。此外,在将程序代码烧录至8751内部EPROM时,可以运用此引脚来输入21V烧录高压(Vpp)。
ALE/PROG:
ALE是英文"Address Latch Enable"缩写,表达地址锁存器启用信号。ATAT89S51可以运用这支引脚来触发外部8位锁存器(如74LS373),将端口0地址总线(A0~A7)锁进锁存器中,由于ATAT89S51是以多工方式送出地址及数据。平时在程序执行时ALE引脚输出频率约是系统工作频率1/6,因而可以用来驱动其她周边晶片时基输入。此外在烧录8751程序代码时,此引脚会被当成程序规划特殊功能来使用。
PSEN:
此为"Program Store Enable"缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便获得程序代码,普通这支脚是接到EPROMOE脚。ATAT89S51可以运用PSEN及RD引脚分别启用存在外部RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K定址范畴。
PORT0(P0.0~P0.7):
端口0是一种8位宽开路电极(Open Drain)双向输出入端口,共有8个位,P0.0表达位0,P0.1表达位1,依此类推。其她三个I/O端口(P1、P2、P3)则不具备此电路组态,而是内部有一提高电路,P0在当作I/O用时可以推动8个LSTTL负载。如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0~A7)及数据总线(D0~D7)。设计者必要外加一种锁存器将端口0送出地址锁住成为A0~A7,再配合端口2所送出A8~A15合成一组完整16位地址总线,而定位地址到64K外部存储器空间。
PORT2(P2.0~P2.7):
端口2是具备内部提高电路双向I/O端口,每一种引脚可以推动4个LSTTL负载,若将端口2输出设为高电平时,此端口便能当成输入端口来使用。P2除了当作普通I/O端口使用外,若是在ATAT89S51扩充外接程序存储器或数据存储器时,也提供地址总线高字节A8~A15,这个时候P2便不能当作I/O来使用了。
PORT1(P1.0~P1.7):
端口1也是具备内部提高电路双向I/O端口,其输出缓冲器可以推动4个LS TTL负载,同样地,若将端口1输出设为高电平,便是由此端口来输入数据。如果是使用8052或是8032话,P1.0又当作定期器2外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入触发引脚。
PORT3(P3.0~P3.7):
端口3也具备内部提高电路双向I/O端口,其输出缓冲器可以推动4个TTL负载,同步还多工具备其她额外特殊功能,涉及串行通信、外部中断控制、计时计数控制及外部数据存储器内容读取或写入控制等功能。
其引脚分派如下:
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,外部数据存储器读取信号。
5.2.1.2 74LS47芯片阐明
74LS47是BCD-7段数码管译码器/驱动器, 74LS47功能用于将BCD码转化成数码块中数字,通过它解码, 可以直接把数字转换为数码管显示数字, 从而简化了程序。
74LS47译码器原理:
译码为编码逆过程。它将编码时赋予代码含义“翻译”过来。实现译码逻辑电路成为译码器。译码器输出与输入代码有唯一相应关系。74LS47是输出低电平有效七段字形译码器,它在这里与数码管配合使用,
下表列出了74LS47真值表,表达出了它与数码管之间关系。
输 入 输 出 显示数字符号
LT RBI A3 A2 A1 A0 BI RBO a b c d e f g
1 1 0 0 0 0 1 0 0 0 0 0 0 1 0
1 X 0 0 0 1 1 1 0 0 1 1 1 1 1
1 X 0 0 1 0 1 0 0 1 0 0 1 0 2
1 X 0 0 1 1 1 0 0 0 0 1 1 0 3
1 X 0 1 0 0 1 1 0 0 1 1 0 0 4
1 X 0 1 0 1 1 0 1 0 0 1 0 0 5
1 X 0 1 1 0 1 1 1 0 0 0 0 0 6
1 X 0 1 1 1 1 0 0 0 1 1 1 1 7
1 X 1 0 0 0 1 0 0 0 0 0 0 0 8
1 X 1 0 0 1 1 0 0 0 1 1 0 0 9
X X X X X X 0 1 1 1 1 1 1 1 熄灭
1 0 0 0 0 0 0 1 1 1 1 1 1 1 熄灭
0 X X X X X 1 0 0 0 0 0 0 0 8
5.2.1.3 74LS138芯片阐明
74HC138:74LS138 为3 线-8 线译码器,共有 54/74S138和 54/74LS138 两种线路构造型式,其74LS138工作原理如下:
当一种选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B))为
低电平时,可将地址端(A、B、C)二进制编码在一种相应输出端以低
电平译出。
74LS138作用:
运用 G1、/(G2A)和/(G2B)可级联扩展成 24 线译码器;若外接一种反
相器还可级联扩展成 32 线译码器。
若将选通端中一种作为数据输入端时,74LS138还可作数据分派器
74LS138与74HC引脚图
用与非门构成3线-8线译码器74LS138
无论从逻辑图还是功能表咱们都可以看到74LS138八个输出引脚,任何时刻要么全为高电平1—芯片处在不工作状态,要么只有一种为低电平0,别的7个输出引脚全为高电平1。如果浮现两个输出引脚同步为0状况,阐明该芯片已经损坏。
71LS138有三个附加控制端、和。当、时,输出为高电平(S=1),译码器处在工作状态。否则,译码器被禁止,所有输出端被封锁在高电平,如表3.3.5所示。这三个控制端也叫做“片选”输入端,运用片选作用可以将多篇连接起来以扩展译码器功能。
3线-8线译码器74LS138功能表
带控制输入端译码器又是一种完整数据分派器。在图3.3.8电路中如果把作为“数据”输入端(同步),而将作为“地址”输入端,那么从送来数据只能通过所指定一根输出线送出去。这就不难理解为什么把叫做地址输入了。例如当=101时,门输入端除了接至输出端一种以外全是高电平,因而数据以反码形式从输出,而不会被送到其她任何一种输出端上。
5.2.2 晶振电路
右图所示为时钟电路原理图,在AT89S51芯片内部有一种高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一种稳定自激振荡器。时钟电路产生振荡脉冲通过触发器进行二分频之后,才成为单片机时钟脉冲信号。
图3晶振电路
5.2.3复位电路
单片机复位条件是:必要使RST/VPD 或RST引(9)加上持续两个机器周期(即24个振荡周期)高电平。例如,若时钟频率为12 MHz,每机器周期为1μs,则只需2μs以上时间高电平,在RST引脚浮现高电平后第二个机器周期执行复位。单片机常用复位如图所示。电路为上电复位电路,它是运用电容充电来实现。在接电瞬间,RESET端电位与VCC相似,随着充电电流减少,RESET电位逐渐下降。只要保证RESET为高电平时间不不大于两个机器周期,便能正常复位。该电路除具备上电复位功能外,若要复位,只需按图中RESET键,此时电源VCC经电阻R1、R2分压,在RESET端产生一种复位高电平。
图4 单片机复位电路
5.2.4数码显示模块设计
数码管引脚图
共阴数码管
数码管是一种把各种LED显示段集成在一起显示设备。有两种类型,一种是共阳型,一种是共阴型。共阳型就是把各种LED显示段阳极接在一起,又称为公共端。共阴型就是把各种LED显示段阴极接在一起,即为公共商。阳极即为二极管正极,又称为正极,阴极即为二极管负极,又称为负极。普通数码管又分为8段,即8个LED显示段,这是为工程应用以便如设计,分别为A、B、C、D、E、F、G、DP,其中DP 是小数点位段。而多位数码管,除某一位公共端会连接在一起,不同位数码管相似端也会连接在一起。即,所有A段都会连在一起,其他段也是如此,这是实际最惯用用法。数码管显示办法可分为静态显示和动态显示两种。静态显示就是数码管8段输入及其公共端电平始终有效。动态显示原理是,各个数码管相似段连接在一起,共同占用8 位段引管线;每位数码管阳极连在一起构成公共端。运用人眼视觉暂留性,依次给出各个数码管公共端加有效信号,在此同步给出该数码管加有效数据信号,当全段扫描速度不不大于视觉暂留速度时,显示就会清晰显示出来。
系统采用动态显示方式,用P0口来控制LED数码管段控线,而用P2口来控制其位控线。动态显示普通都是采用动态扫描办法进行显示,即循环点亮每一种数码管,这样虽然在任何时刻都只有一位数码管被点亮,但由于人眼存在视觉残留效应,只要每位数码管间隔时间足够短,就可以给人以同步显示感觉。
5.2.5 5.2.5按键模块
时间计数电路由秒个位和秒十位计数器、分个位和分十位计数器、时个位和时十位计数器及星期计数器电路构成,其中秒个位和秒十位计数器、分个位和分十位计数器为60进制计数器,时个位和时十位计数器为24进制计数器。
下图为按键模块电路原理图。
5.2.5整个电路原理图
第六章 控制系统软件设计
基本程序流程应当是:在主程序中检测各个时间按钮与否有动作若有,就储存并修改有关时间寄存器值,若没有,就继续检测。在计时子程序中将各时间寄存器值逐个加1,每加一次就要检查与否已超过显示上限值,这样在背面就便于解决,在扫描显示子程序中,将扫描位数指针与20H相加,从而得到相应显示数据;然后按照显示位数加显示数就格式,将数据从P1口输出到数码管上去显示,固然尚有定期中断子程序,在这里,它实现计时1S时间延时。
开 始
定期器T0初始化
设立显示初值为
12:00:00
设立定期
4ms初值
设中断250次
设立中断容许
秒寄存器值加1
秒按键了?
秒寄存器值加1
使秒寄存器清0
秒按键松
开了?
N
分按键了?
分寄存器值加1
秒寄存器
=60?
秒按松
开了?
分按键
松开?
时寄存器
值=20
使分寄存器清0
时寄存器值加1
使寄存器清0
启动T0中断
N
Y
时按键了?
N
N
N
N
Y
源程序代码
ORG 00H;主程序起始地址
JMP START;主程序START
ORG 0BH;定期器T0中断起始地址
JMP TIM0;定期器T0中断子程序TIM0
START: MOV SP;#70H;设立堆栈指针
MOV 28H,#00;设立显示位数扫描指针初值为0
MOV 2AH,#12H;设立时钟显示寄存器初值为12H
MOV 2BH,#00;设立分钟显示寄存器初值为00H
MOV 2CH,#00;设立秒钟显示寄存器初值为00H
MOV TMOD,#01H;设立定期器T0工作在方式1
MOV TH0,#0F0H;定期4ms初值,即0F060H
MOV TL0,#60H;初值低位
MOV IE,#82H;定
展开阅读全文