单片机秒表课程设计报告书Word文件下载.docx
《单片机秒表课程设计报告书Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机秒表课程设计报告书Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。
了解8051芯片的的工作原理和工作方式,使用该芯片对LED数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、清零功能,精确到0.1秒。
要求选用定时器的工作方式,画出使用单片机控制LED数码管显示的电路图,并在实验箱实现其硬件电路,并编程完成软件部分,最后调试秒表起动、停止、清零功能。
二、课题研究目的和意义及介绍
1、目的意义
1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。
2)掌握定时器、外部中断的设置和编程原理。
3)通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。
4)该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、快加功能,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义0.0
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、实验仪器
集成电路芯片8032,七段数码管,AT89C51实验箱,按键,DVCC系列单片机微机仿真实验系统中的软件(WAVE6000)
三、设计思路及描述
该实验要求进行计时并在数码管上显示时间,则可利用DVCC系列单片机微机仿真实验系统中的芯片8032(芯片的功能类似于芯片AT89C51,其管脚功能也和AT89C51的管脚功能类似)中的P3.2管脚做为外部中断0的入口地址,并实现“开始”按键的功能;
将P3.3做为外部中断1的入口地址,并实现“清零”按键的功能;
将P3.0做为数据信号DATA输入的入口地址;
将P3.1做为时钟信号CLK输入的入口地址。
定时器T0作为每秒加一的定时器;
定时器T1作为“快加”键的定时器。
其中“开始”按键当开关由1拨向0(由上向下拨)时开始计时;
“清零”按键当开关由1拨向0(由上向下拨)时数码管清零,此时若再拨“开始”按键则又可重新开始计时。
方框图如下图:
图3数字秒表设计导向图
四、硬件设计
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分别接按键。
2、硬件连线图
图4.2数字秒表程序硬件电路连线图
五、软件设计
1、数字秒表工作流程图
图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;
关定时器
JNBKEY1,CONTROL;
CPLFLAG;
JBFLAG,BEGIN;
SETBTR0;
重置定时器
WAIT:
LJMPLOOP;
BEGIN:
CLRTR0;
RESET:
JNBTR0,CLE;
LCALLLOOP;
CLE:
LCALLCLEAR;
INITIAL:
SETBFLAG;
MOVDPTR,#TAB;
MOVTMOD,#01H;
定时器0,方式一
MOVTL0,#0F0H;
MOVTH0,#0D8H;
SETBEA;
开中断
SETBET0;
开T0中断
RET;
TIMER0:
CLRTR0;
MOVTL0,#0F0H;
MOVTH0,#0D8H;
重新赋值
INCLSEC;
MOVA,LSEC;
CJNEA,#100,EXIT;
MOVSEC,#00H;
INCSEC;
MOVA,SEC;
CJNEA,#60,EXIT;
INCMIN;
MOVA,MIN;
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;
设置显示起始位置
MOVXDPTR,A;
设定显示位置
MOVDPTR,#OUTBIT;
MOVA,R3;
显示数据
LCALLDELAY100US;
MOVA,#00H;
RLA;
MOVR3,A;
MOVA,R5;
MOVCA,A+DPTR;
MOVDPTR,#OUTSEG;
MOVA,R3;
MOVA,#00H;
MOVA,R3;
RLA;
MOVR3,A;
INCR0;
DJNZR4,DISPLAY1;
RET;
DELAY100US:
MOVR7,#50;
循环50次
DJNZR7,$;
r7-1不为0,执行本指令
;
//////////查表指令
TAB:
DB3FH,06H,5BH,4FH,66H,6DH
DB7DH,07H,7FH,6FH
六、实验心得及体会
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.