第7章定时计数技术_第1页
第7章定时计数技术_第2页
第7章定时计数技术_第3页
第7章定时计数技术_第4页
第7章定时计数技术_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、接口与通讯技术接口与通讯技术武汉科技大学武汉科技大学计算机科学与技术学院计算机科学与技术学院第第7 7章定时章定时/ /计数技术计数技术 本章内容本章内容7.1 7.1 定时与计数定时与计数7.2 7.2 微机系统中的定时系统微机系统中的定时系统7.3 7.3 外部定时方法及硬件定时器外部定时方法及硬件定时器7.4 7.4 可编程定时计数器可编程定时计数器82C54A82C54A7.5 7.5 定时定时/ /计数器的应用计数器的应用7.1 7.1 定时与计数定时与计数1. 定时定时日时钟、实时钟、时间延迟2. 计数计数3. 定时与计数的关系定时与计数的关系7.2 7.2 微机系统中的定时系统微

2、机系统中的定时系统1. 内部定时内部定时计算机本身运行的时间基准或时序关系;由计算机硬件决定,用户无法更改用户无法更改2. 外部定时外部定时外设实现某种功能时,本身所需的时序关系3. 时序配合时序配合考虑外设与CPU连接时,以计算机的时序关系为依据,以满足计算机的时序要求7.3 7.3 外部定时方法及硬件定时器外部定时方法及硬件定时器7.3.1 7.3.1 定时方法定时方法1. 1. 软件定时软件定时典型的延时程序段特点:特点:不需增加硬件;浪费CPU资源、程序通用性差2. 2. 硬件定时硬件定时特点:特点:不占用CPU时间、定时准确、定时程序具有通用性7.3.2 7.3.2 定时器定时器1.

3、 1. 不可编程定时器不可编程定时器常用定时器件:常用定时器件:单稳触发器、555、556定时器2. 2. 可编程定时器可编程定时器常用可编程定时常用可编程定时/计数器芯片:计数器芯片:Intel 8253/8254/82C54A、MC6840、Zilog的CTC等对时间的计时方式:对时间的计时方式:正计时、倒计时7.4 7.4 可编程定时可编程定时/ /计数器计数器82C54A82C54A7.4.1 82C54A7.4.1 82C54A的外部特性和内部寄存器的外部特性和内部寄存器82C54A82C54A的主要特性:的主要特性: 3个独立的、16位的、减1计数通道(T0T2);每个通道有自己的

4、GATE、CLK、OUT;6种工作方式1. 82C54A1. 82C54A的外部连接特性的外部连接特性( (24脚、双列直插、+5V供电)(1)(1)面向面向CPUCPU的信号线的信号线( (13)D0D7、CS、RD、WR、A1、A0(2)(2)面向面向I/OI/O设备的信号线设备的信号线( (9)GATEGATEi i:Ti的门控信号,控制计数过程,具体作用视方式而定CLKCLKi i:Ti的脉冲输入,允许计数时对CLKi输入的脉冲减1计数OUTOUTi i:Ti的输出信号,Ti减为0时OUTi有效,输出波形视方式而定A1A0选中端口0 0T00 1T11 0T21 1控制口7.4.1 8

5、2C54A7.4.1 82C54A的外部特性和内部寄存器的外部特性和内部寄存器2. 82C54A2. 82C54A的内部寄存器的内部寄存器(1)82C54A(1)82C54A的内部结构的内部结构数据总线缓冲器、命令寄存器、3个计数通道、读/写逻辑各模块的功能及各模块的功能及82C54A82C54A的读写操作的读写操作(2)3(2)3个计数通道的内部结构及各寄存器的功能个计数通道的内部结构及各寄存器的功能16位当前计数值锁存器16位减1计数器16位计数初值寄存器&CLKGATEOUT装入/读出初值MSBLSB减1为0时锁存后读出当前值MSBLSB82C54A82C54A的内部结构的内部结构内部总

6、线读/写逻辑数据总线缓冲器D0D7A0A1IORIOW命令寄存器CS计数器2CLK2GATE2OUT2计数器1CLK1GATE1OUT1计数器0CLK0GATE0OUT07.4.2 82C54A7.4.2 82C54A的编程模式的编程模式用户扩展的82C54A的I/O端口地址:304H307H1. 1. 方式命令方式命令选择通道、确定工作方式命令字各位含义及举例2. 2. 锁存命令锁存命令将选定计数通道的当前计数值锁存,以便读取读取当前值的作用:读取当前值的作用:求当前所计脉冲数,应用举例3. 3. 读回命令读回命令既能锁存计数值又能锁存状态信息CNTCNT:锁存选中计数器的内容,=0表示要读

7、取计数值STST:锁存选中计数器的状态,=0表示要读取状态CNCNi i:选择计数器,=1表示选中SC1SC0RW1RW0M2M1M0BCD11CNTSTCNT2CNT1CNT0082C5482C54方式命令字方式命令字各位的含义各位的含义RWRW1 1RWRW0 0:读/写长度选择或发锁存命令00:发锁存命令(锁存SC1SC0指定的通道)此时低4位无效01:只读/写一个低字节10:只读/写一个高字节11:先低后高读/写两个字节M M2 2M M1 1M M0 0:工作方式选择(方式05分别由000101选择)BCDBCD:计数码制选择0:二进制计数 1:BCD码计数SCSC1 1SCSC0

8、0:通道选择00:通道0(T0)01:通道1(T1)10:通道2(T2)11:不用读取当前值的应用举例读取当前值的应用举例要求:要求:用T0统计某个事件发生的次数,将结果存入寄存器BX中,假设该事件发生的次数在165535次范围内分析:分析:由于发生次数在165535之间,故将初值送为0,采用二进制计数;当需要了解事件发生的实际次数时,只要用初值减去当前值即可;方式可选0/1/4/5(以方式0为例)初始化程序:MOV DX,307HMOV AL,30HOUT DX,AL;方式字MOV BX,0;计数初值MOV DX,304HMOV AL,BLOUT DX,ALMOV AL,BHOUT DX,A

9、L;写入初值需要了解实际发生次数时执行下列程序段:MOV DX,307HMOV AL,00HOUT DX,AL;锁存T0当前值MOV DX,304HIN AL,DX;读低字节MOV CL,ALIN AL,DX;读高字节MOV CH,ALSUB BX,CX;(BX)=实际发生次数7.4.3 82C54A7.4.3 82C54A的工作方式的工作方式区分区分6 6种工作方式的标志:种工作方式的标志:启动计数器的触发方式输出波形计数过程中门控信号的作用1. 01. 0方式方式计数结束输出正跳变触发方式:触发方式:写入初值后,WR 触发输出波形:输出波形:计数过程中为低电平,减为0变高,并结束计数过程中

10、计数过程中GATE作用:作用:1,允许;0,禁止; ,暂停, ,继续2. 12. 1方式方式可重触发单稳方式触发方式:触发方式:写入初值后,GATE 触发输出波形:输出波形:计数过程中为低电平,减为0变高,并结束计数过程中计数过程中GATE作用:作用:1,0, ,不影响; ,启动或重新启动82C54A82C54A的的0 0方式方式CLKN=5WROUT543210GATE=1WRN=5OUTGATE54333321082C54A82C54A的的1 1方式方式CLKWROUTN=5GATE543210543210WR N=5OUTGATE5435432107.4.3 82C54A7.4.3 82

11、C54A的工作方式的工作方式3. 23. 2方式方式N分频器(速率波发生器)触发方式:触发方式:写入初值后,WR 触发输出波形:输出波形:计数过程中为高电平,减为1时变低,维持1个时钟周期,再次变高并重新装入计数初值,重复计数过程计数过程中计数过程中GATE作用:作用:1,允许;0,禁止; ,停止, ,重新开始4. 34. 3方式方式方波发生器与与2方式的区别仅在于输出波形不同方式的区别仅在于输出波形不同输出波形:输出波形:占空比为1:1或近似1:1的方波。初值为偶数时,前半周为高电平,后半周为低电平;初值为奇数时,前(N+1)/2个脉冲为高电平方式方式2、方式、方式3的特殊性:的特殊性:具有

12、自动重新装载计数初值的功能周期周期/频率、频率、两种方式的占空比占空比82C54A82C54A的的2 2方式方式CLKWROUTN=55432105432105432105GATE1WRN=5OUTGATE543210543543210582C54A82C54A的的3 3方式方式CLKWROUTN=5543210543210 05432105GATE1WRN=44310321OUT0GATE=1244321403217.4.3 82C54A7.4.3 82C54A的工作方式的工作方式5. 45. 4方式方式软件触发选通方式触发方式:触发方式:写入初值后,WR 触发输出波形:输出波形:方式设定后

13、输出为高电平,并维持,减为0时变低,维持1个时钟周期,再次变高并结束计数过程中计数过程中GATE作用:作用:1,允许;0,禁止; ,停止, ,重新开始6. 56. 5方式方式硬件触发选通方式(输出波形同4方式,触发方式同1方式)触发方式:触发方式:写入初值后,GATE 触发输出波形:输出波形:计数过程中为高,结束时输出宽度为1个时钟周期的负脉冲并结束计数过程中计数过程中GATE作用:作用:1,0, ,不影响; ,启动或重新启动82C54A82C54A的的4 4方式方式CLKWROUTN=5543210GATE=1WRN=5OUTGATE5454321082C54A82C54A的的5 5方式方式

14、WROUTN=5GATE543210543210WRN=5OUTGATE543543210CLK7.4.3 82C54A7.4.3 82C54A的工作方式的工作方式7. 67. 6种方式的比较种方式的比较触发方式:触发方式:方式1和方式5为硬件触发;其余为软件触发输出波形:输出波形:方式2和方式3输出重复波形,其余为单次波形;方式0、1基本相同,方式4、5相同计数过程的结束:计数过程的结束:方式2和方式3需外加控制信号令GATE=0;方式0、1、4、5计数结束会自动停止7.4.4 82C54A7.4.4 82C54A的计数初值计算及装入的计数初值计算及装入1. 1. 计数初值的计算计数初值的计

15、算82C54A是逆计数器(减1计数器),减1计数器减为0时输出有效定时的计数初值计数初值(时间常数)2. 2. 计数初值的装入计数初值的装入16位计数初值装入顺序先低后高先低后高3. 3. 计数初值的范围计数初值的范围当初值N=0时,计数脉冲数最多:二进制计数,计65536个BCD码计数,计10000个OUTfCLKfCLKTOUTTN7.4.5 82C54A7.4.5 82C54A的初始化的初始化1. 1. 初始化步骤:初始化步骤:设置方式命令字、设置计数初始值2. 2. 初始化举例初始化举例输入频率为2MHz的时钟信号,利用T1定时2ms,采用方式382C54A82C54A的初始化举例的初

16、始化举例设:设:输入时钟频率为2MHz,要求利用T1定时2ms,采用方式3计数初值计数初值(时间常数)方式字:方式字:76H(二进制计数) 或 77H(BCD码计数)MOV DX,307HMOV AL,76HOUT DX,AL;写入方式字MOV DX,305HMOV AX,4000OUT DX,ALMOV AL,AHOUT DX,AL;写入计数初值4000102102T3-6OUTCLKfCLKTOUTTN4000H 方式字送77H,计数初值应送多少??7.5 7.5 定时定时/ /计数器的应用计数器的应用7.5.1 7.5.1 用户扩展的定时用户扩展的定时/ /计数器计数器(304H307H

17、)应用应用例例7.17.1 某系统要求用82C54A的T1测量脉冲(正脉冲)的宽度,系统提供输入时钟CLK=1MHz,采用二进制计数分析:分析:采用方式方式0 0,用被测脉冲控制GATE1,首先装入初值初值0 0,当被测信号变高时开始计数,被测信号变低时停止计数,锁存并读出当前值n,则脉冲宽度为(65536-n)s脉宽测量程序段:脉宽测量程序段:; ;初始化初始化MOV DX,307HMOV AL,70HOUT DX,ALMOV DX,305HMOV AX,0000HOUT DX,ALMOV AL,AHOUT DX,AL; ;测量脉宽测量脉宽MOV DX,307HMOV AL,40HOUT D

18、X,AL ;锁存T1MOV DX,305HIN AL,DXMOV BL,ALIN AL,DXMOV BH,AL ;(BX)为当前值MOV AX,0SUB AX,BX脉冲宽度测量原理脉冲宽度测量原理CLKWRD=0GATE1被测信号等待设置初值脉宽计数读结果7.5.1 7.5.1 用户扩展的定时用户扩展的定时/ /计数器的应用计数器的应用例例7.2 7.2 82C54A用作定时要求:要求:每隔5ms发出一个扫描负脉冲,系统提供时钟CLK=20KHz,采用T2、用十进制十进制计数分析:分析: T2工作于方式2计数初值为N=TOUT/TCLK=TOUTCLK=510-320103=100初始化程序:

19、初始化程序:MOV DX, 307HMOV AL, 0B5HOUT DX, ALMOV DX, 306HMOV AX, 100HOUT DX, ALMOV AL, AHOUT DX, AL7.5.1 7.5.1 用户扩展的定时用户扩展的定时/ /计数器的应用计数器的应用例例7.3 7.3 82C54A用作分频器要求:要求:用T0产生=1000Hz的方波,系统提供时钟CLK=1.19318MHz,采用二进制计数分析:分析:工作于方式3计数初值为N=CLK/OUT=1.19318106/10001193=4A9H初始化程序:初始化程序:MOV DX, 307HMOV AL, 36HOUT DX,

20、ALMOV DX, 304HMOV AX, 4A9HOUT DX, ALMOV AL, AHOUT DX, AL7.5.1 7.5.1 用户扩展的定时用户扩展的定时/ /计数器的应用计数器的应用例例7.47.4 82C54A同时用作计数与定时要求:要求:控制产品流水线,每通过24个产品,暂停5s,等待打包,然后重启流水线,按ESC键停止生产,系统提供时钟100Hz分析:分析:对24计数,选用T0;对5s定时,选用T1;用OUT0触发T1控制流水线的暂停和重启;设置T0方式2,T1方式1,由外部硬件信号(OUT0)进行触发;设两个通道都采用十进制计数 T0方式字=00010101B=15H,初值

21、N0=24H T1方式字=01110011B=73H,初值N1=(5100)H=500H硬件设计硬件设计包装流水线的程序段包装流水线的程序段包装流水线计数定时装置电路结构原理包装流水线计数定时装置电路结构原理82C54AGATE0CLK0OUT0GATE1CLK1OUT1VCC100HzVCCRT产品光源5s暂停启动包装流水线汇编语言程序段包装流水线汇编语言程序段CODE SEGMENTASSUME CS: CODESTART:MOV DX, 307H;通道0初始化MOV AL, 15HOUT DX, ALMOV DX, 304HMOV AL, 24HOUT DX, ALMOV DX, 307

22、H;通道1初始化MOV AL, 73HOUT DX, ALMOV DX, 305HMOV AX, 500HOUT DX, ALMOV AL, AHOUT DX, ALCHECK:MOV AH, 0BH;是否有键按下INT 21HCMP AL, 00HJE CHECKMOV AH, 08H;有键, 判断是否为ESCINT 21HCMP AL, 1BHJNE CHECK;发停止生产的控制信号MOV AX, 4C00H;是ESC则结束INT 21HCODEENDSEND START7.5.2 7.5.2 系统配置的定时系统配置的定时/ /计数器计数器(40H43H)应用应用1. 1. 微机系统配置的

23、微机系统配置的82C54A应用设置应用设置OUT0系统时钟中断OUT1动态存储器刷新OUT2发声系统音调控制82C54A在系统中的应用设置在系统中的应用设置计数计数通道通道读读/写写方式方式工作工作方式方式计数计数 码制码制计数计数初值初值CLK/ MHzGATEToutFoutOUT用途用途0高/低字节3二进制0000H1.19318+5V55ms18.2HzIRQ0日时钟 中断请求1只写低字节2二进制12H1.19318+5V15s66.3KHzDREQ0DRAM 刷新请求2高/低字节3二进制533H1.19318PB0 控制1.1155ms896HzSPK扬声器 发声1.19318MHz

24、DSQQRDACK0DREQ0VCCCLK0OUT0GATE0GATE1GATE2CLK1CLK2OUT1OUT2&PB1SPKIRQ0VCCPB0WRRDCSA1A0D0D782C54AT/S CSA0A1D0D7IORIOW7.5.2 7.5.2 系统配置的定时系统配置的定时/ /计数器应用计数器应用2. 2. 微机系统配置的微机系统配置的82C54A初始化程序段初始化程序段计数器计数器0定时中断(约55ms申请一次中断)MOV AL, 00110110B;初始化方式命令OUT 43H, ALMOV AX, 00H;初值为00H(最大值)OUT 40H, AL;先写低字节MOV AL, A

25、HOUT 40H, AL;再写高字节计数器计数器1DRAM定时刷新(15s请求一次DMA传输)MOV AL, 01010100B;初始化方式命令OUT 43H, ALMOV AL, 12H;初值为12HOUT 41H, AL;只写低字节计数器计数器2产生约900Hz的方波使扬声器发声MOV AL, 10110110B OUT 42H, ALOUT 43H, AL MOV AL, AHMOV AX, 533H OUT 42H, AL7.5.2 7.5.2 系统配置的定时系统配置的定时/ /计数器应用计数器应用3. 3. 微机系统配置的微机系统配置的82C54A应用举例应用举例例例7.5 发声器设

26、计要求:要求:利用82C54A发600Hz的声音,按任意键开始发声,长/短音交替,按ESC键停止;82C54A的T2的输入时钟频率1.19318MHz 系统的硬件连接系统的硬件连接分析:分析: 声音频率:声音频率:由初值控制 N=1.19318*106/6001988 声音开关:声音开关:由82C55A的PB口控制PB0PB11,开;PB00或PB10,关 声音长短:声音长短:由开放声音的延时时间控制BL作延时子程序入口参数(BL1,短音;BL6,长音) 软件设计软件设计由主程序和发声子程序组成 主程序流程图 主程序 发声子程序发声器硬件设计发声器硬件设计CLK2GATE2OUT2PB1PB0

27、82C55A&滤波功放82C54A1.19318MHz发声器主程序流程图发声器主程序流程图82C54A初始化关闭扬声器关闭扬声器按任意键?发长音(BL=6)调发声子程序发短音(BL=1)调发声子程序按ESC键?结束开始NYNY说明:说明:82C55A的PBPB口地址为61H61HINT 21HINT 21H的0BH0BH号功能调用AL00H:无键按下ALFFH:有键按下,再用8号调用取得该键的ASCII码发声器主程序发声器主程序CODE SEGMENT ASSUME CS:CODE ORG 100HBEGIN:MOV AL,0B6H ;82C54方式字 OUT 43H,AL MOV AX,19

28、88 ;82C54初值 OUT 42H,AL MOV AL,AH OUT 42H,AL IN AL,61H AND AL,0FCH OUT 61H,AL ;关声音(PB0=PB1=0)WT: MOV AH,0BH INT 21H CMP AL,0 JZ WT ;无键按下,等待L_SOUND: MOV BL,6 CALL SOUND ;发长音 MOV AH,0BH INT 21H CMP AL,0 JE S_SOUND ;无按键发短音 MOV AH,8 INT 21H CMP AL,27 JNE S_SOUND ;非ESC,发短音EXIT: MOV AH,4CH INT 21H ;按ESC,结束S_SOUND:MOV BL,1 CALL SOUND ;发短音 JMP L_SOUND ;转去发长音发声器发声子程序发声器发声子程序SOUND PROC NEAR IN AL,61H OR AL,03H OUT 61H,AL ;开放声音(PB0=PB1=1) SUB CX,CX DLY : LOOP DLY DEC BL ;延时,由(BL)决定时间 JNZ DLY ;长短,即发声的长短 IN AL,61H AND AL,

温馨提示

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

评论

0/150

提交评论