《计数器定时器》PPT课件.ppt

上传人:wuy****n92 文档编号:70505473 上传时间:2023-01-21 格式:PPT 页数:94 大小:1.36MB
返回 下载 相关 举报
《计数器定时器》PPT课件.ppt_第1页
第1页 / 共94页
《计数器定时器》PPT课件.ppt_第2页
第2页 / 共94页
点击查看更多>>
资源描述

《《计数器定时器》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《计数器定时器》PPT课件.ppt(94页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第9章章 计数器计数器/定时器和多功能定时器和多功能接口芯片接口芯片 本章重点本章重点 vv8253/8254的编程结构和工作原理 vv8253/8254控制寄存器的格式和编程命令 vv8253/8254的6种工作模式及其使用 第第9章章 计数器计数器/定时器和多功能接口芯片定时器和多功能接口芯片定时控制在微机系统中极为重要。定时控制在微机系统中极为重要。vv定时信号的获得:定时信号的获得:(1 1)软件方法)软件方法使用使用延迟子程序延迟子程序 优点:节省硬件优点:节省硬件缺点:占用缺点:占用CPUCPU的时间,降低的时间,降低CPUCPU的效率;的效率;需要拼凑延时时间,较麻烦。需要拼凑

2、延时时间,较麻烦。(2 2)硬件方法)硬件方法使用使用计数器计数器/定时器定时器 优点:计数时不占用优点:计数时不占用CPUCPU的时间,提高的时间,提高CPUCPU的利用的利用 率;时间延迟准确。率;时间延迟准确。第第9章章 计数器计数器/定时器和多功能接口芯片定时器和多功能接口芯片vvIntel8253/8254为可编程计数器/定时器。vv8254为8253的改进型,外部特性和使用方法相同,但频率较高,多了个别功能。第第9章章 计数器计数器/定时器和多功能接口芯片定时器和多功能接口芯片vv9.1 9.1 可编程计数器可编程计数器/定时器的工作原理定时器的工作原理vv9.2 9.2 8253

3、/82548253/8254的编程结构和外部信号的编程结构和外部信号vv9.3 9.3 8253/82548253/8254的控制字和状态字的控制字和状态字vv9.4 9.4 8253/82548253/8254的编程命令的编程命令vv9.5 9.5 8253/82548253/8254的工作模式的工作模式vv9.6 9.6 8253/82548253/8254应用举例应用举例vv9.7 9.7 3232位微型计算机系统中的多功能接口芯片位微型计算机系统中的多功能接口芯片82380823809.1 可编程计数器可编程计数器/定时器的工作原理定时器的工作原理 vv计数器:计数器:计数器:计数器:

4、计数减为计数减为0 0时,输出一个信号便结束。时,输出一个信号便结束。vv定时器:定时器:定时器:定时器:不断产生信号。不断产生信号。vv计数器计数器计数器计数器/定时器的用处:定时器的用处:定时器的用处:定时器的用处:作为中断信号实现程序的切换;作为中断信号实现程序的切换;输出精确的定时信号;输出精确的定时信号;作为可编程的波特率发生器;作为可编程的波特率发生器;实现时间延迟。实现时间延迟。计数器计数器计数器计数器/定时器的基本原理图定时器的基本原理图定时器的基本原理图定时器的基本原理图 9.2 8253/8254的编程结构和外部信号的编程结构和外部信号vv3 3个独立的个独立的1616位计

5、数器通道;位计数器通道;vv共用共用1 1个控制寄存器和个控制寄存器和1 1个状态寄存器(只有个状态寄存器(只有82548254有状态寄存器)。有状态寄存器)。vv每个计数器有每个计数器有6 6种工作方式;种工作方式;vv按二进制或十进制(按二进制或十进制(BCDBCD码)计数。码)计数。(1)编程结构编程结构vv3 3个计数器,每个计数器内部有:个计数器,每个计数器内部有:1616位的计数初值寄存器位的计数初值寄存器CRCR;计数执行部件计数执行部件CECE:1616位的减法计数器;位的减法计数器;输出锁存器输出锁存器OLOL:锁存:锁存CECE的内容,便于的内容,便于CPUCPU读出读出计

6、数值;计数值;编程结构编程结构 状态寄存器状态寄存器定时器定时器/计数器的工作过程计数器的工作过程1.1.设置设置8253825482538254的工作方式;的工作方式;2.2.设置计数初值到计数初值寄存器设置计数初值到计数初值寄存器CRCR;3.3.第一个第一个CLKCLK信号使计数初值寄存器的内容置入信号使计数初值寄存器的内容置入 计数执行部件计数执行部件CECE;4.4.以后每来一个以后每来一个CLKCLK信号,信号,CECE减减1 1;5.5.OUTOUT端输出一特殊波形的信号;端输出一特殊波形的信号;注:以上计数过程中还受到注:以上计数过程中还受到GATEGATE信号的控制。信号的控

7、制。A A A A1 1 1 1A A A A0 0 0 000 00 00 00 计数器计数器计数器计数器0 0 0 001 01 01 01 计数器计数器计数器计数器1 1 1 110 10 10 10 计数器计数器计数器计数器2 2 2 211 11 11 11 控制端口、状态端口控制端口、状态端口控制端口、状态端口控制端口、状态端口(2)8253/8254的外部信号的外部信号DBD7-D0A1A0WRRDCS通道通道2通道通道1通道通道0CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2A2A1IOWIOR片选信号片选信号9.3 8253/8254的控制字和

8、状态字的控制字和状态字 vv三个计数器共用一个控制寄存器,可对控制寄存器写入控制字使三个计数器工作在不同的模式,控制端口只写。vv8254有一个状态寄存器,状态端口只读。vv控制端口、状态端口地址A1A0=11。(1)8253/8254控制寄存器和控制字控制寄存器和控制字vv控制字有两大类:模式设置控制字:设置三个计数器的工作模式;模式设置控制字:设置三个计数器的工作模式;读出控制字:读取计数器的当前计数值和当前状读出控制字:读取计数器的当前计数值和当前状态(只对态(只对82548254)。)。模式设置控制字模式设置控制字SCSC1 1 SC SC0 0RWRW1 1 RW RW0 0MM2

9、2 M M1 1 M M0 0BCDBCDD D7 7D D6 6D D5 5D D4 4D D3 3D D2 2D D1 1D D0 0计数器选择:计数器选择:00 计数器计数器001 计数器计数器110 计数器计数器211 非法非法读写格式选择:读写格式选择:00 计数器锁存命令计数器锁存命令 01 只读写低字节只读写低字节10 只读写高字节只读写高字节11 先读写低字节先读写低字节 后读写高字节后读写高字节工作方式选择工作方式选择000 方式方式0001 方式方式1010 方式方式2011 方式方式3100 方式方式4101 方式方式5计数初值格计数初值格式式0 二进制二进制1 十进制十

10、进制控制字写入控制寄存器(控制字写入控制寄存器(A1A011)读出控制字(锁存命令)读出控制字(锁存命令)D D7 7D D6 6D D5 5D D4 4D D3 3 D D2 2 D D1 1 D D0 01 11 1COUNTCOUNTSTATUSSTATUSCNTCNT2 2CNTCNT1 1CNTCNT0 00 011 读出控制字读出控制字 标识符标识符为为0,对对计计数数器器的的当前值进行锁存当前值进行锁存为为0,对对计计数数器器的状态锁存的状态锁存D0必须为必须为0分分别别对对应应计计数数器器2、1、0可用锁存命令同时锁存多个计数器的计数值,也可锁存可用锁存命令同时锁存多个计数器的

11、计数值,也可锁存某个计数器计数值和状态值。某个计数器计数值和状态值。(2)8254状态寄存器和状态字状态寄存器和状态字D7:表示:表示OUT端的状态。为端的状态。为1,表示,表示OUT端为高电平,为端为高电平,为0,表,表 示示OUT端为低电平端为低电平D6:表示初值是否已经装入计数器。为:表示初值是否已经装入计数器。为0,表示初值已经装入,表示初值已经装入 计数器,为计数器,为1,表示没有装入。,表示没有装入。D5D0:与模式设置控制字的对应位含义相同。:与模式设置控制字的对应位含义相同。9.4 8253/8254的编程命令的编程命令 编程原则:设置初值前必须先写控制字;初值设置要符合控制字

12、中的格式规定;要读取计数器的当前值和状态字,必须用控制字先锁定,才能读取。9.4 8253/8254的编程命令的编程命令编程命令有两类:读出命令;读出命令;读计数器计数值读计数器计数值读状态寄存器值(只对读状态寄存器值(只对82548254)写入命令;写入命令;模式设置控制字命令模式设置控制字命令读出控制字读出控制字(琐存命令琐存命令)设置计数初始值设置计数初始值写入计数初值写入计数初值vv选择二进制时选择二进制时计数值范围:计数值范围:0000H0000HFFFFHFFFFH0000H0000H是最大值,代表是最大值,代表6553665536vv选择十进制(选择十进制(BCDBCD码)码)计

13、数值范围:计数值范围:000000009999999900000000代表最大值代表最大值1000010000计数值写入计数器各自的计数值写入计数器各自的I/O地址地址写入计数初值写入计数初值vv当采用二进制计数时,计数初值当采用二进制计数时,计数初值N N可以写成二进制可以写成二进制形式,也可以写成十进制格式。形式,也可以写成十进制格式。vv例如:例如:MOV AX,0040H ;MOV AX,0040H ;0040H0040H是是1616位二进制计数位二进制计数00000000010000000000000001000000 OUT Port,AL OUT Port,AL ;先写低先写低8

14、 8位(位(PortPort为端口号)为端口号)MOV AL,AH MOV AL,AH OUT Port,AL OUT Port,AL ;后写高后写高8 8位位写入计数初值写入计数初值vv当采用十进制(当采用十进制(BCDBCD码)计数时,把计算得到的十进码)计数时,把计算得到的十进制计数初值制计数初值N N加上后缀加上后缀H H。vv例如:例如:MOV AL,100H ;MOV AL,100H ;计数初值计数初值N N为十进制数(为十进制数(BCDBCD码)码)100100 OUT Port,AL OUT Port,AL MOV AX,2567H ;MOV AX,2567H ;计数初值计数初

15、值N N为十进制数(为十进制数(BCDBCD码)码)25672567 OUT Port,AL ;OUT Port,AL ;先写低先写低8 8位位 MOV AL,AH ;MOV AL,AH ;高高8 8位送低位送低8 8位位 OUT Port,AL ;OUT Port,AL ;后写高后写高8 8位位读取计数值读取计数值vv对对8 8位数据线,读取位数据线,读取1616位计数值需分两次位计数值需分两次vv计数在不断进行,应该将当前计数值先行锁存,计数在不断进行,应该将当前计数值先行锁存,然后读取:然后读取:向控制向控制I/OI/O地址:给地址:给8253/82548253/8254写入锁存命令写入

16、锁存命令从计数器从计数器I/OI/O地址:读取锁存的计数值地址:读取锁存的计数值读取计数值,要注意读写格式和计数数制读取计数值,要注意读写格式和计数数制读取计数器读取计数器2 2的当前计数值的例子的当前计数值的例子MOV AL,11011000B MOV AL,11011000B ;对计数器;对计数器;对计数器;对计数器2 2发锁存命令,锁存当前计数值发锁存命令,锁存当前计数值发锁存命令,锁存当前计数值发锁存命令,锁存当前计数值OUT 76H,AL OUT 76H,AL ;76H76H为控制口地址为控制口地址为控制口地址为控制口地址IN IN AL,74H AL,74H ;读取计数器;读取计数

17、器;读取计数器;读取计数器2 2的读取值,的读取值,的读取值,的读取值,74H74H为计数器为计数器为计数器为计数器2 2的地址的地址的地址的地址对对82548254读取状态字和计数值读取状态字和计数值MOV AL,11000010BMOV AL,11000010B;计数器;计数器;计数器;计数器0 0的锁存命令的锁存命令的锁存命令的锁存命令OUT 76H,AL OUT 76H,AL ;76H76H为控制口地址,对锁存计数器为控制口地址,对锁存计数器为控制口地址,对锁存计数器为控制口地址,对锁存计数器0 0的状态和计数值的状态和计数值的状态和计数值的状态和计数值ININ AL,76H AL,7

18、6H;从状态口读取计数器;从状态口读取计数器;从状态口读取计数器;从状态口读取计数器0 0的状态的状态的状态的状态MOV CL,ALMOV CL,AL;将计数器;将计数器;将计数器;将计数器0 0的状态送到的状态送到的状态送到的状态送到CLCLIN AL,70HIN AL,70H ;读取计数器;读取计数器;读取计数器;读取计数器0 0 的低的低的低的低8 8位位位位MOV BL,ALMOV BL,AL;将低;将低;将低;将低8 8位送到位送到位送到位送到BLBLIN IN AL,70HAL,70H;读取计数器;读取计数器;读取计数器;读取计数器0 0的高的高的高的高8 8位位位位MOV BH,

19、ALMOV BH,AL;BXBX中为计数器中为计数器中为计数器中为计数器0 0的当前计数值的当前计数值的当前计数值的当前计数值假设计数器的假设计数器的假设计数器的假设计数器的4 4个端口地址为个端口地址为个端口地址为个端口地址为70H70H、72H72H、74H74H、76H76H思考题思考题1 1 设设82538253端口地址为端口地址为200H200H203H203H,使用计数器,使用计数器1 1,工作于方式工作于方式3 3(方波发生器),二进制计数,计数(方波发生器),二进制计数,计数初值为初值为3000H3000H,请编写初始化程序。,请编写初始化程序。;方法;方法;方法;方法1 1,

20、1616位计数,先写低位计数,先写低位计数,先写低位计数,先写低8 8位,后写高位,后写高位,后写高位,后写高8 8位。根据题目写出位。根据题目写出位。根据题目写出位。根据题目写出控制字为控制字为控制字为控制字为01110110B(76H)01110110B(76H)。MOV DX,203H MOV DX,203H ;82538253控制寄存器控制寄存器 MOV AL,76H MOV AL,76H ;二进制计数、方式;二进制计数、方式3 3、先写低、先写低8 8 位、后位、后写高写高8 8位、计数器位、计数器1 1 OUT DX,AL OUT DX,AL ;控制字写入控制字寄存器;控制字写入控

21、制字寄存器 MOV DX,201H MOV DX,201H ;计数器;计数器1 1 MOV AL,00H MOV AL,00H ;计数初值低;计数初值低8 8位位 OUT DX,AL OUT DX,AL ;计数初值低;计数初值低8 8位写入计数器位写入计数器1 1 MOV AL,30H MOV AL,30H ;计数初值高;计数初值高8 8位位 OUT DX,AL OUT DX,AL ;计数初值高;计数初值高8 8位写入计数器位写入计数器1 1;方法;方法;方法;方法2 2:16 16位计数,只写高位计数,只写高位计数,只写高位计数,只写高8 8位,低位,低位,低位,低8 8位自动为位自动为位自

22、动为位自动为0 0。MOV DX,203H MOV DX,203H ;82538253控制寄存器控制寄存器 MOV AL,66H MOV AL,66H ;控制字;控制字01100110B01100110B OUT DX,AL OUT DX,AL ;控制字写入控制字寄存器;控制字写入控制字寄存器 MOV DX,201H MOV DX,201H ;计数器;计数器1 1 MOV AL,30H MOV AL,30H ;计数初值高;计数初值高8 8位位 OUT DX,AL OUT DX,AL ;计数初值高;计数初值高8 8位写入计数器位写入计数器1 1思考题思考题vv2 2 设设82538253的端口地

23、址为的端口地址为208H208H20BH20BH,使用计数器,使用计数器0 0,工作于方式,工作于方式4 4,二进制计数;使用计数器,二进制计数;使用计数器2 2,工作,工作于方式于方式5 5,十进制计数。计数器,十进制计数。计数器0 0和计数器和计数器2 2的计数的计数初值都等于十进制数值初值都等于十进制数值512(0200H)512(0200H),请编写初始化,请编写初始化程序。程序。MOVMOV AL,AL,38H 38H;控制字;控制字00111000B00111000B,二进制计,二进制计 数、方式数、方式4 4、计数器、计数器0 0、先写低、先写低8 8位、后写高位、后写高8 8位

24、位MOV MOV DX,DX,20BH 20BH;控制字寄存器端口地址;控制字寄存器端口地址OUT OUT DX,DX,AL AL ;控制字写入控制字寄存器;控制字写入控制字寄存器MOV MOV DX,DX,208H 208H ;计数器;计数器0 0端口地址端口地址MOVMOV AL,AL,00H 00H;计数初值低;计数初值低8 8位位OUT OUT DX,DX,AL AL ;计数初值低;计数初值低8 8位写入计数器位写入计数器0 0MOV MOV AL,AL,02H 02H;计数初值高;计数初值高8 8位位OUT DX,OUT DX,AL AL;计数初值高;计数初值高8 8位写入计数器位写

25、入计数器0 0MOV AL,0BBHMOV AL,0BBH;控制字;控制字10111011B10111011B,BCDBCD、方式、方式5 5、计数器计数器2 2、先写低、先写低8 8位、后写高位、后写高8 8位位MOV DX,20BHMOV DX,20BH;控制字寄存器端口地址;控制字寄存器端口地址OUT DX,OUT DX,ALAL;控制字写入控制字寄存器;控制字写入控制字寄存器MOV DX,MOV DX,20AH 20AH;计数器;计数器2 2端口地址端口地址MOV AL,MOV AL,12H12H;计数初值低;计数初值低8 8位位OUT DX,OUT DX,AL AL;计数初值低;计数

26、初值低8 8位写入计数器位写入计数器2 2MOV AL,MOV AL,05H 05H;计数初值高;计数初值高8 8位位OUT DX,OUT DX,AL AL;计数初值高;计数初值高8 8位写入计数器位写入计数器2 2思考题思考题3 3 设设82538253的端口地址为的端口地址为208H208H20BH20BH,请编写程序,请编写程序读取计数器读取计数器2 2的当前计数值。的当前计数值。MOV AL,0D8H MOV AL,0D8H ;计数器;计数器2 2的锁存命令的锁存命令 MOV DX,20BH MOV DX,20BH ;控制字寄存器端口地址;控制字寄存器端口地址 OUT DX,ALOUT

27、 DX,AL MOV DX,20AH MOV DX,20AH ;计数器;计数器2 2端口地址端口地址 IN AL,DXIN AL,DX;读取计数初值低;读取计数初值低8 8位位 MOV BL,MOV BL,ALAL;计数初值低;计数初值低8 8位存入位存入BLBL IN AL,DX IN AL,DX;读取计数初值高;读取计数初值高8 8位位 MOV BH,MOV BH,ALAL;计数初值高;计数初值高8 8位存入位存入BHBH9.5 8253/8254的工作模式的工作模式 有有有有6 6种工作模式,都遵守的基本规则:种工作模式,都遵守的基本规则:种工作模式,都遵守的基本规则:种工作模式,都遵守

28、的基本规则:控制字写入时,进入初始状态;控制字写入时,进入初始状态;初初值值写写入入后后,要要经经过过上上升升沿沿和和一一个个下下降降沿沿,计计数数执执行行部部件才开始计数;件才开始计数;在在CLKCLK的的上上升升沿沿,GATEGATE被被采采样样,对对于于一一给给定定的的工工作作模模式,式,GATEGATE的触发方式有具体规定;的触发方式有具体规定;在在CLKCLK下降沿,计数器作减下降沿,计数器作减1 1计数;计数;(0 0是计数器的最大初值)是计数器的最大初值)9.5 8253/8254的工作模式的工作模式 6 6种工作方式主要有种工作方式主要有五点不同:五点不同:vv1 1)启动计数

29、器的触发方式不同;)启动计数器的触发方式不同;vv2 2)OUTOUT输出波形不同;输出波形不同;vv3 3)计计数过程中门控信号数过程中门控信号GATEGATE对计数操作的影响不同;对计数操作的影响不同;vv4 4)在计数过程中重新写入计数初值对计数过程的影响不同;)在计数过程中重新写入计数初值对计数过程的影响不同;vv5 5)计数过程结束,减法计数器是否恢复计数初值并自动重复)计数过程结束,减法计数器是否恢复计数初值并自动重复 计数过程不同。计数过程不同。(1 1)模式)模式)模式)模式00计数结束产生中断计数结束产生中断计数结束产生中断计数结束产生中断 性质:写入控制字,写入控制字,OU

30、TOUT端为低电平,计数初值装入该端为低电平,计数初值装入该计数器后,等待到计数器后,等待到GATEGATE输入高电平时,计数器开输入高电平时,计数器开始递减计数。在整个计数过程中,始递减计数。在整个计数过程中,OUTOUT保持低电保持低电平,当计数器减为平,当计数器减为0 0时,时,OUTOUT输出高电平,并且一输出高电平,并且一直保持高电平,除非写入新的计数值。直保持高电平,除非写入新的计数值。模式模式0 计数结束中断计数结束中断GATEOUTCLK 031244方式方式0WR设设定定工工作作方方式式设设定定计计数数初初值值计计数数值值送送入入计计数数器器计计数数过过程程计计数数结结束束模

31、式模式0 计数结束中断计数结束中断特点:电平触发方式,不自动重复计数。电平触发方式,不自动重复计数。计数过程受计数过程受GATEGATE控制,控制,GATE=0 GATE=0 暂停计数,暂停计数,GATE=1 GATE=1 接着计数。接着计数。计数过程中,如有一个新的计数初值被写入,计数计数过程中,如有一个新的计数初值被写入,计数器将按新的初值重新计数。器将按新的初值重新计数。OUTOUT端输出是一个约端输出是一个约(N+1)T(N+1)TCLKCLK宽度的负脉冲。宽度的负脉冲。(2)(2)模式模式模式模式1 1 可编程的单稳态触发器可编程的单稳态触发器可编程的单稳态触发器可编程的单稳态触发器

32、性质:性质:写入控制字,写入控制字,OUTOUT端为高电平,计数初值装入该端为高电平,计数初值装入该计数器后,在计数器后,在GATEGATE信号的上升沿后的下一个信号的上升沿后的下一个CLKCLK脉冲的下降沿开始计数,脉冲的下降沿开始计数,OUTOUT变为低电平。在整变为低电平。在整个计数过程中,个计数过程中,OUTOUT保持低电平,当计数器减为保持低电平,当计数器减为0 0时,时,OUTOUT变为高电平,输出一个单脉冲,若变为高电平,输出一个单脉冲,若GATEGATE信号再由低变高,可再产生一个单脉冲,相当一信号再由低变高,可再产生一个单脉冲,相当一个单稳态个单稳态。模式模式1 可编程单稳脉

33、冲可编程单稳脉冲设设定定工工作作方方式式设设定定计计数数初初值值硬硬件件启启动动计计数数值值送送入入计计数数器器计计数数过过程程计计数数结结束束GATEOUTCLK 031244方式方式1WR模式模式1 可编程单稳脉冲可编程单稳脉冲特点:上升沿触发,不自动重复计数。上升沿触发,不自动重复计数。计数过程中,又写入新的计数值,当前输出不受影计数过程中,又写入新的计数值,当前输出不受影响。但又来了触发信号,则按新的计数值做减响。但又来了触发信号,则按新的计数值做减1 1计计数。数。OUTOUT端输出是一个约端输出是一个约NTNTCLKCLK宽度的负脉冲。宽度的负脉冲。(3)(3)模式模式模式模式22

34、分频器分频器分频器分频器性质:vv写入控制字,写入控制字,OUTOUT端为高电平,计数初值写入计数端为高电平,计数初值写入计数器后,等待到触发信号时,计数器开始递减计数。器后,等待到触发信号时,计数器开始递减计数。减到减到1 1,OUTOUT端变成低电平,经过一个时钟脉冲端变成低电平,经过一个时钟脉冲OUTOUT端又变为高电平,然后开始一个新的计数过程,端又变为高电平,然后开始一个新的计数过程,重复进行。重复进行。模式模式2 频率发生器(分频器)频率发生器(分频器)03124GATEOUTCLK 4模式模式2031240312403124WR模式模式2 频率发生器(分频器)频率发生器(分频器)

35、特点:vv电平触发、上升沿触发,自动重复计数。电平触发、上升沿触发,自动重复计数。vv软件同步、硬件同步。软件同步、硬件同步。vv计数过程中,计数过程中,CPUCPU可随时改变计数初值,若可随时改变计数初值,若GATE=1GATE=1,当计数器减为,当计数器减为0 0时,按新的计数值分频;时,按新的计数值分频;若若GATEGATE端出现上升沿,下一个时钟脉冲时,按新端出现上升沿,下一个时钟脉冲时,按新的计数值计数。的计数值计数。vv输出的脉冲周期是输出的脉冲周期是N N个个CLKCLK周期,高电平为周期,高电平为N-1N-1个个CLKCLK周期。周期。(4)(4)模式模式模式模式33方波发生器

36、方波发生器方波发生器方波发生器性质:vvCPUCPU写入控制字后写入控制字后OUTOUT变高,写完计数初值并受变高,写完计数初值并受触发后,开始减触发后,开始减1 1计数,输出保持高电平。当计到计数,输出保持高电平。当计到一半计数值时,输出变低,直到计数到一半计数值时,输出变低,直到计数到0 0,输出又,输出又变为高,重新开始计数。变为高,重新开始计数。模式模式模式模式3 3的时序图的时序图的时序图的时序图 :(4)模式模式3方波发生器方波发生器特点:vv电平触发、上升沿触发,自动重复计数。电平触发、上升沿触发,自动重复计数。vv软件同步、硬件同步。软件同步、硬件同步。vv计数过程中,若计数过

37、程中,若GATE=1GATE=1,当计数器减为,当计数器减为0 0时,按新时,按新的计数值重新计数;若的计数值重新计数;若GATEGATE端出现上升沿,下一端出现上升沿,下一个时钟脉冲时,按新的计数值计数。个时钟脉冲时,按新的计数值计数。vv输出的方波周期是输出的方波周期是N N个个CLKCLK周期。计数初值周期。计数初值N N为偶数,为偶数,N/2N/2个个CLKCLK,N/2N/2个个CLKCLK;N N为奇数为奇数 (N+1)/2(N+1)/2个个CLKCLK,(N-1)/2(N-1)/2个个CLKCLK 。(5)(5)模式模式模式模式44软件触发的选通信号发生器软件触发的选通信号发生器

38、软件触发的选通信号发生器软件触发的选通信号发生器性质:vv写入控制字,写入控制字,OUTOUT端为高电平,写入计数初值,端为高电平,写入计数初值,GATEGATE为高电平,开始计数,计数器计到为高电平,开始计数,计数器计到0 0时,时,OUTOUT变为低电平,经过一个变为低电平,经过一个CLKCLK脉冲周期,脉冲周期,OUTOUT又变高,计数器停止计数,只有写入新计数值才能又变高,计数器停止计数,只有写入新计数值才能开始新的计数。开始新的计数。模式模式模式模式4 4 软件触发选通信号软件触发选通信号软件触发选通信号软件触发选通信号FF模式模式4 软件触发选通信号软件触发选通信号特点:vv电平触

39、发,不自动重复计数。vvGATE=1,计数进行;GATE=0,计数停止vv计数时写入新的计数值,计数器立即按新的初值计数(软件触发)。(6)(6)模式模式模式模式55硬件触发的选通信号发生器硬件触发的选通信号发生器硬件触发的选通信号发生器硬件触发的选通信号发生器性质:写入控制字,写入控制字,OUTOUT变高,写入计数初值后,由变高,写入计数初值后,由GATEGATE信号的上升沿触发开始计数。计到信号的上升沿触发开始计数。计到0 0后,后,OUTOUT变为低电平。经一个变为低电平。经一个CLKCLK周期后,周期后,OUTOUT又变为高电又变为高电平,并停止计数,等下次平,并停止计数,等下次GAT

40、EGATE触发才能再计数。触发才能再计数。模式模式模式模式5 5 硬件触发选通信号硬件触发选通信号硬件触发选通信号硬件触发选通信号GATEOUTCLK031244模式模式52233311 0WR模式模式5 硬件触发选通信号硬件触发选通信号特点:上升沿触发,不自动重复计数。上升沿触发,不自动重复计数。计数过程中,计数过程中,GATEGATE端又来了上升沿触发,则重新端又来了上升沿触发,则重新获得计数初值,开始减获得计数初值,开始减1 1计数。计数。各种工作模式的输出波形各种工作模式的输出波形各种工作模式的输出波形各种工作模式的输出波形*模式模式 0+模式模式1#模式模式2#模式模式3*模式模式4

41、+模式模式50N0N0/N11 0/NNN/2 N/2 0/N0/NN0NN08253/8254-工作方式与门控信号的关系工作方式与门控信号的关系方式方式GATE=0GATE=0及下降沿及下降沿GATE=1GATE=1GATEGATE上升上升0 0停止计数停止计数允许计数允许计数不受影响不受影响1 1不受影响不受影响不受影响不受影响从初值开始重新计数从初值开始重新计数2 2停止计数停止计数允许计数允许计数从初值开始重新计数从初值开始重新计数3 3停止计数停止计数允许计数允许计数从初值开始重新计数从初值开始重新计数4 4停止计数停止计数允许计数允许计数不受影响不受影响5 5不受影响不受影响不受影

42、响不受影响从初值开始重新计数从初值开始重新计数9.6 8253/8254应用举例应用举例 举例举例1:用:用8253/8254为为A/D子系统提供采样信号。子系统提供采样信号。图图 8253/8254作为定时器的例子作为定时器的例子 时钟频率:时钟频率:时钟频率:时钟频率:F F计数器计数器计数器计数器2 2:模式模式模式模式3 3,计数初值为,计数初值为,计数初值为,计数初值为N N,OUTOUT2 2输出频率为输出频率为输出频率为输出频率为F/NF/N计数器计数器计数器计数器1 1:模式:模式:模式:模式1 1,计数初值为,计数初值为,计数初值为,计数初值为MMOUTOUT1 1输出负脉冲

43、宽度为输出负脉冲宽度为输出负脉冲宽度为输出负脉冲宽度为MN/FMN/F计数器计数器计数器计数器0 0:模式:模式:模式:模式2 2,计数初值为,计数初值为,计数初值为,计数初值为L LOUTOUT0 0输出频率为输出频率为输出频率为输出频率为F/LF/LA/DA/D转换器按转换器按转换器按转换器按F/LF/L的采样率工的采样率工的采样率工的采样率工作,持续时间为作,持续时间为作,持续时间为作,持续时间为MN/FMN/F系统的初始化程序段系统的初始化程序段:vv82538253端口地址:端口地址:0070H-0076H0070H-0076Hvv计数初值:计数初值:L L、N N为二进制,小于为二

44、进制,小于256256,MM为为BCDBCD码。码。系统的初始化程序段系统的初始化程序段:MOVMOV ALAL,14H14HOUTOUT 76H76H,ALAL ;将计数器将计数器0 0设置为模式设置为模式2 2MOVMOV ALAL,LCNTLCNTOUTOUT 70H70H,ALAL ;对计数器对计数器0 0设置计数初设置计数初 始值始值L L(8(8位二进制位二进制)系统的初始化程序段系统的初始化程序段:MOVMOV ALAL,73H73HOUTOUT76H76H,ALAL;将计数器将计数器1 1设置为模式设置为模式1 1MOVMOV AXAX,MCNTMCNTOUTOUT72H72H

45、,ALALMOVMOV ALAL,AHAHOUTOUT72H72H,ALAL ;对计数器对计数器1 1设置初始值设置初始值M(16M(16位位BCDBCD)MOVMOV ALAL,96H96HOUTOUT76H76H,ALAL ;将计数器将计数器2 2设置为模式设置为模式3 3MOVMOV ALAL,NCNTNCNTOUTOUT74H74H,ALAL ;对计数器对计数器2 2设置初始值设置初始值N(8N(8位二位二进进制)制)vv举例举例2 2:假设:假设82538253的端口地址为的端口地址为200H-203H200H-203H,编程,编程将将82538253定时器定时器0 0设定为方式设定

46、为方式3 3,定时器,定时器1 1设定在方式设定在方式3 3,定时器,定时器1 1输出作为定时器输出作为定时器0 0的输入,定时器的输入,定时器0 0的输的输出接在一个出接在一个LEDLED上,要求上,要求LEDLED每秒闪烁一次。每秒闪烁一次。9.6 8253/8254应用举例应用举例 CODE SEGMENTCODE SEGMENT ASSUME CS:CODE ASSUME CS:CODESTART:START:MOV AL,36H ;MOV AL,36H ;计数器计数器计数器计数器0 0初始化初始化初始化初始化,16,16位位位位,方式方式方式方式3,3,二进制二进制二进制二进制 MO

47、V DX,203H ;8253 MOV DX,203H ;8253控制地址端口控制地址端口控制地址端口控制地址端口 OUT DX,AL OUT DX,AL MOV AX,1000 MOV AX,1000 MOV DX,200H MOV DX,200H OUT DX,AL ;OUT DX,AL ;计数器低字节计数器低字节计数器低字节计数器低字节 MOV AL,AH MOV AL,AH OUT DX,AL ;OUT DX,AL ;计数器高字节计数器高字节计数器高字节计数器高字节 MOV AL,76H ;MOV AL,76H ;计数器计数器计数器计数器1 1初始化初始化初始化初始化,16,16位位位

48、位,方式方式方式方式3,3,二进制二进制二进制二进制 MOV DX,203H MOV DX,203H OUT DX,AL OUT DX,AL MOV AX,1000 MOV AX,1000 MOV DX,201H MOV DX,201H OUT DX,AL ;OUT DX,AL ;计数器低字节计数器低字节计数器低字节计数器低字节 MOV AL,AH MOV AL,AH OUT DX,AL ;OUT DX,AL ;计数器高字节计数器高字节计数器高字节计数器高字节 JMP$JMP$CODE ENDSCODE ENDS END START END START思考题思考题vv1 利用8253的定时器0

49、设定为方式3,定时器1设定为方式2,定时器2设定为方式3,编写程序实现8253控制继电器的吸合和断开(每10秒一次),从而达到对外部装置的控制。CODE SEGMENTCODE SEGMENT ASSUME CS:CODE ASSUME CS:CODESTART:START:MOV AL,36H ;MOV AL,36H ;计数器计数器0 0初始化初始化,16,16位位,方式方式3,3,二进制二进制 MOV DX,203H ;8253 MOV DX,203H ;8253控制地址端口控制地址端口 OUT DX,AL OUT DX,AL MOV AX,10000MOV AX,10000 MOV DX

50、,200H MOV DX,200H OUT DX,AL ;OUT DX,AL ;计数器低字节计数器低字节 MOV AL,AH MOV AL,AH OUT DX,AL ;OUT DX,AL ;计数器高字节计数器高字节 MOV AL,75H ;MOV AL,75H ;计数器计数器1 1初始化初始化,16,16位位,方式方式2,2,二进制二进制 MOV DX,203H MOV DX,203H OUT DX,AL OUT DX,AL MOV AX,100MOV AX,100 MOV DX,201H MOV DX,201H OUT DX,AL ;OUT DX,AL ;计数器低字节计数器低字节 MOV A

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁