百分之一秒计时器设计_第1页
百分之一秒计时器设计_第2页
百分之一秒计时器设计_第3页
百分之一秒计时器设计_第4页
百分之一秒计时器设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章秒计时器总体设计课程设计是单片机课程教学的最后一个环节,是对学生进行全面的系统的训练。进行课程设计可以让学生把学过的比较零碎的知识系统化,真正的能够把学过的知识落到实处,能够开发简单的系统,也进一步激发了学生再深一步学习的热情,因此课程设计是必不少的,是非常必要的。1.1设计目的设计目的单片机的基本原理及相关的简单应用。掌握用单片机设计系统的一般步骤。了解LED数码管的基本知识和驱动方法。4.掌握单片机系统各个组成部分的作用以及分布位置。5.学会运用单片机的硬件资源。1.2设计任务和要求任务和要求任务:用 单片机和中小规模集成芯片设计 秒计时器要求:.计时精度1-20秒。.位6数码显示,分别表示分、秒、1/1秒0、1/1秒0。0.有两个按键分别控制秒表的归零、停止。用汇编语言编程,用 仿真。1.3总体设计方案.硬件设计方案方案:该系统采用51系列单片机AT89C51作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。MCS-51单片机特点如下:(1)可靠性好:单片机按照工业控制要求设计,抵抗工业噪声干扰优于一般的CPU,程序指令和数据都可以写在ROM里,许多信号通道都在同一芯片,因此可靠性高、易扩充。(2)单片机有一般电脑所必须的器件,如三态双向总线,串并行的输入及输出引脚,可扩充为各种规模的微电脑系统。(3)控制功能强:单片机指令除了输入输出指令,逻辑判断指令外还有更丰富的条件分支跳跃指令。其原理框图如图1.所1示:图1.硬1件设计原理框图.软件设计方案通过汇编语言编写程序来实现设计任务与要求,总体设计方案图如图1.所2示:软件设计原理框图

第2章单片机应用系统简介单片机的应用系统随着用途不同,它们的硬件和软件结构差别很大,但系统设计的方法和步骤基本上是相同的。一般包括总体设计、硬件设计、软件设计、仿真调试、固化程序、应用系统独立运行等步骤。2.单1片机结构单片机的功能结构正如我们所知,单片机是属于三总线结构, 单片机功能方框图如图所示:控制信号地址/数据控制信号地址/数据图2.单1片机内部结构框图单片机内容结构单片机的内部结构如图所单片机的内部结构如图所2示,从图中看出,它具有以下特征;适于控制应用的8位56字节片内数据存储器,分高低两个12字8节4K字节片内程序存储器64KB程序存储器空间64KB数据存储器空间4个位共 根双向并可按位寻址的I/O口线两个16位定时/计数器

一个全双工的串行接口有5个中断源片内时钟振荡器具有布尔处理(位处理)能力6"EhLEE-,E'EIXT-L1图2.单2片机内部结构堆栈指针SP.□‘,、1L-I:r6"EhLEE-,E'EIXT-L1图2.单2片机内部结构堆栈指针SP.□‘,、1L-I:r (RX)中断、串行、通道和定时器模块定时和

逻辑控制器件一口锁存器TDI-U图卜-口驱动器2单片机的封装形式、引脚定义及功能封装系列单片机具有双列直插式和方形两种封装。系列单片机引脚功能引脚分布:如图2.所3示为双列直插式引脚分布图引脚功能:工作电源电源地访问-外-部-存-储-器时作为低8位地址锁存控制信号;在对

编程时作为编程脉冲输入;在不访问外部存储器和非编程状态下,该脚输出频率为1/单6片机晶振频率的方波信号,该信号,可作为时钟脉冲,但在访问数据存储器时会丢失一个脉冲外部程序存储器读选通信号——访问程序存储器控制信号。当为低电平时,只读外部存储器,当为高电平时则先读内部程序存储器,再读外部程序存储器;这个引脚在编程时接编程电压——复位信号,对系统复位信号要——片内振荡电路输入端——片内振荡电路输出端输入输出端口VSSPOJOABOPOJiJJlP02ABEP0.34I:3P"旬二P0.5AB5fOJAl:?'pnyai5■:?.S::?.d卬占LALR::h;

:.」:图2.双3列直插式引脚分布图3定时/计数器1定.时/计数器结构单片机内部设有两个位定时计数器,简称为定时器()和定时器(1定时器/计数器的结构如图 所示:TMOD--方-式控制寄存器,用于设定定时/计数器的工作方式TCON--定-时器控制寄存器,用于启动定时/计数器IE--中-断允许控制寄存器:定时/计数器是微机的中断源

定时器0TH3TL3Q溢JTCON(88H)中断中断定时器0TH3TL3Q溢JTCON(88H)中断中断启动作方式T0(P35单片机内部定时/计数器的结构2工.作原理定时计数功能选择:当/=0时,为定时器功能,此时,与相连(计数脉冲为机器周期);当/=时,为计数功能,此时,与相连(计数脉冲从或口输入)。定时计数器设置:定时/计数器设置由工作方式控制寄存器( O定时控制寄存器( )以及中断允许寄存器(E共同完成。4键盘接口技术键盘分两类:独立连接多键盘和矩阵式键盘,如图2.所5示。1独.立式键盘独立式按键结构的键盘是最简单的键盘电路,每个键独立接入一根输入线。这种键盘的优点是结构简单、使用十分方便,目前这种结构的键盘应用还相当普遍,这种键盘的缺点是随着键数数量的增加所占用的口线也增加。独立式按键结构的键盘在没有键按下时,数据输入线均为高电平,当有键按下时,与之对应的数据线将变成低电平。因此可用位指令判别是否有键按下。2行.列式键盘口线,独立式键盘虽然结构简单,使用方便,但每一个按键开关要占一根因此在按键数较多时,采用行列式键盘技术。口线,图2.独5立式键盘行列式键盘的结构及原理①行列式键盘的结构图2.所6示为行列式键盘的基本结构。它由键盘开关矩阵、输出(行线)锁存器、输入(列线)缓冲器三部分组成。在具体组成电路时,有以下几种组合方式:直接使用的键盘电路。的 口输出具有锁存器,输入具有缓冲器,因此应用 口直接与行线与列线相连就可以组成行列式键盘。如图 所示,是由口组成的大键盘。图中左示的是普通接法,右示为带中断的键盘接法。利用 口和译码器的接口电路利用串行口的键盘接口电路图为由 口与串行口组成的键盘电路。②行列式键盘的工作原理:尽管构成行列式键盘有多种形式,但它们的工作原理是相同的,现以图2.为8例来说明:行线. 。为输出,列线1 .为输入。先使第一行(。)为“”,其余行为“”。读输入口1 .的状态,若输入缓冲器的状态全部为“”,则表示所在行无键按下, 使一下行线为“”,其余行线为“”,扫描下一行,这样在1 .循环进行。若输入缓冲器不全为“”,说明所在行有键按下,停止当前行线扫描,转入到列线扫描,列线1 .为“”状态的列表示对应列有键按下。这样,行线与列数交叉键就是扫描到的按键。4、8-7Lb:图 口与串行口组成的行列式键盘③键扫描方式:程控扫描方式: 从执行程序就开始了键盘的扫描,等待来是键盘的命令。这种程控扫描方式,适用单任务多分支结构。定时扫描方式:在多任务应用系统中,既要执行当前任务,又要及时接受键盘命令,定时扫描方式适应这种需要。具体做法是:在程序初始化时,先对定时计数器进行设置,使其每 中断一次,每次中断, 将去扫描一次键盘,若两次中断扫描到有键按下(这里考虑了消抖动), 将对键作相应的处理。中断扫描方式:采用中断扫描方式必需有外部中断接口,当有键按下时,产生中断请请求,响应中断,在中断服务程序扫描键盘,作相应处理。这是多任务应用系统常用的一种方式。5显示接口技术1.显示器结构与原理如图所示为显示器。在单片机系统中,通常用数码显示器来显示各种数字或符号。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。八段显示器由个发光二极管组成。基中个长条形的发光管排列成“”字形,另一个点置于右下角作为显示小数点用。显示器有共阴和共阳两种结构,显示器各笔划段名和安排位置相同。当二极管导通时,相应的笔划段发亮,由发亮的笔划段组合而显示的各种字符。在单片机接口中,单片机口线须接。的限流电阻。共阳图 显示器显示接口技术显示电路分静态显示和动态显示两类:(1)静态显示接口技术所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的接口用于笔划段字形代码。单片机只要把要显示的字形代码发送到接口电路就可以了,静态显示电路有以下几种形式:

①通过的口线的显示接口电路如图 所示,数码管既可直接接单片机的口线(如果是口的话,只图单片机的口直接与显示器相连能接共阳极的,接共阴的要接上拉电阻),又可通过锁存器接单片机口线。②通过 口线和译码驱动的显示接口如图 所示,图中 为带锁存的地址译码器,译码器采用通用的二-四译码器。图 口线与译码器构成静态显示电路③利用串行总线控制的显示接口如图2.1所2示,通过单片机的串行总线控制的静态显示电路:图 单片机动态显示扫描电路A图中 为移位寄存器,将单片机设置在串行口方式,欲显示的数据建一个表格,然后采用 C@指令,将欲显示的数据送入寄存器中, 中的数据通过串行口送到,移位寄存器的输出接数码管。(2)动态显示接口技术如图2.1是2动态扫描显示接口电路。接口电路是把所有显示器的8个笔划段 同名端连在一起,而每一个显示器的公共极 是各自独立地受 线控制。 向字段输出口送出字形码时,虽然所所有显示器接收到相同的字形码,但是只有被选中的位才显示。所谓动态扫描就是指我们采用分时的方法,轮流控制各个显示器的 端,使各个显示器轮流点亮。2.6复位操作复位操作是单片机的初始化操作,单片机在进入运行前和在运行过程中程序出错或操作失误使系统不能正常运行时,需要进行复位操作。复位操作后,程序将从开始重新执行,复位时特殊功能寄存器的状态。除此之外,复位操作还使单片机的和引脚信号在复位期间变为无效状态。单片机对复位信号的要求:一是复位信号为高电平,二是复位信号有效持续时间不少于24个振荡脉冲(两个机器周期)以上。在这里特别要提醒的是,在一个应用系统中,如果有几片单片机同时工作,在程序上有连接关系,系统复位时,应确保每一片单片机同时复位。复位信号由单片机的引脚输入,复位操作有上电自动复位、按键复位和外部脉冲复位三种方式。随着单片机技术的发展,目前有些单片机内部带有看门狗电路,当程序进行出错或进入了无休止循环时,看门狗电路将利用软件强行使系统复位。第3章硬件电路设3.1秒计时器电路图如图3.所1示为电路图。其工作原理为:接通电源后,按“开始”按键,开始计数,数码管显示从00开始每百分之一秒自动加一;按“复位”按键,系统清零,数码管显示00;按“暂停”按键,系统暂停计数,数码管显示当时的计数。PD.1/AD1PDa'ADZPDa'ADlPD.4/ADtPOSADSPD^ADePn.7/AD?P3£VRXbP2^A1DP231M1PZ.4/A12P2SAUP2SM4P2.T/A1SPD.1/AD1PDa'ADZPDa'ADlPD.4/ADtPOSADSPD^ADePn.7/AD?P3£VRXbP2^A1DP231M1PZ.4/A12P2SAUP2SM4P2.T/A1S图3.1秒计时器电路原理图3.2单元电路设计.时序控制电路设计时序电路设计是秒计数器设计的关键,如图3.所2示,它主要完成以下功能:(1)当我们按下“开始”按钮时,数码管显示数字,秒计时器开始计时。(2)当我们再按一下“暂停”按钮时,数码管停止计数,显示当前数值。.复位电路的设计外部中断和内部中断并存,单片机硬件复位端,只要持续4个机器周期的高电平即可实现复位,硬件复位后的各状态可知寄存器以及存储器的值都恢复到了

初始值,因为本设计中功能中有倒计时时间的记忆功能,所以不能对单片机进行硬件复位,只能用软件复位,软件复位实际上就是当程序执行完之后,将程序通过一条跳转指令让它完成复位。复位电路如下图3.所3示:P1.0TOC\o"1-5"\h\z3 P1.1 - PI2 "t- pl-3-O O L PI..5P'[:;售:计时/停止? 8P1.7 AT89®1'''一"'"'"'…'-'"'"'蜻近g图3.2开始/暂停按钮图3.2开始/暂停按钮图3.3复位电路外3部震荡电路外部震荡电路单片机必须在的驱动下才能工作,在单片机内部有一外部震荡电路单片机必须在的驱动下才能工作,在单片机内部有一个时钟震荡电路,只需要外接一个振荡器就能产生一定的时钟信号送到单片机内部的各个单元,外部震荡电路如图3.部的各个单元,外部震荡电路如图3.所4示。图3.外4部震荡电路图显示电路设计秒计时器采用 动态显示,为了简化电路将所有位的段选线并联在一起,由一个八位的接口控制,电路如图 所示:图显示图显示(主程序)(主程序)第4章软件设计通过前面的硬件介绍,现在我们将对秒0表0进行系统软件设计。1系统主程序设计.秒计时器主程序流程图如图4.所1示:(中断服务程序)(中断服务程序)主程序流程图动态程序图如图所示:动态程序图3.程序清单ORG0000HLJMPSTARTORG001BH;中断入口LJMPCLOCKORG0100H; 内存分配 DISBUFEQU30H;显示数字缓冲首地址MSECBUFEQU21H;1/100秒缓冲SECBUFEQU22H;秒缓冲MINBUFEQU23H;分钟缓冲; 主程序 START:MOVMSECBUF,#00HMOVSECBUF,#00HMOVMINBUF,#00HJBP3.2,$CALLDELAY1MOVTMOD,#10H;设置T1工作于定时方式1MOVTL1,#68HMOVTH1,#0C5H;写0.01S的时间常数MOVSP,#50HSETBEA;开放CPU中断SETBET1;开放T1中断SETBTR1;允许T1工作暂停复位程序L2:CALLDELAY;跳转消抖程序JBP3.5,L3;暂停程序JBP3.5,L3;暂停程序JMPL2L3:JBP3.5,$CALLDELAY1L4:JBP3.5,START;L4:JBP3.5,START;复位程序JMP4DISP1:MOVR0,#DISBUF;显示数字存放首地址MOVA,MSECBUF;取0.01秒高位数字ANLA,#0FHMOV@R0,AINCR0;指向下一个单元DISP1:MOVR0,#DISBUF;显示数字存放首地址MOVA,MSECBUF;取0.01秒高位数字ANLA,#0FHMOV@R0,AINCR0;指向下一个单元MOVA,MSECBUF;取0.01秒低位数字ANLA,#0F0HSWAPAMOV@R0,AINCR0MOVA,SECBUFANLA,#0FHMOV@R0,AINCR0MOVA,SECBUFANLA,#0F0HSWAPAMOV@R0,AINCR0MOVA,MINBUFANLA,#0FHMOV@R0,AINCR0MOVA,MINBUFANLA,#0F0HSWAPAMOV@R0,ALCALLDISPLAYSJMPDISP1;取秒高位数字;取秒低位数字;取分高位数字;取分低高位数字 显示子程序 DISPLAY:MOVP3,#0FEH ;驱动最低位MOVR1,#DISBUF;取显示数字首地址MOVR2,#06H;软计数器表示显示位数LOOP1:CLOCK:LOOP1:CLOCK:MOVDPTR,#SEGTAB;七段显示码表首地址MOVA,@R1MOVCA,@A+DPTR;查代码MOVP0,A ;送段驱动器74LS273LCALLDELAY;延时MOVA,P3RLA ;指向下一位位驱动MOVP0,AINCR1;指向下以个显示数字的地址单元DJNZR2,LOOP1;显示位完了吗RET 中断服务程序 CLRTR1;关T1MOVTL1,#68HMOVTH1,#0C5H;重装时间常数PUSHPSWPUSHACC;压栈保护MOVA,MSECBUFADDA,#01H;0.01S缓冲器加1DAA;转换为BCD码数MOVMSECBUF,ACJNEA,#100H,INT_DONE;1S时间没有到中断返回MOVMSECBUF,#00H;1S到就将BUF清0MOVA,SECBUFADDA,#01HDAA ;秒钟加1并变成BCD码数MOVSECBUF,ACJNEA,#60H,INT_DONE;60秒没有到中断返回MOVSECBUF,#00H;60秒到秒钟清0MOVA,MINBUFADDA,#01HDAA ;环种蛹?并变成BCD码数MOVMINBUF,ACJNEA,#60H,INT_DONE;60分钟没到中断返回MOVMINBUF,#00H;60分到分钟清0INTDONE:POPACCPOPPSWSETBTR1RETI; 延时此程序 DELAY:MOV

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论