当前位置:文档之家› 单片机课程设计 秒表计时器

单片机课程设计 秒表计时器

在用数码管显示时,有静态和动态两种选择,这里选用LED动态显 示,用P0,P2,P2口位驱动显示,由于P0口没有上拉电阻,因此P0口需 要外接上拉电阻才能输出高电平,这里使用8个240欧的电阻作为上拉电 阻。
电路图如下:位控端用74HC573来驱动
图2-4
2.5整体电路图
图2-5
3程序设计
3.1程序流程框图
MOV R3,#00H MOV P2,#10H MOV A, R3 MOV B,#10 DIV AB DA A MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A ACALL DELAY10MS MOV A,B DA A MOV P2,#20H MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A MOV KEY,#00H DKN:JB BUT,WT2 LJMP DONE WT2:CLR FLAG LJMP DONE DONE:MOV P2,#10H MOV A,R3 MOV B,#10 DIV AB MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A ACALL DELAY10MS MOV A,B MOV P2,#20H MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A ACALL DELAY10MS LJMP WT DELAY10MS:MOV R6,#20
D1:MOV R7,#20 DJNZ R7,$ DJNZ R6,D1 RET INTT0: MOV TH0,#9EH MOV TL0,#58H INC NTA MOV A,NTA CJNE A,#40,NEXT MOV NTA,#00H INC R3 MOV A,R3 CJNE A,#100,NEXT MOV R3,#00H NEXT: RETI TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END
综述
单片机是集CPU,RAM,ROM,定时,计数和多种接口于一体的 微控制器。他体积小,成本低,功能强,广泛应用于智能产品和工业自 动化上。而51单片机是各单片机中最位典型和最有代表性的一种。中国 使用单片机的历史只有短短的30年,在初始的短短五年时间里发展极为 迅速。纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各 种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的 实时控制和数据 处理,以及我们生活中广泛使用的各种智能IC卡、电 子宠物等,这些都离不开单片机。
3程序设计
………………………………………………………………8
3.1程序流程框图
………………………………………………………8 3.2显示程序流程图 ……………………………………………………9 3.3汇编源程序 …………………………………………………………10 4调试说明 ……………………………………………………………13 4.1概 述…………………………………………………………………13 4.2电路原理 图…………………………………………………………13 心得体会 ………………………………………………………………15 参考文献 ………………………………………………………………16
课程设计名称:单片机原理及接口技


目:基于单片机的秒表计
时器设计
学 期:2014-2015学年第一学期 专 业: 电气技术 班 级: 姓 名: 学 号: 指导教师:
辽宁工程技术大学
课程设计成绩评定表
学期
20142015(一)
姓名
专 业 电气技术 班 级
课程名称
单片机原理设计
三、设计计划
课程设计一周 第1天:查找资料,方案论证。 第2天:各部分方案设计。 第3天:各部分方案设计。 第4天:撰写设计说明书。 第5天:校订修改,上交说明书。
四、设计要求
1、绘制软件流程图并利用汇编语言编写软件程序; 2、绘制系统硬件原理图;
3、形成设计报告。
指 导 教师: 教研室主任:
2014年 5月 26 日
设定初值 判断按键 按下两次 按下三次 按下一次 停止计数 开始计数 恢复归零 显示数据 超过100 恢复初始化
图3-1
3.2显示程序流程图
初始化显示参数
开始
取第一位待显数 取下一位显示数据 输出位码到P2口 取显示数据查表转换代码到P0口 两位显示完了?
延时 图3-2
3.3汇编源程序
NTA EQU 30H NTB EQU 31H KEY EQU 32H BUT BIT P1.6 FLAG BIT P3.0 ORG 00H LJMP START ORG 0BH
评定 指标
评定指标
知识创新性 理论正确性 内容难易性 结合实际性 知识掌握程度 书写规范性
工作量 总成绩
评语:
分值
20 20 15 10 15 10 10 100
得分
任课教师
时 间 2014年 1 月 10 日
备注
课程设计任务书
一、设计题目
秒表计时器
二、设计任务
本课题以单片机为核心,设计和制作一个秒表计时器。
LJMP INTT0 START:MOV KEY ,#00H MOV R3,#00H MOV P2,#10H MOV A, R3 MOV B,#10 DIV AB MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A ACALL DELAY10MS MOV A,B MOV P2,#20H MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A MOV TMOD,#01H SETB ET0 SETB EA WT: JB BUT,DKN JB FLAG,DKN LCALL DELAY10MS JB BUT,DKN INC KEY SETB FLAG MOV A,KEY CJNE A,#01,KN1 SETB TR0 MOV TH0,#9EH MOV TL0,#58H MOV NTA,#00H MOV NTB,#00H LJMP DKN KN1:CJNE A,#02H,KN2 CLR TR0 LJMP DKN KN2:CJNE A,#03H,DKN
(6) 定时器/计数器:2个16位的可编程计数器/定时器
(7) 通用串口: 全双工通用异步接收器/发送器
(8) 振荡器:89C51的外接晶振与内部时钟振荡器位CPU提供时钟
信号
(9) 总线控制:89C51对外提供若干控制总线,便于系统扩展。
AT89C51 管脚图如下:
图2-1
2.2晶体振荡电路
89C51单片机内部的振荡电路是一个高增益反相放大器,引线 XTAL1和XTAL2分别为反相振荡放大器的输入及内部时钟工作电路的 输入和来自反相振荡器的输出,该反相放大器可以配置为片内振荡器。
89C51单片机
……………………………………………………3
2.2晶体振荡电路
………………………………………………………4
2.3硬件复位电路
………………………………………………………5
2.4显示电路
……………………………………………………………6
2.5整体电路图
…………………………………………………………7
本课题以单片机为核心,设计和制作一个秒表,开始时,显 示“00”,第1次按下按钮后就开始计时;第2次按按钮后,计时停止; 第3次按按钮后,计时归零。根据设计要求设计出了符合要求的秒表计 时器。
1 程序方案
1.1方案论证
时钟电路常用的有内部时钟方式和外部时钟方式,但因为本设计中 只需要一片单片机,所以采用内部时钟方式比较简单。按钮电路中 的“复位”按钮是按键手动复位,它有电平和脉冲两种方式,比较电路 的复杂程度,本设计选择了按钮电平复位电路。但根据显示方式的不同 选择,我们可以有几种方案:
关于数码管显示的字形码定义,以便在显示时调用即可。编写秒表程
序,使其通过I/O的输出在数码管上显示秒表的计时情况,通过I/O口的
输入与中断程序级按键程序实现INT中断功能和控制秒表
的“停”与“走”。
晶振电路 AT89C51 单片机 显示电路
2部分设计
复位电路 图1-1
2.1 89C51单片机
MCS—51系列单片机是8位单片机产品,89C51是其中的代表,基
方案一:使用静态显示方式。静态显示方式下的数码管的显示字符 一经确定,相应锁存器锁存的断码输出將维持不变,直到送入另一个字 符的断码为止。因而此设计中使用的显示位数使用了三个8位并行I/O 口。如果另外想扩展单片机功能,则能使用的输出管脚很是有限。
方案二:使用动态显示方式。这个显示方式是将所有显示位的段码 线的相应段并联在一起,由一个8位I/O口控制,而各位的共阴或共阴极 分别由相应的I/O线控制,形成各位的分时选通。这种显示方式,简化 了硬件电路,特别在多位数码管显示时尤为突出。
4调试说明 4.1 概述
上电开始时,显示“00”,第1次按下BUT(按键)后单片机秒表就 开始计时。第2次按BUT后,计时停止。 第3次按BUT后,计时归零。
4.2 电路原理图
1)显示清零
图4-1
2)计数停止
图4-2
心得体会
在这次单片机课程设计中,我收获不少。此次课程设计巩固了我的 基础知识,提高了我的实际应用水平,锻炼了我的实际操作和动手能
1.2总体方案
由课程设计的要求和任务,采用的汇编语言编程,设计秒表要求一
秒定时,采用了定时器T0和(存储单元NTA)扩展来定时,即用单片机
内部的定时器T0。先将时钟初始化,赋入初值25ms定时,循环40次来
进行1秒定时。然后由R3来进行加一运算,然后将其值通过P1(段显
示),P2口(位显示)在数码管上进行显示时,在程序中首先定义一个
在这次的课程设计中,我在数码管动态显示方面出现了一些阻碍, 用汇编语言编程思维有点乱,导致写出来的程序仿真有些问题,后来通 过查找资料和同学的帮助、老师的精心指导,我顺利完成了课程设计。 通过这次课程设计,我们获得了丰富的理论知识,极大地提高了实践能 力,这将对我们以后的进一步学习这方面的知识有极大的帮助。在以后 的学习实践中,我将继续努力,完善自己,提高自己,更加严格要求自 己,争取在学术上获得更大的进步。同时我懂得在日常生活中增加知识 储备的重要性,冰冻三次非一日之寒,好好积累知识,学以致用。
相关主题