




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第8 8章第章第3 3节节第第8 8章第章第3 3节:节:定时计数控制接口定时计数控制接口n 8253的引脚和六种工作方式的引脚和六种工作方式n 8253的编程的编程 n 8253在在IBM PC系列机上的应用系列机上的应用教学重点第第8 8章第章第3 3节:节:定时功能的实现方法定时功能的实现方法软件延时软件延时利用微处理器执行一个延时程序段实现利用微处理器执行一个延时程序段实现不用硬件,但占用不用硬件,但占用CPU时间、定时精度不高,随系时间、定时精度不高,随系统时钟频率改变统时钟频率改变不可编程的硬件定时不可编程的硬件定时采用分频器、单稳电路或简易定时电路控制定时时间采用分频器、单稳电
2、路或简易定时电路控制定时时间定时电路简单、定时时间可以在一定范围改变定时电路简单、定时时间可以在一定范围改变可编程的硬件定时可编程的硬件定时软件硬件相结合、用可编程定时器芯片构成一个方便软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路灵活的定时电路具有多种工作方式、能够输出多种控制信号具有多种工作方式、能够输出多种控制信号第第8 8章第章第3 3节:节:定时器和计数器定时器和计数器定时控制在微机系统中具有极为重要的作用,计定时控制在微机系统中具有极为重要的作用,计数是许多过程控制领域常用的功能数是许多过程控制领域常用的功能它们都是由数字电路中的计数电路构成它们都是由数字电路中的计数
3、电路构成 定时器定时器由数字电路中的计数电路构成,通过记录由数字电路中的计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间高精度晶振脉冲信号的个数,输出准确的时间间隔隔 计数电路如果记录外设提供的具有一定随机性的计数电路如果记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲的个数(进而获知脉冲信号时,它主要反映脉冲的个数(进而获知外设的某种状态),常又称为外设的某种状态),常又称为计数器计数器第第8 8章第章第3 3节:节:8.1 8253/8254定时计数器定时计数器3个独立的个独立的16位计数器通道位计数器通道每个计数器有每个计数器有6种工作方式种工作方式按二进制或十进
4、制(按二进制或十进制(BCD码)计数码)计数8254是是8253的改进型的改进型第第8 8章第章第3 3节:节:8.1.1 8253/8254的内部结构和引脚的内部结构和引脚D7D0计数器0控制字寄存器计数器1计数器2内部数据总线数据总线缓冲器读写控制逻辑RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2第第8 8章第章第3 3节:节:1. 1. 计数器计数器预置寄存器预置寄存器GATECLKOUT减减1计数器计数器输出锁存器输出锁存器计数初值存于计数初值存于预置寄存器预置寄存器;在计数过程中,在计数过程中,减法计数器减法计数器的值不断递减,的值
5、不断递减,而预置寄存器中的预置不变。而预置寄存器中的预置不变。输出锁存器输出锁存器用于写入锁存命令时,用于写入锁存命令时,锁定当前计数值锁定当前计数值第第8 8章第章第3 3节:节:计数器的计数器的3个引脚个引脚CLK时钟输入信号时钟输入信号在计数过程中,此引脚上每输入一个时钟信号在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减(下降沿),计数器的计数值减1GATE门控输入信号门控输入信号控制计数器工作,可分成电平控制和上升沿控控制计数器工作,可分成电平控制和上升沿控制两种类型制两种类型OUT计数器输出信号计数器输出信号当一次计数过程结束(计数值减为当一次计数过程结束(计数
6、值减为0),),OUT引脚上将产生一个输出信号引脚上将产生一个输出信号第第8 8章第章第3 3节:节:2. 与处理器接口与处理器接口D0 D7数据线数据线A0 A1地址线地址线CS片选信号片选信号RD读信号读信号WR写信号写信号CS A1 A0I/O地址地址读操作读操作RD写操作写操作WR0 0 00 0 10 1 00 1 140H41H42H43H读计数器读计数器0读计数器读计数器1读计数器读计数器2无操作无操作写计数器写计数器0写计数器写计数器1写计数器写计数器2写控制字写控制字第第8 8章第章第3 3节:节:8.1.2 8253/8254的工作方式的工作方式8253有有6种工作方式,由
7、方式控制字确定种工作方式,由方式控制字确定熟悉每种工作方式的特点才能根据实际应熟悉每种工作方式的特点才能根据实际应用问题,选择正确的工作方式用问题,选择正确的工作方式每种工作方式的过程类似:每种工作方式的过程类似: 设定工作方式设定工作方式 设定计数初值设定计数初值 硬件启动硬件启动 计数初值进入减计数初值进入减1计数器计数器 每输入一个时钟计数器减每输入一个时钟计数器减1的计数过程的计数过程 计数过程结束计数过程结束第第8 8章第章第3 3节:节:方式方式0:计数结束中断:计数结束中断GATEOUTCLK 031244方式方式0WR设设定定工工作作方方式式设设定定计计数数初初值值计计数数值值
8、送送入入计计数数器器计计数数过过程程计计数数结结束束第第8 8章第章第3 3节:节:方式方式1:可编程单稳脉冲:可编程单稳脉冲设设定定工工作作方方式式设设定定计计数数初初值值硬硬件件启启动动计计数数值值送送入入计计数数器器计计数数过过程程计计数数结结束束GATEOUTCLK 031244方式方式1WR第第8 8章第章第3 3节:节:方式方式2:频率发生器(分频器):频率发生器(分频器)03124GATEOUTCLK 4方式方式2031240312403124WR第第8 8章第章第3 3节:节:方式方式3:方波发生器:方波发生器03124GATEOUTCLK 4方式方式3031240312403
9、124WR第第8 8章第章第3 3节:节:方式方式4:软件触发选通信号:软件触发选通信号GATEOUTCLK031244方式方式4223331 0WR第第8 8章第章第3 3节:节:方式方式5:硬件触发选通信号:硬件触发选通信号GATEOUTCLK031244方式方式52233311 0WR第第8 8章第章第3 3节:节:各种工作方式的输出波形各种工作方式的输出波形方式方式 0方式方式 1方式方式 2方式方式 3方式方式 4方式方式 50N0N0N0/N110NN/2 N/2 0/N0N0 1N0 1N0 1讨论:讨论:计数开始的时刻计数开始的时刻第第8 8章第章第3 3节:节:8.1.3 8
10、253/8254的编程的编程8253加电后的工作方式不确定加电后的工作方式不确定8253必须初始化编程,才能正常工作必须初始化编程,才能正常工作写入控制字写入控制字写入计数初值写入计数初值读取计数值读取计数值D7D6D5D4D3D2D1D0第第8 8章第章第3 3节:节:1. 写入方式控制字写入方式控制字计数器计数器读写格式读写格式工作方式工作方式数制数制D7D6D5D4D3D2D1D000 计数器计数器001 计数器计数器110 计数器计数器211 非法非法00 计数器锁存命计数器锁存命令令 01 只读写低字节只读写低字节10 只读写高字节只读写高字节11 先读写低字节先读写低字节 后读写高
11、字节后读写高字节000 方式方式0001 方式方式1010 方式方式2011 方式方式3100 方式方式4101 方式方式50 二进制二进制1 十进制十进制控制字写入控制字控制字写入控制字I/O地址(地址(A1A011)示例示例第第8 8章第章第3 3节:节:2. 写入计数值写入计数值选择二进制时选择二进制时计数值范围:计数值范围:0000HFFFFH0000H是最大值,代表是最大值,代表65536选择十进制(选择十进制(BCD码)码)计数值范围:计数值范围:000099990000代表最大值代表最大值10000计数值写入计数器各自的计数值写入计数器各自的I/O地址地址示例示例初始化举例初始化
12、举例写出写出8253的初始化程序段,口址为的初始化程序段,口址为40H,42H,44H,46H,设计数器设计数器0:初值:初值=4000H,方式,方式3 计数器计数器1:初值:初值=18H,方式,方式2 计数器计数器2:初值:初值=4612H,方式,方式3均为二进制均为二进制MOV AL,26HOUT 46H,ALMOV AL,40HOUT 40H,ALMOV AL,54HOUT 46H,ALMOV AL,18HOUT 42H,ALMOV AL,0B6HOUT 46H,ALMOV AL,12HOUT 44H,ALMOV AL,46HOUT 44H,AL第第8 8章第章第3 3节:节:3. 读取
13、计数值读取计数值对对8位数据线,读取位数据线,读取16位计数值需分两次位计数值需分两次计数在不断进行,应该将当前计数值先行计数在不断进行,应该将当前计数值先行锁存,然后读取:锁存,然后读取:向控制字向控制字I/O地址:给地址:给8253写入锁存命令写入锁存命令从计数器从计数器I/O地址:读取锁存的计数值地址:读取锁存的计数值读取计数值,要注意读写格式和计数数制读取计数值,要注意读写格式和计数数制例例读计数器读计数器2的当前计数值,并检查是否为全的当前计数值,并检查是否为全“1”,设计数初值只有低,设计数初值只有低8位,端口地址为位,端口地址为60H66HKEEP: MOV AL,80H OUT
14、 66H,AL IN AL,64H CMP AL,0FFH JNE KEEP HLT例:用例:用8253为为A/D子系统提供可编程的采样信号(子系统提供可编程的采样信号(*)计数器计数器0工作在模式工作在模式2(分频器),初值(分频器),初值=L计数器计数器1工作在模式工作在模式1(单脉冲),初值(单脉冲),初值=M计数器计数器2工作在模式工作在模式3(方波),初值(方波),初值=N设时钟频率设时钟频率=FA/D转换器的频率是多少?每次启动转换后转换器的频率是多少?每次启动转换后能够持续的时间是多少?能够持续的时间是多少?例:例:8253定时功能的应用定时功能的应用8253的端口地址为的端口地
15、址为308H,30AH,30CH,30EH,3个通道使用同一个输入时钟,频个通道使用同一个输入时钟,频率率=2MHZ,要求如下:,要求如下:用计数器用计数器0采用硬件触发,输出宽度采用硬件触发,输出宽度=时钟时钟周期的单脉冲,定时常数为周期的单脉冲,定时常数为36用计数器用计数器1输出频率为输出频率为2KHZ的对称方波的对称方波用计数器用计数器2产生宽度为产生宽度为0.6ms的单脉冲的单脉冲硬件电路设计(硬件电路设计(*)初始化编程初始化编程CLK0=CLK1=CLK2=2MHZ,时钟周期时钟周期T=1/f=0.5微秒微秒计数器计数器0:方式:方式5,计数系数,计数系数=36,BCD计数计数
16、00011011=1BH计数器计数器1:方式:方式3,BCD计数计数 计数常数计数常数=2MHZ/2KHZ=1000 01110111=77H计数器计数器2:方式:方式1,计数常数,计数常数=0.6毫秒毫秒/0.5微秒微秒=1200 10110011=B3H,BCD计数计数MOV DX,30EHMOV AL,1BHOUT DX,ALMOV DX,308HMOV AL,36HOUT DX,AL ;通道通道0初始化初始化MOV DX,30EHMOV AL,77HOUT DX,ALMOV DX,30AHMOV AL,00HOUT DX,ALMOV AL,10HOUT DX,AL ;通道通道1初始化初
17、始化MOV DX,30EHMOV AL,0B3HOUT DX,ALMOV DX,30CHMOV AL,00HOUT DX,ALMOV AL,12HOUT DX,AL ;通道通道2初始化初始化例:例:8253计数功能的应用计数功能的应用某某8086系统中有一片系统中有一片8253芯片,用通道芯片,用通道2对外部对外部事件计数,计满事件计数,计满360次经次经8259的的IR1向向CPU发出中发出中断申请信号。计数器断申请信号。计数器2的口址为的口址为05CH,控制口为,控制口为05EH360=168H,用二进制计数,用二进制计数MOV AL,0B0HOUT 5EH,ALMOV AL,68HOUT
18、 5CH,ALMOV AL,01HOUT 5CH,AL第第8 8章第章第3 3节:节:8.2 8253在在IBM PC系列机上的应用系列机上的应用A0A1 A0 A1D0D7D0D7OUT1OUT2OUT0GATE0GATE1GATE2CLK0CLK1CLK2D QCLK+5V接至接至DMA控制器控制器接至扬声器驱动器接至扬声器驱动器PB0PB1IRQ0DRQ0 8253+5V1.19318MHzDACK0 BRDIORIOWRDWRCST/CCS第第8 8章第章第3 3节:节:8.2.1 定时中断和定时刷新定时中断和定时刷新从阅读初始化程序段从阅读初始化程序段看看计数器计数器0作为定时中断作
19、为定时中断的作用的作用n将将计数器计数器1作为定时刷新作为定时刷新n看如何编写初始化程序段看如何编写初始化程序段第第8 8章第章第3 3节:节:计数器计数器0 0:初始化程序:初始化程序mov al,36h;36H00 11 011 0B;计数器;计数器0为方式为方式3,采用二进制计数,采用二进制计数;先低后高写入计数值;先低后高写入计数值out 43h,al;写入方式控制字;写入方式控制字mov al,0;计数值为;计数值为0out 40h,al;写入低字节计数值;写入低字节计数值out 40h,al;写入高字节计数值;写入高字节计数值第第8 8章第章第3 3节:节:计数器计数器0:定时中断
20、:定时中断计数器计数器0:方式方式3,计数值:计数值:65536,输出频率为,输出频率为1.19318MHz6553618.206Hz的方波的方波门控为常启状态,这个方波信号不断产生门控为常启状态,这个方波信号不断产生OUT0端接端接8259A的的IRQ0,用作中断请求信号,用作中断请求信号每秒产生每秒产生18.206次中断请求,或说每隔次中断请求,或说每隔55ms(54.925493ms)申请一次中断)申请一次中断DOS系统利用计数器系统利用计数器0的这个特点,通过的这个特点,通过08号中断号中断服务程序实现了日时钟计时功能服务程序实现了日时钟计时功能第第8 8章第章第3 3节:节:计数器计
21、数器1:定时刷新:定时刷新需要重复不断提出刷新请求需要重复不断提出刷新请求门控总为高,选择方式门控总为高,选择方式2或或3n2ms内刷新内刷新128次,即次,即15.6 s刷新一次刷新一次计数初值为计数初值为18第第8 8章第章第3 3节:节:计数器计数器1:初始化程序:初始化程序mov al,54h;54H01 01 010 0 B;计数器计数器1为方式为方式2,采用二进制计数,采用二进制计数;只写低;只写低8位计数值位计数值out 43h,al;写入方式控制字;写入方式控制字mov al,18;计数初值为;计数初值为18out 41h,al;写入计数值;写入计数值第第8 8章第章第3 3节
22、:节: 8.2.2 扬声器控制扬声器控制计数器计数器2的输出控制扬声器的发声音调的输出控制扬声器的发声音调计数器计数器2只能工作在方式只能工作在方式3,才能,才能输出一定输出一定频率的方波,经滤波后得到近似的正弦波,频率的方波,经滤波后得到近似的正弦波,进而推动扬声器发声进而推动扬声器发声扬声器还受控于并行接口(扬声器还受控于并行接口(8255芯片)芯片)必须使必须使PB0和和PB1同时为高电平,扬声器才同时为高电平,扬声器才能发出预先设定频率的声音能发出预先设定频率的声音第第8 8章第章第3 3节:节:发音发音频率设置子程序频率设置子程序;入口参数;入口参数AX1.19318106发音频率发
23、音频率speakerprocpush axmov al,0b6h;b6h10110110bout 43h,al;写入控制字;写入控制字pop axout 42h,al;写入低;写入低8位计数值位计数值mov al,ahout 42h,al;写入高;写入高8位计数值位计数值retspeakerendp第第8 8章第章第3 3节:节:扬声器开子程序扬声器开子程序speakon procpush axin al,61h;PB端口的地址为端口的地址为61Hor al,03h;D1D0PB1PB011B,其他位不变,其他位不变out 61h,alpop axretspeakon endp第第8 8章第章
24、第3 3节:节:扬声器关子程序扬声器关子程序speakoffprocpush axin al,61h;PB端口的地址为端口的地址为61Hand al,0fch;D1D0PB1PB000B,其他位不变,其他位不变out 61h,alpop axretspeakoffendp第第8 8章第章第3 3节:节:例题例题8.1 8.1 扬声器声音的控制扬声器声音的控制;数据段;数据段freq dw 1193180/600;代码段;代码段mov ax,freqcall speaker;设置扬声器音调;设置扬声器音调call speakon;打开扬声器声音;打开扬声器声音mov ah,1;等待按键;等待按键
25、int 21h;按键后;按键后call speakoff;关闭扬声器声音;关闭扬声器声音第第8 8章第章第3 3节:节:8.2.3 可编程硬件延时可编程硬件延时利用日时钟每隔利用日时钟每隔55ms中断一次不变的特点,中断一次不变的特点,可以编写一段不随系统时钟频率变化的固可以编写一段不随系统时钟频率变化的固定延时程序定延时程序由于日时钟中断的时间单位是由于日时钟中断的时间单位是55ms,所以,所以无法实现更短时间的延时无法实现更短时间的延时这时只有利用实时时钟中断,不过它的最这时只有利用实时时钟中断,不过它的最短延时约是短延时约是1ms(976 s)第第8 8章第章第3 3节:节: 8.3 扩
26、充定时计数器的应用扩充定时计数器的应用A0A1 A0 A1外部事件产生源外部事件产生源8253OUT0GATE0CLK0200207HIRQD0D7D0D7译码译码电路电路AENA3A9+5VCSIORIOWRDWR第第8 8章第章第3 3节:节:例题例题8.2 外部事件的计数外部事件的计数mov dx,203h;设置方式控制字;设置方式控制字mov al,10hout dx,al mov dx,200h;设置计数初值;设置计数初值mov al,64h;计数初值为;计数初值为100out dx,al输出:输出:明确向哪个明确向哪个端口端口输出什么输出什么数据数据输入:输入:清楚从哪个清楚从哪个
27、端口端口输入什么输入什么数据数据第第8 8章第章第3 3节:节:第第8 8章第章第3 3节教学要求节教学要求1. 掌握掌握8253引脚,尤其是引脚,尤其是CLK、OUT、GATE引脚的功能引脚的功能2. 掌握掌握8253的六种工作方式、编程和在的六种工作方式、编程和在IBM PC系列机上的应用系列机上的应用习题习题8(第(第203页)页) 8.1 8.3 8.4 8.5 8.6计数开始的时刻计数开始的时刻需要注意:需要注意:处理器写入处理器写入8253的计数初值只是写入了预的计数初值只是写入了预置寄存器,之后到来的第一个置寄存器,之后到来的第一个CLK输入脉输入脉冲(需冲(需先由低电平变高,再由高变低先由低电平变高,再由高变低)才)才将预置寄存器的初值送到减将预置寄存器的初值送到减1计数器。计数器。从第二个从第二个CLK信号的下降沿,计数器才真信号的下降沿,计数器才真正开始减正开始减1计数。计数。实验:实验:计数开始的时刻计数开始的时刻实验结果实验结果1感谢山西省太原理工大学常晓明教授提供实验结果感谢山西省太原理工大学常晓明教授提供实验结果计数开始计数开始实验结果实验结果2感谢山西省太原理工大学常晓明教授提供实验结果感谢山西省太原理工大学常晓明教授提供实验结果计数开始计数开始问题讨论问题讨论通过本例,请大家通过本例,请大家思考理论(原理)与实践(工程)的关系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- HY/T 0460.5-2024海岸带生态系统现状调查与评估技术导则第5部分:珊瑚礁
- 起重平台维修合同协议
- 解除商铺转让合同协议
- 货运物流租赁合同协议
- 豆皮代加工合同协议
- 豆腐经销代理合同协议
- 购房合同转让合同协议
- 讲课合作协议合同协议
- 贴牌加工合同合同协议
- cdr考试试题及答案2015
- 2025年导游从业资格通关秘籍
- 中国法院知识产权司法保护状况2024
- 外卖配送员工作流程总结
- 新式茶饮产业的技术发展现状与未来创新趋势
- 【国浩律师事务所】2025中国企业出海战略与法律支持需求调研报告
- 2025中国低空经济城市发展指数报告
- 湖南省长沙市岳麓区湖南师范大学附中2025届高三下学期第六次检测化学试卷含解析
- 兰州2025年中国农业科学院兰州畜牧与兽药研究所招聘16人笔试历年参考题库附带答案详解
- 课题申报书:教育强国背景下加快构建现代职业教育体系研究
- 山东省公共卫生临床中心招聘考试真题2024
- 贵州国企招聘2024贵州页岩气勘探开发有限责任公司招聘42人笔试参考题库附带答案详解
评论
0/150
提交评论