基于AT89C2051控制芯片的电子计时器设计
- 格式:pdf
- 大小:88.47 KB
- 文档页数:2
金华职业技术学院JINHUA COLLEGE OF VOCATION AND TECHNOLOGY 毕业教学环节成果(2011届)题目基于AT89C2051的数字电子钟的设计201x年5月16日目录摘要 (1)英文摘要 (1)引言 (1)1任务分析 (2)2总的方案及框图 (3)3硬件总的设计 (3)4分模块硬件电路设计 (4)4.1 单片机最小系统 (4)4.2 显示电路 ............................................... - 7 -4.3 按键电路 ............................................... - 9 -4.4 时钟芯片电路 .......................................... - 10 -5软件总的设计................................................ - 11 -6软件分模块设计.............................................. - 12 -6.1 显示程序流程图 ........................................ - 12 -6.2 闹钟比较程序流程图 .................................... - 13 -7调试结果记录................................................ - 13 -8总结........................................................ - 14 -结论与谢辞 ................................................... - 14 -参考文献 ..................................................... - 15 -附件1.程序清单.............................................. - 16 -附件2.仿真电路图............................................ - 46 -附件3.PCB图................................................ - 47 -基于AT89C2051的数字电子钟的设计摘要:本文介绍了一款基于AT89C51单片机数字钟的设计,通过数字电子钟的设计思路,详细叙述了系统硬件、软件的具体实现过程。
AT89C2051单片机电子时钟设计【摘要】近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动电子产品日新月益的更新。
本课题选用AT89C2051单片机来设计数字电子钟,采用汇编语言进行编程,通过购买的简单材料即可制作出一个漂亮的电子钟。
鉴于篇幅限制本文仅讲述硬件的选择、工作原理和简单的例程。
【关键词】AT89C2051单片机;电子钟;数码管1.系统主要功能电路具有设置时间分钟模式,设置时间小时模式,设置闹钟分钟模式,设置闹钟小时模式,走时等五个模式。
不同的模式采用数码管闪烁来区分:正常走时显示,D2、D3两位数码管的小数点闪烁;在设置时间分钟模式和设置小时模式时,相应的数码管不带小数点以0.5s的速度闪烁;在设置时问分钟模式和设置闹钟小时模式时,相应的数码管带小数点以0.5s的速度闪烁。
2.显示原理显示部分主要器件为4位共阳数码管,驱动采用PNP型三极管驱动,使用动态扫描方式显示,占用P1.0~P1.6端口。
调整R2可以改变数码管亮度。
,每位LED的显示时间10—25ms之间均可,扫描频率不能太高,否则每位LED显示的时间过短,亮度太低,不易于观看,以肉眼不感觉到LED闪烁为宜。
3.按键设置按键S1、S2采用复用的方式与显示部分的P3.3、P3.4口复用。
其工作方式为,在相应端口输出高电平时读取按键的状态。
由单片机消除抖动并执行相应的程序。
S2键为设置按键,每按一下,实现功能切换。
S1键为加1键,仅在设置模式时,S1键有效,此键具有连击功能。
当按键时问超过1s后能实现自动连加。
4.硬件组成IC1采用AT89C2051作为主控芯片,并配合所有的必须的电路,具有上电复位的功能。
其功能一是对接收到的按键进行判断识别,并进行相应的处理;二是定期通过复用P3.5和P3.7口读取DS1302中的时间,并把小时和分钟送显示;IC2为实时时钟芯片DS1302采用串行数据传输,可为掉电保护电源提供可编程的充电功能,也可以关闭充电功能,芯片采用32768Hz晶振。
基于AT89C2051的电子闹钟设计电子闹钟的电路基本应包括秒指示电路、时间显示电路、按键电路、供电电源以及闹铃指示电路等几部分。
4.1电子闹钟的硬件系统框架电子闹钟的系统框架如图4-1示。
图4-1 时钟系统电路原理框图4.2电子闹钟电路的设计及原理电子闹钟电路的设计具体地说有: 1.闹铃指示电路设计; 2.系统时钟电路设计; 3.电子闹钟的显示电路设计; 4.系统复位电路设计。
以下分别讨论:4.2.1闹铃指示电路的设计闹铃指示可以有声或光两种形式。
本系统采用声音指示,其电路如图4-2所示。
其关键元件是蜂鸣器。
蜂鸣器有无源和有源两种,前者需要输入声音频率信号才能正常发声,后者则只需外加适当直流电源电压即可,元件内部已封装了音频振荡电路,在得电状态下即起振发声。
给予本电路的特点及实现功能的要求,我们选用有源的蜂鸣器。
4.2.2系统时钟电路设计振荡电路用于产生单片机工作所需要的时钟信号。
单片机内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2 。
在芯片的图4-2 闹铃指示电路CPU按键与按钮电路复位等辅助电路4位数码管显示电路闹铃声光指示电路电源系统外部有XTAL1和XTAL2之间跨接的晶体振荡器和微调电容,共同构成了一个稳定的自激振荡器。
图中的C1、C2电容起着系统时钟频率微调和稳定的作用,因此,应正确选择参数(30±10 pF),并保证其对称性。
实验表明,这2个电容元件对闹钟的±走时误差有较大关系。
图4-3系统时钟电路4.2.3 电子闹钟的显示电路设计译码是编码的逆过程,在编码时,每一种二进制代码状态都赋予了特定的含义,即都表示了一个确定的信号或者对象。
把代码状态的特定含义“翻译”出来的过程叫做译码,实现译码操作的电路称为译码器。
本设计采用显示译码器作为译码电路。
在数字系统和装置中,显示器和译码器配合使用,或者直接利用译码器驱动显示器,这类译码器叫做显示译码器。
新颖的60秒旋转电子钟一、任务设计一款基于AT89C2051单片机的电子钟。
二、设计要求1、基本要求⑴用4只LED数码管输出显示时和分。
⑵可通过按键设置闹钟功能,且停闹无须手工操作。
⑶可通过按键设置分校时。
⑷月计时误差小于45秒。
⑸写出详细的设计报告。
⑹给出全部电路和源程序。
2、发挥部分⑴用60只LED发光管旋转显示,模拟“秒针”的行走。
⑵模拟“秒针”行走的“嘀哒”声。
⑶增加室温检测和显示功能(可与时间交替显示)。
⑷增加停(掉)电保护功能。
⑸提高计时精度,使年计时误差小于30秒。
⑹增加日自动校准功能,使得该电子钟“永无误差”。
⑺增加红黄绿三色变色装饰。
⑻可通过按键设置一天两闹(比如早晨、中午各一次)。
新颖的60秒旋转电子钟目前市场上提供的无论是机械钟还是石英钟在晚上无照明的情况下都是不可见的。
要知道当前的时间,必须先开灯,故较为不便。
现在市场上也出现了一些电子钟,它以六只LED数码管来显示时分秒,与传统的以指针显示秒的方式不同,违背了人们传统的习惯与理念,而且这类电子钟一般是采用大型显示器件,适用于银行、车站等公共场所,且外观设计欠美观,很少进入百姓家庭。
此外,无论是机械钟、石英钟还是电子钟,都存在着共同的问题:时间误差。
针对以上存在的问题,我们设计了一款采用LED显示器件显示的电子时钟,有效克服了时钟存在的误差问题,并能在夜间不必其它照明就能看到时间,且以60只发光管实现秒显示,接近于传统的秒针来显示秒的形式,用户容易接受,而且美观大方。
另加七只装饰用的LED灯,使整个时钟显的相当美观新颖,故还可作为室内装饰用。
1 系统主要功能电子钟的外观如图1所示。
周边60只发光管顺时旋转来显示秒,中间四只LED数码管用于显示时间,中下方的七只LED灯顺时旋转,供装饰用。
其主要功能有:整点报时;四只LED数码管显示当前时分;每隔一秒钟周边的60只LED发光管旋转一格,装饰用的LED每隔一秒旋转一次。
当发生停电事件时,由后备电池供电,系统进入低功耗状态,所有显示部件停止显示,这样即延长了电池的寿命,同时又保证了CPU继续计数,不至于因停电而时钟停止运行。
AT89C2051数字电子钟的设计一、设计任务与要求1.通过单片机技术使 LED 数码管输出显示时间。
2. 可通过按键设置闹钟功能,且停闹无须手工操作。
3. 提高计时精度,使计时误差最小。
4. 通过键盘 2 个键,从左到右依次标名为 SET,DOWN,UP,ENTER, 用来修改和设置系统时钟。
二、方案设计与论证其主要设计思想是:整个系统用单片机为中央控制器,由单片机执行采集时钟芯片的时间信号并通过显示模块来输出信号及相关的控制功能。
时钟芯片产生时钟信号,利用单片机的 I/O 口传给单片机;并通过 I/O 口实现 LCD 的显示。
系统设有 4 个按键可以对时间星期年月日进行调整,还可以设置闹钟。
本电路以一片AT89C2051 单片机为主体,其显示数据从P3.0-P3.7 口输出,P1 口输出对应的六位位选信号。
电子钟程序设计时使用了 T0 作为计时,T1 为调整时显示用。
只要对程序稍加更改,可以很容易的实现 8 路定时功能。
电子钟只用一个轻触式按键来完成所有的设置。
为了使闹钟音量足够大,采用了 PNP 型三极管 8550 来驱动蜂鸣器,驱动电阻用 1K 的,蜂鸣器为 5V 小型蜂鸣器。
若用 NPN 来驱动蜂鸣器音量要小一点。
LED 数码管位驱动用8850,电子钟采用自制的 3A 开关电源供电。
AT89C205 是一个低电压,高性能 CMOS 8 位单片机,片内含 2k bytes 的可反复擦写的只读 Flash 程序存储器和 128 bytes 的随机存取数据存储器(RAM),器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS-51 指令系统,片内置通用 8 位中央处理器和 Flash 存储单元,功能强大。
但它只有 20 个引脚,15 个双向输入/输出(I/O)端口,其中 P1 是一个完整的 8 位双向 I/O 口,两个外中断口,两个 16 位可编程定时计数器,两个全双向串行通信口,一个模拟比较放大器。
课时授课计划讲授新课我们以P0口作为LED的字段位驱动输出,秒的“进位”采用分值闪烁提示,亮0.5秒,熄0.5秒。
,P3.1—P3.3用于位驱动,使用动态扫描方式显示,每位LED的显示时间10—25ms之间均可,扫描频率不能太高,否则每位LED显示的时间过短,亮度太低,不易于观看,以肉眼不感觉到LED闪烁为宜。
为了直观,我们的驱动输出没有采用集成电路,而是使用了分立元件—三极管,但工作原理却是一致的。
这个电路结构决定LED采用共阳极的数码管,可以采用LQ5101BS普通的发光二极管,驱动三极管可采用易得的2SA1015和2SC1815等型号,当然也可使用象S9012,S9013,S9014,2N5401,2N5555等小功率三极管,其它器件没有特殊要求。
为便于实验,单片机AT89C2051可采用DIP20P插座,程序编制好后,调试无错,即可烧写到AT89C2051中,值得一提的是,AT89C2051是Flash程序存储器,程序可反复擦写,对于做实验是非常方便的。
二、全套元件讲授新课三、套件元件包(配电路图及说明)1、电路原理图:S1复位键,S2功能键,S3置数键。
接通电源,时钟显示0.00,秒点闪动,开始计时。
2、系统时钟电路振荡电路用于产生单片机工作所需要的时钟信号。
单片机内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2 。
在芯片的外部有XTAL1和XTAL2之间跨接的晶体振荡器和微调电容,共同构成了一个稳定的自激振荡器。
图中的C1、C2电容起着系统时钟频率微调和稳定的作用,因此,应正确选择参数(30±10 pF),并保证其对称性。
实验表明,这2个电容元件对闹钟的±走时误差有较大关系。
讲授新课AT89C2051管脚图:安装好的成品套件本课小结对AT89C205时钟电路制作过程写出体会,并写出实习小结。
课后作业写出程序并调试电路,实现电路功能。
如何用AT89C2051单片机自制一个倒计时器
倒计时器在生活非常有用,用单片机自制,不但电路简单,而且功能可根据需要自行设计。
由74系列、40系列小规模数字芯片设计的倒计时器非常多,但有显示不直观(无LED数码管);调整参数不灵活;计时精度低(采用RC振荡)等缺点。
一、功能介绍
1.独立的三路倒计时。
均可独立设置启动、关闭。
2.范围:0~20小时,可任意设定。
关机后数据不丢失。
计时精度高:《0.1S
3.。
独立的三路输出:
a:第1路蜂鸣器输出:15S
b:第2路PNP晶体管输出:5S
c:第3路PNP晶体管输出:直致关机
二、工作原理
电路见上图整机由89c2051、三位LED数码管、K1-K4、R、T等元器件组成。
89C2051内部T1定时器完成100mS定时中断功能。
为了减少硬件,由89C2051的P1口直接输出LED的段码,BCD转换由软件完成。
位选码由P3.0,P3.1,P3.7输出。
键盘扫描与LED 位选码的脚共用。
由于89C2051的灌入电流:20mA。
故直接驱动:蜂鸣器、PNP晶体管。
LED数码管采用共阴高亮型,LED1数码管要旋转180度。
因为要显示:“19:99”,而只有三位数码管,因此用第三位的数码管的小数点表示“1”。
三、软件编制
(软件流程见图三)
在T1中断程序中做一个软时钟,在定时处理程序不断查寻时间,并根据每路的启动状态,。
课程设计题目:基于AT8920C51的多功能电子钟的设计学院名称:电气工程学院指导老师:班级:电子信息工程071班学号:学生姓名:二〇一〇年六月基于AT89C2051的多功能电子钟的实现摘要:电子钟在生活中非常有用,尤其是多路定时功能。
市场上有许多电子钟的专用芯片如:LM8363、LM8365等,但它们功能单一,电路连接复杂。
不便于业余爱好者制作!用单片机配合计时软件,可制成功能任意的电子钟,而且可以做到硬件简单、成本低廉。
AT89C2051是性价比很好的单片机,它的I/O吸入电流可以达到20mA,可以直接驱动LED数码管和蜂鸣器;具有2个硬件定时器,非常适合制作电子钟。
关键字:AT89C2051目录一、硬件部分1. AT89C2051芯片………………………………………………………1.1 芯片介绍……………………………………………………………1.2 主要性能参数………………………………………………………1.3 功能特性概述………………………………………………………1.4 AT89C2051芯片………………………………………………………1.5 引脚功能……………………………………………………………1.6 模式介绍与编程方法………………………………………………2. 智能电子钟功能………………………………………………………3. 电路原理设计…………………………………………………………3.1 电路原理图…………………………………………………………3.2 电路原理……………………………………………………………3.3 电路PCB图……………………………………………………………3.4 引脚连接……………………………………………………………3.5 电子钟制作…………………………………………………………3.6 电子钟的改进与扩展………………………………………………4. 电子钟的使用…………………………………………………………二、软件的实现与控制……………………………………………………三、总结……………………………………………………………………四、附录……………………………………………………………………1.元器件表………………………………………………………………2. 参考文献………………………………………………………………3. 软件程序………………………………………………………………一、硬件部分1. AT89C2051芯片1.1 AT89C2051芯片简介AT89C2051是美国ATMEL公司生产的低电压,高性能CMOS8位单片机片内含2K bytes的可反复可擦写的只读程序储存器(PEROM)和128bytes的随机存储数据储存器(RAM),器件采用ATMEL公司的高密度,非易失性储存技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和flash存储单元。
AT89C2051做的数字电子时钟AT89C2051做的数字钟采用AT89C2051的6位电子钟原理如下图所示,只要硬件连接无误,保证成功。
另外图中的SET按纽用于校准时间。
按住2秒以上进入校准时间状态及换档和退出,快速点触用于调节时间数值。
三极管采用9015即可。
数码管最好采用红色的共阳型LED数码管,亮度高些,因为是扫描的显示方式,所以各个数码管的abcdefg各脚采用了总线并联,改动510欧姆的电阻可以改变显示亮度。
电子钟原理图电子钟源程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; AT89C2051时钟程序;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 定时器T0、T1溢出周期为50MS,T0为秒计数用,T1为调整时闪烁用,; P3.7为调整按钮,P1口为字符输出口,采用共阳显示管。
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 中断入口程序;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ORG 0000H ;程序执行开始地址LJMP START ;跳到标号START执行ORG 0003H ;外中断0中断程序入口RETI ;外中断0中断返回ORG 000BH ;定时器T0中断程序入口LJMP INTT0 ;跳至INTTO执行ORG 0013H ;外中断1中断程序入口RETI ;外中断1中断返回ORG 001BH ;定时器T1中断程序入口LJMP INTT1 ;跳至INTT1执行ORG 0023H ;串行中断程序入口地址RETI ;串行中断程序返回; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 主程序;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;START: MOV R0,#70H ;清70H-7AH共11个内存单元MOV R7,#0BH ;CLEARDISP: MOV @R0,#00H ;INC R0 ;DJNZ R7,CLEARDISP ;MOV 20H,#00H ;清20H(标志用)MOV 7AH,#0AH ;放入"熄灭符"数据MOV TMOD,#11H ;设T0、T1为16位定时器MOV TL0,#0B0H ;50MS定时初值(T0计时用)MOV TH0,#3CH ;50MS定时初值MOV TL1,#0B0H ;50MS定时初值(T1闪烁定时用)MOV TH1,#3CH ;50MS定时初值SETB EA ;总中断开放SETB ET0 ;允许T0中断SETB TR0 ;开启T0定时器MOV R4,#14H ;1秒定时用初值(50MS×20)START1: LCALL DISPLAY ;调用显示子程序JNB P3.7,SETMM1 ;P3.7口为0时转时间调整程序SJMP START1 ;P3.7口为1时跳回START1SETMM1: LJMP SETMM ;转到时间调整程序SETMM ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 1秒计时程序;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;T0中断服务程序INTT0: PUSH ACC ;累加器入栈保护PUSH PSW ;状态字入栈保护CLR ET0 ;关T0中断允许CLR TR0 ;关闭定时器T0MOV A,#0B7H ;中断响应时间同步修正ADD A,TL0 ;低8位初值修正MOV TL0,A ;重装初值(低8位修正值)MOV A,#3CH ;高8位初值修正ADDC A,TH0 ;MOV TH0,A ;重装初值(高8位修正值)SETB TR0 ;开启定时器T0DJNZ R4, OUTT0 ;20次中断未到中断退出ADDSS: MOV R4,#14H ;20次中断到(1秒)重赋初值MOV R0,#71H ;指向秒计时单元(71H-72H)ACALL ADD1 ;调用加1程序(加1秒操作)MOV A,R3 ;秒数据放入A(R3为2位十进制数组合)CLR C ;清进位标志CJNE A,#60H,ADDMM ;ADDMM: JC OUTT0 ;小于60秒时中断退出ACALL CLR0 ;大于或等于60秒时对秒计时单元清0 MOV R0,#77H ;指向分计时单元(76H-77H)ACALL ADD1 ;分计时单元加1分钟MOV A,R3 ;分数据放入ACLR C ;清进位标志CJNE A,#60H,ADDHH ;ADDHH: JC OUTT0 ;小于60分时中断退出ACALL CLR0 ;大于或等于60分时分计时单元清0 MOV R0,#79H ;指向小时计时单元(78H-79H)ACALL ADD1 ;小时计时单元加1小时MOV A,R3 ;时数据放入ACLR C ;清进位标志CJNE A,#24H,HOUR ;HOUR: JC OUTT0 ;小于24小时中断退出ACALL CLR0 ;大于或等于24小时小时计时单元清0OUTT0: MOV 72H,76H ;中断退出时将分、时计时单元数据移MOV 73H,77H ;入对应显示单元MOV 74H,78H ;MOV 75H,79H ;POP PSW ;恢复状态字(出栈)POP ACC ;恢复累加器SETB ET0 ;开放T0中断RETI ;中断返回;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 闪动调时程序;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;T1中断服务程序,用作时间调整时调整单元闪烁指示INTT1: PUSH ACC ;中断现场保护PUSH PSW ;MOV TL1, #0B0H ;装定时器T1定时初值MOV TH1, #3CH ;DJNZ R2,INTT1OUT ;0.3秒未到退出中断(50MS中断6次)MOV R2,#06H ;重装0.3秒定时用初值CPL 02H ;0.3秒定时到对闪烁标志取反JB 02H,FLASH1 ;02H位为1时显示单元"熄灭"MOV 72H,76H ;02H位为0时正常显示MOV 73H,77H ;MOV 74H,78H ;MOV 75H,79H ;INTT1OUT: POP PSW ;恢复现场POP ACC ;RETI ;中断退出FLASH1: JB 01H,FLASH2 ;01H位为1时,转小时熄灭控制MOV 72H,7AH ;01H位为0时,"熄灭符"数据放入分MOV 73H,7AH ;显示单元(72H-73H),将不显示分数据MOV 74H,78H ;MOV 75H,79H ;AJMP INTT1OUT ;转中断退出FLASH2: MOV 72H,76H ;01H位为1时,"熄灭符"数据放入小时MOV 73H,77H ;显示单元(74H-75H),小时数据将不显示MOV 74H,7AH ;MOV 75H,7AH ;AJMP INTT1OUT ;转中断退出; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 加1子序;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ADD1: MOV A,@R0 ;取当前计时单元数据到A DEC R0 ;指向前一地址SWAP A ;A中数据高四位与低四位交换ORL A,@R0 ;前一地址中数据放入A中低四位ADD A,#01H ;A加1操作DA A ;十进制调整MOV R3,A ;移入R3寄存器ANL A,#0FH ;高四位变0MOV @R0,A ;放回前一地址单元MOV A,R3 ;取回R3中暂存数据INC R0 ;指向当前地址单元SWAP A ;A中数据高四位与低四位交换ANL A,#0FH ;高四位变0MOV @R0,A ;数据放入当削地址单元中RET ;子程序返回; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 清零程序;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;对计时单元复零用CLR0: CLR A ;清累加器MOV @R0,A ;清当前地址单元DEC R0 ;指向前一地址MOV @R0,A ;前一地址单元清0RET ;子程序返回; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 时钟调整程序;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;当调时按键按下时进入此程序SETMM: cLR ET0 ;关定时器T0中断CLR TR0 ;关闭定时器T0LCALL DL1S ;调用1秒延时程序JB P3.7,CLOSEDIS ;键按下时间小于1秒,关闭显示(省电)MOV R2,#06H ;进入调时状态,赋闪烁定时初值SETB ET1 ;允许T1中断SETB TR1 ;开启定时器T1SET2: JNB P3.7,SET1 ;P3.7口为0(键未释放),等待SETB 00H ;键释放,分调整闪烁标志置1SET4: JB P3.7,SET3 ;等待键按下LCALL DL05S ;有键按下,延时0.5秒JNB P3.7,SETHH ;按下时间大于0.5秒转调小时状态MOV R0,#77H ;按下时间小于0.5秒加1分钟操作LCALL ADD1 ;调用加1子程序MOV A,R3 ;取调整单元数据CLR C ;清进位标志CJNE A,#60H,HHH ;调整单元数据与60比较HHH: JC SET4 ;调整单元数据小于60转SET4循环LCALL CLR0 ;调整单元数据大于或等于60时清0CLR C ;清进位标志AJMP SET4 ;跳转到SET4循环CLOSEDIS: SETB ET0 ;省电(LED不显示)状态。
目录摘要--------------------------------------------------1 关键词------------------------------------------------1 引言--------------------------------------------------1 第一章基于单片机的数字钟设计-------------------------1 1.1 课程设计要求------------------------------------1 1.2 课程设计目的------------------------------------1 第二章单片机发展历史---------------------------------2 2.1 单片机三大阶段----------------------------------2 2.2 单片机的发展趋势--------------------------------3第三章设计方案----------------——--------------------41.系统主要功能---------------------------------------42.系统的硬件构成及功能-------------------------------42.1AT89C2051单片机及引脚说明----------------------42.2驱动部分----------------------------------------72.3时分显示部分------------------------------------83.总原理图设计----------------------------------------94.系统的原件构成及功能-------------------------------11 4.1系统主程序设计-----------------------------------114.2中断程序设计-------------------------------------115.心的与体会------------------------------------------166.结束语----------------------------------------------16 附录---------------------------------------------------171.电子钟基本部分参考电路器件清单---------------------172.参考文献-------------------------------------------183.电子钟设计程序清单---------------------------------19基于单片机的数字钟设计【摘要】目前市场上提供的无论是机械钟还是石英钟在晚上无照明的情况下都是不可见的。
广西师范大学校青年基金资助项目
3 收稿日期:2003-01-25
基于AT89C2051控制芯片的电子计时器设计
苏检德 陈 赤 覃以威 肖前勇
(广西师范大学物理与电子科学系 广西 桂林 541004)
摘 要: 运用AT 89C2051单片机为核心制作一款在物理实验中常用到的计时仪器,具有电路板制
作简单,稳定可靠,成本低,更适合物理实验的需要。
关键词: 单片机;电子计时器;AT 89C2051
中图分类号: TP36811 文献标识码:A 文章编号:1003-7551(2003)01-0008-02
1 引言
本文使用的AT89C2051单片机,
成本低廉,大约8元左右,它本身具有2K 电擦除程序贮存器(EEP 2ROM ),128个RAM 单元,有2个I/O 口线,有两个定时器,两个外部中断,一个串行口,以这些资源制作一台电子计时器,不再需要外接ROM 和RAM 芯片,因而,整个仪器制作简单,成本较低,有一定的推广价值。
2 制作电路原理图
图1 主控芯片和电源电路图
主控芯片和电源电路图如图1,其中电源部分元件参数如下:保险管015A ,电源变压器715V 5W ,整流
二极管I N4007,滤波电容两个1000
μF 16V ,三端稳压集成电路7805。
主控芯片AT89C2051电路:1脚是复位电路,接上一个1K 电阻和一个22μF 16V 的电容,第4、5脚外接
晶振电路,第12~19脚接上417K 排阻,并分接上开始按键K 1,清零按键K 2,两种计时功能转换开关K 3,第12、14脚分别定义为模拟串行口的数据线和时钟线,连到显示板上74LS164的数据脚和时钟脚CP 。
8
第24卷 第1期 广 西 物 理G UANG XI W U LI
Vol.24No.1 2003
显示面板电路如图2:74LS164是一个8位移位寄存器(串行输入,并行输出),8位并行输出可拖动1寸共阳数码管正常显示,但数码管公共阳极端要正向接上三个I N4007二极管和一个几十Ω电阻降压(本文使用27Ω电阻),否则,74LS164会过流发热烧掉,其它8个脚与74LS164输出8个并口脚相连时,采用以电路板连线不交叉原则,就近任意连线,编程时只需推导其特殊显示字型代码即可。
图2 显示面板电路图
3 功能设计和软件编程
功能设计:本文设计的电子计时器有两个计时功能,一个是毫秒计时,另一个分秒计时,通过K 3开关切换。
,计时精度为0101秒,最大计时时间为999199秒,适用于周期测量时练习手工计时的实验;处在分秒计时功能时,计时精度为1秒,最大计时时间为99分59秒,主要适用于热学实验中测量温度随时间变化的实验。
软件编程:使用汇编语言编程,根据硬件连线,设定所有按键的预定义,由于具体程序有7页长,在此略。
4 制作关键
411 机箱使用配套电子市场上标准塑料机箱。
412 制作数码管的电路板时,采用就近连线原则,可简化PC B 板画线难度。
413 LE D 数码管红色滤光片制作方法:先设计好的仪器面板文字及数码管挖孔位置,用激光打印机打印
在一张纸上,挖掉数码管位置及发光二极管孔位置的部分,然后,把大号红灯笼上的红色塑料薄膜,贴于挖出孔的数码管位置及发光二极管孔位置,用一点双面胶贴住固定,然后到相片过塑的地方过塑即可。
414 仪器面板制作:准备几种宽度的双面胶,根据不同需要,贴在面板底板上,再贴上经过过塑的红色滤
光片,就可得到非常漂亮的仪器面板。
5 结束语
设计的电子计时器,已经制作了30台,并在本单位普通物理实验中使用,实际使用情况表明,该仪器工作非常可靠,且成本低,也适宜于实验经费较为紧张的学校自己制作和推广使用。
参考文献
[1]王幸之等编著1单片机应用系统抗干扰技术[M]1北京:北京航空航天大学出版社,20001
[2]李广弟1单片机基础[M]1北京:北京航空航天大学出版社,19941
[3]宋春荣1通用集成电路速查手册[M]1山东:山东科学技术出版社,19951
9
第1期基于AT89C2051控制芯片的电子计时器设计。