第八章 定时器计数器接口_第1页
第八章 定时器计数器接口_第2页
第八章 定时器计数器接口_第3页
第八章 定时器计数器接口_第4页
第八章 定时器计数器接口_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、第八章第八章 定时器定时器/ /计数器接口计数器接口2011/10 2011/10 东北大学计算机系统研究东北大学计算机系统研究所所第八章第八章 8.1 什么是定时和计数什么是定时和计数8.2 8253/8254可编程定时可编程定时/计数器计数器8.3 MC146818 CMOS RAM/实时时钟钟实时时钟钟习习 题题 定时定时:CPUCPU通过接口电路产生时间符合要通过接口电路产生时间符合要求的信号的过程称为定时。该接口电路称求的信号的过程称为定时。该接口电路称为定时器。为定时器。 计数:计数: CPUCPU通过接口电路对外部事件的数通过接口电路对外部事件的数量进行统计的过程称为计数。该接口

2、电路量进行统计的过程称为计数。该接口电路称为计数器。称为计数器。8.1 8.1 什么是定时和计数什么是定时和计数 软件定时软件定时: MOV CX,XXXXH lp: NOP . NOP LOOP lp 或调用定时子程序,如或调用定时子程序,如INT指令、其它高指令、其它高级语言中的子程序。级语言中的子程序。 硬件定时:硬件定时:采用采用TTL或或CMOS集成电路,集成电路,如如NE555、计数器等,或晶振、阻容电路、计数器等,或晶振、阻容电路等。等。 可编程定时器:可编程定时器:如如8253/8254,CTC等。等。8.1 8.1 什么是定时和计数什么是定时和计数 三种定时方法三种定时方法第

3、八章第八章 8.2 8253/8254可编程定时可编程定时/计数器计数器8.1 概概 述述8.3 MC146818 CMOS RAM/实时时钟钟实时时钟钟习习 题题8.2.1 8253的引脚信号的引脚信号8253D0D7CH0RDWRCSA0A1CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2CH1CH28.2 8.2 8253/8254可编程定时器/计数器8.2.2 8253的内部结构的内部结构 8253CLK0GATE0OUT0控制寄存器计数初值寄存器 计数器 当前计数值寄存器 通道1通道2计数初值=参考时钟频率输出频率8.2 8.2 8253/8254可编程

4、定时器/计数器8.2.3 8253的控制字的控制字 0/1二进制 BCD码通道号0 2工作方式0 5读写锁存器00=锁存计数值01=读/写LSB10=读/写MSB11=先读写LSB,后读写MSB 8253的初始化:先写控制字再写计数初值8.2 8.2 8253/8254可编程定时器/计数器8.2.4 8253的工作方式的工作方式 方式方式0:计数,电平触发(软触发):计数,电平触发(软触发)CLKGATEOUTWRCWn=5计数值写入计数器43停止计数21058.2 8.2 8253/8254可编程定时器/计数器方式方式1:计数,上升沿触发(硬触发):计数,上升沿触发(硬触发)CLKGATEO

5、UTWRCWn=543532105重新计数48.2 8.2 8253/8254可编程定时器/计数器8.2.4 8253的工作方式(续)的工作方式(续) 8.2.4 8253的工作方式(续)的工作方式(续) 方式方式2:定时,电平触发,上升沿也触发:定时,电平触发,上升沿也触发CLKGATEOUTWRCWn=3计数值写入计数器3210/3210/3210/312NNN分频器8.2 8.2 8253/8254可编程定时器/计数器8.2.4 8253的工作方式(续)的工作方式(续) 方式方式3:定时,电平触发,上升沿也触发:定时,电平触发,上升沿也触发CLKGATEOUTWRCWn=43210/43

6、21 0/443212+2或3+28.2 8.2 8253/8254可编程定时器/计数器8.2.4 8253的工作方式(续)的工作方式(续) 方式方式4:计数,电平触发(软触发):计数,电平触发(软触发)CLKGATEOUTWRCWn=4计数值写入计数器43210NNN8.2 8.2 8253/8254可编程定时器/计数器8.2.4 8253的工作方式(续)的工作方式(续) 方式方式5:计数,上升沿触发(硬触发):计数,上升沿触发(硬触发)CLKGATEOUTWRCWn=432104计数值写入计数器8.2 8.2 8253/8254可编程定时器/计数器mode012345Gate=“0”Gat

7、e=“1”Gate=“ ” 停止计数计数不受影响停止计数,输出高电平停止计数,输出高电平停止计数计数不受影响开始计数,一个时钟周期后输出低电平开始计数,重设初始值开始计数开始计数进行计数计数不受影响进行计数进行计数进行计数8.2.4 8253的工作方式(续)的工作方式(续) 8.2 8.2 8253/8254可编程定时器/计数器*8253的初始化的初始化 利用通道2控制扬声器发声。选择工作方式3,声音频率为4kHz(存放在DX中)。端口地址为40H43H。MOV SI, DXMOV AL, 10110110BOUT 43H, ALMOV DX, 0012HMOV AX, 34DCHDIV SI

8、OUT 42H, ALMOV AL,AHOUT 42H, AL 8.2 8.2 8253/8254可编程定时器/计数器8.2.5 8253在在IBM PC系列机中的应用系列机中的应用(在(在PC/XT中为中为8253,在,在PC/AT中为中为8254 )通道通道0:方式:方式3,CLK=1.19MHz,GATE=“1”,OUT接接IRQ0,计数初值为计数初值为0(65536),即每隔),即每隔55ms一个中断请求信号,中断一个中断请求信号,中断程序据此维护系统的日历时钟。程序据此维护系统的日历时钟。 通道通道1:方式:方式2,CLK=1.19MHz,GATE=“1”,OUT接接DREQ0,计数

9、初值为,计数初值为18,即每隔,即每隔15vs一个一个DMA请求信号,使请求信号,使DMA周期性地进行周期性地进行DRAM刷新。刷新。 通道通道2:方式:方式3,CLK=1.19MHz,GATE接接8255A PB0,OUT接扬声器的驱动器输入端,即产生不同频率的方波,接扬声器的驱动器输入端,即产生不同频率的方波,发出不同的声音。发出不同的声音。 8.2 8.2 8253/8254可编程定时器/计数器8.2.5 8253在在IBM PC系列机中的应用(系列机中的应用(8253时钟中断的使用)时钟中断的使用) 8253通道通道0每每55ms产生一次类型为产生一次类型为8的中断,在的中断,在INT

10、 8中断服务程序中,中断服务程序中,修改系统时间,从而维护系统的日历和时钟修改系统时间,从而维护系统的日历和时钟。 为利用为利用INT 8中断,在其中断程序中有一条指令:中断,在其中断程序中有一条指令:INT 1CH。因此它与。因此它与INT 8同步,而且不必在结束时执行同步,而且不必在结束时执行EOI命令,因为在命令,因为在INT 1CH中执行中执行了。用户可以利用了。用户可以利用INT 1CH编写自己的定时程序。例:编写一个驻留程编写自己的定时程序。例:编写一个驻留程序,每隔序,每隔1s在屏幕的右上角显示一个数字,在在屏幕的右上角显示一个数字,在09之间变化。之间变化。MAIN: MOV

11、DX,OFFSET INT1C; 中断程序入中断程序入口口 MOV AX,251CH; INT 21H ;设置中断向量表;设置中断向量表MOV DX,OFFSET MAIN;驻留程序的长度;驻留程序的长度 INT 27H ;8.2 8.2 8253/8254可编程定时器/计数器8.2.5 8253在在IBM PC系列机中的应用系列机中的应用(8253时钟中断的使用)时钟中断的使用) 8253通道通道0每每55ms产生一次类型为产生一次类型为8的中断,在的中断,在INT 8中断中断服务程序中,修改系统时间,从而维护系统的日历和时钟服务程序中,修改系统时间,从而维护系统的日历和时钟。 为利用为利用

12、INT 8中断,在其中断程序中有一条指令:中断,在其中断程序中有一条指令:INT 1CH。因此它与因此它与INT 8同步,而且不必在结束时执行同步,而且不必在结束时执行EOI命令,因命令,因为在为在INT 1CH中执行了。用户可以利用中执行了。用户可以利用INT 1CH编写自己编写自己的定时程序。例:编写一个驻留程序,每隔的定时程序。例:编写一个驻留程序,每隔1s在屏幕的右上在屏幕的右上角显示一个数字,在角显示一个数字,在09之间变化。之间变化。MAIN: MOV DX,OFFSET INT1C; 中断程序入口中断程序入口 MOV AX,251CH; INT 21H ;设置中断向量表;设置中断

13、向量表MOV DX,OFFSET MAIN;驻留程序的长度;驻留程序的长度 INT 27H ;8.2 8.2 8253/8254可编程定时器/计数器1)子程序名子程序名:SOUND;2)子程序功能子程序功能: 启动启动8253计数器计数器2产生指定频率的声音并持续产生指定频率的声音并持续指定的时间指定的时间3)入口条件入口条件: DX=产生方波的频率产生方波的频率;AX=持续持续(延时延时)的时间的时间(ms);4)出口条件出口条件: 无无;5)受影响的寄存器受影响的寄存器:AX,DX,F。 SOUND PROC PUSH CX ;保存保存CX、SI寄存器寄存器 PUSH SI PUSH AX

14、 MOV SI,DX ;频率送频率送SI8.2 8.2 8253/8254可编程定时器/计数器8253在在IBM PC系列机中的应用(系列机中的应用(8253时钟中断的使用)时钟中断的使用) MOV AL,10110110B ;将将8253计数器计数器2设置为方式设置为方式3 OUT 43H,AL MOV DX,0012H ;1193180的低位的低位 MOV AX,34DCH ;1193180的高位的高位 DIV SI ;1193180/频率频率=计数值计数值 OUT 42H,AL ;送计数值的低位送计数值的低位 MOV AL,AH ;送计数值的高位送计数值的高位 OUT 42H,AL IN

15、 AL,61H ;读读8255A的的B口口 OR AL,03H ;允许产生声音允许产生声音 OUT 61H,AL8.2 8.2 8253/8254可编程定时器/计数器8253在在IBM PC系列机中的应用(系列机中的应用(8253时钟中断的使用)时钟中断的使用) POP AX ;恢复延时的时间恢复延时的时间(ms) MOV DX,1000 ;变为变为s MUL DX MOV CX,DX MOV DX,AX MOV AH,86H INT 15H ;延时延时 POP SI POP CX RET SOUND ENDP8.2 8.2 8253/8254可编程定时器/计数器8253在在IBM PC系列机

16、中的应用(系列机中的应用(8253时钟中断的使用)时钟中断的使用) *8253的应用练习的应用练习-多个通道级联,任意周期的方波多个通道级联,任意周期的方波CLK0OUT0 GATE0CLK1OUT1 GATE1CLK2OUT2 GATE2+5VOUT0 OUT1 1MHz10 s1000s4ms1000ms8.2 8.2 8253/8254可编程定时器/计数器500ms*8253的应用练习的应用练习-多个通道级联,占空比可调多个通道级联,占空比可调CLK0OUT0 GATE0CLK1OUT1 GATE1CLK2OUT2 GATE2+5VSRQQOUT0 OUT2 Q 1KHz4ms6ms10

17、ms4ms10ms8.2 8.2 8253/8254可编程定时器/计数器*8253的应用练习的应用练习-多个通道级联,任意脉宽多个通道级联,任意脉宽CLK0OUT0 GATE0CLK1OUT1 GATE1CLK2OUT2 GATE2+5VOUT0 OUT1 1KHz30ms3ms3ms方波方波8.2 8.2 8253/8254可编程定时器/计数器3ms.任意脉宽负脉冲任意脉宽负脉冲第八章第八章 8.3 MC146818 CMOS RAM/实时时钟钟实时时钟钟8.1 概概 述述习习 题题8.2 8253/8254可编程定时可编程定时/计数器计数器8.3.1 MC146818的功能的功能 64B的

18、静态存储器,前的静态存储器,前14个字节用于保存秒、个字节用于保存秒、分、小时、星期、日、月、年,及一些状分、小时、星期、日、月、年,及一些状态、控制寄存器。还保存硬件配置参数。态、控制寄存器。还保存硬件配置参数。(通过程序或(通过程序或BIOS修改其内容)修改其内容) 定时功能,可任意设定时间间隔定时功能,可任意设定时间间隔为为30.517us1天的中断申请。天的中断申请。 8.3 8.3 MC146818 CMOS RAM/实时时钟MC146818的特点的特点 采用采用CMOS工艺,功耗小,可用电池供电。工艺,功耗小,可用电池供电。 MC146818中数据的存取中数据的存取 利用利用INT

19、 1AH:只能存取时钟信息。例:只能存取时钟信息。例如,将时间设置为如,将时间设置为12:45,不使用夏时,不使用夏时制制 : mov ah,03h; mov cl,45h; mov ch, 12h; mov dh,0; mov dl,0; int 1ah; 利用汇编语言:如在利用汇编语言:如在DEBUG下,下,O 70 10/O 71 10即可删除即可删除CMOS的口令。的口令。8.3 8.3 MC146818 CMOS RAM/实时时钟*CMOS参数(1)Onboard FDD Controler :主板上的软驱控制器,如使主板上的软驱控制器,如使用用IDE卡上的控制器,则置卡上的控制器,

20、则置Disable。Onboard PCI IDE Enable:主板上的主板上的IDE控制器,同上。控制器,同上。IDE HDD Block Mode:硬盘块传输模式,设置扇区数或硬盘块传输模式,设置扇区数或Disable。IDE PIO Mode:5种模式,代表不同的速度种模式,代表不同的速度1,2,.,AUTO。Onboard Serial Port或或UART:主板上的串形通信接口主板上的串形通信接口COM1和和COM2,若有内置,若有内置MODEM,则将相应的串口,则将相应的串口置置Disable。Onboard Parallel Port:主板上的打印机接主板上的打印机接口(口(3

21、78H/IRQ7)。)。Onboard Parallel Mode:主板上的并行口工主板上的并行口工作模式,作模式,Normal,EPP,ECP,EPP+ECP模式。模式。USB Controller:置置abled或或disabled。*CMOS参数(2)PCI slot IRQ:Auto/Manual(注意不要冲突)(注意不要冲突)PCI IDE IRQ:Auto/Manual(注意不要冲突)(注意不要冲突)PCI IDE Trigger Type:PCI 总线中断控制信号的设置,总线中断控制信号的设置,Edge /Level,若接口无特殊要求则设置为,若接口无特殊要求则设置为Level。Resources Controlled By:设置系统资源设置系统资源(IRQ,DMA)的的分配方式分配方式, Auto/ Manual。PCI IDE IRQ Map To: 若主板上插有非若主板上插有非PCI总线的总线的IDE卡卡时设为时设为ISA。Primary IDE INTR#: A / Secondary IDE INTR#: B :设置设置IDE接口的中断优先级,接口的中断优先级,A优于优于B。IRQ xx Used By ISA:设置某个设置某个IRQ(315)给)给ISA总线使用。总线使用。DMA x Used By ISA:设置某个设置某个DMA(1,3,5等)给

温馨提示

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

评论

0/150

提交评论