基于AT89C51的 2位LED数码显示秒表设计.docx
《基于AT89C51的 2位LED数码显示秒表设计.docx》由会员分享,可在线阅读,更多相关《基于AT89C51的 2位LED数码显示秒表设计.docx(11页珍藏版)》请在冰豆网上搜索。
![基于AT89C51的 2位LED数码显示秒表设计.docx](https://file1.bdocx.com/fileroot1/2022-11/30/e44165f5-1057-4099-89a6-bfdb23c1051b/e44165f5-1057-4099-89a6-bfdb23c1051b1.gif)
基于AT89C51的2位LED数码显示秒表设计
第1章设计内容及要求………………………………………………1
1.1设计内容…………………………………………………1
1.2设计要求…………………………………………………1
第2章课题研究目的和意义及介绍…………………………………2
2.1目的意义…………………………………………………2
2.2单片机的简单介绍……………………………………2
第3章设计思路及描述…………………………………………4
第4章硬件设计……………………………………………………5
4.1接口电路…………………………………………………5
4.2硬件连线图………………………………………………6
第5章软件设计………………………………………………………7
5.1数字秒表工作流程图……………………………………7
5.2用51单片机实现数字秒表工作源程序…………………7
第6章实验心得及体会………………………………………………13
总结……………………………………………………………………14
参考文献………………………………………………………………15
第1章设计内容及要求
1.1、设计内容
用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00~99秒,每秒自动加一。
另设计一个“开始”按键和一个“复位”按键。
再增加一个“暂停”按键和一个“快加”按键(每10ms快速加一)。
按键说明:
按“开始”按键,开始计数,数码管显示从00开始每秒自动加一;按“复位”按键,系统清零,数码管显示00;按“暂停”按键,系统暂停计数,数码管显示当时的计数;按“快加”按键,系统每10ms快速加一,即数码显示管在原先的计数上快速加一。
1.2、设计要求
了解8051芯片的的工作原理和工作方式,使用该芯片对LED数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、清零功能,精确到0.1秒。
要求选用定时器的工作方式,画出使用单片机控制LED数码管显示的电路图,并在实验箱实现其硬件电路,并编程完成软件部分,最后调试秒表起动、停止、清零功能。
第2章课题研究目的和意义及介绍
2.1、目的意义
1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。
2)掌握定时器、外部中断的设置和编程原理。
3)通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。
4)该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、快加功能,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义
2.2、单片机的简单介绍
AT89C51是一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储器(FPEROM-FlashProgrammableandEraseableReadOnlyMemory)的8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与80C51引脚和指令系统完全兼容。
主要性能:
◆与MCS-51微控制器产品系列兼容。
◆片内有4KB可在线重复编程的快闪擦写存储器
◆存储数据保存时间为10年
◆宽工作电压范围:
Vcc可为2.7V到6V
◆全静态工作:
可从0Hz至16MHz
◆程序存储器具有3级加密保护
◆128*8位内部RAM
◆32条可编程I/O线
◆两个16位定时器/计数器
◆中断结构具有5个中断源和2个优先级
◆可编程全双工串行通道
◆空闲状态维持低功耗和掉电状态保存存储内容
第3章设计思路及描述
该实验要求进行计时并在数码管上显示时间,则可利用DVCC系列单片机微机仿真实验系统中的芯片8032(芯片的功能类似于芯片AT89C51,其管脚功能也和AT89C51的管脚功能类似)中的P3.2管脚做为外部中断0的入口地址,并实现“开始”按键的功能;将P3.3做为外部中断1的入口地址,并实现“清零”按键的功能;将P3.0做为数据信号DATA输入的入口地址;将P3.1做为时钟信号CLK输入的入口地址。
定时器T0作为每秒加一的定时器;定时器T1作为“快加”键的定时器。
其中“开始”按键当开关由1拨向0(由上向下拨)时开始计时;“清零”按键当开关由1拨向0(由上向下拨)时数码管清零,此时若再拨“开始”按键则又可重新开始计时。
方框图如下图:
图3数字秒表设计导向图
第4章硬件设计
4.1、接口电路
利用12M晶振的一个机器周期为1微秒,通过循环产生1秒时间延迟,扫描单片机中所存放的时间的值(可正记时,也可倒计时),并通过输出显示在数码管上。
如图:
图4。
1秒表系统连线图
p0.0—p0.7对应了两个接数码管的A,B,C,D,E,F,G和小数点位,p2.6接显示个位数的数码管的3、8引角,p2.7则接十位数的。
p3.6、p3.7分别接按键。
4.2、硬件连线图
图4.2数字秒表程序硬件电路连线图
第5章软件设计
5.1、数字秒表工作流程图
图5数字秒表工作整体流程图
5.2、用51单片机实现数字秒表工作源程序
OUTBITEQU08002H;位控制口
OUTSEGEQU08004H;段控制口
LSECEQU31H
SECEQU32H
MINEQU33H
FLAGBIT20H.0;位定义
KEY1BITP3.6
KEY2BITP3.7
ORG0000H
LJMPSTART;初始程序入口地址
ORG000BH
LJMPTIMER0;加一子程序入口地址
ORG0060H
START:
LCALLINITIAL;调用启动LCM子程序进行初始化
LOOP:
LCALLDISPLAY;退出时钟调整时键释放等待
JNBKEY1,WAIT;判断KEY1.等待
JNBKEY2,RESET
LJMPLOOP
CONTROL:
CLRTR0;关定时器
LCALLDISPLAY
JNBKEY1,CONTROL
CPLFLAG
JBFLAG,BEGIN
SETBTR0;重置定时器
LJMPLOOP
WAIT:
LCALLDISPLAY
JNBKEY1,CONTROL
LJMPLOOP
BEGIN:
CLRTR0
LJMPLOOP
RESET:
JNBTR0,CLE
LCALLLOOP
CLE:
LCALLCLEAR
LJMPLOOP
INITIAL:
LCALLCLEAR
SETBFLAG
MOVDPTR,#TAB
MOVTMOD,#01H;定时器0,方式一
MOVTL0,#0F0H
MOVTH0,#0D8H
SETBEA;开中断
SETBET0;开T0中断
RET
TIMER0:
CLRTR0
MOVTL0,#0F0H
MOVTH0,#0D8H;重新赋值
SETBTR0
INCLSEC
MOVA,LSEC
CJNEA,#100,EXIT
MOVSEC,#00H
INCSEC
MOVA,SEC
CJNEA,#60,EXIT
MOVSEC,#00H
INCMIN
MOVA,MIN
CJNEA,#60,EXIT
MOVMIN,#00H
EXIT:
SETBTR0
RETI
CLEAR:
MOVA,#00H
MOVLSEC,A
MOVSEC,A
MOVMIN,A
RET
DISPLAY:
MOVR3,#01H
MOVR0,#31H
MOVR4,#3;选择3组工作寄存器
DISPLAY1:
MOVA,@R0
MOVB,#0AH
DIVAB
MOVR5,A
MOVA,B
MOVDPTR,#TAB
MOVCA,@A+DPTR;查字形码表
MOVDPTR,#OUTSEG;设置显示起始位置
MOVX@DPTR,A;设定显示位置
MOVDPTR,#OUTBIT
MOVA,R3
MOVX@DPTR,A;显示数据
LCALLDELAY100US
MOVA,#00H
MOVX@DPTR,A
MOVA,R3
RLA
MOVR3,A
MOVA,R5
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVDPTR,#OUTSEG
MOVX@DPTR,A
MOVDPTR,#OUTBIT
MOVA,R3
MOVX@DPTR,A
LCALLDELAY100US
MOVA,#00H
MOVX@DPTR,A
MOVA,R3
RLA
MOVR3,A
INCR0
DJNZR4,DISPLAY1
RET
DELAY100US:
MOVR7,#50;循环50次
DJNZR7,$;r7-1不为0,执行本指令
RET;//////////查表指令
TAB:
DB3FH,06H,5BH,4FH,66H,6DH
DB7DH,07H,7FH,6FH
第6章实验心得及体会
1.认真审题,看懂题目的要求!
选择适当的课题,不益太简单或者太难。
做到既能把课题完成又能锻炼自己的能力。
2.根据课题要求,复习相关的知识,查询相关的资料。
3.根据实验条件,找到适合的方案,找到需要的元器件及工具,准备实验。
4.根据课程设计的要求和自己所要增加的功能写好程序流程图,在程序流程图的基础上,根据芯片的功能写出相应的程序。
然后再进行程序调试和相应的修改,以达到能够实现所要求的功能的目的。
5.还要根据实验的实际情况,添加些额外程序来使系统更加的稳定,如开关的消震荡(采用延迟)。
6.程序要尽量做到由各个子程序组成,在有些程序后面最好加注释,这样在程序出错的检查过程中可以更容易查找的到,也更简洁,更明白易懂。
7.该实验的程序可以参考DVCC系列单片机微机仿真实验系统实验指导书中的串并转换实验,也可自己根据自己熟悉的方法来编程。
8.在设计控制开关时,注意2个中断的打开和关闭的先后顺序,否则就会出错。
总结
本文主要从硬件方面说明设计的总体思路和设计的实现过程,预期的设计目的是:
能够实现时钟的基本功能,正常显示时分秒.在设计过程中,曾经遇到很多的障碍,设计图经过许多次的修改最后才定下来,但在调试的过程中又出现了问题,需要修改原理图;比如硬件的布局,要作到使连接的线路最短,并不没有想象中的那么容易;再焊接过程中稍不注意就会出现管脚的错位,有些在硬件测试过程中才检查出来。
在设计中有好多问题都是因为理论知识不扎实,在有些管脚的置零置一上,概念的模糊,这使作者明白要把所学到的理论转化为实践需要一段努力学习的过程;在做一个设计的过程中,一定要注意理论和实践同步进行,光有理论知识还是远远不够的,要用时间去检验理论,用理论指导实践。
最近几年,科学发展很快,渗透在工农业生产的许多领域。
通过毕业论文的设计我们有了更深的认识,只有在设计制作的过程中不断的学习才能有更新的进步.不论在什么地方,什么岗位我门都要以学为主.学以学以置用.才能把我们的工作做的更好.
参考文献
[1]吴金戎,沈庆阳,郭庭吉.8051单片机实践与应用[M].北京:
清华大学出版社,2002
[2]楼然苗,李光飞.51系列单片机设计实例[M].北京:
航空航天大学出版社,2003
[4]李鸿.单片机原理及应用[M].湖南:
湖南大学出版社,2004
[5]何立民.单片机高级教程[M].第1版.北京:
北京航空航天大学出版社,2001
[6]徐惠民、安德宁.单片微型计算机原理接口与应用[M].第1版.北京:
北京邮电大学出版社,1996
[7]肖洪兵.跟我学用单片机[M].北京:
北京航空航天大学出版社,2002.8
[8]李广第.单片机基础[M].第1版.北京:
北京航空航天大学出版社,1999
[9]赵晓安.MCS-51单片机原理及应用[M].天津:
天津大学出版社,2001.3
[10]何立民.从Cygnal80C51F看8位单片机发展之路[M].单片机与嵌入式系统应用,2002年,第5期:
P5~8
[11]夏继强.单片机实验与实践教程[M].北京:
北京航空航天大学出版社,2001