课程设计名称:单片机原理及接口技术题目:基于单片机的秒表计时器设计学期:2014-2015学年第一学期专业:电气技术班级:姓名:学号:指导教师:辽宁工程技术大学课程设计成绩评定表课程设计任务书一、设计题目秒表计时器二、设计任务本课题以单片机为核心,设计和制作一个秒表计时器。
三、设计计划课程设计一周第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.1 89C51单片机 (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-12部分设计2.1 89C51单片机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-12.2晶体振荡电路89C51单片机内部的振荡电路是一个高增益反相放大器,引线XTAL1和XTAL2分别为反相振荡放大器的输入及内部时钟工作电路的输入和来自反相振荡器的输出,该反相放大器可以配置为片内振荡器。
这里选用51单片机的内部振荡方式,电路图如下:C2,C3起稳定振荡频率,快速起振的作用。
其中晶振采用12兆赫兹的,一个机器周期是1微秒。
方便计算初值等。
图2-32.4显示电路采用一个两位的LED数码管,LED是八段显示器,内部有7个条形发光二极管和1个小圆点发光二极管,根据各管的亮暗组成字符。
在用数码管显示时,有静态和动态两种选择,这里选用LED动态显示,用P0,P2,P2口位驱动显示,由于P0口没有上拉电阻,因此P0口需要外接上拉电阻才能输出高电平,这里使用8个240欧的电阻作为上拉电阻。
电路图如下:位控端用74HC573来驱动18 1930 3129912345678图2-42.5整体电路图图2-53程序设计3.1程序流程框图图3-13.2显示程序流程图图3-23.3汇编源程序NTA EQU 30HNTB EQU 31HKEY EQU 32HBUT BIT P1.6FLAG BIT P3.0ORG 00HLJMP STARTORG 0BHLJMP INTT0START:MOV KEY ,#00H MOV R3,#00HMOV P2,#10HMOV A, R3MOV B,#10DIV ABMOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,AACALL DELAY10MS MOV A,BMOV P2,#20HMOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,AMOV TMOD,#01HSETB ET0SETB EAWT: JB BUT,DKNJB FLAG,DKNLCALL DELAY10MSJB BUT,DKNINC KEYSETB FLAGMOV A,KEYCJNE A,#01,KN1SETB TR0MOV TH0,#9EHMOV TL0,#58HMOV NTA,#00HMOV NTB,#00HLJMP DKNKN1:CJNE A,#02H,KN2 CLR TR0LJMP DKNKN2:CJNE A,#03H,DKN MOV R3,#00HMOV P2,#10HMOV A, R3MOV B,#10DIV ABDA AMOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,AACALL DELAY10MS MOV A,BDA AMOV P2,#20HMOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,AMOV KEY,#00HDKN:JB BUT,WT2LJMP DONEWT2:CLR FLAGLJMP DONEDONE:MOV P2,#10H MOV A,R3MOV B,#10DIV ABMOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,AACALL DELAY10MS MOV A,BMOV P2,#20HMOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,AACALL DELAY10MS LJMP WTDELAY10MS:MOV R6,#20 D1:MOV R7,#20DJNZ R7,$DJNZ R6,D1RETINTT0: MOV TH0,#9EHMOV TL0,#58HINC NTAMOV A,NTACJNE A,#40,NEXTMOV NTA,#00HINC R3MOV A,R3CJNE A,#100,NEXTMOV R3,#00HNEXT: RETITABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END4调试说明4.1 概述上电开始时,显示“00”,第1次按下BUT(按键)后单片机秒表就开始计时。
第2次按BUT后,计时停止。
第3次按BUT后,计时归零。
4.2 电路原理图1)显示清零图4-12)计数停止图4-2心得体会在这次单片机课程设计中,我收获不少。
此次课程设计巩固了我的基础知识,提高了我的实际应用水平,锻炼了我的实际操作和动手能力,了解了51单片机的工作原理,学会使用有关仿真和汇编的软件;学会用软件调试与找出问题和解决问题;培养用多思维来思考解决问题。
合理运用所学知识培养动手实践能力。
然而,在这次设计中,我也发现了我许多的不足。
特别是在编程,仿真方面走了不少弯路。
功能扩展方面有阻碍。
但是,正因为这样让我更加勤奋的探索和专研,从而很多方面都已经有所提高,知识也掌握的更加全面。
在这次的课程设计中,我在数码管动态显示方面出现了一些阻碍,用汇编语言编程思维有点乱,导致写出来的程序仿真有些问题,后来通过查找资料和同学的帮助、老师的精心指导,我顺利完成了课程设计。
通过这次课程设计,我们获得了丰富的理论知识,极大地提高了实践能力,这将对我们以后的进一步学习这方面的知识有极大的帮助。
在以后的学习实践中,我将继续努力,完善自己,提高自己,更加严格要求自己,争取在学术上获得更大的进步。
同时我懂得在日常生活中增加知识储备的重要性,冰冻三次非一日之寒,好好积累知识,学以致用。
参考文献[1]王迎旭. 单片机原理与应用. 机械工业出版社,2009[2]张毅刚,彭喜元,彭宇.单片机原理及应用.高等教育出版社,2010[3]楼然苗. 51系列单片机设计实例. 北京航空航天大学出版社,2009[4]黄勤.计算机硬件技术基础实验教程.重庆大学出版社,2006[5]刘乐善.微型计算机接口技术及应用.华中科技大学出版社,2001[6]陈光东.单片微型计算机原理及接口技术.华中科技大学出版社,201116。