




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 烟 台 南 山 学 院单片机课程设计题目 秒表系统设计 姓 名: 所在学院: 所学专业: 班 级: 学 号: 指导教师: 完成时间: 电话: 摘要本设计是一个由AT89C51单片机控制,利用单片机的定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及按键计时的多功能秒表系统。单片机目前已经无处不在,与我们生活密不可分并渗透入生活的各个方面。单片机的特点是体积小,集成度高,其内部的结构是普通的计算机系统的简化。在增加一些外围电路之后,就能成为一个完整的系统。在这个设计中我们是以AT89C51单片机为主要器件利用它的定时器/计数器定时和记数的原理,结合dvcc实验箱上的集成电路芯片80
2、32、LED数码管以及实验箱上的按键来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。其中本实验设计了四个开关按键:其中一个按键按下去时以1秒加一开始计时,即秒表开始键(本实验中当开关从1变为0时开始计时),另一个按键按下去时暂停计时,使秒表停留在原先的计时(本实验中当相应开关从1变为0时即停止计时),第三个按键按下去时清0(本实验中当相应开关从1变为0时即停止计时),第四按键按下去则是以每10ms秒快速加一计时(本实验中当开关从1变为0时开始计时)。本实验中开始时都要使各按键回到各初始位置,即都处于1状态。目录 第1章 概述.31.1 课程设计题目
3、.31.2实验要求.31.3 课程设计的意义.31.4 课程设计的内容及思路.31.5 本人所做工作.3第2章 硬件设计.32.1 AT89S51芯片概述.42.2管脚说明.52.3 LED数码管显示器概述.52.4 接口电路.82.5硬件连线图.9第3章 软件设计.103.1数字秒表工作流程图.103.2 工作源程序.10第4章 心得体会.14第5章 参考文献.15第1章 概述1.1 课程设计的题目秒表系统设计用AT89C51设计一个2位LED数码显示“秒表”,显示时间为0099秒,每秒自动加一。另设计一个“开始”按键和一个“复位”按键。另外增加一个“暂停”按键和一个“快加”按键(每10ms
4、快速加一)1.2实验要求了解8051芯片的的工作原理和工作方式 ,使用该芯片对LED数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、清零功能,精确到0.1秒。要求选用定时器的工作方式,画出使用单片机控制LED数码管显示的电路图,并在实验箱实现其硬件电路,并编程完成软件部分,最后调试秒表起动、停止、清零功能。1.3 课程设计的意义 该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、快加功能,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义。1.4 课程设计的内容及思路用AT89C51设计一个2位
5、LED数码显示“秒表”,显示时间为0099秒,每秒自动加一。另设计一个“开始”按键和一个“复位”按键。再增加一个“暂停”按键和一个“快加”按键(每10ms快速加一)。按键说明:按“开始”按键,开始计数,数码管显示从00开始每秒自动加一;按“复位”按键,系统清零,数码管显示00;按“暂停”按键,系统暂停计数,数码管显示当时的计数;按“快加”按键,系统每10ms快速加一,即数码显示管在原先的计数上快速加一。该实验要求进行计时并在数码管上显示时间,则可利用DVCC系列单片机微机仿真实验系统中的芯片8032(芯片的功能类似于芯片AT89C51,其管脚功能也和AT89C51的管脚功能类似)中的P3.2管
6、脚做为外部中断0的入口地址,并实现“开始”按键的功能;将P3.3做为外部中断1的入口地址,并实现“清零”按键的功能;将P3.0做为数据信号DATA输入的入口地址;将P3.1做为时钟信号CLK输入的入口地址。定时器T0作为每秒加一的定时器;定时器T1作为“快加”键的定时器。其中“开始”按键当开关由1拨向0(由上向下拨)时开始计时;“清零”按键当开关由1拨向0(由上向下拨)时数码管清零,此时若再拨“开始”按键则又可重新开始计时。1.5 本人所做工作根据相关的单片机材料,利用所学的单片机知识,结合DVCC系列单片机微机仿真实验系统中的软件和硬件(集成电路芯片8032,七段数码管,开关电路及时钟信号电
7、路,按键等),编写能够实现该项目的软件程序,最后将软、硬件有机的结合起来,进行有效的调试,达到完成该实验课程设计的目的要求。第2章 硬件设计2.1 AT89S51芯片概述AT89C51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方
8、案。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 其工作电压在4.5V,一般我们选用5V电压。外形及引脚排列如图1所示 图1:89C51的核心电路框图主要性能:(1)与MCS-51微控制器产品系列兼容;(2)片内有4KB可在线重复编程的快闪擦写存储器;(3)数据保留时间:10年;(4)宽工作电压范围:Vcc可为2.7V到6V;(5)全静态工作:可从0Hz至16MHz;(6)三级程序存储器锁定;(7)128×8位内部RAM;(8)32条可编程I/O线;(9)两个16位定时器/计数器;(10)中断结构具有5个中断源和2个优先级;(11)可编程全双工串行道口;(12
9、)空闲状态维持低功耗和掉电状态保存存储内容;2.2 管脚说明(1)电源及时钟引脚(4个)Vcc: 电源接入引脚Vss:接地引脚XTAL1:晶振震荡器接入的一个引脚(采用外部振荡器时,此引脚接地);XTAL2:晶体振荡器的另一个引脚(采用外部振荡器时,此引脚作为外部振荡器信号的输入端)。(2)控制线引脚(4个)RST/Vpd:复位信号输入引脚/备用电源输入引脚;ALE:地址锁存允许信号输出引脚/编程脉冲输入引脚:EA:内外存储器选择引脚/片外EPROM编程电压输入引脚;PSEN:外部程序存储器选通信号输出引脚。(3)并行I/O引脚P0.0-P0.7:一般I/O口引脚或数据/低位地址总线复用引脚;
10、P1.0-P1.7:一般I/O口引脚;P2.0-P2.7:一般I/O口引脚或高位地址总线引脚;P3.0-P3.7:一般I/O口引脚或第二功能引脚2.3 LED数码管显示器概述本设计中采用的是7SEGCOM ANODE型号数码管,它是一种半导体发光器件,其基本单元是发光二极管。实物如图2所示。图2数码管(1)数码管的分类数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)
11、的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。LED数码管有两种连接方法如下:共阳极接法。把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。 共阴极接法。把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接
12、地。每 图3个发光二极管的阳极通过电阻与输入端相连。如图3所示。LED数码显示器的显示段码。 为了显示字符,要为LED显示器段码(或称字形代码),组成一个8字形字符的7段,再加上1个小数点位,共计8段,因此提供给LED显示器的显示段码为1个字节。各段码位的对应关系如下表所示.十六进制数及空白字符与P的显示段码段码位 D7 D6 D5 D4 D6 D2 D1 D0 显示段 pd g f e d e b a 字型 共阳极段码 共阴极段码 字型 共阳极段码 0 C0H 3FH 9 90H 1 F9H 06H A 88H 2 A4H 5BM B 83H 3 B0H 4FH C C6H 4 99H 66
13、H D A1H 5 92H 6DH E 86H 6 82H 7DH F 84H 7 F8H 07H 空白 FFH 8 80H 7FH P 8CH (2)数码管的驱动方式数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。 静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×840根I/O端口来驱动,要知
14、道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
15、通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。2.4 接口电路利用12M晶振的一个机器周期为1微秒,通过循环产生1秒时间延迟,扫描单片机中所存放的时间的值(可正记时,也可倒计时),并通过输出显示在数码管上。如图4图4P0.0P0.7对应了两个接数码管的A,B,C,D,E,F,G和小数点位
16、,P2.6接显示个位数的数码管的3、8引角,P2.7则接十位数的。P3.6、P3.7分别接按键。2.5硬件连线图图5 硬件连线图第3章 软件设计3.1数字秒表工作流程图 图6 流程图3.2 工作源程序OUTBIT EQU 08002H ;位控制口OUTSEG EQU 08004H ;段控制口LSEC EQU 31H ;SEC EQU 32H ;MIN EQU 33H ;FLAG BIT 20H.0 ;位定义KEY1 BIT P3.6 ;KEY2 BIT P3.7 ;ORG 0000H ;LJMP START ;初始程序入口地址ORG 000BH ;LJMP TIMER0 ;加一子程序入口地址O
17、RG 0060HSTART: LCALL INITIAL ;调用启动LCM子程序进行初始化LOOP: LCALL DISPLAY ;退出时钟调整时键释放等待 JNB KEY1,WAIT ;判断KEY1.等待 JNB KEY2,RESET ; LJMP LOOP ;CONTROL: CLR TR0 ;关定时器 LCALL DISPLAY ; JNB KEY1,CONTROL ; CPL FLAG ; JB FLAG,BEGIN ; SETB TR0 ;重置定时器 LJMP LOOP ;WAIT: LCALL DISPLAY ; JNB KEY1,CONTROL ; LJMP LOOP ;BEGI
18、N: CLR TR0 ; LJMP LOOP ;RESET: JNB TR0,CLE ; LCALL LOOP ;CLE: LCALL CLEAR ; LJMP LOOP ;INITIAL: LCALL CLEAR ; SETB FLAG ; MOV DPTR,#TAB ;MOV TMOD,#01H ;定时器0,方式一MOV TL0,#0F0H ;MOV TH0,#0D8H ;SETB EA ;开中断SETB ET0 ;开T0中断RET ; TIMER0:CLR TR0 ; MOV TL0,#0F0H ; MOV TH0,#0D8H ; 重新赋值 SETB TR0 ; INC LSEC ; M
19、OV A,LSEC ; CJNE A,#100,EXIT ; MOV SEC,#00H ; INC SEC ; MOV A,SEC ; CJNE A,#60,EXIT ; MOV SEC,#00H ; INC MIN ; MOV A,MIN ; CJNE A,#60,EXIT ; MOV MIN,#00H ;EXIT: SETB TR0 ; RETI ;CLEAR: MOV A,#00H ; MOV LSEC,A ; MOV SEC,A ; MOV MIN,A ; RET ;DISPLAY: MOV R3,#01H ; MOV R0,#31H ; MOV R4,#3 ;选择3组工作寄存器DIS
20、PLAY1: MOV A,R0 ;MOV B,#0AH ;DIV AB ; MOV R5,A ;MOV A,B ;MOV DPTR,#TAB ;MOVC A,A+DPTR ;查字形码表MOV DPTR,#OUTSEG ;设置显示起始位置MOVX DPTR,A ;设定显示位置MOV DPTR,#OUTBIT ;MOV A,R3 ;MOVX DPTR,A ;显示数据LCALL DELAY100US ;MOV A,#00H ;MOVX DPTR,A ;MOV A,R3 ;RL A ;MOV R3,A ;MOV A,R5 ;MOV DPTR,#TAB ;MOVC A,A+DPTR ;MOV DPTR,
21、#OUTSEG ;MOVX DPTR,A ;MOV DPTR,#OUTBIT ;MOV A,R3 ;MOVX DPTR,A ;LCALL DELAY100US ;MOV A,#00H ;MOVX DPTR,A ;MOV A,R3 ;RL A ;MOV R3,A ;INC R0 ;DJNZ R4,DISPLAY1 ;RET ;DELAY100US:MOV R7,#50 ;循环50次DJNZ R7,$ ;r7- 1不为0,执行本指令RET ;查表指令TAB: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH DB 7DH, 07H, 7FH, 6FH第4章 心得体会通过这次课程设计我
22、学到了很多,当你拿到一个题目时应认真审题,看懂题目的要求!选择适当的课题,不益太简单或者太难,做到既能把课题完成又能锻炼自己的能力。根据课题要求,复习相关的知识,查询相关的资料。根据实验条件,找到适合的方案,找到需要的元器件及工具,准备实验。根据课程设计的要求和自己所要增加的功能写好程序流程图,在程序流程图的基础上,根据芯片的功能写出相应的程序。然后再进行程序调试和相应的修改,以达到能够实现所要求的功能的目的。还要根据实验的实际情况,添加些额外程序来使系统更加的稳定,如开关的消震荡(采用延迟)。程序要尽量做到由各个子程序组成,在有些程序后面最好加注释,这样在程序出错的检查过程中可以更容易查找的到,也更简洁,更明白易懂。该实验的程序可以参考DVCC系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 云计算与游戏技术创新与应用研究-洞察阐释
- 基于深度学习的精准医疗诊断框架-洞察阐释
- 从个人数据保护到社会信用体系构建区块链技术的应用
- 医疗信息化进程中的电子病历管理优化
- 医疗科技与医护职业发展关系探讨
- 利用区块链技术推动食品安全投资增长
- AI在智慧城市健康管理中的应用
- 医疗行业云安全防护策略探讨
- 医疗数据互通西安医疗信息共享平台实践与成效
- 医疗大数据的安全性与隐私保护探讨
- 福格行为模型
- 2021年四川绵竹高发投资有限公司招聘笔试试题及答案解析
- 银级考试题目p43测试题
- 有限空间作业及应急物资清单
- 思想道德与法治教案第一章:领悟人生真谛把握人生方向
- 61850报文解析-深瑞版-131016
- 0-6岁儿童随访表
- 江西新定额2017土建定额说明及解释
- 国家电网有限公司十八项电网重大反事故措施(修订版)-2018版(word文档良心出品)
- 语文四年级下册《失落的一角》绘本阅读 课件(共61张PPT)
- 余甘果的栽培与加工工艺
评论
0/150
提交评论