多功能秒表的设计.docx
- 文档编号:12385366
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:23
- 大小:185.25KB
多功能秒表的设计.docx
《多功能秒表的设计.docx》由会员分享,可在线阅读,更多相关《多功能秒表的设计.docx(23页珍藏版)》请在冰豆网上搜索。
多功能秒表的设计
多功能秒表系统设计
摘要
根据相关的单片机材料,利用所学的单片机知识,编写能够实现该项目的软件程序,最后将软、硬件有机的结合起来,进行有效的调试,达到完成该实验课程设计的目的要求。
本设计的多功能秒表系统采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、电源电路、LED数码管以及键盘电路来设计计时器。
将软、硬件有机地结合起来,使得系统能够实现两位LED显示,显示时间为00~99秒,每秒自动加1,能正确地进行加1,快加,可以同时记录4个相对独立的时间,通过翻页来查看这4个不同的计时值,可谓功能强大。
其中软件系统采用汇编语言编写程序,包括显示程序,加1,计数程序,快加程序,中断,延时程序等,并在WAVE中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。
该系统具有显示直观﹑使用方便﹑可靠等优点在系统设计过程中考虑了性价比,选用性价比低﹑性能确定的元器件。
易于观察,在仿真中就可以观察到实际的工作状态。
该系统具有显示直观﹑使用方便﹑可靠等优点在系统设计过程中考虑了性价比,选用性价比低﹑性能确定的元器件。
1概述-3-
1.1课程设计的要求-3-
1.2课程设计的目的意义-3-
2系统总体方案及硬件设计-4-
2.1设计思路及描述-4-
2.2硬件构成-4-
2.3显示模块-6-
2.4开关控制电路模块-7-
3软件设计-8-
3.1主程序-8-
3.2显示程序-9-
3.3开关控制程序-9-
3.4记录翻页子程序-10-
3.5暂停复位快加子程序-10-
3.6中断和加1子程序-11-
4Proteus软件仿真-12-
4.1单片机加载程序启动仿真后,按下开始键加1计数仿真-12-
4.2单片机加载程序启动仿真后,按下暂停键时仿真图-13-
4.3单片机加载程序启动仿真后,按下复位键时的仿真图-13-
4.4单片机加载程序启动仿真后,按下快加键时的仿真图-14-
5心得体会-14-
参考文献-15-
附录-15-
1概述
近年来随着科技的飞速发展,单片机的应用正在不断的走向深入,同时带动着传统控制检测技术的更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还要根据具体的硬件结构,以及针对具体的应用对象的软件结合,加以完善。
秒表的出现,解决了传统的由于人为因素造成的误差和不公平性.随着科学技术的发展,人们的时间观念愈来愈强,科学测量的时间精度也越来越高。
现在,以秒为时间的基本单位是国际单位制七个基本单位中精度最高的,已达到10-14的数量级,也就是说三百万年误差不超过一秒。
正因为它的精度高,大大促进科学技术的发展,特别是促进太空技术、计算机技术等领域的发展。
1.1课程设计的要求
(1)能同时对5个四个相对独立的时间分别显示。
(2)两位LED显示,现实时间为00~99秒。
(3)每秒自动加一。
(4)一个开始按键,一个复位按键,一个暂停按钮和一个快加按钮(每十毫秒快速加一)。
(5)翻页按钮查看五个不同的计时值。
1.2课程设计的目的意义
(1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解,掌握定时器、外部中断的设置和编程原理。
(3)通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。
该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、快加功能,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义。
2系统总体方案及硬件设计
2.1设计思路及描述
本实验设计六个控制按键:
其中第一个按键按下去时以1秒加一开始计时,即秒表开始键,第二个按键按下去时暂停计时,使秒表停留在当前的计时值,第三个按键按下去时清0即复位,第四个按键按下去则是以每10ms秒快速加一,第五个键按下时开始计数,第六个键按下时进行翻页查看。
该实验要求进行计时并在数码管上显示时间,则可利用AT89S51芯片的P0.0-P0.7管脚对应了两个接数码管的A,B,C,D,E,F,G和小数点位,P2.6接显示个位数的数码管的选通引角,P2.7则接十位数的。
P2.6和P2.7端口分别控制数码管的十位和个位的供电,当相应的端口变成低电平时,驱动相应的芯片内部和外部电路元器件给数码管相应的位供电,这时只要P0口送出数字的显示代码,数码管就能正常显示需要的数字。
2.2硬件构成
(1)主控模块AT89S51
图1单片机AT89S51芯片
AT89S51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S51是一种高效的微控制器。
AT89S51芯片如下:
1)主要特性:
①与MCS-51兼容 4K字节可编程闪烁存储器
②全静态工作:
0Hz-24HZ
③三级程序存储器锁定
④128*8位内部RAM
⑤32可编程I/O线
⑥两个16位定时器/计数器
⑦5个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路
2)振荡器电路
MCS--51单片机内部的振荡电路是一个到增益反相放大器,引线XTAL1和XTAL2分别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振荡器的输出,该反向放大器可以配置为片内振荡器。
51单片机的时钟产生方式有两种,分别为:
内部时钟方式和外部时钟方式。
在MCS-51单片机一般常用内部时钟方式,也就是在XTAL1和XTAL2之间连接晶体震荡器与电容构成稳定的自激振荡器,用示波器可以观察到XTAL2输出的时钟信号。
晶体和电容决定了单片机的工作时间精度为1微秒。
晶体可在1.2-12MHz之间选择。
MCS-51单片机在通常应用情况下,使用震荡频率为6MHZ的石英晶体
而12MHZ频率的警惕主要是在高速串行通信情况下才使用,在这里我用的是12MHZ石英晶体。
对电容无严格要求,但它的取值对振荡频率输出的稳定性、大小及振荡电路起振速度有一点影响。
外部时钟方式是把外部震荡信号源直接接入XTAL1或XTAL2,有时还要接一个上拉电阻。
在XTAL1和XTAL2之间连接晶体震荡器与电容构成稳定的自激振荡器,电路图如下:
图2晶体振荡电路
3)复位电路:
MCS-51单片机的复位是靠外部电路实现的。
MCS-51单片机工作之后,只要在他的RST引线上加载10ms以上的高点平,单片机就能有效地复位。
MCS-51单片机通常有上电自动复位﹑按键复位﹑手动加按钮复位﹑脉冲复位四种方式,本设计采用了自动上电复位方式。
复位电路如下图:
图3AT89S51上电自动复位电路
上电瞬间,RC电路充电,RST引线出现正脉冲,只要RST保持10ms以上的高电平,就能使单片机有效的复位。
2.3显示模块
显示电路既可以选用液晶显示器,也可以选用数码管显示。
数码管主要是用于数字的显示。
数码管有共阴和共阳的区分,单片机都可以进行驱动,但是驱动的方法不同。
而数码管显示又有静态和动态两种显示方式,其中静态显示程序简单,显示比较稳定,但占用I\O口较多;动态显示的程序比较复杂,所使用的端口较少,可以节省I/O口,在本设计中采用的是动态显示。
显示所用两位数码管及循环电路图如下:
表一,共阴极数码管的段码表:
(CC)
“0”
3FH
“8”
7FH
“1”
06H
“9”
6FH
“2”
5BH
“A”
77H
“3”
4FH
“b”
7CH
“4”
66H
“C”
39H
“5”
6DH
“d”
5EH
“6”
7DH
“E”
79H
“7”
07H
“F”
71H
图4LED数码管显示电路
2.4开关控制电路模块
图5开关控制电路图
3软件设计
该系统主要有主程序﹑中断子程序﹑显示子程序﹑加1子程序﹑记录翻页子程序﹑快加子程序组成。
3.1主程序
完成硬件的初始化﹑子程序调用等功能:
1)对定时器T1﹑T0的工作模式进行设定,分别设定为工作模式一,并对两个工作定时器初始化,分别赋初值定时10.
其中GATE=0,C/¯T=0,M1M2=01即TMOD=00010001=11H
模式一:
M=216=65536
初值的计算:
用T1定时10ms,计数初值为:
X1=216-10*10-3*12*106/12=65536-10000=55536=D8F0H
2)在主程序中设置了九个工作寄存区,分别为:
20H,用于00~99秒的记数暂存区;
30H,31H分别用于寄存要显示的十位和个位的两个数字,40H﹑50H用于存储循环记数个数,41H﹑42H﹑43H﹑44H作为记录四个相对独立时间的工作寄存区另外还用了一个间接寄存器R1,用于访问以上四个工作寄存区。
对以上的工作区﹑相应的中断控制位进行初始化。
3.2显示程序
作用:
完成符号和数值的显示及输出。
该设计中应用两位一体的数码管分别动态显示十位和个位的数字,具体设计思路如下:
用AT89S51芯片的P0口接数码管的显示位A﹑B﹑C﹑D﹑E﹑F﹑G﹑DP八个引脚,用P2口的P2.6﹑P2.7接数码管的两个选通引脚,作为十位和个位动态显示的选通信号输入端,低电平有效。
当将要显示的时间分别送入30H﹑31H时,让选通信号有效进行动态循环显示,利用了查表操作功能,只是两位的显示时间间隔短而人眼分辨不出来,因此认为是连续显示的。
3.3开关控制程序
完成各键功能的转换,控制CPU的工作过程﹑调用显示程序控制显示输出,在按键过程中增加了防抖动操作。
例如暂停键的设置:
START:
JB:
P1.0,L1;P1.0=0,暂停
ACALLDELAY10
JB:
P1.0,L1
JNBP1.0,$
LJMPSTOP
3.4记录翻页子程序
当有记录键按下时将当前显示时间存入暂存区41H﹑42H﹑43H﹑44H,记录时间间隔可自己设定,记录过程中不间断时间。
当记录个数为四时停止计数,等待翻页按键有效将四个寄存区中的数据分别送入显示工作区30H﹑31H调用显示程序显示查看。
3.5暂停复位快加子程序
1)暂停程序:
只需将定时器T1﹑T0的启停控制位TR0﹑TR1清零即可。
STOP:
CLRTR0
CLRTR1
ACALLDISP
SJMPHERE
2)复位程序:
将各寄存区重新置初始值即可。
FUWEI:
CLRTR0
CLRTR1
MOV40H,#00H
MOV41H,#00H
MOV30H,#00H
SJMPHERE
3)快加程序:
由于定时器T1﹑T0的定时初值均是10毫秒,可直接利用二者中的一个进行快加时间设定,设计中利用T1定时,对其溢出标志位进行查询,TF1为1则10毫秒到调用加1子程序快速加1并显示
快加程序功能的介绍:
设计快加子程序的目的是为了弥补两个数码管显示时间的不足:
100ms=1s
故可以用快加程序来精确的计时,即把间隔一秒显示的时间改为间隔10毫秒显示从00-99。
KJIA:
SETBTR1
CLRTR0
HEE:
JNBTF1,HEE
CLRTF1
ACALLJIA1
ACALLDISP
JNBP1.0,STOP
SJMPHEE
3.6中断和加1子程序
INT1中断服务程序:
利用AT89S51的P3.3作为中断输入口,当开始计时按键按下调用中断程序,循环加1计时开始,定时时间为10毫秒,循环100次寄1秒时间到时,计数单元30H自动加一,若时间小于100继续加一计数,否则重新开始循环00~99秒。
4Proteus软件仿真
4.1单片机加载程序启动仿真后,按下开始键加1计数仿真
图7“开始”Proteus仿真
4.2单片机加载程序启动仿真后,按下暂停键时仿真图
图8“暂停”Proteus仿真图
4.3单片机加载程序启动仿真后,按下复位键时的仿真图
图9“复位”Proteus仿真图
4.4单片机加载程序启动仿真后,按下快加键时的仿真图
图10“快加”Proteus仿真图
5心得体会
通过这次单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,独立自主的去完成一个设计。
这次设计也让我深深的感到仅在课堂上的学到的知识是远远不够的,课下我们应该多到图书馆或网上多了解一下其它的东西,同时更应该加强我们的动手能力的训练,因为学习就是为了将知识应用到生活中,造福人类。
在这次设计中我认真思考了一个问题,那就是未来的发展方向。
因为要考研,所以我们就又面临了一次选择,和高考时报志愿一样,然而现在更多了一些理性和成熟。
我曾经想过以后要么当老师,要么搞科研。
然而,课程设计的过程让我认识到搞科研不仅要有扎实的理论知识,更要有创新的意识和热情,喜欢动手,不怕动手,因为真正搞科研的人都有一种不怕失败的精神,敢于去挑战。
同时,更重要的是,在这一设计中,我学会了坚持不懈,不轻易言弃。
设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。
这个题目整体来看思路并不复杂,所以设计起来没有太大的困难。
包括单片机的选择,震荡电路,时钟电路,显示电路这些基本电路的设计都是我们在课堂上老师讲到的内容。
关键是软件部分的设计,如果把握不好的话思路就会很凌乱,让人一时摸不着头脑。
经过几天的思索,我们就讨论先把整体设计思路给列一下,然后再一块一块的设计,这样设计起来就容易了很多,当整个程序出来后我就怀着激动的心情进行仿真,发现还是存在很多错误,但经过多次调试后终于成功了。
参考文献
(1)《单片机原理与及应用技术》主编余发山副主编王福忠出版社中国矿业大学出版社版次2003年12月第1版2003年12月第1次印刷
(2)朱定华、戴汝平.单片微机原理与应用.北京:
清华大学出版社,2003年8月;
(3)胥勇军、黄国荣.基于并口连接串行显示驱动器MAX721下数据通信的软件实现.2004年5月;
(4)《MCS-51单片机原理及应用实例》南建辉熊鸣王军茹编著出版社北京清华大学出版社版次2004年3月第1版2006年2月第3版次印刷
附录
附录1源程序:
ORG0000H
LJMPMAIN
ORG000BH
LJMPTIME1
ORG0013H
LJMPZHDUAN
ORG001BH
LJMPTIME10
ORG0100H
MAIN:
MOVTMOD,#11H
MOVTH1,#0D8H;定时10MS
MOVTL1,#0F0H
MOVTH0,#0D8H;定时10MS
MOVTL0,#0F0H
MOV20H,#00H;记数暂存
MOV21H,#00H
MOV30H,#00H;显示暂存
MOV31H,#00H
MOV40H,#100
MOV41H,#00H;计数区
MOV42H,#00H
MOV43H,#00H
MOV44H,#00H
MOV50H,#04H
MOVR1,#41H
SETBEA
SETBEX1
SETBET1
SETBET0
CLRPT0
CLRPT1
SETBPX1
SETBIT1
MOVP0,#0FFH
CLRTR0
CLRTR1
CLR7FH
ML1:
ACALLDISP
START:
JBP1.0,L1;P1.0=0,暂停
ACALLDELAY10
JBP1.0,L1
JNBP1.0,$
LJMPSTOP
L1:
JBP1.1,L2;P1.1=0,复位
ACALLDELAY10
JBP1.1,L2
JNBP1.1,$
LJMPFUWEI
L2:
JBP1.2,L3;P1.2=0,快加
ACALLDELAY10
JBP1.2,L3
JNBP1.2,$
LJMPKJIA
L3:
JBP1.3,L4;P1.3=0,计数
ACALLDELAY10
JBP1.3,L4
JNBP1.3,$
LJMPJISHU
L4:
JBP1.4,L;P1.4=0,翻页
ACALLDELAY10
JBP1.4,L
JNBP1.4,$
LJMPFANYE
L:
SJMPHERE
STOP:
CLRTR0;暂停程序
CLRTR1
ACALLDISP
SJMPHERE
JISHU:
MOVA,20H;计数程序
MOV@R1,A
INCR1
DJNZ50H,HERE
MOVR1,#41H
MOV50H,#04H
SJMPSTOP
FANYE:
MOVA,@R1;翻页程序
MOV20H,A
MOVB,#0AH
DIVAB
MOV31H,A
MOV30H,B
LCALLDISP
DECR1
DJNZ50H,HERE
MOVR1,#44H
MOV50H,#04H
SJMPHERE
FUWEI:
CLRTR0;复位程序
CLRTR1
MOV30H,#00H
MOV31H,#00H
MOV20H,#00H
SJMPHERE
KJIA:
SETBTR1;快加程序
CLRTR0
HEE:
JNBTF1,HEE
CLRTF1
ACALLJIA1
ACALLDISP
JNBP1.0,STOP
SJMPHEE
HERE:
LJMPML1
ZHDUAN:
SETBTR0;启动定时器0
CLRTR1
RETI
TIME1:
PUSHACC;定时1秒
PUSHPSW
MOVTH0,#0D8H
MOVTL0,#0F0H
DJNZ40H,RET0
LCALLJIA1
LCALLDISP
MOV40H,#100
RET0:
POPPSW
POPACC
RETI
TIME10:
PUSHACC;定时10毫秒
PUSHPSW
MOVTH0,#0D8H
MOVTL0,#0F0H
RET1:
POPPSW
POPACC
RETI
JIA1:
MOVA,20H;加1程序
CLRC
INCA
CJNEA,#100,GO1
MOV20H,#00H
RET
GO1:
MOV20H,A
MOVB,#0AH
DIVAB
MOV31H,A
MOV30H,B
RET
DISP:
MOVR0,#30H;显示程序
MOVR3,#0BFH
MOVA,R3
PLAY:
MOVP2,A
MOVA,@R0
MOVDPTR,#DSEG1
MOVCA,@A+DPTR
MOVP0,A
LCALLDL1
MOVP2,#0FFH
MOVA,R3
RLA
JNBACC.2,LD1
INCR0
MOVR3,A
LJMPPLAY
LD1:
RET
DL1:
MOVR7,#02
DL:
MOVR6,#248
DJNZR6,$
DJNZR7,DL
RET
DELAY10:
MOVR4,#14H;延时10毫秒
DL00:
MOVR5,#0FFH
DL11:
DJNZR5,DL11
DJNZR4,DL00
RET
DSEG1:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
附录2:
系统原理图
图11系统原理图
如有侵权请联系告知删除,感谢你们的配合!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多功能 秒表 设计