基于单片机的00秒99秒的秒表设计.docx
- 文档编号:23783603
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:34
- 大小:574.74KB
基于单片机的00秒99秒的秒表设计.docx
《基于单片机的00秒99秒的秒表设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的00秒99秒的秒表设计.docx(34页珍藏版)》请在冰豆网上搜索。
基于单片机的00秒99秒的秒表设计
课程设计
题目:
用单片机AT89C51设计一个2位的LED数码显示作为“秒表”
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
一、前言
21世纪是一个电子技术和电子元件有更大发展的世纪。
回顾百年来电子技术和电子工业发展的成就,举世瞩目。
作为一个电气专业的大学生,我们不但要有扎实的基础知识、课本知识,还应该有较强的动手能力。
现实也要求我们既精通电子技术理论,更要掌握电子电路设计、实验研究和调试技术。
课程设计就是一个理论联系实际的机会。
本次设计主要完成具备基本功能的电子秒表的理论设计,电子秒表是重要的记时工具,广泛运用于各行各业中。
作为一种测量工具,电子秒表相对其它一般的记时工具具有便捷、准确、可比性高等优点,不仅可以提高精确度,而且可以大大减轻操作人员的负担,降低错误率。
在设计中应用到数码管,数码管主要用于楼体墙面,广告招牌、高档的DISCO、酒吧、夜总会、会所的门头广告牌等。
特别适合应用于广告牌背景、立交桥、河、湖护栏、建筑物轮廓等大型动感光带之中,可产生彩虹般绚丽的效果。
用护栏管装饰建筑物的轮廓,可以起到突出美彩亮化建筑物的效果。
事实证明,它已经成为照明产品中的一只奇葩,绽放在动感都市。
二、设计题目和要求:
秒表
应用AT89C51的定时器设计一个2位的LED数码显示作为“秒表”:
显示时间为00~99s,每秒自动加1,设计一个“开始”键,按下“开始”键秒表开始计时。
设计一个“复位”键,按下“复位”键后,秒表从0开始计时。
三、设计目的:
1.进一步掌握AT89C51单片机的结构和工作原理;
2.掌握单片机的接口技术及外围芯片的工作原理及控制方法;
3.进一步掌握单片机程序编写及程序调试过程,掌握模块化程序设计方法;
4.掌握PROTEUS仿真软件的使用方法;
5.掌握LED数码管原理及使用方法。
6.掌握定时器、外部中断的设置和编程原理。
7.通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。
8.该课程设计通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、复位功能,并同时可以用数码管显示。
四、设计内容:
了解8051芯片的的工作原理和工作方式,使用该芯片对LED数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、清零功能,精确到1秒。
AT89C51单片机的主要工作特性:
·内含4KB的FLASH存储器,擦写次数1000次;
·内含28字节的RAM;
·具有32根可编程I/O线;
·具有2个16位可编程定时器;
·具有6个中断源、5个中断矢量、2级优先权的中断结构;
·具有1个全双工的可编程串行通信接口;
·具有一个数据指针DPTR;
·两种低功耗工作模式,即空闲模式和掉电模式;
·具有可编程的3级程序锁定定位;
AT89C51的工作电源电压为5(1±0.2)V且典型值为5V,最高工作频率为24MHz.
AT89C51各部分的组成及功能:
1.单片机的中央处理器(CPU)是单片机的核心,完成运算和操作控制,主要包括运算器和控制器两部分。
(1)运算器
运算器主要用来实现算术、逻辑运算和位操作。
其中包括算术和逻辑运算单元ALU、
2.累加器ACC、B寄存器、程序状态字PSW和两个暂存器等。
(1)ALU是运算电路的核心,实质上是一个全加器,完成基本的算术和逻辑运算。
算术运算包括加、减、乘、除、增量、减量、BCD码运算;逻辑运算包括“与”、“或”、“异或”、左移位、右移位和半字节交换,以及位操作中的位置位、位复位等。
暂存器1和暂存器2是ALU的两个输入,用于暂存参与运算的数据。
ALU的输出也是两个:
一个是累加器,数据经运算后,其结果又通过内部总线返回到累加器;另一个是程序状态字PSW,用于存储运算和操作结果的状态。
累加器是CPU使用最频繁的一个寄存器。
ACC既是ALU处理数据的来源,又是ALU运算结果的存放单元。
单片机与片外RAM或I/O扩展口进行数据交换必须通过ACC来进行。
B寄存器在乘法和除法指令中作为ALU的输入之一,另一个输入来自ACC。
运算结果存于AB寄存器中。
(2)控制器
控制器是识别指令并根据指令性质协调计算机内各组成单元进行工作的部件,主要包括程序计数器PC、PC增量器、指令寄存器、指令译码器、定时及控制逻辑电路等,其功能是控制指令的读入、译码和执行,并对指令执行过程进行定时和逻辑控制。
AT89C51单片机中,PC是一个16位的计数器,可对64KB程序存储器进行寻址。
复位时PC的内容是0000H.
(3)存储器
单片机内部的存储器分为程序存储器和数据存储器。
AT89C51单片机的程序存储器采用4KB的快速擦写存储器FlashMemory,编程和擦除完全是电器实现。
(4)外围接口电路
AT89C51单片机的外围接口电路主要包括:
4个可编程并行I/O口,1个可编程串行口,2个16位的可编程定时器以及中断系统等。
AT89C51的工作原理:
3.引脚排列及功能
AT89C51的封装形式有PDIP,TQFP,PLCC等,现以PDIP为例。
(1)I/O口线
·P0口8位、漏极开路的双向I/O口。
当使用片外存储器及外扩I/O口时,P0口作为低字节地址/数据复用线。
在编程时,P0口可用于接收指令代码字节;程序校验时,可输出指令字节。
P0口也可做通用I/O口使用,但需加上拉电阻。
作为普通输入时,应输出锁存器配置1。
P0口可驱动8个TTL负载。
·P1口8位、准双向I/O口,具有内部上拉电阻。
P1口是为用户准备的I/O双向口。
在编程和校验时,可用作输入低8位地址。
用作输入时,应先将输出锁存器置1。
P1口可驱动4个TTL负载。
·P28位、准双向I/O口,具有内部上拉电阻。
当使用外存储器或外扩I/O口时,P2口输出高8位地址。
在编程和校验时,P2口接收高字节地址和某些控制信号。
·P38位、准双向I/O口,具有内部上拉电阻。
P3口可作为普通I/O口。
用作输入时,应先将输出锁存器置1。
在编程/校验时,P3口接收某些控制信号。
它可驱动4个TTL负载。
(2)控制信号线
·RST复位输入信号,高电平有效。
在振荡器稳定工作时,在RST脚施加两个机器周期以上的高电平,将器件复位。
·EA/VPP外部程序存储器访问允许信号EA.
当EA信号接地时,对ROM的读操作限定在外部程序存储器,地址为0000H-FFFFH;当EA接VCC时,对ROM的读操作从内部程序存储器开始,并可延续至外部程序存储器。
在编程时,该引脚可接编程电压5V或12V。
在编程校验时,该引脚可接VCC。
·PSEN片外程序存储器读选通信号PSEN,低电平有效。
在片外程序存储器取指期间,当PSEN有效时,程序存储器的内容被送至P0口;在访问外部RAM时,PSEN无效。
·ALE/PROG低字节锁存信号ALE.在系统扩展时,ALE的下降沿将P0口输出的低8位地址锁存在外接的地址锁存器中,以实现低字节地址和数据的分时传送。
此外,ALE端连续输出正脉冲,频率为晶振频率的1/6,可做外部定时脉冲使用。
(3)外部晶振引线
·XTAL1片内振荡器反向放大器和时钟发生线路的输入端。
使用片内振荡器时,连接外部石英晶体和微调电容。
·XTAL2片内振荡器反相放大器的输出端。
当使用片内振荡器时,外接石英晶体和微调电容。
4.存储器组织和特殊功能寄存器
AT89C51的存储器将程序存储器和数据存储器分开,并有各自的存储空间和访问指令。
它有4个存储空间:
片内存储器、片外存储器、片内数据存储器及片外存储器。
4.1时钟电路和工作时序
(1)
振荡器电路原理
(2)振荡电路的接法
4.2LED数码管的结构和工作原理
LED数码管(LEDSegmentDisplays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。
LED数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。
位数有半位,1,2,3,4,5,6,8,10位等等....,LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。
图2是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。
颜色有红,绿,蓝,黄等几种。
LED数码管广泛用于仪表,时钟,车站,家电等场合。
选用时要注意产品尺寸颜色,功耗,亮度,波长等。
下面将介绍常用LED数码管内部引脚图。
图1这是一个7段两位带小数点10引脚的LED数码管
图2引脚定义
每一笔划都是对应一个字母表示DP是小数点.
数码管分为共阳极的LED数码管、共阴极的LED数码管两种。
下图例举的是共阳极的LED数码管,共阳就是7段的显示字码共用一个电源的正。
led数码管原理图示意:
图3引脚示意图
从上图可以看出,要是数码管显示数字,有两个条件:
1、是要在VT端(3/8脚)加正电源;2、要使(a,b,c,d,e,f,g,dp)端接低电平或“0”电平。
这样才能显示的。
共阳极LED数码管的内部结构原理图图4:
图4共阳极LED数码管的内部结构原理图
共阴极LED数码管的内部结构原理图:
图5共阴极LED数码管的内部结构原理图
表1.1显示数字对应的二进制电平信号
LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。
A、静态显示驱动:
静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的I/O口进行驱动,或者使用如BCD码二-十进位转换器进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O口多,如驱动5个数码管静态显示则需要5×8=40根I/O口来驱动,要知道一个89S51单片机可用的I/O口才32个呢。
故实际应用时必须增加驱动器进行驱动,增加了硬体电路的复杂性。
B、动态显示驱动:
数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
4.3设计思路(方案)
该实验要求进行计时并在数码管上显示时间,则可利用DVCC系列单片机微机仿真实验系统中的芯片8032(芯片的功能类似于芯片AT89C51,其管脚功能也和AT89C51的管脚功能类似)中的P3.2管脚做为外部中断0的入口地址,并实现“开始”按键的功能;将P3.3做为外部中断1的入口地址,并实现“清零”按键的功能;将P3.0做为数据信号DATA输入的入口地址;将P3.1做为时钟信号CLK输入的入口地址。
定时器T0作为每秒加一的定时器;定时器T1作为“快加”键的定时器。
其中“开始”按键当开关由1拨向0(由上向下拨)时开始计时;“清零”按键当开关由1拨向0(由上向下拨)时数码管清零,此时若再拨“开始”按键则又可重新开始计时。
4.4系统总体方案及硬件设计(方案论证、设计、调试及仪器说明)
4.4.1系统总体方案
本系统采用AT89C51单片机为中心器件,利用其定时器/计数器定时计数的原理,结合硬件电路如电源电路,晶振电路,复位电路和显示电路,以及一些按键电路等来设计计数器,将软硬件有机结合起来,其中软件系统采用汇编语言编写程序,包括显示程序,计数程序,中断,硬件系统利用Protues强大的功能来实现,简单易于观察,在仿真中就可以观察到实际的工作状态。
4.4.2硬件电路设计
1)晶振电路
MCS-51单片机内部的晶振电路是一个高增益反相放大器,引用XTAL1和XTAL2分别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振荡器的输出,该反向放大器可以配置为片内振荡器。
这里,我们选用51单片机12MHZ的内部振荡方式,电路如下:
电容器C1、C2起稳定振荡频率,快速起振的作用,C1和C2可以在20-100PF之间取值,这里取20PF,接线时要使晶体振荡器X1尽可能接近单片机。
2)按键部分电路接线
在按键电路中,我们可以在I/O口上直接按键,或者通过I/O口设计一个键盘,然后通过键盘扫描程序判断是否有按键按下等。
此系统是一个小系统,有足够的I/O口可以使用,为了使程序简化,我们采用按键电路,用部分P1口做开关,P1.0开始,P1.1暂停,P1.2清零,P1.3复位。
3)显示电路
显示电路我们采用的是数码管显示电路。
用2个共阴极LED显示,LED是七段式显示器,内部有7个条形发光二极管和1个小圆点发光二极管组成,根据各二极管的亮灭组合成字符。
在用数码管显示时,我们有静态和动态两种选择,静态显示程序简单,显示温度,但是占用端口比较多;动态显示所使用的端口比较少,可以节省单片机的I/O口。
在设计中,我们采用LED动态显示,用P0口驱动显示。
由于P0口的输出极是开漏电路,用它驱动时需要外接上拉电阻才能输出高电平。
4.5软件设计
4.5.1软件设计概述
在软件设计中,一般采用模块化的程序设计方法,它具有明显的优点,把一个多功能的复杂的程序划分成多个简单的、单一的程序模块,有利于程序的测试和调试,有利于程序的优化和分工,提高了程序的阅读性和可靠性,使程序的结构一目了然。
4.5.2程序流程图
1)系统主程序流程图2)定时器中断T0流程图
4.5.3子程序模块设计
1)显示精度为1秒程序
MAIN:
MOVR0,#20
MOVTMOD,#01H
MOVTH0,#3CH
MOVTL0,#0B0H
MOVDPTR,#TABLE
SETBEA
SETBET0
2)延时程序
DELAY:
MOVR6,#01H
DL0:
MOVR5,#61H
4.6秒表汇编程序
;***********************************************
;本程序实现秒表从0s计到99s
K_SBITP1.0;秒表开始控制位
Z_TBITP1.1;秒表暂停控制位
Q_LBITP1.2;秒表清零控制位
F_WBITP1.3;秒表复位控制位
SECONDEQU30H
TCNTEQU34H
ORG0000H
SJMPSTART
ORG000BH
LJMPINT_T0
START:
MOVDPTR,#TABLE
MOVSECOND,#00H
MOVTCNT,#00H
MOVTMOD,#01H
SETBP1.0
SETBP1.1
SETBP1.2
SETBP1.3
JBK_S,$;秒表开始控制位
MOVTH0,#3CH;fosc=12MHz,定时50毫秒
MOVTL0,#0B0H
MOVIE,#82H
SETBTR0
;****************************************************
;对秒表的两位显示进行控制
A1:
LCALLDISPLAY
MOVA,SECOND
CJNEA,#99,A1;判断是否加到99秒
CLEAR:
MOVSECOND,#0
;***********************************************
;定时器中断服务程序,对秒计数
INT_T0:
JNBZ_T,ZT;秒表暂停控制位
NEXT:
MOVTH0,#3CH
MOVTL0,#0BH
INCTCNT
MOVA,TCNT
CJNEA,#20,RETUNE;计时1秒用#20
INCSECOND
MOVTCNT,#0
MOVA,SECOND
CJNEA,#99,RETUNE
MOVSECOND,#0
RETUNE:
RETI
;******************************************
;显示控制子程序
DISPLAY:
JNBQ_L,CLEAR;秒表清零控制位
JNBF_W,START;秒表复位控制位
MOVA,SECOND;显示秒表的两位
MOVB,#10
DIVAB
CLRP3.6
MOVCA,@A+DPTR
MOVP0,A
LCALLDELAY
SETBP3.6
MOVA,B
CLRP3.7
MOVCA,@A+DPTR
MOVP2,A;片选信号
LCALLDELAY
SETBP3.7
ZT:
JNBK_S,NEXT;秒表暂停控制位
RET
TABLE:
DB3FH,06H,5BH,4FH,66H
DB6DH,7DH,07H,7FH,6FH
DELAY:
MOVR6,#10
D1:
MOVR7,#250
DJNZR7,$
DJNZR6,D1
RET
END
电路总图:
4.7Protues软件仿真
Protus仿真软件可以看做是构建了一个特殊的单片机系统,只要将所写程序的HEX文件导入该单片机系统,就可以它他一句句的执行所写的指令,也可以让它与Keil实现联调,程序有问题可以随时改,帮助快速调试程序。
五、课程设计心得体会
通过这次课程设计,我学会了应用AT89C51单片机的定时器及数码管等外设,设计出了“99秒表”,基本上完成了本次课程设计的基本要求。
在本次课程设计中,我通过查阅书籍,上网查阅资料等手段,克服了种种困难,最终设计出符合要求的原理电路,并且能够仿真实现。
虽然成功完成了本次课设,但是在设计的过程中遇到了很多困难,不过还是通过种种手段逐一克服了。
通过这次设计我想会为我后面的毕业设计会少点困难,以后在工作中也能够有更多的经验好借鉴。
在这段日子里,我实践、思考、反思、总结,所得收获都已经成为大学生涯中的宝贵财富。
或许大学生活中的片断随着岁月的流逝难免被遗忘,但是这段课程设计的日子相信仍会是记忆深刻,它作为我们走向社会的第一步,承载了即将面对现实和挑战的心情,必将难忘课设的一些心得体会。
最后衷心的谢谢老师和同学对我的帮助。
六、参考文献
●《单片机原理及接口技术》,高等教育出版社出版,李全钊、迟荣强等编著。
●《Proteus教程——电子线路设计、制板与仿真》,清华大学出版社出版,朱清慧、张凤蕊、翟天嵩、王志奎编著。
●《基于Proteus的80C51单片机实例教程》,电子工业出版社出版,李学礼主编。
●《51系列单片机应用与实践教程》,北京航空航天大学出版社出版,周向红主编。
●《单片机应用及技术》,电子工业出版社
●《单片机原理及应用》,基于Proteus单片机系统设计及应用,何宏、王红君、刘瑞安、张志宏编著。
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 00 99 秒表 设计