安徽电子信息职业技术学院课程
单片机秒
自动化的设计
安徽电子信息职业技术学院
《单片机应用技术》课程设计
题目:姓专班学名:业:级:号:指导教师:
设计完成日期2008年12月26日
i
安徽电子信息职业技术学院课程设计单片机秒表自动化的设计
摘要
本论文主要阐述了基于单片机AT89C51制作的秒表实现的运动员成绩计数及查询功能,而且仿真成功。
关键词:单片机秒表中断定时静态显示
参与完成的功能:我们这组有三位成员,我们在这个论文设计制作的过程中相互合作,而且分工明确。我主要参与论文功能实现的整个思路的构建。且完成次设计功能1的实现。
ii
安徽电子信息职业技术学院课程设计单片机秒表自动化的设计
一、绪言……………………………………………………………………………1
(一)设计任务………………………………………………………………3
(二)秒表控制方案选择…………………………………………………3
二、系统设计………………………………………………………………………4
(一)硬件电路设计…………………………………………………………4
(二)程序流程图……………………………………………………………4
(三)汇编语言程序设计……………………………………………………4
三、秒表控制器仿真……………………………………………………………5
(一)系统仿真………………………………………………………………5
(二)工作原理分析…………………………………………………………5结束语……………………………………………………………………………6参考文献………………………………………………………………………………8
iii
安徽电子信息职业技术学院课程设计单片机秒表的设计
一、绪言
(一)设计任务
1、秒表的起源
说道秒表的起源,那么就要说到时间的计量。古时候人们采用沙漏或其它的方法来记录时间。当然那不准确。随着科技的发展以及对体育事业的重视,机械秒表开始在早期的运动会上大放异彩,充当记录运动员成绩的工具。当然其仍存在很多不足。在发展就进入计算机对秒表的控制。其不仅可实现对时间自动化的精确控制,而且对运动员成绩的查询也更加方便。
2、早期秒表的控制
从采用一些简单的时间控制到机械计量,然后到计算机对时间的精确计量。这是随着秒表在竞技方面所要实现的要求分不开的。相信随着要求的不断提高,其发展将达到更高的程度!
3、本次设计要实现的目标。
a:用一个按键可依次记录两个运动员的成绩。
b:用另一个按键可对前记录的两个运动员成绩进行查询。
(二)秒表控制方案选择
1、秒表的控制方案论证
二、系统设计
(一)硬件电路设计
1、秒表控制线路图
采用AT89C51单片机控制秒表并实现实时显示计时,且可进行查询。单片机控制秒表的电路原理如图2-1所示。
1
安徽电子信息职业技术学院课程设计单片机秒表的设计
图2-1秒表控制线路
2、主要元器件选择
主要元器件选用型号和数量如下:
1个AT89C51(单片机)1个CRYSTAL(晶振)3个CAP(电容)1
个RES(电阻)2个7SEG-COM-CATHOD(共阴极数码管)2个BUTTON(按钮)
(二)程序流程图
1、内存单元分配
片内RAM30H—34H
主程序从RAM0000H开始存储,中断程序从RAM000B开始存储。
2、主程序流程图
按秒表控制方案要求,主程序应是完成秒表正常情况下运动员成绩的计时和查询。主程序流程图如下:
2
安徽电子信息职业技术学院课程设计开始SP1依次按四次功能1SP2依次按两次
功能2
结束
2、中断服务程序流程图单片机秒表的设计3
安徽电子信息职业技术学院课程设计
单片机秒表的设计
(三)汇编语言程序设计
1、主程序
TTAEQU30HTTBEQU31HSECEQU32HKEYT1EQU33HKEYT2EQU34HSP1BITP3.5SP2BITP3.0ORG00HLJMPSTARTORG0BHLJMPINT_T0START:MOVKEYT1,#00HMOVKEYT2,#00HMOVSEC,#00HMOVA,SECACALLDISPMOVTMOD,#02H;定时器0SETBET0;定时器0开中断SETBEA;CPU开中断WT1:JBSP1,WT1LCALLDELY10MS工作方式2
4
安徽电子信息职业技术学院课程设计JBSP1,WT1INCKEYT1MOVA,KEYT1CJNEA,#01H,KN1SETBTR0;启动定时器0MOVTH0,#38H;设置0.4MS定时初值MOVTL0,#38HMOVTTA,#00H循环初值的设置MOVTTB,#00HLJMPDKNCJNEA,#02H,KN2MOVR1,SECLJMPDKNCJNEA,#03H,KN3MOVR2,SECCLRTR0LJMPDKNCJNEA,#04H,DKNMOVSEC,#00HMOVA,SECACALLDISPMOVKEYT1,#00HJBSP2,WT2LCALLDELY10MSJBSP2,WT2INCKEYT2MOVA,KEYT2CJNEA,#01H,K1MOVA,R1ACALLDISPLJMPDKN1CJNEA,#02H,DKN1MOVA,R2ACALLDISP
JNBLJMPSP1,WT1$单片机秒表的设计KN1:KN2:KN3:WT2:MDD:K1:DKN:
DKN1:JNBSP2,$LJMPWT2INT_T0:INCTTAMOVA,TTACJNEA,#100,NEXT循环时间次数MOVTTA,#00HINCTTBMOVA,TTBCJNEA,#25,NEXTMOVTTB,#00HINCSECMOVA,SECCJNEA,#60,DONE;60秒循环MOVSEC,#00HDONE:MOVA,SECACALLDISP
5
安徽电子信息职业技术学院课程设计NEXT:RETITABLE:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHEND单片机秒表的设计
2、10MS延时子程序
DELY10MS:MOVR6,D1:MOVR7,DJNZR7,DJNZR6,RET#20#248$D1
3、显示子程序
DISP:MOVDIVMOVMOVCMOVMOVMOVMOVCMOVB,#10ABDPTR,#TABLEA,@A+DPTRP1,AA,BDPTR,#TABLEA,@A+DPTRP2,A
(一)系统仿真
在完成了秒表控制器硬件设计、样机组装和软件设计以后,便进入系统的调试阶段。系统的调试步骤和方法基本上是相同的,但具体细节和所采用的开发系统以及用户系统选用的单片机型号有关,如可选用Keil公司的开发系统。
1、Keil调试
6
安徽电子信息职业技术学院课程设计
单片机秒表的设计
图3-1程序调试完成图
2、Proteus调试
7
安徽电子信息职业技术学院课程设计
单片机秒表的设计
图3-2秒表联调效果图
在整个调试过程中出现了几个问题,初始显示不为00;计数时间过快;以及查询运动员成绩的过程中不能很好的执行。
解决方案:初始送入累加器A中数为00即可;把定时初值进行仔细的计算,将正确的定时初值和计数循环次数送入;还有不能正常的查询成绩是因为相关条件转移指令出错,经过调整,最后调试成功。
(二)工作原理分析
程序主要由三部分组成:主程序、延时程序以及显示程序。
主程序按键的计数主要是用一个标志位来记录按键的按动次数,使其执行所要执行的功能。
本设计的延时程序使用中断定时。即设置不同的定时初始值和循环计时次数。显示程序主要利用LED静态显示。
结束
8语
安徽电子信息职业技术学院课程设计单片机秒表的设计
完成情况:经过两个月的努力,完成了秒表控制方案的设计,用AT89C51单片机实现秒表控制方案。本设计还包含LED显示部分,可直接显示方便观察。所得收获:通过这次毕业设计,使我得到了一次用专业知识和专业技能去分析问题、解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及用汇编语言设计程序的思路技巧等方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。且通过这次设计也让我体会到其中的艰辛和快乐,对单片机这门课产生浓厚的兴趣。
参考文献
9