单片机课程设计秒表计时器文档格式.docx
《单片机课程设计秒表计时器文档格式.docx》由会员分享,可在线阅读,更多相关《单片机课程设计秒表计时器文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
论文题目
基于单片机的秒表计时器设计
评定指标
评定指标
分值
得分
知识创新性
20
理论正确性
内容难易性
15
结合实际性
10
知识掌握程度
书写规范性
工作量
总成绩
100
评语:
任课教师
时间
2014年1月10日
备注
课程设计任务书
一、设计题目
秒表计时器
二、设计任务
本课题以单片机为核心,设计和制作一个秒表计时器。
三、设计计划
课程设计一周
第1天:
查找资料,方案论证。
第2天:
各部分方案设计。
第3天:
第4天:
撰写设计说明书。
第5天:
校订修改,上交说明书。
四、设计要求
1、绘制软件流程图并利用汇编语言编写软件程序;
2、绘制系统硬件原理图;
3、形成设计报告。
指导教师:
教研室主任:
2014年5月26日
摘要
本设计利用89C51单片机设计秒表计时器,通过LED显示秒十位和个位,在设计过程中用一个存储单元作为秒计数单元,当一秒到来时,就让秒计数单元加一,通过控制使单片机秒表计时,暂停,归零。
设计任务包括控制系统硬件设计和应用程序设计。
关键词:
51单片机;
74HC573;
LED数码管
综述………………………………………………………………………1
1程序方案………………………………………………………………2
1.1方案论证……………………………………………………………2
1.2总体方案……………………………………………………………2
2部分设计……………………………………………………………3
2.189C51单片机……………………………………………………3
2.2晶体振荡电路………………………………………………………4
2.3硬件复位电路………………………………………………………5
2.4显示电路……………………………………………………………6
2.5整体电路图…………………………………………………………7
3程序设计………………………………………………………………8
3.1程序流程框图………………………………………………………8
3.2显示程序流程图……………………………………………………9
3.3汇编源程序…………………………………………………………10
4调试说明……………………………………………………………13
4.1概述…………………………………………………………………13
4.2电路原理图…………………………………………………………13
心得体会………………………………………………………………15
参考文献………………………………………………………………16
综述
单片机是集CPU,RAM,ROM,定时,计数和多种接口于一体的微控制器。
他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。
而51单片机是各单片机中最位典型和最有代表性的一种。
中国使用单片机的历史只有短短的30年,在初始的短短五年时间里发展极为迅速。
纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。
本课题以单片机为核心,设计和制作一个秒表,开始时,显示“00”,第1次按下按钮后就开始计时;
第2次按按钮后,计时停止;
第3次按按钮后,计时归零。
根据设计要求设计出了符合要求的秒表计时器。
1程序方案
1.1方案论证
时钟电路常用的有内部时钟方式和外部时钟方式,但因为本设计中只需要一片单片机,所以采用内部时钟方式比较简单。
按钮电路中的“复位”按钮是按键手动复位,它有电平和脉冲两种方式,比较电路的复杂程度,本设计选择了按钮电平复位电路。
但根据显示方式的不同选择,我们可以有几种方案:
方案一:
使用静态显示方式。
静态显示方式下的数码管的显示字符一经确定,相应锁存器锁存的断码输出將维持不变,直到送入另一个字符的断码为止。
因而此设计中使用的显示位数使用了三个8位并行I/O口。
如果另外想扩展单片机功能,则能使用的输出管脚很是有限。
方案二:
使用动态显示方式。
这个显示方式是将所有显示位的段码线的相应段并联在一起,由一个8位I/O口控制,而各位的共阴或共阴极分别由相应的I/O线控制,形成各位的分时选通。
这种显示方式,简化了硬件电路,特别在多位数码管显示时尤为突出。
1.2总体方案
由课程设计的要求和任务,采用的汇编语言编程,设计秒表要求一秒定时,采用了定时器T0和(存储单元NTA)扩展来定时,即用单片机内部的定时器T0。
先将时钟初始化,赋入初值25ms定时,循环40次来进行1秒定时。
然后由R3来进行加一运算,然后将其值通过P1(段显示),P2口(位显示)在数码管上进行显示时,在程序中首先定义一个关于数码管显示的字形码定义,以便在显示时调用即可。
编写秒表程序,使其通过I/O的输出在数码管上显示秒表的计时情况,通过I/O口的输入与中断程序级按键程序实现INT中断功能和控制秒表的“停”与“走”。
图1-1
2部分设计
2.189C51单片机
MCS—51系列单片机是8位单片机产品,89C51是其中的代表,基本模块包括以下几个部分:
(1)CPU:
89C51的CPU是8位的,另外的89C51内部有1个处理器
(2)ROM:
4KB的片内程序存储器,存放开发调试完成的应用程序
(3)I/O口:
P0—P3,共4个口32条内部中断,2个外部中断
(4)RAM:
256B的片内数据存储器,容量小,但作用大
(5)中断系统:
共5个中断源,3个内部中断,2个外部中断
(6)定时器/计数器:
2个16位的可编程计数器/定时器
(7)通用串口:
全双工通用异步接收器/发送器
(8)振荡器:
89C51的外接晶振与内部时钟振荡器位CPU提供时钟信号
(9)总线控制:
89C51对外提供若干控制总线,便于系统扩展。
AT89C51管脚图如下:
图2-1
2.2晶体振荡电路
89C51单片机内部的振荡电路是一个高增益反相放大器,引线XTAL1和XTAL2分别为反相振荡放大器的输入及内部时钟工作电路的输入和来自反相振荡器的输出,该反相放大器可以配置为片内振荡器。
这里选用51单片机的内部振荡方式,电路图如下:
C2,C3起稳定振荡频率,快速起振的作用。
其中晶振采用12兆赫兹的,一个机器周期是1微秒。
方便计算初值等。
图2-2
2.3硬件复位电路
图中P1.6接了控制按键,实现对秒表电路的控制。
图2-3
2.4显示电路
采用一个两位的LED数码管,LED是八段显示器,内部有7个条形发光二极管和1个小圆点发光二极管,根据各管的亮暗组成字符。
在用数码管显示时,有静态和动态两种选择,这里选用LED动态显示,用P0,P2,P2口位驱动显示,由于P0口没有上拉电阻,因此P0口需要外接上拉电阻才能输出高电平,这里使用8个240欧的电阻作为上拉电阻。
电路图如下:
位控端用74HC573来驱动
图2-4
2.5整体电路图
图2-5
3程序设计
3.1程序流程框图
图3-1
3.2显示程序流程图
图3-2
3.3汇编源程序
NTAEQU30H
NTBEQU31H
KEYEQU32H
BUTBITP1.6
FLAGBITP3.0
ORG00H
LJMPSTART
ORG0BH
LJMPINTT0
START:
MOVKEY,#00H
MOVR3,#00H
MOVP2,#10H
MOVA,R3
MOVB,#10
DIVAB
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP0,A
ACALLDELAY10MS
MOVA,B
MOVP2,#20H
MOVCA,@A+DPTR
MOVTMOD,#01H
SETBET0
SETBEA
WT:
JBBUT,DKN
JBFLAG,DKN
LCALLDELAY10MS
JBBUT,DKN
INCKEY
SETBFLAG
MOVA,KEY
CJNEA,#01,KN1
SETBTR0
MOVTH0,#9EH
MOVTL0,#58H
MOVNTA,#00H
MOVNTB,#00H
LJMPDKN
KN1:
CJNEA,#02H,KN2
CLRTR0
KN2:
CJNEA,#03H,DKN
DAA
MOVDPTR,#TABLE
MOVKEY,#00H
DKN:
JBBUT,WT2
LJMPDONE
WT2:
CLRFLAG
DONE:
MOVA,R3
MOVP0,A
LJMPWT
DELAY10MS:
MOVR6,#20
D1:
MOVR7,#20
DJNZR7,$
DJNZR6,D1
RET
INTT0:
MOVTH0,#9EH
INCNTA
MOVA,NTA
CJNEA,#40,NEXT
INCR3
CJNEA,#100,NEXT
NEXT:
RETI
TABLE:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
4调试说明
4.1概述
上电开始时,显示“00”,第1次按下BUT(按键)后单片机秒表就开始计时。
第2次按BUT后,计时停止。
第3次按BUT后,计时归零。
4.2电路原理图
1)显示清零
图4-1
2)计数停止
图4-2
心得体会
在这次单片机课程设计中,我收获不少。
此次课程设计巩固了我的基础知识,提高