《第七章、定时计数器8253(2)讲义》由会员分享,可在线阅读,更多相关《第七章、定时计数器8253(2)讲义(41页珍藏版)》请在金锄头文库上搜索。
1、第七章 计数器和定时器电路 Intel 8253/8254-PIT,徐承彬,Intel 8253/8254-PIT,7. 1 概述,定时信号的获得,(1)软件方法:,(2)硬件方法:,不可编程的硬件定时,可编程的硬件定时,一、8253的主要功能,1、有3个独立的16位计数器,计数器0,计数器1,计数器2,2、都可以按二进制或BCD码计数,3、计数速率可达2MHz,4、编程可有6种不同的工作方式,5、所有的输入输出引脚都与TTL 电平兼容,二、8253的内部结构,二、8253的内部结构,1、数据总线缓冲器,(1)CPU在初始化编程时, 写入8253的控制字,(2)CPU向某一计数器写入 计数初值
2、,(3)CPU从某一计数器读取 当前的计数值,二、8253的内部结构,1、数据总线缓冲器,0 0,2、读/写逻辑,0 1,1 0,1 1,二、8253的内部结构,1、数据总线缓冲器,2、读/写逻辑,1 1,3、控制寄存器,二、8253的内部结构,1、数据总线缓冲器,2、读/写逻辑,3、控制寄存器,4、计数器0、1、2、,二、8253的内部结构,1、数据总线缓冲器,2、读/写逻辑,3、控制寄存器,4、计数器0、1、2、,CLK:计数时钟(输入),频率范围是0 2.6MHz,GATE:门控信号(输入,1有效),用于启动或停止计数 器工作,OUT:计数器输出信号(输出), 输出波形取决于 设定的工作
3、方式,三、8253的引脚线,7. 2 8253的控制字,1、计数器选择(D7D6),2、数据读写格式(D5D4),3、工作方式(D3D2D1),4、数制选择( D0),9. 2 8253的控制字,例,计数器1,工作于方式1,计数初值3000H。二进制计数,则控制字为:,0 1,1 0,0 0 1,0,62H,如果8253的端口地址为30H,31H,32H,33H,则初始化控制字的相应程序为:,Mov al , 62h,Out 33h , al,9. 3 8253的工作方式,0 0 0 1 000 0,10H,4,4,3,2,1,0,例,计数器1,工作于方式0,计数初值128。二进制计数,端口地
4、址为04H,05H,06H,07H,确定控制字:,0 1,0 1,0 0 0,0,50H,计算初值:,80H,Mov al , 50h,初始化程序:,out 07h , al,mov al , 80h,out 05h , al,9. 3 8253的工作方式,对外部事件计数,例,计数器0,工作于方式3,输出方波的频率为2KHz 计数脉冲的频率为2.5MHz,采用BCD计数,试编写 初始化程序段,端口地址为04H,05H,06H,07H,初值的计算,2.5MHz/2KHz=,1250,控制字:,0 0,1 1,0 1 1,1,37H,Mov al , 37h,初始化程序:,out 07h , al
5、,mov al , 50h,out 04h , al,mov al , 12h,out 04h , al,8253工作方式小结,9. 4 8253的编程,例,计数器0,工作于方式1,采用BCD计数, 计数值为5080H,端口地址为F8HFBH,初值的计算,5080,控制字:,0 0,1 1,0 0 1,1,33H,Mov al , 33h,初始化程序:,out 0FBh , al,mov al , 80h,out 0F8h , al,mov al , 50h,out 0F8h , al,若要在计数过程读现行值,(将计数值锁存到锁存器中),Mov al , 40h,out 0FBh , al,I
6、N al , 0F9h,MOV CL ,AL,IN al , 0F9h,MOV CH , al,例,利用8253芯片的计数器1,输出50ms的低电平, 设输入信号的频率为1000Hz,初值的计算,T=,控制字:,0 1,0 1,0 0 1,0,52H,Mov al , 52h,初始化程序:,out 7Fh , al,mov al , 32h,out 7Dh , al,1/1000,=1ms,初值N=,50/1,=50,32H,端口地址:,7C,7D,7E,7F,例,利用8253芯片的计数器1,输出频率为50Hz的方波, 设输入信号的频率为1000Hz,,初值的计算,N=,控制字:,0 1,0
7、1,0 1 1,0,56H,Mov al , 56h,初始化程序:,out 7Fh , al,mov al , 14h,out 7Dh , al,1000/50,=20,端口地址:,7C,7D,7E,7F,14H,1、如图所示,8086系统通过8255A实现开关K控制LED灯,根据图示连接写出8255A的端口地址;并编写相关程序实现开关闭合则灯熄灭,开关断开则灯点亮。(10分) :端口地址为0F0H0F3H 相关程序: MOV AL,90H OUT 0F3H,AL L1: IN AL,0F0H TEST AL,80H JZ NEXT MOV AL,00H OUT 0F1H,AL JMP L1 NEXT:MOV AL,0FFH OUT 0F1H,AL JMP L1,3、如图所示,利用8253芯片的计数器1,输出频率为50Hz的方波,设输入信号的频率为1000Hz,根据下图的连接确定8253的端口地址,写出控制字的内容,计算计数初值,编写相应的初始化程序。(10分) 答:端口地址为7CH7FH;控制字为56H,计数初值是14H MOV AL ,56H OUT 7FH , AL MOV AL ,14H OUT 7DH ,AL,