

下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、标准文档单片机系统课程设成绩评定表计设计课题指导教师意见:成绩:签名:年 月曰标准文档单片机系统课程设计目录第 1 章 数字式秒表的设计介绍. 51.1设计任务及功能要求说明. 51.2工作原理及其方法.5第 2 章数字式秒表硬件系统的设计.72.1数字式秒表硬件系统各模块功能简要介绍.72.1.1 AT89S52 简介. .72.1.2时钟电路.82.1.3键盘电路. 82.1.4复位电路. .92.1.5驱动及显示电路. 92.1.6单片机下载口电路. 102.2数字式秒表的硬件系统设计图. 11.2.2.1电路原理图.11.2.2.2 PCB 图. 11.第 3 章 数字式秒表软件系统的
2、设计. .11.3.1数字式秒表使用单片机资源情况.11标准文档3.2主程序流程图.12.3.3中断服务程序流程图. 123.4显示程序流程图.143.5软件系统程序清单. .14第 4 章设计总结. 154.1数字式秒表的设计结论及使用说明. 154.2程序仿真与结果. .154.3误差分析及解决方法. 16.总结. 16参考文献.17附录.17第 1 1 章数字式秒表的设计介绍1.1 设计任务及功能要求说明由单片机接收小键盘控制递增计时, 由LED显示模块计时时间, 显示格式 为XX(分) :XX (秒).XX,精确到0.01s的整数倍。绘制系统硬件接线图, 并进行系统仿真和实验。画出程序
3、流程图并编写程序实现系统功能。使用单片机AT89S52作为主要控制芯片,以四位一体共阳极数码显示管通过 三极管驱动作为显示部分,设计一个具有特定功能的数字式秒表。该数字式秒表 上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。该数字式 秒表通过按键控制可实现开始计1 1时、暂停计时、连续计时、清零和停止功能。1.21.2 工作原理及其方法使用AT89S52单片机作为核心控制部件,采用12M晶体振荡器及微小电容构 成振荡电路;采用S8550作为数码管的驱动部分;用两个四位一体共阳极或共阴 极数码显示管作为显示部分,构成数字式秒表的主体结构,配合独立式键盘和复 位电路完成此秒表的复位
4、、计时、连续、清零、停止各项功能。对于时钟,它有两方面的含义:一是指为保障系统正常工作的基准振荡定 时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的 快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是 用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要 用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要 求很高的情况下,通常采用这种方法。LED数码显示器有如下两种连接方法:共阳极接法:把发光二极管的阳极连标准文档在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻标准文档与输入端相连。共阴极接
5、法:把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。每个发光二极管的阳极通过电阻与输入端相连。键盘部分方案:键盘控制采用独立式按键,每个按键的一端均接地,另一端 直接和P1口相连,在按键和P1口之间通过10K电阻与+5V电源相连。键盘通过 检测输入线的电平状态就可以很容易地判断哪个键被按下了, 这种方法操作速度 高而且软件结构很简单,比较适合按键较少或操作速度较高的场合, 这种独立式 接口的应用很普遍。显示部分方案:显示部分采用动态显示。数码管动态显示接口是单片机中应 用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起
6、,另外为每个数码管的公共极COM曾加位 选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有 数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形, 取决于单片 机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打 开,该位就显示出字形,没有选通的数码管就不会亮。 通过分时轮流控制各个数 码管的的COMS,就使各个数码管轮流受控显示, 这就是动态驱动。动态显示是 利用人眼视觉暂留特性来实现显示的。 事实上,显示器上任何时刻只有一个数码 管有显示。由于各数码管轮流显示的时间间隔短、 节奏快,人的眼睛反应不过来, 因此看到的是连续显示的现象。为防止闪烁
7、延时的时间在1ms左右,不能太长,也不能太短。本设计可采用P0口直接驱动八段数码管显示。此方案成本低,而 且单片机的I/O口占用较少,可以节约单片机接口资源,而且功耗更低。此电路采用单片机的P0口作为数码显示管的段控,采用P2口作为数码管的 位控。8个独立式键盘分别接在单片机的P1口上,以及其他部分构成数字式秒 表的硬件电路。通过编写程序使用单片机的定时计数器,以及软件延时,中断资 源来实现秒计时和相关控制。此数字式秒表的硬件整体结构如图1-1所示。图 1-1 数字式秒表的硬件结构图标准文档第 2 2 章数字式秒表硬件系统的设计2.1 数字式秒表硬件系统各模块功能简要介绍2.1.1 AT89S
8、52 简介(1)与MCS-51产品相兼容;(2)具有8KB可改写的Flash内部程序存储器,可写/擦1000次;(5) 256字节内部RAM(6) 32根可编程I/O口;(7) 3个16位定时器/计数器。(8) 8个中断源;(9)可编程中串行口;(10)低功耗空闲和掉电方式。它的价格便宜,功能强大,能耗低。很大程度上减少总电路的复杂性,提高了所 设计系统的稳定性。其芯片引脚图如图2-1所示。标准文档图 2-1 单片机 AT89S52 引脚图17T4TF10P11P12P13P14P15F16F17U1INT1INTOT1TO3119EA/VPXIX2RESETfRDTO35燹373635343
9、332212223242526272?.101130C2971514o123456722222222RXDTXDALE/PPSENpopopopopopopoppopopopopopopop标准文档2.1.2 时钟电路时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复 杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控 制下严格地按时序进行工作。在AT89S52芯片内部有一个高增益反相放大器,其 输入端为芯片引脚XTAL1输出端为引脚TXAL2在芯片的外部通过这两个引角 跨接晶体振荡器和微调电容,形成反馈电路, 就构成了一个稳定的自激振荡器。此电路采用12MH
10、Z的石英晶体。 时钟电路如图2-2:图 2-2 时钟电路2.1.3 键盘电路本设计使用独立式键盘接在单片机的P1口上但通过软件赋予其中三个按键 功能,其中S2是计时开始按键,第二功能为停止,S3为计时暂停按键,第二功 能为继续计时按键,S4是清零按键。 注意使用时只有在暂停状态下才能继续计 时, 只有在停止状态下才能清零,在停止时不能继续计时,在暂停时不能清零。 键盘电路如图2-3:2.1.4 复位电路复位是单片机的初始化操作, 其主要功能是把PC初始化为0000H使单片 机从0000H标准文档单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运 行出错或操作错误是系统处于死锁状态时,
11、 为摆脱困境,也需要按复位键以重新 启动。RST引脚是单片机复位信号的输入端,复位信号是高电平有效,其有效时间 应持续24个振荡周期(即2个机器周期)以上,若使用频率为6MHZ勺晶振,则 复位信号持续时间应超过4us才能完成复位操作。复位操作有上电自动复位和按 键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的。 按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的。在本设计中采用 了按键电平复位方式,其复位电路如图2-4所示:2.1.5驱动及显示电路数码管实际上是由二极管构成发光二级管正常工作时,其两端正向压降约为1.6v, 正向电流约为10mA为了使数码管达到一定的亮
12、度而又不至于由于电流 过大而损坏,我们使用三极管S8550作为数码管的驱动,同时在P0口和P2口上标准文档串上470欧姆的电阻。此处使用四位一体共阴极数码管,由于驱动电路决定了此 处共阴极数码管和共阳极数码管均可以采用而且均采用共阳极代码来编写显示 程序,具体电路如图2-5所示。图 2-5 数码管驱动及显示电路图2.1.6 单片机下载口电路下载口主要是一个十芯的座子,可以通过使用USB下载线对单片机进行程序 下载。方便整个软件的设计,也能让我们使用起来更加方便。图 2-6 单片机下载口电路图标准文档2.2数字式秒表的硬件系统设计图221电路原理图此处电路原理图以及PCB原理图的绘制均使用pro
13、tel99软件完成,Protel99是基于Win95/Win NT/Win98/Win2000的纯32位电路设计制版系统。Protel99提供了一个集成的设计环境,包括了原理图设计和PCB布线工具,集成的设计文 档管理,支持通过网络进行工作组协同设计功能。 根据硬件接线要求设计绘制电 路原理图及PCB具体电路图见附录A与附录B。2.2.2 PCB 图PCB图设计时,首先要使元器件尽量少,这样既可以节约材料,又可以是布 线更加短,减少干扰,同时还应注意尽量减少线路之间的寄生电容和电感, 布线时需要将线宽设置得比较宽这样可以提高腐蚀电路板时的成功率,焊盘大小也要设置的比较大,这样在腐蚀环节和焊接环
14、节比较容易成功。不易出现短线的现象和焊盘剥离的现象。双面布线时芯片和针脚多的元件需将焊接点置于底层, 这样才能比较方便的焊接。制作电路板PCB图见附录B。第 3 3 章数字式秒表软件系统的设计3.1 数字式秒表使用单片机资源情况本次电子钟设计除了了使用单片机工作所必须的硬件资源(如连接晶振的引 脚XTAL1和XTAL2复位引脚RESET外,对单片机的硬件资源还做了具体的安 排。(1) .P0口:P0.0-P0.7作为数码管显示器的段控。.P1口:P1.0-P1.3作为独立式键盘的输入端。.P2口:P2.0-P2.7分别控制数码管LED0-LED7勺位控码驱动。(4) .定时/计数器:使用定时器
15、0工作方式2实现数字式计数器的运行。(5) .专用寄存器:定时器控制寄存器TCON通过设置该寄存器TR0位的状态来 控制定时/计数器0的启动/停止;中断允许寄存器IE,通过设置该寄存器EA/ET0位的状态来设置定时/计数器0中断允许/禁止;定时/计数器工作方式寄存器TMOD设置定时/计数器0的工作方式。标准文档3.2 主程序流程图图 3-1 主程序流程图3.3 中断服务程序流程图图 3-2 中断服务程序流程图标准文档3.4 显示程序流程图图 3-3 显示程序流程图3.5 软件系统程序清单按照流程图应用软件keil汇编语言编程实现秒表功能。程序见附录Co标准文档第 4 4 章设计总结4.1数字式
16、秒表的设计结论及使用说明通过设计和调试, 数字式秒表能顺利完成各项功能。 上电或复位后显示“P.” 提示符,此时按1键便可开始计时。在计数状态下,按下2键即可实现暂停,再 次按下2键即可实现继续计数,在计数状态下按下1键,实现计数停止,在停止 状态下按下3键,便可实现计数清零。计数状态下按下清零键,无效。4.2程序仿真与结果我们是在Keil软件里编写程序并编译通过才能被硬件电路所应用。Keil的功能比较强大但还是有一定的缺点。他编译过程中他只能检查出所编写的语法错 误,所以我们一步一步的去在硬件电路里仿真去达到我们所设计要求的功能。经仿真修改和完善均已达到设计要求“P.”显示,电子钟准备状态与
17、电子钟自动 运行状态的仿真如下图所示。(1).“P.”显示如图4-1所示。图 4-1“P”显示图(2).数字式秒表准备状态仿真的显示如图4-2所示图 4-2 准备计时状态(3) .数字式秒表运行状态的仿真如图4-3所示标准文档0H 时I-H-I-H-H. -H-I-H-I-H图4-34.3误差分析及解决方法我们可以发现数字式秒表计数一段时间的我们的标准时间相比较出现了误 差,所设计的数字式秒表比我们的标准时间要慢, 而且相比较的时间越长他的时 差越大。经过分其主要原因与硬件和软件都有关。软件原因:我们从外部中断请求有效到转向中断区入口地址所需的机器周期 数来计算中断时间,51系列单片机最短响应
18、时间为3个机器周期。在一般情况 下中断响应时间通常无需考虑,但在精确定时的应用场合需知道中断响应时间, 以保证定时的精确控制。硬件原因:单片机的时钟信号是由外部的振荡电路所提供, 在芯片的外部通 过接XATL1与XATL2这两个引角跨接晶体振荡器和微调电容, 形成反馈电路,就 构成了一个稳定的自激振荡器。因为电子原件不可以就有我们所设计的那么理想 (电容的容量,振晶的输出频率)所以会造成我们的时间准确。针对这样的问题我们就能只能从上述两个方面入手去解决。软件方面我们可 以通过计算设计子程序去减少响应的时差。 硬件部分我们可以采用一些稳定,精 确度比较高的电子元件去完善,但是在最后调试出的还是有
19、误差但我尽可能的减 少差误差接近理想。总结:同过这几天的实验设计,让自己对 AT89S52 单片机有了更深的了 解,其具有计时开始、暂停及清零功能,计时最大值为 59 分59.99 秒,计时精度为 0.01 秒。利用 Proteus 和 Keil 软件进 行了仿真,达到了预期的效果。整体电路的计时精度高,电路结构简单, 抗干扰能力强,具有广泛的应用前景。作为仅仅上 了一个学期单片机课后就看这些课程设计题目,感觉压力比较 大,毕竟自己还是初学者,对各方面都不是了解的很透彻, 因为 都看上去都比较有难度,熟悉了单片机的内容后觉得还是可以做 的出来了, 一开始不知道从哪里开始下手,于是问了一些人上网
20、 查了点资料,有些是c 编还有些是汇编,于是参考了一下,也和 别人一起探讨了一下,在不断地求知中前进,最终编成了一个完 整的程序,是自己对与多练有了跟进一步的认识,明白动手的重 要性,努力走的更远,尽自己的力为社会做一点贡献,也为自己创 造一个未来!标准文档参考文献1李朝青.单片机原理及接口技术M.北京:北京航空航天大学出版社,1988.1 Li Zhaoqi ng. SCMTheory and In terface Tech no logy M. Beiji ng: BeijingAerospace Uni versity Press, 1988.2李勋等.单片机实用教程M.北京:北京航空航
21、天大学出版社,20002 Li Xun and so on. microc on troller Practical Guide M. Beiji ng:Beiji ng Aerospace Un iversity Press, 20003王幸之等.单片机应用系统抗干扰技术M.北京:北京航空航天大学出版社,19993 Wangxing the other. microcomputer applicati on system in terfere neetech no logy M. Beiji ng: Beiji ng Aerospace Un iversity Press, 19994何为民
22、.低功耗单片微型计算机系统设计M.北京:北京航空航天大学出版 社,19944 What the people.low-power sin gle-chip micro-computer system desig nM. Beiji ng: Beijing Aerospace Un iversity Press, 1994李杏春等.8090单片机原理及实用接口技术M.北京:北京航空航天大学出 版社,19965Li Xin gch un such .8090 SCMTheory and practicalin terfacetech no logyM. Beiji ng: Beijing Aero
23、space Un iversity Press, 1996附录 A 原理图标准文档eno eRfotSBnW,订mNI BF .-O WHS 200订最I管资S B口载下1-J-路电灯水流2nmccv2_yt2_yt2NOC源电Deo u 3Jf-TLBR备94-ArR鲁194-2ArCV678901618P3EW11P2T R-LP5P|VRKBflIONK3P nnz pfeLAH3PPPPPPPPIPPP 3PP PPL;LX1AN2TAPPPPPPPPT0 N10PVX2 FRWO一罩标准文档附录 B 程序清单;项目名称:秒表;设计者:高金科;;设计日期:2013年12月;LED数码管
24、显示器设定;P0.7-P0.0段控线,接LED的显示段dp,g,f,e,d,c,b,a;P2.7-P2.0位控线从左至右(LED7,LED6,LED5,LED4,LED3,LED2,LED1,LEDQ);显示缓冲区设定从左至右依次为78H,79H,7AH,7BH,7CH,7DH,7EH,7FH;独立式键盘设定与功能;8个按键S1至S8分别依次接在P1.0至P1.7口线;K0的功能为复位;K1的功能为启动/停止(标识符为22H.0当它为1时启动,为0时停止);K2的功能为暂停/继续(标识符为22H.1当它为1时暂停,为0时继续);K3的功能为清零;常数表格;DISBH系统提示符P.字型代码序号表
25、);TAB(共阳数码管字型代码表);子程序;;TIME_1M(定时1ms子程序);;KEY键扫描子程序);KEYCHULI(P口数据处理子程序);DISP(数码管显示子程序);DL(2毫秒延时子程序);;ADD01入口地址为R0);存储器内容的安排;;堆栈栈底7FHH;20H作为按键标志(20H.0 20H.7分别对应的是按键K1 K8);专用寄存组1,用在显示子程序中;系统起始程序区ORG 0000HSTART: LJMP MAINORG 000BHLJMP PDJW;系统监控程序区标准文档ORG 0030HMAIN: MOV PSW, #00HMOV SP, #7FH;确立堆栈区标准文档M
26、OV RO, #20HMOV R7,#96MOV TMOD, #01H SETB EASETB ETOML: MOV R0,#00HINC R0DJNZ R7, MLTSF: MOV DPTR, #DISBH代码表首地址MOV R5,#08HMOV R0,#78HDISPTSF:CLR AMOVC A, A+DPTRMOV R0, AINC R0INC DPTRDJNZ R5, DISPTSFKEY0: LCALL DISPLCALL KEYJB20H.0,K1JB20H.1,K2JB20H.2,K3LJMPKEY0KEY00: LCALL KEY LCALL DISPJB 20H.2, K3
27、LJMP KEY00MOV7DH,#12HMOV7FH,#10HMOV78H,#00HMOV79H,#00HK1: JB22H.1, KEY0;如果此时为暂停状态,本次按键K1无效CPL22H.0JB22H.0, K01;高电平则计时CLRTR0;低电平则停止LCALL DISPLJMPKEY00;从零开始计时;RAM区首地址;RAM区单元个数;系统初始化后提示符“P.”字符K01: MOV 7AH, #12H标准文档PDJW: PUSH PSWMOV7BH,#00HMOV7CH,#00HMOV7EH,#00HMOV7FH,#00HLCALL DISPMOVTHO,#0D8HMOVTLO,#O
28、FOHK2: JB 22H.0, K21状态则此次按键无效LJMP KEYOK21: CPL 22H.1JB 22H.1, K22SETBTROLJMP KEYOK22: CLR TROLCALL DISPLJMP KEYOK3: JB 22H.O, KEYOMOV RO, #79HLCALL CLROOMOV RO, #7CHLCALL CLROOMOV RO, #7FHLCALL CLROOLJMP KEYO;启动定时器;判断秒表是否启动,如不是启动;继续计时;暂停秒表;只有当停止是,清零键才有效;秒表清零PUSHACCMOVTMOD, #01HSETBRS1CLRRSOMOVHO, #0
29、D8HMOVLO,#OFOHMOVRO,#79HLCALL ADD01CJNER2,#99,RETTMOVRO, #7CH;定时器以工作方式1工作;设定组号为2组;判断1秒到没SETB TROLJMP KEYO标准文档RETT: POP ACCPOP PSWRETI;常数表格区;系统初始化后提示符“P.”字符代码表;DISBH: DB 10H,10H,10H,10H,10H,10H,10H,11H;提示符“P.”字符序号;显示字符段选码表(共阳极代码)TAB: DB 0C0H, 0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H;0-8DB 90H, 88H,83H,0C6
30、H,0A1H,86H,8EH,0FFH,0CH,0BFH;9,A,B,C,D,E,F,灭,p.,-子程序区;ADD01: MOV A,R0DECR0SWAPAORLA,R0ADDA,#01HDAAMOVR2,AANLA,#0FHMOVR0,AMOV A,R2ANLA,#0F0HSWAPAINCR0MOVR0,ARETCLR00: MOV R0,#00HDEC R0MOV R0,#00HRET;键扫描子程序KEY:LCALL KEYCHULILCALL ADD01CJNER2,#60,RETTLCALL CLR00MOVR0, #7FHLCALL ADD01CJNER2,#60H,RETTLCALL CLR00;判断60毫秒到没;判断60分到没;调P1口数据处理子程序标准文档JZ EXIT;没有键按下,转返回LCALL DISP;调显示子程序去抖动LCALL DISPLCALL KEYCHULI;调P1口数据处理子程序JZ EXIT;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 多彩团建社团活动策划计划
- 班级活动效果评估计划
- 幼儿园科学与技术手工课程计划
- 班级团队建设活动的选取计划
- 河北省石家庄市井陉矿区贾庄镇学区贾庄中学八年级地理上册 2.2 气候教学实录(2) 新人教版
- 2025年竞业协议签署模板
- 2025年生化免疫制品项目发展计划
- 提高学校安全等级的有效方式
- 六年级品德与社会上册 3.1 从丝绸之路到WTO教学实录1 冀教版
- 2025年强力不粘钩项目合作计划书
- 项目投资法律意见书
- 18 《文言文二则 铁杵成针》 课件(共19张PPT)
- 人力资源服务机构年检申请报告
- 第六章港澳台学前教育的发展课件
- 资产传承法商产说会阳光升课件
- 东营银行2023年度招聘160名高校毕业生历年试题(常考点甄选)含答案带详解析
- 护理伦理学(第二版)高职PPT完整全套教学课件
- 急诊科运用PDCA循环提高预检分诊的规范性品管圈成果汇报
- 中国环境标志
- 火场供水-课件
- 2023年汽车修理工(初级)历年真题附答案(难、易错点剖析)
评论
0/150
提交评论