单片机LED数码管电子钟.docx
- 文档编号:2820567
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:18
- 大小:402.70KB
单片机LED数码管电子钟.docx
《单片机LED数码管电子钟.docx》由会员分享,可在线阅读,更多相关《单片机LED数码管电子钟.docx(18页珍藏版)》请在冰豆网上搜索。
单片机LED数码管电子钟
苏州科技学院
系(专业):
班级:
学生:
学号:
摘要
本文以AT89C51芯片为核心,根据数码管动态显示原理,用12MHz晶振产生振荡脉冲并以定时器计数,来实现在LED数码管上显示时间的功能。
并在此基础上采用动态同步修正、自动调整修正等方法更加精确计时。
本文主要阐述其原理以及软件上的设计汇编等。
关键词:
单片机电子钟动态同步汇编AT89C51
前言
单片机自20世纪70年代末诞生以来,其发生了巨大的变化,无论是他的功能应用还是价值都在时间的演变中不断的变化,但是毋庸置疑的是单片机的已经达到了我们生活领域的方方面面。
单片机是一种集成电路芯片。
它采用超大规模技术将具有数据处理能力的微处理器(CPU)、存储器(含程序存储器ROM和数据存储器RAM)、输入、输出接口电路(I/O接口)集成在同一块芯片上,构成一个即小巧又很完善的计算机硬件系统,在单片机程序的控制下能准确、迅速、高效地完成程序设计者事先规定的任务。
所以说,一片单片机芯片就具有了组成计算机的全部功能。
由此来看,单片机有着一般微处理器(CPU)芯片所不具备的功能,它可单独地完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。
然而单片机又不同于单板机(一种将微处理器芯片、存储器芯片、输入输出接口芯片安装在同一块印制电路板上的微型计算机),单片机芯片在没有开发前,它只是具备功能极强的超大规模集成电路,如果对它进行应用开发,它便是一个小型的微型计算机控制系统,但它与单板机或个人电脑(PC机)有着本质的区别。
单片机的应用属于芯片级应用,需要用户(单片机学习者与使用者)了解单片机芯片的结构和指令系统以及其它集成电路应用技术和系统设计所需要的理论和技术,用这样特定的芯片设计应用程序,从而使该芯片具备特定的功能。
不同的单片机有着不同的硬件特征和软件特征,即它们的技术特征均不尽相同,硬件特征取决于单片机芯片的内部结构,用户要使用某种单片机,必须了解该型产品是否满足需要的功能和应用系统所要求的特性指标。
这里的技术特征包括功能特性、控制特性和电气特性等等,这些信息需要从生产厂商的技术手册中得到。
软件特征是指指令系统特性和开发支持环境,指令特性即我们熟悉的单片机的寻址方式,数据处理和逻辑处理方式,输入输出特性及对电源的要求等等。
开发支持的环境包括指令的兼容及可移植性,支持软件(包含可支持开发应用程序的软件资源)及硬件资源。
要利用某型号单片机开发自己的应用系统,掌握其结构特征和技术特征是必须的。
单片机控制系统能够取代以前利用复杂电子线路或数字电路构成的控制系统,可以以软件控制来实现,并能够实现智能化,现在单片机控制范畴无所不在,例如通信产品、家用电器、智能仪器仪表、过程控制和专用控制装置等等,单片机的应用领域越来越广泛。
本文就以电子钟设计为例,了解单片机应用特点。
目录
前言
一、基本内容概述
1.1电子钟系统硬件组成………………………………………………………(5)
1.1.1AT89C51单片机简介………………………………………………(5)
1.1.2LED数码管简介………………………………………………………(5)
1.1.3硬件连接……………………………………………………………(5)
二、软件设计
2.1汇编语言……………………………………………………………………(6)
2.2C语言编程…………………………………………………………………(9)
三、误差修正
3.1走时误差……………………………………………………………………(12)
3.2原因分析……………………………………………………………………(12)
3.3解决方法……………………………………………………………………(13)
3.3.1高精度晶振方案………………………………………………………(13)
3.3.2动态同步修正方案……………………………………………………(13)
四、思路创新
4.1自动调整方案………………………………………………………………(14)
五、总结
参考文献…………………………………………………………………………(15)
LED数码管电子钟
一、基本内容概述
LED数码管电子钟由硬件、软件组成,本文着重讲述软件汇编与C语音。
1.1电子钟系统硬件组成
AT89C51单片机、LED数码管、按键电路
1.1.1AT89C51单片机简介
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
1.1.2LED数码管简介
LED数码管(LEDSegmentDisplays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。
led数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。
数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。
透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位元数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O口,而且功耗更低。
1.1.3硬件连接
以AT89C51为核心连接LED数码管以及按键,图为单片机电子钟电路图。
二、软件设计
单片机电子钟软件部分采用汇编语言与C语音编程。
2.1汇编语言
S_1EQU30H;秒寄存器
M_1EQU31H;分寄存器
H_1EQU32H;時寄存器
A_1EQU33H;自动调整寄存器
ORG00H
LJMPSTART
ORG03H
RETI
ORG0BH;定时中断入口
LJMPTIMER
ORG13H
RETI
ORG1BH
RETI
ORG30H
START:
MOVS_1,#0;秒、分、時寄存器清0
MOVM_1,#0
MOVH_1,#0
MOVA_1,#0
MOV20H,#10;0.5秒钟中断次数,0.5s=500ms=50msx10
MOV21H,#2;2个0.5秒即为1秒
MOVSP,#40H;堆栈指针设置
MOVIE,#82H;开定时器0中断及总中断
MOVTMOD,#01H;定时器0模式1
MOVTH0,#03CH;50ms初值
MOVTL0,#0B0H
SETBTR0;启动定時器0
LOOP:
ACALLDISP;调试显示
JNBP3.4,MT;查询分调整键
JNBP3.5,HT;查询时调整键
AJMPLOOP
MT:
;分调整
ACALLDISP
JNBP3.4,MT;键消抖
INCM_1;分加1
MOVA,M_1
CJNEA,#60,LOOP;没到60分返回,到60分清0
MOVM_1,#0
AJMPLOOP
HT:
;时调整
ACALLDISP
JNBP3.5,HT
INCH_1
MOVA,H_1
CJNEA,#24,LOOP
MOVH_1,#0
AJMPLOOP
DISP:
;显示子程序
MOVDPTR,#NUMTAB;表地址送数据指针
MOVA,M_1;分送A
MOVB,#10
DIVAB;十进制调整
ADDA,R0;查表偏移量调整
MOVCA,@A+DPTR;查表
MOVP1,A;分十位送p1口显示
CLRP3.2;开分十位显示
ACALLD1MS;延時1ms
SETBP3.2;关显示
MOVA,B;分个位p1口显示
ADDA,R0
MOVCA,@A+DPTR
MOVP1,A
CLRP3.3
ACALLD1MS
SETBP3.3
MOVA,H_1;时送A
MOVB,#10
DIVAB
ADDA,R0
MOVCA,@A+DPTR
MOVP1,A
CLRP3.0;显示时十位
ACALLD1MS
SETBP3.0
MOVA,B
ADDA,R0
MOVCA,@A+DPTR
MOVP1,A
CLRP3.1;显示时个位
ACALLD1MS
SETBP3.1
RET;返回
TIMER:
;定時中断程序
PUSHACC;数据保护
PUSHPSW
MOVA,#0B1H;同步修正
ADDA,TL0
MOVTL0,A;重置50ms定時值
MOVTH0,#03CH
DJNZ20H,RETI_1;到0.5秒了嗎?
MOV20H,#10
CPL25H.0;取反秒点闪烁
JNB25H.0,T_1;标志位为0转T_1
MOVR0,#0;查表偏移量寄存器置0(不显示秒点)
AJMPT_2
T_1:
MOVR0,#10;查表偏移量寄存器置10(显示秒点,秒点每秒闪烁1次)
T_2:
DJNZ21H,RETI_1;到1秒了嗎?
MOV21H,#2
INCS_1;秒加1
MOVA,S_1
CJNEA,#60,RETI_1;到60秒了?
MOVS_1,#0;到60秒清0
INCM_1;分加1
MOVA,M_1
CJNEA,#60,RETI_1;到60分了?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 LED 数码管 电子钟