ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:20.67KB ,
资源ID:8797201      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8797201.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机的课程设计30秒定时器.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机的课程设计30秒定时器.docx

1、单片机的课程设计30秒定时器 计数原理.3 单片机的定时器设计一、篮球计时器的作用 在篮球比赛中,规定了球员的持球时间不能超过24秒,否则就视为犯规。本课程设 计的“篮球竞赛24秒定时器”,可用于篮球比赛中对球员持球时间作24秒时间限制。一旦球员的持球时间超过了24秒,它自动报警,从而判定此球员犯规。二、设计的具体实现1.系统概述总体设计思路及方案 图 总设计图流程图: 最小系统,就是最简单的输出/输入构成,并且能实现最基本的运行条件,如应有供电、时钟附属电路等。单片机的最小系统包括晶振电路 复位电路 和电源 , 这时最小系统基本组成 当然还可以添加矩阵键盘 数码管等。 此实验的原理是,利用单

2、片机的最小系统,通过锁存器74HC573控制数码管,来实现30秒定时器的功能。图最小系统计数原理80C51单片机内部设有两个16位的可编程定时器/计数器。在定时器/计数器中除了有两个16位的计数器之外,还有两个特殊功能寄存器(控制寄存器和方式寄存器)。定时器/计数器的结构16位的定时/计数器分别由两个8位专用寄存器组成,即:T0由TH0和TL0构成;T1由TH1和TL1构成。每个寄存器均可单独访问。这些寄存器是用于存放定时或计数初值的。此外,其内部还有一个8位的定时器方式寄存器TMOD和一个8位的定时控制寄存器TCON。这些寄存器之间是通过内部总线和控制逻辑电路连接起来的。定时计数器的原理当定

3、时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,显然,定时器的定时时间与系统的振荡频率有关。因一个机器周期等于12个振荡周期,所以计数频率fcount=1/12osc。如果晶振为12MHz,则计数周期为:T=1/(12106)Hz1/12=1s这是最短的定时周期。若要延长定时时间,则需要改变定时器的初值,并要适当选择定时器的长度(如8位、13位、16位等)。当定时器/计数器为计数工作方式时,通过引脚T0和T1对外部信号计数,外部脉冲的下降沿将触发计数。计数器在每个机器周期的S5P2期间采样引脚输入电平。若一个机器周期采样值为1,下一个机器周期采样值为0,则计数器加1。

4、此后的机器周期S3P1期间,新的计数值装入计数器。所以检测一个由1至0的跳变需要两个机器周期,故外部事年的最高计数频率为振荡频率的1/24。当CPU用软件给定时器设置了某种工作方式之后,定时器就会按设定的工作方式独立运行,不再占用CPU的操作时间,除非定时器计满溢出,才可能中断CPU当前操作。CPU也可以重新设置定时器工作方式,以改变定时器的操作。由此可见,定时器是单片机中效率高而且工作灵活的部件。定时器工作方式8051的两个定时器/计数器都有4种工作方式是,即工作方式03。由于本次课程设计主要涉及定时器/计数器0的工作方式2,所以以下将重点介绍定时器/计数器0的工作方式2。本次课程设计使用定

5、时器工作方式2,是由于其相对定时器工作方式0和工作方式1有一定的长处。工作方式0和工作方式1有一个共同点,就是计数溢出后计数器全为0,因此循环定时应用时就需要反复设置计数初值。这不但影响定时精度,而且也给程序设计带来麻烦。工作方式2就是针对此问题而设置的,它具有自动重新加载计数初值的功能,免去了反复设置计数初值的麻烦。定时器/计数器0的工作方式0和工作方式2所对应的电路逻辑结构图分别如图和图所示。图定时器/计数器0的工作方式0逻辑结构图 定时器/计数器0的工作方式2逻辑结构对比上述两图,可以发现工作方式0和工作方式2对应的逻辑结构还是有许多部分相同的,如两图的右半部分,而两图左半部分则有所差异

6、。下面将对其相同点和不同点作简要分析,这也是为什么这次课程设计选择工作方式2的原因。相同点:两种工作方式,计数脉冲既可以来自芯片内部,也可以来自外部。来自内部的是机器周期脉冲,图中OSC是英文Oscillator(振荡器)的缩写,表示芯片的晶振脉冲,经12分频后,即为单片机的机器周期脉冲。来自外部的计数脉冲由T0引脚输入,计数脉冲由控制寄存器TMOD的位进行控制。当=0时,接通机器周期脉冲,计数器每个机器周期进行一次加1,这就是定时器工作方式;当=1时,接通外部计数引脚T0,从T0引入计数脉冲输入,这就是计数工作方式。不同点:如图3-1所示的左半部分,工作方式0条件下,TL0使用了5位,当TL

7、0的低5位计数溢出时,向TH0进位;而全部13位计数溢出时,向计数溢出标志位TF0进位,将其置1。如图3-2所示的左半部分,工作方式2条件下,16位计数器被分成两部分,TL作为计数器使用,TH作为预置寄存器使用,初始化时把计数初值分别装入TL和TH中。当计数溢出后,由预置寄存器TH以硬件方法自动给计数器TL重新加载。变软件加载为硬件加载。更详细点,初始化时,8位计数初值同时装入TL0和TH0。当TL0计数溢出时,置位TF0,并用保存在预置寄存器TH0中的计数初值自动加载TL0,然后开始重新计数。如此重复,这样不但省去了用户程序中的重装指令,而且也有利于提高定时精度。2.单元电路设计 8051单

8、片机图电源电路 图 8051电路图(1) P1口:P1口是一8位双向I/O口。口引脚提供内部上拉电阻。和要求外部上拉电阻。和还分别作为片内精密模拟比较器的同相输入(AIN0)和反相输入(AIN1)。P1口输出缓冲器可吸收20mA电流并能直接驱动LED显示。当P1口引脚写入“1”时,其可用作输入端。当引脚用作输入并被外部拉低时,它们将因内部的上拉电阻而流出电流(IIL)。P1口还在闪速编程和程序校验期间接收代码数据。(2)P3口:P3口的、是带有内部上拉电阻的七个双向I/0引脚。用于固定输入片内比较器的输出信号并且它作为一通用I/O引脚而不可访问。P3口缓冲器可吸收20mA电流。当P3口引脚写入

9、“1”时,它们被内部上拉电阻拉高并可用作输入端。用作输入时,被外部拉低的P3口引脚将用上拉电阻而流出电流(IIL)。P3口还用于实现AT89C2051的各种功能,如下表1所示。P3口还接收一些用于闪速存储器编程和程序校验的控制信号。P3口引脚 功能RXD(串行输入端口) TXD(串行输出端口) INT0(外中断0) INT1(外中断1) TO(定时器0外部输入) T1(定时器1外部输入) 表2-1-1 P3口的功能(3) RST:复位输入。RST一旦变成高电平,所有的I/O引脚就复位到“1”。当振荡器正在运行时,持续给出RST引脚两个机器周期的高电平便可完成复位。每一个机器周期需12个振荡器或

10、时钟周期。(4) XTAL1:作为振荡器反相放大器的输入和内部时钟发生器的输入。 (5) XTAL2:作为振荡器反相放大器的输出。(6)Vcc:电源电压; (7)GND:地。两个基本电路 图复位电路 图 晶振电路复位电路:一般需要送4个时钟周期的高电平。按键后:电容器被短路放电、RST直接和VCC相连,就是高电平,此时进入“复位状态”。松手后:电源开始对电容器充电,此时,充电电流在电阻上,形成高电平送到RST,仍然是“复位状态”; 稍后,充电结束,电流降为0,电阻上的电压也将为0,RST降为低电平,开始正常工作。晶振电路:产生一个固定频率的脉充,驱动芯片等元件工作。晶振也叫晶体振荡器,能产生振

11、荡,其特点是固有频率十分稳定,而且震动具有多谐性,除了奇频震动外还有奇次谐波泛音震动。性能上,晶振的品质因素Q和特性阻抗都非常高,而且接入系数很小,因此具有很高的频率稳定度。两个小的瓷片电容叫负载电容,可以用来微调晶体震荡频率,这个电容要根据所用晶体来选择,晶体规格书里面会有其负载电容的值 大致为2035PF。一般单片机的晶振工作于并联谐振状态,也可以理解为谐振电容的一部分。它是根据晶振厂家提供的晶振要求负载电容选值的,换句话说,晶振的频率就是在它提供的负载电容下测得的,能最大限度的保证频率值的误差。也能保证温漂等误差。两个电容的取值都是相同的,或者说相差不大,如果相差太大,容易造成谐振的不平

12、衡,容易造成停振或者干脆不起振。程序清单 ORG 0000H SJMP MAIN ORG 000BH LJMP T0_ISR ORG 0030H MAIN: MOV P0,#3FH ;初始化赋值 MOV P1,#0FFH MOV P2,#3FH MOV R0,#00H MOV R1,#24 MOV DPTR,#TAB KEY: JB ,$ ;判断启动键是否按下 ACALL DELAY30MS JNB ,$ ACALL START SJMP KEYSTART: MOV TMOD,#01H ;启动程序 MOV TH0,#0D8H MOV TL0,#0EFH SETB ET0 SETB EA SET

13、B TR0 STOP: JB ,ZTJX ;判断复位键是否程序 ACALL DELAY30MS JNB ,$ SJMP MAIN ;复位程序ZTJX : JB ,XS ;判断暂停键是否按下 ACALL DELAY30MS JNB ,$ ZT: CLR TR0 ;K2按下后暂停计数,并关中断 CLR ET0 CLR EA JB ,$ ;K2再次按下继续计数 ACALL DELAY30MS JNB ,$ JX: SETB ET0 ;第二次按下暂停键后继续倒计时(继续启动) SETB EA SETB TR0 XS: MOV A,R1 ;显示子程序 MOV B,#10 DIV AB MOVC A, A

14、+DPTR MOV P0,A ; 显示秒十位 MOV A,B MOVC A, A+DPTR MOV P2,A ;显示秒个位 CJNE R0,#100,STOP ;1S时间到否,未到直接转数码管显示 MOV R0,#00H ;1S时间到,R0重赋初值 MOV A,R1 ;R1减1,不为0转数码管显示,为0则重新开始 CLR C SUBB A,#1 MOV R1,A JNC STOP ;计数未到0继续判断暂停键和停止键 MOV R1,#24 ;计数到0停止计数并关中断, CLR ET0 CLR EA CLR TR0 SJMP SND ;跳到报警程序 SJMP KEY ; 跳回开始检测启动键 RET

15、 DELAY30MS: MOV R6,#150 ;延时程序子程序AAA; MOV R7,#100 DJNZ R7,$ DJNZ R6,AAA; RET T0_ISR: CLR TR0 ;中断程序子程序 MOV TH0,#0D8H MOV TL0,#0EFH INC R0 SETB TR0 RETI SND: CLR ;报警程序子程序(红色发光二极管亮一下就灭) MOV R7,#0FFH DL: MOV R6,#0FFH DL1: DJNZ R6,DL1 DJNZ R7,DL SETB RET TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END 附录:元器件细明表1IC名单型号个数2单片机805113锁存器74HC57324数码管2位的,共阴极25晶振12MHz16电容39PF27电容10UF28开关按键开关29开关波动开关110电路板10*20111排阻10K欧112电阻3K欧113电阻30欧114发光二极管亮315单片机底座40引脚116三极管C1008 npn117蜂鸣器1

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1