




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、10 定时计数控制器10.1 概述10.2 8253的内部结构和引脚信号8253芯片是24引脚双列直排结构,由数据总线缓冲器、读写控制电路、控制字寄存器和三个计数通道组成。10.2.1 数据总线缓冲器数据总线缓冲器是8253与系统总线之间的接口,由8位三态缓冲器构成。10.2.2 读写控制电路根据CPU发出的读写控制信号,完成对8253芯片内部各功能部件的控制功能,他实际上是8253芯片内部的控制器。10.2.2.1 端口选择信号A1,A0输入。8253内部有三个独立的计数通道和一个控制字寄存器,构成8253的四个端口,地址由A1,A0选择。A1A0端口00通道001通道110通道211控制字
2、寄存器10.2.2.2 片选信号-CS低电平有效,输入,通常经过对端口地址译码形成。10.2.2.3 读写控制信号输入,低电平有效。-RD有效时,读由A1A0取所选定的端口。-WD有效时,CPU将数值写入选定的计数器,或将8253的工作方式控制字写入控制字寄存器。-CS-RD-WRA1A0操作01000装入通道0计数器01001装入通道1计数器01010装入通道2计数器01011写工作方式字00100读取通道0计数器00101读取通道1计数器00110读取通道2计数器00111无操作011xx无操作1xxxx禁止使用10.2.3 通道0通道28253内部有三个功能完全相同的通道,每个通道都有一
3、个16位减法计数器,预置寄存器和输出锁存器。计数开始之前写入的计数初值存于预置寄存器。在计数过程中,减法计数器的值不断递减,而预置寄存器的预置值不变。输出锁存器用于写入锁存命令时锁定当前计数值。l CLK时钟输入信号在计数过程中,该引脚上每输入一个时钟信号(下降沿),计数器的计数值减1。该信号需经过与门才到达减法计数器,所以计数工作受门控信号GATE的控制。l GATE门控信号在不同的工作方式下有不同的作用,可分为电平控制和上升沿控制两种类型。l OUT计数器输出信号当一次计数过程结束(计数值减为0),OUT引脚将产生一个输出信号,其波形取决于工作方式。10.2.4 控制字寄存器控制寄存器用来
4、存放从CPU写入的工作方式选择控制字,由它来控制8253各个通道的工作方式。10.3 8253的工作方式8253有6种工作方式,由控制字(Control Word)确定:l Mode0, Interrupt on terminal count 计数结束中断方式l Mode1, Programmable one-shot 可编程单脉冲发生器l Mode2, Rate generator 速率发生器l Mode3, Square wave rate generator 方波速率发生器l Mode4, Software triggered strobe 软件触发方式l Mode5, Hardware
5、 triggered strobe 硬件触发方式每种工作方式的过程大致相同:1) CPU写入方式控制字,设定工作方式。2) CPU写入预置寄存器,设定计数初值。3) 对于方式1和方式5,需要硬件启动,即GATE端出现一个上升沿信号;对其他方式不需要这一过程,直接进入下一步。4) CLK端的下一个下降沿将预置寄存器的计数初值送入减法计数器。5) 计数开始,CLK端每出现一个下降沿(GATE为高电平时),减法计数器就将计数值减1。6) 当计数值减到0,一次计数过程结束。对于方式0、1和4、5,如果不重新设定计数初值或提供硬件启动信号,计数器就此停止计数过程。对于方式2和3,计数值减到0后,8253
6、自动将预置寄存器的计数初值送入减法计数器,重新开始下一轮的计数过程,直到写入新的方式控制字才停止。注意:CPU写入8253的计数初值只是写入预置寄存器。之后到来的第一个CLK输入脉冲(需要先由低电平变高,再由高变低)才将预置寄存器的初值送到减法计数器。从第二个CLK信号的下降沿计数器才开始真正的减1计数。若初值为N,则从输出指令完成到计数结束,CLK信号的下降沿有N+1个,但在第一个到最后一个下降沿之间正好有N个完整的CLK信号。10.3.1 工作方式0Mode0, Interrupt on terminal count 计数结束中断方式10.3.2 工作方式1Mode1, Programma
7、ble one-shot 可编程单脉冲发生器10.3.3 工作方式2Mode2, Rate generator 速率发生器10.3.4 工作方式3Mode3, Square wave rate generator 方波速率发生器10.3.5 工作方式4Mode4, Software triggered strobe 软件触发方式10.3.6 工作方式5Mode5, Hardware triggered strobe 硬件触发方式10.3.7 小结计数值N与输出波形方式N与输出波形的关系改变计数值0写入N后,经过N+1个CLK脉冲后输出为高写入后下一个CLK脉冲立即有效1单稳脉冲的宽度为N个CL
8、K脉冲外部触发后有效2每N个CLK脉冲后输出一个宽度为CLK周期的脉冲计数减到1后有效3前一半为高电平,后一半为低电平的方波外部触发后有效或计数减到0后有效4写入N后,经过N+1个CLK脉冲后输出一个宽度为CLK周期的脉冲计数减到0后有效5门控触发后经过N+1个CLK脉冲后输出一个宽度为CLK周期的脉冲外部触发后有效门控GATE信号方式低或负跳变正跳变高电平0禁止计数允许计数11启动计数2在下一个脉冲后使输出变低21禁止计数2立即将输出置高1重新装入预置值2启动计数允许计数31禁止计数2立即将输出置高1重新装入预置值2启动计数允许计数4禁止计数允许计数5启动计数10.4 8253的应用PC机使
9、用一片8253,其三个计数通道分别用于:l 日时钟计时l DRAM定时刷新l 控制扬声器发声音调8253的I/O地址范围为40H5FH。10.4.1 计数通道0计数通道0用来产生日时钟定时中断。计数通道0被写入0产生最大计数初值65536,OUT0输出频率为:1.19318/65336 = 18.2HzOUT0端接到8259A的IRQ0,用作中断请求信号,就是说每隔55ms(54.94ms)申请一次中断。IBM PC BIOS对计数器0的初始化:TIMERequ40hmoval, 36h;set timer 0, LSB, MSB, Mode 3outTIMER+3, al;write tim
10、er mode registermoval, 0;outTIMER, al;write LSB to timer 0 registeroutTIMER, al;write MSB to timer 0 register10.4.2 计数通道1当门控信号GATE1接+5V,为常启状态,才能重复不断地提出刷新请求,同时应配合工作方式2或工作方式3进行不断重复计数,输出OUT1从低变高使D触发器置1,Q端输出一正电平信号,作为内存刷新的请求信号,一次刷新结束,响应信号将D触发器复位。PC/XT机要求在2ms内进行128次刷新。PC/AT机要求在4ms内进行256次刷新。所以2ms/128 = 15.
11、6s必须进行一次刷新操作。计数器1置为方式2,计数初值为18,每隔18 x 838ns = 15.084s产生一次刷新请求能够满足刷新要求,初始化程序如下:moval, 54h;the control wordoutTIMER+3, al;to control registermoval, 18;18 decimal, the divisoroutTIMER+1, al;to counter 110.4.3 计数通道210.4.3.1 Use of timer 2 by the speakerIn the IBM PC, CLK 2 is connected to a frequency of
12、 1.19318 MHz and GATE2 is programmed by PB0 of port 61H (port B). The IBM PC uses counter 2 to generate the beep sound. The beep sound has a frequency of 896 Hz of mode 3 (square wave). Dividing the input frequency of 1.19318 MHz by 896 Hz gives 1331 (0533 hex) for the value to be loaded to counter
13、2.mov al, 10110110B;set timer 2, LSB, MSB, binaryoutTIMER+3, al;write the timer mode regsitermovax, 533h;divisor for 896 HzoutTIMER+2, al;write timer 2 CNT - LSBmoval, ahoutTIMER+2, al;write timer 2 CNT - MSB10.4.3.2 Turning on the speaker via PB0 and PB1 of port 61HThe process of turning on the spe
14、aker is the same for all IBM PCs and compatibles from 8088-based to 80486 and Intels Pentium-based systems.GATE2 must be high to provide the CLK to timer 2. This function is performed by PB0 of port 61H. OUT2 of timer 2 is ANDed with PB1 of port 61H, then is input to the driving circuity of the spea
15、ker. Therefore, to allow OUT2 to go to the speaker, PB1 of port 61H must be set to high as well.The following is the code to turn the speaker on, which is exactly the same as the IBM BIOSs code to sound the BEEP.in al, 61h;get the current setting of port Bmovah, al;save itoral, 00000011B;make PB0=1
16、and PB1=1out61h, al;turn the speaker on(how long the beep should sound goes here)moval, ah;get the original setting of port Bout61h, al;turn off the speaker10.4.3.3 Time delay for 80x86 PCsCPU-generated time delays are often needed for various applications. Since creating delay is different in 8088/
17、86 PCs versus 80286, 386, 486, and Pentium IBM-compatibles PCs, they are described separately.10.4.3.3.1 Creating delays in 8088/86-based PC/XTIn these PCs, the following routine can be used to generate a time delay:movcx, Nagain:loopagainEvery LOOP instruction in 8088/86 CPU takes a total of 17 clo
18、cks to be executed, therefore, the time delay is approximately N T period 17. For example, if CX = 28,000 and the system frequency is 4.7 MHz (the T period = 210 ns for original PC/XT), that gives an approximately time delay of 100 ms (28000 210 17 = 99,960,000 ns).In 8088-based IBM PC/XT BIOS, IBM
19、designers used the above method to generate the delay for the BEEP sound as shown next:;65536 210ns 17 = 233.964msdelayprocnearsub cx, cxg7:loopg7retdelayendp10.4.3.3.2 Creating delays in 80x86 IBM PCThe following method of creating fixed hardware time delays was first implemented in the IBM PC AT a
20、nd continued in all 286, 386, 486, and Pentium-based IBM and compatible computers.To creating a processor independent delay, IBM made PB4 of port 61H toggle every 15.085s. That means that by monitoring PB4 of 61H, a fixed time delay can be obtained, as shown next from IBM PC AT BOIS. Upon entering t
21、his subroutine called WAITF, register CX must hold the number of 15.085s time delays needed.;(CX)=count of 15.085 microsecondwaitfprocnearpush axwaitf1:in al, 61hand al, 10h;check PB4cmp al, ah;did it just changejewaitf1;wait for changemovah, al;save the new PB4 statusloopwaitf1;continue until CX becomes 0popaxretwaitfendpUsing the BO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课外培训中心年度教学计划
- 电子厂车间现场成品保护措施
- 维生素C缺乏性贫血护理措施课件
- 十二指肠钩虫病护理措施
- 幼儿园中班夏季安全工作计划
- 二零二五年度车间化学品储存设施施工合同
- 2025版知识产权授权使用合同封面
- 邮政系统疫情防控必须执行的重要措施
- 2025版建筑设备安装与调试合同范本
- 二零二五年户外广告牌租赁及广告设计制作服务协议
- 基孔肯雅热防控技术指南(2025年版)宣讲课件
- 眼疾病课件教学课件
- 2025年机械制造行业技能考试-制动钳工(客车)历年参考题库含答案解析(5套100道单选题合辑)
- 骨科快速康复护理课件
- 2025年基本公共卫生服务中医药健康管理服务项目培训考试试题(含答案)
- (高清版)DB11∕T 509-2025 房屋建筑修缮工程定案和施工质量验收规程
- 大学英语六级词汇(乱序版)CET
- 合一相爱 才能昌盛
- 10G EPON技术白皮书 10G EPON技术白皮书
- 2023年四川省事业单位招聘考试综合知识试题及答案
- 巷道设计与施工组织
评论
0/150
提交评论