[工学]单片机第六章课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《[工学]单片机第六章课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工学 单片机 第六 课件
- 资源描述:
-
1、第第6 6章章 MCS-51 MCS-51的定时的定时/计数器计数器任务六任务六 简易交通信号灯简易交通信号灯6.1 6.1 定时定时/计数器结构与功能计数器结构与功能6.2 6.2 定时定时/计数器相关寄存器计数器相关寄存器6.3 6.3 定时定时/计数器工作方式计数器工作方式6.4 6.4 定时定时/计数器的编程计数器的编程6.5 6.5 定时定时/计数器应用计数器应用任务六任务六 简易交通信号灯简易交通信号灯任务目的任务目的利用单片机的定时器,完成简易交通信号灯的程序设计,学利用单片机的定时器,完成简易交通信号灯的程序设计,学会使用定时器的查询法编程会使用定时器的查询法编程_ _任务描述
2、任务描述用单片机的用单片机的P0P0口控制口控制6 6只只LED,LED,模拟东西向,南北向模拟东西向,南北向6 6只交通信只交通信号灯,当剩余时间为号灯,当剩余时间为5S5S时绿灯闪亮,为时绿灯闪亮,为3S3S时黄灯亮、时黄灯亮、25S25S时间时间到交通灯换向到交通灯换向1.1.电路原理图电路原理图学习板电路原理图见学习板电路原理图见图图6-16-1所示。所示。2.2.参考程序参考程序FX BIT 00HFX BIT 00HORG 0000HORG 0000HLJMP MAINLJMP MAINORG 000BH ;ORG 000BH ;定时器定时器T0T0中断入口地址中断入口地址返回下一
3、页任务六任务六 简易交通信号灯简易交通信号灯LJMP SFT0 LJMP SFT0 ORG 0030 H ORG 0030 H MAIN:MOV TMOD,#01H;MAIN:MOV TMOD,#01H;设置定时器为工作方式设置定时器为工作方式1 1MOV TL0,#0B0H ;MOV TL0,#0B0H ;设定时器初值设定时器初值,定时时间定时时间50ms50msMOV TH0,#3CHMOV TH0,#3CHMOV R6,#0 ;MOV R6,#0 ;赋时序初值赋时序初值MOV R7 ,#10 ;MOV R7 ,#10 ;定时器运行次数定时器运行次数,10,10次次,定时定时0.5s0.5
4、sSETB TR0 ;SETB TR0 ;启动定时器启动定时器SETB EA ;SETB EA ;开中断开中断SETB ET0 SETB ET0 CLR FX CLR FX SJMP$SJMP$SFT0:MOV TL0,#0B0H;SFT0:MOV TL0,#0B0H;真正的中断服务程序真正的中断服务程序 .重新设置重新设置初值初值,定时定时50ms50ms返回上一页 下一页任务六任务六 简易交通信号灯简易交通信号灯MOV TH0,#3CHMOV TH0,#3CHDJNZ R7,RETN;DJNZ R7,RETN;延时够延时够 0.5s 0.5s吗吗?MOV R7,#10MOV R7,#10J
5、B FX,E1 ;JB FX,E1 ;判断通行的方向判断通行的方向MOV DPTR,#TAB;MOV DPTR,#TAB;南北通行南北通行N1:MOV A,R6N1:MOV A,R6MOVC A,A+DPTR;MOVC A,A+DPTR;查表查表,取南北通行显示代码取南北通行显示代码MOV P0,A ;MOV P0,A ;输出显示代码输出显示代码INC R6 ;INC R6 ;下一个下一个0.5s0.5s输出输出CJNE R6,#50,RETN ;25sCJNE R6,#50,RETN ;25s显示完毕了吗显示完毕了吗SETB FX ;SETB FX ;设置东西通行标志位设置东西通行标志位MO
6、V R6,#0 ;MOV R6,#0 ;赋时序初值赋时序初值返回上一页 下一页任务六任务六 简易交通信号灯简易交通信号灯RETI ;RETI ;中断返回中断返回TAB:DB 7EH 7EH 7EH 7EH 7EH ;TAB:DB 7EH 7EH 7EH 7EH 7EH ;南北向通行显示代码表南北向通行显示代码表DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH
7、 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH ;DB 7EH 7EH 7EH 7EH 7EH ;绿灯闪烁绿灯闪烁DB 7EH 7EH 7EH 7EH 7
8、EH DB 7EH 7EH 7EH 7EH 7EH 返回上一页 下一页任务六任务六 简易交通信号灯简易交通信号灯TAB1:DB 0DBH 0DBH 0DBH 0DBH 0DBH;TAB1:DB 0DBH 0DBH 0DBH 0DBH 0DBH;东西向通行显示代码东西向通行显示代码表表DB 0DBH 0DBH 0DBH 0DBH 0DBHDB 0DBH 0DBH 0DBH 0DBH 0DBHDB 0DBH 0DBH 0DBH 0DBH 0DBHDB 0DBH 0DBH 0DBH 0DBH 0DBHDB 0DBH 0DBH 0DBH 0DBH 0DBHDB 0DBH 0DBH 0DBH 0DBH
9、0DBHDB 0DBH 0DBH 0DBH 0DBH 0DBHDB 0DBH 0DBH 0DBH 0DBH 0DBHDB 0DBH 0DBH 0DBH 0DBH 0DBHDB 0DBH 0DBH 0DBH 0DBH 0DBHDB 0DBH 0DBH 0DBH 0DBH 0DBHDB 0DBH 0DBH 0DBH 0DBH 0DBHDB 0DBH 0DBH 0DBH 0DBH 0DBH ;DB 0DBH 0DBH 0DBH 0DBH 0DBH ;绿灯闪烁绿灯闪烁END ;END ;汇编程序结束汇编程序结束3.3.程序仿真及烧录程序仿真及烧录把这段程序在把这段程序在WAV6000WAV6000中编
10、辑、汇编,用软件仿真运行、调试中编辑、汇编,用软件仿真运行、调试无误,把得到无误,把得到binbin格式或者格式或者hexhex格式的日标文件,通过烧录器格式的日标文件,通过烧录器或者下载线,保存到单片机的程序存储器中。或者下载线,保存到单片机的程序存储器中。返回上一页 下一页任务六任务六 简易交通信号灯简易交通信号灯把单片机插人实验板插座里,上电运行,观察运行结果。把单片机插人实验板插座里,上电运行,观察运行结果。4.4.程序分析程序分析简易交通信号灯,也是按照一定的时序点亮、熄灭信号灯,简易交通信号灯,也是按照一定的时序点亮、熄灭信号灯,因此也可以看成是一种彩灯控制器,因此也可以看成是一种
11、彩灯控制器,表表6-16-1中列出厂交通信号中列出厂交通信号灯的时序,把它编制成一个表格,按照时序查表,输出,就灯的时序,把它编制成一个表格,按照时序查表,输出,就可以实现交通信号灯的设计。可以实现交通信号灯的设计。在测量控制系统中,常常要求有实时时钟来实现定时测控或在测量控制系统中,常常要求有实时时钟来实现定时测控或延时动作,也会要求有计数器实现对外部事件计数,例如测延时动作,也会要求有计数器实现对外部事件计数,例如测电机转速、频率、脉冲个数等。在单片机应用系统中,实现电机转速、频率、脉冲个数等。在单片机应用系统中,实现定时定时/计数,主要有软件延时和可编程定时计数,主要有软件延时和可编程定
12、时/计数器计数器2 2种方法。种方法。表表6 62 2(1)(1)软件定时,让机器执行一个程序段,这个程序段本身没有软件定时,让机器执行一个程序段,这个程序段本身没有具体的执行日的,通过正确的挑选指令和安排循环次数实现具体的执行日的,通过正确的挑选指令和安排循环次数实现软件延时,由于执行每条指令都需要时间,执行这一段程序软件延时,由于执行每条指令都需要时间,执行这一段程序所需要的时间就是延时时间,这种软件定时占用所需要的时间就是延时时间,这种软件定时占用CPUCPU的执行时的执行时间,降低厂间,降低厂CPUCPU的工作效率。例如前面帝节中多次用到的的工作效率。例如前面帝节中多次用到的DELAY
13、DELAY子程序,就是一个典型的软件定时的例子。子程序,就是一个典型的软件定时的例子。返回上一页下一页任务六任务六 简易交通信号灯简易交通信号灯(2)(2)可编程定时可编程定时/计数器,它可以通过软件编程来确硬件定时计数器,它可以通过软件编程来确硬件定时/计数器的功能、运行以及停止,可以用软件确定定时时间,计数器的功能、运行以及停止,可以用软件确定定时时间,使用灵活方便,功能强大。而且硬件定时使用灵活方便,功能强大。而且硬件定时/计数器可以单独运计数器可以单独运行,和行,和CPUCPU并行工作,有利于提高并行工作,有利于提高CPUCPU的工作效率,因而得到的工作效率,因而得到广泛应用,大多数单
14、片机内部都集成厂可编程硬件定时广泛应用,大多数单片机内部都集成厂可编程硬件定时/计数计数器。器。MCSMCS一一5151单片机内部有两个单片机内部有两个1616位的定时位的定时/计数器计数器TOTO和和TlTl。返回上一页6 6.1 .1 定时定时/计数器结构与功能计数器结构与功能80518051单片机内部有两个单片机内部有两个1616位定时器位定时器/计数器,即定时计数器,即定时/计数器计数器T0T0和定时和定时/计数器计数器T1T1。它们都具有定时和计数功能,可用于。它们都具有定时和计数功能,可用于定时或延时控制,对外部事件进行检测、计数等。其内部结定时或延时控制,对外部事件进行检测、计数
15、等。其内部结构枢图如构枢图如图图6-26-2所示。所示。定时定时/计数器计数器TOTO由特殊功能寄存器由特殊功能寄存器THO,TLO(THO,TLO(字节地址分别字节地址分别为为8CH8CH和和8AH)8AH)构成,构成,THOTHO为高为高8 8位,位,TLOTLO为低为低8 8位。定时位。定时/计数器计数器T1T1由特殊功能寄存器由特殊功能寄存器TH1,TL1(TH1,TL1(字节地址分别为字节地址分别为8DH8DH和和8BH)8BH)构构成,成,TH1TH1为高为高8 8位,位,TL1TL1为低为低8 8位。其内部还有一个位。其内部还有一个8 8位的定时器位的定时器方式寄存器方式寄存器T
16、MODTMOD和一个和一个8 8位的定时器控制寄存器位的定时器控制寄存器TCONo TMODTCONo TMOD主要是用于选定定时主要是用于选定定时/计数器的工作模式与工作方式,计数器的工作模式与工作方式,TCONTCON主主要是用于控制定时要是用于控制定时/计数器的启动和停止。这些寄存器之间是计数器的启动和停止。这些寄存器之间是通过内部总线和控制逻辑电路连接起来的。通过内部总线和控制逻辑电路连接起来的。下一页返回6 6.1 .1 定时定时/计数器结构与功能计数器结构与功能定时定时/计数器从硬件电路上来说,就是一个计数器从硬件电路上来说,就是一个1616位的加法计数器,位的加法计数器,按照其计
17、数脉冲的来源不同,分成两种工作模式按照其计数脉冲的来源不同,分成两种工作模式:定时与计数。定时与计数。当当定时定时/计数器工作在定时方式时,输人的时钟脉冲是由晶体计数器工作在定时方式时,输人的时钟脉冲是由晶体振荡器的输出经振荡器的输出经1212分频后得到的,所以定时器也可看作是对分频后得到的,所以定时器也可看作是对单片机机器周期的个数的计数器,当晶体振荡器确定后,机单片机机器周期的个数的计数器,当晶体振荡器确定后,机器周期的时间也就确定厂,这样就实现厂定时功能。以器周期的时间也就确定厂,这样就实现厂定时功能。以12 12 MHzMHz的晶振为例,一个机器周期就是的晶振为例,一个机器周期就是1
18、us1 us,这是在此晶振周期,这是在此晶振周期下最小的定时时间。下最小的定时时间。上一页 下一页返回6 6.1 .1 定时定时/计数器结构与功能计数器结构与功能当当定时定时/计数器工作在计数方式时,外部事件是通过引脚计数器工作在计数方式时,外部事件是通过引脚TO TO (P3.4)(P3.4)和和T1(P3.5)T1(P3.5)输人的,外部脉冲的下降沿触发计数。当输人的,外部脉冲的下降沿触发计数。当第一个机器周期采样到第一个机器周期采样到引脚引脚P3.4(P3.5)P3.4(P3.5)为高电平,下一个为高电平,下一个机器周期为低电平时,采样到一个下降沿,计数器就加机器周期为低电平时,采样到一
19、个下降沿,计数器就加1 1。所。所以计数一次至少需要两个机器周期的时间,即外部计数脉冲以计数一次至少需要两个机器周期的时间,即外部计数脉冲的最高频率是晶振频率的的最高频率是晶振频率的1/241/24。例如选用。例如选用12 MHz12 MHz的晶振时,的晶振时,外部计数脉冲的最高频率外部计数脉冲的最高频率是是0.5 MHz0.5 MHz。对外部信号的占空比无。对外部信号的占空比无特殊要求,但为厂确保某给定电平在变化前至少被采样一次,特殊要求,但为厂确保某给定电平在变化前至少被采样一次,则外部计数脉冲的高电平与低电平保持时间均需在一个机器则外部计数脉冲的高电平与低电平保持时间均需在一个机器周期以
20、上。周期以上。返回上一页6 6.2 .2 定时定时/计数器相关寄存器计数器相关寄存器5151系列单片机的定时系列单片机的定时/计数器是一种可编程部件,在定时计数器是一种可编程部件,在定时/计计数器开始工作之前,数器开始工作之前,CPUCPU必须将一些命令必须将一些命令(称为控制字称为控制字)写人该写人该定时定时/计数器,这个过程称为定时计数器,这个过程称为定时/计数器的初始化。在初始计数器的初始化。在初始化程序中,要将工作方式控制字写人定时方式寄存器化程序中,要将工作方式控制字写人定时方式寄存器TMODTMOD,工作状态控制字工作状态控制字(或相关位或相关位)写人控制寄存器写人控制寄存器TCO
21、NoTCONo1.1.定时方式寄存器定时方式寄存器TMODTMOD特殊功能寄存器特殊功能寄存器TMODTMOD为定时为定时/计数器的方式控制寄存器,占用计数器的方式控制寄存器,占用的字节地址为的字节地址为89 H89 H,不可以进行位寻址,如果要定义定时,不可以进行位寻址,如果要定义定时/计计数器的工作方式,需要采用字节操作指令赋值。该寄存器中数器的工作方式,需要采用字节操作指令赋值。该寄存器中每位的定义如下所示。其中高每位的定义如下所示。其中高4 4位用于定时位用于定时/计数器计数器T1T1,低,低4 4位位用于定时器用于定时器/计数计数TOTO。下一页返回6 6.2 .2 定时定时/计数器
22、相关寄存器计数器相关寄存器下面介绍与定时器下面介绍与定时器/计数计数TOTO相关的相关的TMODTMOD的的4 4低位。低位。(1)GATE(1)GATE门控位。门控位。(GATE)=0(GATE)=0时,用软件使运行控制位时,用软件使运行控制位TRO(TRO(定时定时/计数器控制计数器控制寄存器寄存器TCON.4)TCON.4)置置1 1来启动定时来启动定时/计数器运行计数器运行;(GATE)=1(GATE)=1时,由时,由TROTRO和外部中断引脚和外部中断引脚INTO (P3.2)INTO (P3.2)共同启共同启动定时动定时/计数器运行,只有当二者同时为计数器运行,只有当二者同时为1
23、1时才进行计数操作。时才进行计数操作。(2)c/T(2)c/T定时、计数模式选择位。定时、计数模式选择位。(C/T)=1(C/T)=1时,为计数方式时,为计数方式;计数器对外部输人引脚计数器对外部输人引脚TO (P3.4)TO (P3.4)的外部脉冲的下降沿计数。的外部脉冲的下降沿计数。(C/T)=0(C/T)=0时,为定时方式。时,为定时方式。返回上一页下一页6 6.2 .2 定时定时/计数器相关寄存器计数器相关寄存器(3)M1,MO(3)M1,MO工作方式选择位,可通过软件设置选择定时工作方式选择位,可通过软件设置选择定时/计计数器四种工作方式,如数器四种工作方式,如表表6-36-3所示。
24、所示。2.2.定时器控制寄存器定时器控制寄存器TCONTCONTCONTCON的字节地址为的字节地址为88H88H,可进行位寻址,可进行位寻址(位地址为位地址为88H88H一一8FH)8FH),其具体各位定义如下。其具体各位定义如下。其中其中低低4 4位与外部中断有关,位与外部中断有关,在在5.25.2节已详细介绍,高节已详细介绍,高4 4位的功位的功能如下能如下:上一页 下一页返回6 6.2 .2 定时定时/计数器相关寄存器计数器相关寄存器其中低其中低4 4位与外部中断有关,在位与外部中断有关,在5.25.2节已详细介绍,高节已详细介绍,高4 4位的功位的功能如下能如下:TFO,TFlTFO
25、,TFl分别为定时分别为定时/计数器计数器TO,TlTO,Tl的计数溢出标志位。的计数溢出标志位。当计数器计数溢出时,该位置当计数器计数溢出时,该位置1 1。编程在使用查询方式时,此。编程在使用查询方式时,此位作为状态位供位作为状态位供CPUCPU查询,查询后由软件清查询,查询后由软件清0;0;使用中断方式时,使用中断方式时,此位作为中断请求标志位,中断响应后由硬件自动清此位作为中断请求标志位,中断响应后由硬件自动清O O。TRO,TR1TRO,TR1分别为定时器分别为定时器TO,TlTO,Tl的运行控制位,可由软件的运行控制位,可由软件置置1 1或清或清O O。(TRO)(TRO)或或(TR
展开阅读全文