您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第9章-计数器定时器和多功能接口芯片
1第9章计数器/定时器和多功能接口芯片教学建议,本章重点为:•8253/8254的编程结构;•8253/8254的两类控制字;•8253/8254必须遵守的编程原则;•8253/8254的两类编程命令;•8253/8254的6种工作模式的特点;•82380的功能结构;•82380的中断模块。2关于定时信号定时信号的获得:软件方法获得:延时程序,循环,精确测试或严密计算,占用CPU硬件方法获得:使用计时器/定时器,不占用CPU什么时候场合需要计数/定时39.1可编程计数器/定时器的工作原理1、计数器/定时器的用处:在多任务的分时系统中作为中断信号实现程序的切换。可往I/O设备输出精确的定时信号。作为一个可编程的波特率发生器。实现时间延迟。42、计数器/定时器的原理图53、8253/8254的编程结构有三个独立的计数器,受控于控制字共用1个控制寄存器和1个状态寄存器(只有8254有状态寄存器)每个计数器通过3个引脚与外部联系执行部件实际上是1个16位的减法计数器CR、CE、OL都是16位,可做8位使用。68253/8254的编程结构(只有8254有状态寄存器)74、8253/8254的外部信号CLK0~CLK2GATE0~GATE2OUT0~OUT2A1、A0RDWRCSREADYDB7~DB089.38253/8254控制寄存器和控制字1、控制字有两类模式设置控制字读出控制字92、8254的状态寄存器和状态字状态寄存器的格式如下:108253的端口地址分配119.48253/8254的编程命令1、编程有3条原则必须遵守:对计数器设置初始值前必须先写控制字。初始值设置时,要符合控制字中的格式规定,即只写低位字节还是只写高位字节,或高低位字节都写,控制字中一旦规定,具体初始值设定时就要一致。要读取计数器的当前值和状态字,必须用控制字先锁定,才能读取。写控制字后再读操作或设置初始值(与控制字一致)。129.48253/8254的编程命令2、编程命令包括两类写入命令,包括设置控制字命令设置初值命令锁存命令读出命令读取计数器当前的值。对8254,还可读取状态字139.48253/8254的编程命令读取状态字前或计数器值前都需要锁存MOVAL,11011000B;对计数器2发锁存命令,锁存当前计数值OUT76H,AL;76H为控制口地址INAL,74H;读取计数器2的读取值,74H为计数器2的地址―――――――――――――――对8254读取状态字和计数值MOVAL,11000000B;计数器0的锁存命令OUT76H,AL;76H为控制口地址,对锁存计数器0的状态和计数值INAL,76H;从状态口读取计数器0的状态MOVCL,AL;将计数器0的状态送到CLINAL,70H;读取计数器0的低8位MOVBL,AL;将低8位送到BLINAL,70H;读取计数器0的高8位MOVBH,AL;BX中为计数器0的当前计数值149.58253/8254的工作模式共6种工作模式0计数结束产生中断1可重复触发的单稳态触发器2分频器3方波发生器4软件触发的选通信号发生器5硬件触发的选通信号发生器159.58253/8254的工作模式8253的基本规则:写入控制字时,进入初始状态;初值写入后,经过一个时钟上升沿和一个下降沿才开始计数;在CLK的上升沿GATE被采用。在CLK的下降沿,计时器减一。0最大,相当于1016,10416模式0——计数结束产生中断模式0的特点:计数到达0时,输出端OUT为高电平。电平触发;计数过程中GATE为0,则延长低电平;计数时写入新值,按新值重新计算。不重复,计数功能,除非重新写入初值。图9.3模式0的时序图9.58253/8254的工作模式17模式1——可重复触发的单稳态触发器图9.4模式1的时序图9.58253/8254的工作模式特点:上升沿触发,输出N个时钟周期的负脉冲;写入控制字后高电平,写入初始值并触发后输出低电平直到计数为0;触发后,GATE为0不影响;计数过程,写入新值,不影响当前输出。有上升沿时,可重复。提前触发时,输出变宽。18模式2——分频器图9.5模式2的时序图9.58253/8254的工作模式特点:上升沿、电平触发,输出1个时钟周期的负脉冲;写入控制字后高电平,写入初始值并触发后,减为1时输出低电平;对于计数N,输出对应N个时钟的周期,N分频。触发后,GATE为0影响;计数过程,写入新值,不影响当前输出。自动重复。可软件同步、硬件同步19模式3——方波发生器图9.6模式3的时序图9.58253/8254的工作模式特点:上升沿、电平触发,输出重复的方波或矩形波;写入控制字后高电平,写入初始值并触发后,减半时输出低,终值时高;GATE=0计数停止,GATE=1计数进行;计数过程,写入新值,不影响当前输出。自动重复。可软件同步、硬件同步20模式4——软件触发的选通信号发生器图9.7模式4的时序图9.58253/8254的工作模式特点:电平触发,输出单一的负脉冲;写入控制字后高电平,写入初始值并触发后,减为0时输出一个时钟的低;GATE=0计数停止,GATE=1计数进行;计数过程,写入新值,立即重新计数,软件再触发。21模式5——硬件触发的选通信号发生器图9.8模式5的时序图特点:上升沿触发,输出单一的负脉冲;写入控制字后高电平,写入初始值并触发后,减为0时输出一个时钟的低;计数过程中,GATE又来上升沿则重新计数。计数过程,写入新值,再触发时有用。22各种工作方式的输出波形方式0方式1方式2方式3方式4方式50N0N0N0/N110NN/2N/20/N0N01N01N0123下课已知,系统晶振为6M,要求定时的时间为10毫秒,计算计数器的预置值。可编程计数/定时器的片选接到地址译码器输出280H~287H,现有2MHz信号源,利用8253产生1000Hz的方波输出。8253定时/计数器有几种工作方式?GATE信号在这些工作方式中各有什么作用?利用8253设计一个计数器,实现对产品计数,每技术12次输出一个正脉冲作为8259的中断请求信号。249.68253/8254应用举例(1)用8253/8254为A/D子系统提供采样信号的例子259.58253/8254的工作模式(2)程序段下:MOVAL,14HOUT76H,AL;将计数器0设置为模式2MOVAL,LCNTOUT70H,AL;对计数器0设置计数初始值L(二进制)MOVAL,73HOUT76H,AL;将计数器1设置为模式1MOVAX,MCNTOUT72H,ALMOVAL,AHOUT72H,AL;对计数器1设置初始值M(BCD码)MOVAL,96HOUT76H,AL;将计数器2设置为模式3MOVAL,NCNTOUT74H,AL;对计数器2设置初始值N(二进制)268253在IBMPC系列机上的应用A0A1———A0—A1—D0~D7D0~D7OUT1OUT2OUT0GATE0GATE1GATE2CLK0CLK1CLK2DQCLK+5V接至DMA控制器接至扬声器驱动器PB0PB1IRQ0DRQ08253+5V1.19318MHzDACK0BRDIORIOWRDWRCST/CCS27定时中断moval,36h;计数器0为方式3,采用二进制计数,;先低后高写入计数值out43h,al;写入方式控制字moval,0;计数值为0out40h,al;写入低字节计数值out40h,al;写入高字节计数值8253初始化28计数器0:定时中断计数器0:方式3,计数值:65536,输出频率为1.19318MHz÷65536=18.206Hz的方波门控为常启状态,这个方波信号不断产生OUT0端接8259A的IRQ0,用作中断请求信号每秒产生18.206次中断请求,或说每隔55ms(54.925493ms)申请一次中断DOS系统利用计数器0的这个特点,通过08号中断服务程序实现了日时钟计时功能29计数器1:定时刷新需要重复不断提出刷新请求门控总为高,选择方式2或32ms内刷新128次,即15.6s刷新一次计数初值为1830定时刷新moval,54h;计数器1为方式2,采用二进制计数,只写低8位计数值out43h,al;写入方式控制字moval,18;计数初值为18out41h,al;写入计数值8253初始化31计数器2:扬声器控制计数器2的输出控制扬声器的发声音调计数器2只能工作在方式3,才能输出一定频率的方波,经滤波后得到近似的正弦波,进而推动扬声器发声扬声器还受控于并行接口(8255芯片)必须使PB0和PB1同时为高电平,扬声器才能发出预先设定频率的声音32频率设置speakerprocpushaxmoval,0b6hout43h,al;写入控制字popaxout42h,al;写入低8位计数值moval,ahout42h,al;写入高8位计数值retspeakerendp扬声器控制33扬声器开speakonprocpushaxinal,61horal,03h;D1D0=PB1PB0=11B,其他位不变out61h,alpopaxretspeakonendp扬声器控制34扬声器关speakonprocpushaxinal,61handal,0fch;D1D0=PB1PB0=00B,其他位不变out61h,alpopaxretspeakonendp扬声器控制35主程序;数据段freqdw1193180/600;代码段movax,freqcallspeaker;设置扬声器音调callspeakon;打开扬声器声音movah,1;等待按键int21hcallspeakoff;关闭扬声器声音扬声器控制36利用扩充定时计数器对外部事件的计数A0A1———A0—A1外部事件产生源8253OUT0GATE0CLK0200~207HIRQD0~D7D0~D7译码电路AENA3~A9+5VCSIORIOWRDWR37初始化程序段movdx,203h;设置方式控制字moval,10houtdx,almovdx,200h;设置计数初值moval,64h;计数初值为100outdx,al389.732位微机系统中的多功能接口芯片82380高集成度和多功能兼容性好•内部含有:–1个8通道的32位DMA控制器;–20级的可编程中断控制器;–4个16位计数器/定时器;–动态RAM刷新电路;–系统复位逻辑电路;–插入等待状态的控制电路;–内部总线仲裁电路。
本文标题:第9章-计数器定时器和多功能接口芯片
链接地址:https://www.777doc.com/doc-5688617 .html