微机原理--定时计数控制接口-课件

上传人:无*** 文档编号:241326504 上传时间:2024-06-18 格式:PPT 页数:42 大小:789.50KB
返回 下载 相关 举报
微机原理--定时计数控制接口-课件_第1页
第1页 / 共42页
微机原理--定时计数控制接口-课件_第2页
第2页 / 共42页
微机原理--定时计数控制接口-课件_第3页
第3页 / 共42页
点击查看更多>>
资源描述
微机原理-定时计数控制接口11.3 11.3 定时计数控制接口定时计数控制接口教学重点教学重点n 8253的引脚和的引脚和6种工作方式种工作方式n 8253的编程的编程n 8253在在IBM PC系列机上的应系列机上的应用用定时器和计数器定时器和计数器定时控制在微机系统中极为重要定时控制在微机系统中极为重要n定定时时器器由由数数字字电电路路中中的的计计数数电电路路构构成成,通通过过记记录录高高精精度度晶晶振振脉脉冲冲信信号号的的个个数数,输输出出准准确确的时间间隔的时间间隔n计计数数电电路路如如果果记记录录外外设设提提供供的的具具有有一一定定随随机机性性的的脉脉冲冲信信号号时时,它它主主要要反反映映脉脉冲冲的的个个数数(进进而而获获知知外外设设的的某某种种状状态态),常常又又称称为为计计数器数器定时功能的实现方法定时功能的实现方法n软软件件延延时时利利用用微微处处理理器器执执行行一一个个延延时程序段实现时程序段实现n不不可可编编程程的的硬硬件件定定时时采采用用分分频频器器、单稳电路或简易定时电路控制定时时间单稳电路或简易定时电路控制定时时间n可可编编程程的的硬硬件件定定时时软软件件硬硬件件相相结结合合、用用可可编编程程定定时时器器芯芯片片构构成成一一个个方方便便灵灵活活的定时电路的定时电路11.3 825311.3 8253定时计数器定时计数器n3 3个独立的个独立的1616位计数器通道位计数器通道n每个计数器有每个计数器有6 6种工作方式种工作方式n按二进制或十进制(按二进制或十进制(BCDBCD码)计数码)计数最大值计数值最大值计数值FFFFH(9999)FFFFH(9999)需要的时候可以锁存记数值需要的时候可以锁存记数值D7D0 通道0控制字寄存器 通道1 通道2内部数据总线数据总线缓冲器读写控制逻辑RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT211.3.1 8253的内部结构和引脚的内部结构和引脚 管脚 通道(计数器)内部结构示意图通道(计数器)内部结构示意图预置寄存器预置寄存器GATECLKOUT减减1计数器计数器输出锁存器输出锁存器计数初值存于计数初值存于预置寄存器预置寄存器;在计数过程中,在计数过程中,减法计数器减法计数器的值不断递减,的值不断递减,而预置寄存器中的预置不变。而预置寄存器中的预置不变。输出锁存器输出锁存器用于写入锁存命令时,用于写入锁存命令时,锁定当前计数值锁定当前计数值计数器的计数器的3个引脚个引脚nCLK时时钟钟输输入入信信号号在在计计数数过过程程中中,此此引引脚脚上上每每输输入入一一个个时时钟钟信信号号(下下降降沿沿),计计数数器的计数值减器的计数值减1nGATE门门控控输输入入信信号号控控制制计计数数器器工工作作,可分成电平控制和上升沿控制两种类型可分成电平控制和上升沿控制两种类型nOUT计计数数器器输输出出信信号号当当一一次次计计数数过过程程结结束束(计计数数值值减减为为0),OUT引引脚脚上上将将产产生生一一个输出信号个输出信号2.与处理器接口与处理器接口nD0 D7数据线数据线A0 A1地址线地址线nRD*读信号读信号 WR*写信号写信号nCS*片选信号片选信号CS*A1 A0I/O地址地址读操作读操作RD*写操作写操作WR*0 0 00 0 10 1 00 1 1通道通道0(40H)通道通道1(41H)通道通道2(42H)控制字寄存器控制字寄存器读计数器读计数器0读计数器读计数器1读计数器读计数器2无操作无操作写计数器写计数器0写计数器写计数器1写计数器写计数器2写控制字写控制字11.3.2 825311.3.2 8253的工作方式的工作方式n8253有有6种工作方式,由方式控制字确定种工作方式,由方式控制字确定n熟熟悉悉每每种种工工作作方方式式的的特特点点才才能能根根据据实实际际应应用用问问题题,选择正确的工作方式选择正确的工作方式n每种工作方式的过程类似:每种工作方式的过程类似:设定工作方式设定工作方式 设定计数初值设定计数初值 硬件启动硬件启动 计数初值进入减计数初值进入减1计数器计数器 每输入一个时钟计数器减每输入一个时钟计数器减1的计数过程的计数过程 计数过程结束计数过程结束方式方式0 计数结束中断计数结束中断设设定定工工作作方方式式门门控控信信号号高高电电平平GATEOUTCLK 03124n=4方式方式0WR设设定定计计数数初初值值计计数数值值送送入入计计数数器器计计数数过过程程计计数数结结束束计数初值一次有效计数初值一次有效方式方式1 可编程单稳脉冲发生器可编程单稳脉冲发生器设设定定工工作作方方式式设设定定计计数数初初值值硬硬件件启启动动计计数数值值送送入入计计数数器器计计数数过过程程计计数数结结束束GATEOUTCLK 031244方式方式1WR计数初值一次有效计数初值一次有效方式方式2 频率发生器(分频器)频率发生器(分频器)自动重新装入记数初值,实现循环记数,当gate为0暂停记数03124GATEOUTCLK 4方式方式2031240312403124WR方式方式3 方波发生器方波发生器记数n为偶数时输出重复周期为n的方波N为奇数时输出一个(n+1)/(n-1)近似方波03124GATEOUTCLK 4方式方式3031240312403124WR当gate为0暂停记数方式方式4 软件触发选通信号软件触发选通信号软件装入n如果gate为高立即开始记数,只一次有效。要重新记数必须重新装入nGATEOUTCLK031244方式方式4223331 0WR计数初值一次有效计数初值一次有效当gate为0暂停记数方式方式5 硬件触发选通信号硬件触发选通信号触发信号是由gate引入才开始记数定时时间定时时间GATEOUTCLK031244方式方式52233311 0WR各种工作方式的输出波形各种工作方式的输出波形方式方式 0方式方式 1方式方式 2方式方式 3方式方式 4方式方式 50N0N0N0/N110NN/2 N/2 0/N0N0 1N0 1N0 1计数开始的时刻计数开始的时刻n需要注意:需要注意:n处处理理器器写写入入8253的的计计数数初初值值只只是是写写入入了了预预置置寄寄存存器器,之之后后到到来来的的第第一一个个CLK输输入入脉脉冲冲(需需先先由由低低电电平平变变高高,再再由由高高变变低低)才才将将预预置寄存器的初值送到减置寄存器的初值送到减1计数器。计数器。n从从第第二二个个CLK信信号号的的下下降降沿沿,计计数数器器才才真真正正开始减开始减1计数。计数。11.3.3 825311.3.3 8253的编程的编程n8253加电后的工作方式不确定加电后的工作方式不确定n8253必须初始化编程,才能正常工作必须初始化编程,才能正常工作n写入控制字写入控制字n写入计数初值写入计数初值n读取计数值读取计数值D7D6D5D4D3D2D1D01 写入方式控制字写入方式控制字计数器计数器读写格式读写格式工作方式工作方式数制数制D7D6D5D4D3D2D1D000 计数器计数器001 计数器计数器110 计数器计数器211 非法非法00 计数器锁存命令计数器锁存命令 01 只读写低字节只读写低字节10 只读写高字节只读写高字节11 先读写低字节先读写低字节 后读写高字节后读写高字节000 方式方式0001 方式方式1010 方式方式2011 方式方式3100 方式方式4101 方式方式50 二进制二进制1 十进制十进制控制字写入控制字控制字写入控制字I/O地址(地址(A1A011)2 写入计数值写入计数值n选择二进制时选择二进制时n计数值范围:计数值范围:0000HFFFFHn0000H是最大值,代表是最大值,代表65536n选择十进制(选择十进制(BCD码)码)n计数值范围:计数值范围:00009999n0000代表最大值代表最大值10000计数值写入计数器各自的计数值写入计数器各自的I/O地址地址3 读取计数值读取计数值n对对8位数据线,读取位数据线,读取16位计数值需分两次位计数值需分两次n计计数数在在不不断断进进行行,应应该该将将当当前前计计数数值值先先行行锁存,然后读取:锁存,然后读取:n向控制字向控制字I/O地址:给地址:给8253写入锁存命令写入锁存命令n从计数器从计数器I/O地址:读取锁存的计数值地址:读取锁存的计数值读取计数值,要注意读写格式和计数数制读取计数值,要注意读写格式和计数数制 例例1 1:用用计计数数器器0 0,工工作作在在方方式式1 1,按按十十进进制制计计数数,计计数数值值为为5080H5080H。设设该该片片82538253的的端端口口地地址址为为388H388H38BH38BH,写写出初始化程序段。出初始化程序段。MOV DX,38BHMOV DX,38BHMOV AL,33H MOV AL,33H ;00 11 001 1;00 11 001 1OUT DX,ALOUT DX,ALMOV DX,388HMOV DX,388HMOV AL,80HMOV AL,80HOUT DX,ALOUT DX,ALMOV AL,50HMOV AL,50HOUT DX,ALOUT DX,AL388 388 计数器计数器0 0389 389 计数器计数器1 1 38A 38A 计数器计数器2 238B 38B 控制口控制口11.3.4 825311.3.4 8253计数计数/定时控制器应用举例定时控制器应用举例 CPUCPU读读到到的的是是执执行行读读取取指指令令瞬瞬间间计计数数器器的的现现行行值值。但但82538253的的计计数数器器是是1616位位的的,所所以以要要分分两两次次读读至至CPUCPU,因因此此,若若不不设设法法锁锁存存的的话话,则则在在读读数数过过程程中中,计计数数值值可能已变化了。要锁存有两种办法:可能已变化了。要锁存有两种办法:(1)(1)利用利用GATEGATE信号使计数过程暂停。信号使计数过程暂停。(2)(2)向向82538253输输送送一一个个控控制制字字,令令82538253的的计计数数值值在在出出寄寄存器锁存。存器锁存。CPUCPU可用指令读取可用指令读取82538253任一计数器的计数值任一计数器的计数值例例2 2:读取计数器读取计数器1 1的的1616位计数值,存入位计数值,存入CXCX中中MOV DX,38BHMOV DX,38BHMOV AL,40H MOV AL,40H ;0101 0000 000 0 000 0OUT DX,AL OUT DX,AL ;计数器;计数器1 1的锁存命令的锁存命令MOV DX,389HMOV DX,389HIN AL,DXIN AL,DXMOV CL,ALMOV CL,ALIN AL,DXIN AL,DXMOV CH,ALMOV CH,AL388 388 计数器计数器0 0389 389 计数器计数器1 1 38A 38A 计数器计数器2 238B 38B 控制口控制口IBM PC XTIBM PC XT微型计算机中微型计算机中82538253的部分线路的部分线路 例例3 8253在在IBM PC XT中的应用。中的应用。由译码电路可知计数器和控制字寄存器的端口地址为40H5FH,BIOS取为计数器040H,计数器141H,计数器242H,控制字寄存器43H。3个计数器的输入时钟频率均为1.19MHz。计数器0输出作为18.2Hz方波发生器。用来输出方波作为中断控制器8259的第0号中断信号线(IRQ0)的输入。计数器0的计数值为:1.19M/18.2=65384=216 即送16位的0,故其控制字为36H。例例3 8253在在IBM PC XT中的应用。中的应用。对计数器0初始化的程序段如下:MOV AL,36H OUT 43H,AL MOV AL,0 OUT 40H,AL OUT 40H,AL 计数器输出间隔为15S的负脉冲。该脉冲的上升沿触发D触发器。使它对DMA控制器 8237的第0号DMA请求信号线DRQ0发出DMA请求信号,8237则依据这个请求信号对动态RAM进行刷新。计数器1的计数值为:1.19106/(1/15)10-6=18 故其控制字为54H。对计数器1的初始化程序段如下:MOV AL,54H OUT 43H,AL MOV AL,18 OUT 41H,AL 计数器2输出不同频率的方波,经电流驱动器75477放大,推动扬声器发出不同频率的声响。计数器2的计数值为可变值。随蜂鸣器声响频率的高低而变,程序设计中让它的取值范围由1到65535,即16位二进制数,故其控制字为B6H。entry parameters:DH=Number of long tones to beepDL=Number of short tones to beeperr-beep proc PUSHF ;保存所有的标志位 CLI ;关中断 PUSH DS MOV AX,DATA ;DS指向数据段 MOV DS,AX OR DH,DH ;是否要鸣长音 JZ G3 ;不鸣长音,去鸣短音 下面是下面是IBM PC XTIBM PC XT机机BIOSBIOS中的开机诊断子程序。该子程序让蜂中的开机诊断子程序。该子程序让蜂鸣器鸣一声长音鸣器鸣一声长音(3(3秒秒)和一声短音和一声短音(0.5(0.5秒秒),以指出系统板或,以指出系统板或RAMRAM模块或者模块或者CRTCRT显示器有错。显示器有错。G1:MOV BL,6 ;蜂鸣常数,一次鸣响延续时0.5BL CALL BEEP ;调用鸣响子程序G2:LOOP G2 ;鸣响间隔,等待500mS DEC DH JNZ G1 ;长音没鸣响完,继续 CMP MFG-TST,1 ;为制造测试模式?JNZ G3 ;为制造测试模式,继续鸣响短音 MOV AL,0DH ;停止LED闪 OUT PORT-B,AL ;PORT-B=61H,即8255B端口 JMP G1G3:MOV BL,1 ;短音鸣响时间为0.51=0.5S CALL BEEPG4:LOOP G4 DEC DL JNZ G3 ;短音没鸣响完,继续G5:LOOP G5 ;短音鸣响完,延迟1S返回G6:LOOP G6 POP DS POPF RETerr-beep endp鸣响子程序:beep proc MOV AL,0B6H ;计数器2的控制字 OUT 43H,AL MOV AX,533H ;1000Hz分频值,分高低字节两次送入 OUT 42H,AL MOV AL,AH OUT 42H,AL IN AL,61H ;读取8255B端口的状态 MOV AH,AL OR AL,3 OUT 61H,AL ;打开蜂鸣器 SUB CX,CX ;设置等待500ms的常数值G7:LOOP G7 DEC BL ;等0.5sBL JNZ G7 MOV AL,AH ;恢复8255B端口的原来值,关蜂鸣器 OUT 61H,AL RETbeep endp例例4 4 定定时时/计计数数器器8253可可与与8086/8088CPU相相连连构构成完整的定时、计数或脉冲发生器系统。成完整的定时、计数或脉冲发生器系统。8086系系统统中中包包含含一一片片8253芯芯片片,要要求求完完成成如如下下功能:功能:利利用用通通道道0完完成成对对外外部部事事件件计计数数功功能能,计计满满100次次向向CPU发出中断请求。发出中断请求。利用通道利用通道1产生频率为产生频率为1kHz的方波。的方波。利用通道利用通道2作标准时钟。作标准时钟。图图9.24通道通道0 0定义为定义为工作方式工作方式0 0,完成计数功完成计数功能能,计数值为计数值为100100。通道通道1 1定义为定义为工作方式工作方式3 3,输出频率为输出频率为1kHz1kHz的方波的方波从从CLK1CLK1输入输入2.5MHz2.5MHz的时的时钟脉冲钟脉冲,计数计数值为值为25002500。通道通道2 2定义为定义为方式方式0 0,完成,完成定时功能,定时功能,计数值为计数值为10001000。8253的数的数据线与据线与8086 CPU的高的高8位数据位数据线相连。线相连。由于由于8086 CPU中高中高8位数据位数据线与存储线与存储器或器或I/O端口的奇端口的奇地址的数地址的数据线相连,据线相连,因此要求因此要求8253的端的端口地址必口地址必须是奇地须是奇地址址(A0=1)。8086 CPU8086 CPU A A2 2A A1 1A A0 0 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 初始化程序如下:初始化程序如下:STTSTT:MOV DXMOV DX,82538253控制端口地址控制端口地址MOV ALMOV AL,10H10H ;定义通道;定义通道0 0工作在方式工作在方式0 0OUT DXOUT DX,ALALMOV DXMOV DX,通道,通道0 0端口地址端口地址MOV ALMOV AL,64H64H ;给通道;给通道0 0送计数值送计数值OUT DXOUT DX,ALALMOV DXMOV DX,82538253控制端口控制端口MOV ALMOV AL,76H 76H ;定义通道;定义通道1 1为方式为方式3 3OUT DXOUT DX,ALALMOV DXMOV DX,通道,通道1 1端口端口MOV AXMOV AX,09C4H 09C4H;(;(25002500次)次)OUT DXOUT DX,AL AL ;给通道;给通道1 1送计数初值送计数初值MOV ALMOV AL,AHAHOUT DXOUT DX,ALALMOV DXMOV DX,82538253控制端口控制端口MOV ALMOV AL,B1HB1H ;定义通道;定义通道2 2为方式为方式0 0OUT DXOUT DX,ALALMOV DXMOV DX,通道,通道2 2端口端口MOV AXMOV AX,1000H1000HOUT DXOUT DX,ALAL ;给通道;给通道2 2送计数初值送计数初值MOV ALMOV AL,AHAHOUT DXOUT DX,ALAL对对8259A8259A初始化,初始化,定义通道定义通道0 0和通道和通道2 2的中断类型码分的中断类型码分别为别为50H50H和和52H52H完整的程序还应包含完整的程序还应包含两个中断服务程序。两个中断服务程序。其一用来处理通道其一用来处理通道0发出的计数到中断,发出的计数到中断,这要根据控制现场这要根据控制现场MOVMOVDXDX,8259A8259A偶地址端口偶地址端口MOVMOVALAL,13H;ICW113H;ICW1OUTOUTDXDX,ALALMOVMOVDXDX,8259A8259A奇地址端口奇地址端口MOVMOVALAL,50H ;ICW250H ;ICW2OUTOUTDXDX,ALAL MOVMOVALAL,03;ICW403;ICW4OUTOUTDXDX,ALALMOVMOVALAL,0FAH;OCW10FAH;OCW1OUTOUTDXDX,ALAL;STISTIHHHH:HLTHLT JMP HHJMP HH的实际需要编制相应的处理程序。其二用来的实际需要编制相应的处理程序。其二用来处理通道处理通道2和和1s定时中断,根据系统设计的要定时中断,根据系统设计的要求,应设计一个完整的时钟控制程序,这一任求,应设计一个完整的时钟控制程序,这一任务请读者自行完成。务请读者自行完成。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!