资源描述
微机原理与接口技术综合实验论文可编程 8253定时/计数器的工作原理、使用方法及应用实例年 级:xxxxxx 姓 名:xxxxxx 学 号: xxxxxxx xxxx 年 xx 月可编程 8253 定时/计数器的工作原理、使用方法及应用实例【摘 要】可编程的计数器/定时器是为了方便计算机系统的设计和应用而研制的,很 容易和系统总线连接。它综合了软件定时和硬件定时的双重优点,定时时间很容 易地通过软件设置和改变,定时过程通过硬件实现,当定时时间到时,可输出时 间信号,由于计数器/定时器一般具有连续工作的功能,所以可以输出速率波, 并具有分频功能。因此它可以满足各种不同的定时和计数要求,在各种计算机系 统的设计中得到了广泛的应用。【关键字】定时器,计数器,记数初值,软件定时,硬件定时【引言】在计算机系统中往往需要一些时钟,以便实现定时控制或延迟控制。如定时 扫描,定时中断,定时检测,定时刷新,系统日历时钟以及喇叭发生的声源等。 对外部事件进行记录,也是各种微机应用所常用的,因此往往需要一些计数器。 而定时功能通常是通过记数来实现的,当计数器的输入脉冲为固定频率的信号 时,计数器就有了定时功能,因此一般定时器和计数器融为一体。8253 定时/计 数器就具有这样的功能。【工作原理】实现定时的方法可分为软件定时和硬件定时两种。软件定时就是让机器执行 一个程序段,这个程序段本身并没有具体的执行目的,但由于执行每一条指令都 需要一定的时间,则执行一个已定的程序段就需要一个固定的时间。软件定时的 优点是不需要增加硬件设备,且定时时间改变灵活,只要改变子程序的执行时间 即可。硬件定时又分为不可编程硬件定时和可编程硬件定时。对不可编程的硬件 定时方法,可采用如定时器 555 外接定时部件构成。这种定时的优点是电路一般 比较简单,定时期间不占用 CPU 资源。可编程的计数器是为了方便计算机系统的 设计和应用而研制的,很容易和系统总线连接。8253 的记数初值是决定记数次序的,根据输出信号的不同,计算方法可分 为两种情况。当输出信号为连续的周期波时:假设计数器输入信号 CLK 的频率为 F(CLK), 要求OUT端输出信号的频率为F (OUT),则记数初值N的计算公式为:N=F( CLK) /F( OUT)当计数器工作在一次性有效的定时方式时:如希望的定时时间为T,则记数 初值 N 的计算公式为: N=F(CLK) *T【实验内容】8253A的AO、A1接系统地址总线AO、A1,故8253A有四个端口地址,8253A 的片选地址为48H4FH。因此,本实验仪中的8253A四个端口地址为48H、49H、 4AH、4BH,分别对应通道0、通道1、通道2和控制字。采用8253A通道0,工 作在方式3(方波发生器方式),输入时钟CLKO为1MHZ,输出OUTO要求为1KHZ 的方波,并要求用接在 GATE0 引脚上的导线是接地(0电平)或甩空(1电平) 来观察GATE对计数器的控制作用,用示波器观察输出波形。当我们改变记数初 值是再观察波形的变化。【8253 功能介绍】8253 是可编程的计数器/定时器,其内部有三个独立的 16 位计数器/定时器 通道,每个计数器通道均可按 6 种不同的方式工作,并且都可以按二进制或十进 制计数。其CLKOCLK2是计数器02的时钟脉冲输入端,GATE0GATE2是门 控脉冲输入端,OUT0OUT2是输出端及内部结构见下图。7 G54 3210 QO2DddddddddktnL u Gc HldblrJ-rr叵trrs匚KiTiTEK: vcWRRDcsMAOCLQUgCL 因勿勿2D雷冋3ZJZ3囤S) SATEjS) LIUTl8253 引脚分布图Al AO:用来选择计数器和控制寄存器D0-D7: 三态数据线,和数据总线相连GATEO l 2: 门控输入端,对应相同号计数CS:片选端,低电平有效WR:写信号输入端,低电平有效RD:读信号输入端,低电平有效CLKO l 2:各计数器时钟信号输入端OUTO l 2:相应计数器输入端当用8253做外部事件计数器时,在CLK端所加的计数脉冲由外部事件产生,这 些脉冲的间隔可以不相等。如果要用它做定时器,贝0CLK端应输入精确的时钟脉 冲。这时, 8253所能实现的定时时间决定于计数脉冲的频率和计数器的初值, 即 定时时间二时钟脉冲周期tc X预置的计数初值n8253的控制逻辑由5个控制信号 WR、CS、A1和A0组成,对应的操作见表1。衣控制逻辑和执行的操作RDAIAC执行加屎作U000写初值到0号歼貌器U00L写初值到L号歼貌器U010写初值到2号歼鞍器U01LS控制了到控”1:厚器0000读U号i陵器|TiU1卜J0L读1数器IIIU010读汕计数器门U01L非扶,三态1XXXX他中8253 的工作方式:方式0 :又称计数结束产生中断工作方式。当程序将工作方式控制字写入控制字 寄存器时,计数器的输出端OUT立即变为低电平。在计数初值写入该计数器后, 输出仍将保持为低电平。当门控信号GATE为高电平时,计数器对输入端CLK的输 入脉冲开始作减一计数,当计数器从初值减为0时,输出端OUT由低电平变为高电 平,该输出信号可作为向CPU发出的中断请求信号。方式1 :又称可编程单稳态工作方式。功能是在GATE信号的上升沿作用下,输出 端OUT产生一个负脉冲信号,负脉冲的宽度可由定时器的计数初值和时钟频率编 程确定。方式2 : 又称频率发生器工作方式。当程序将工作方式控制字写入控制字寄存器 时,计数器的输出端OUT立即变为高电平。在写入计数初值后,计数器对输入时钟 CLK计数。在计数过程中OUT保持不变,直到计数器从初值减为1时,输出OUT将 变低,再经过一个CLK周期,OUT恢复为高电平,并按已设定的计数初值重新开始 计数。在需要产生某个脉冲信号或将某一个较高频率的脉冲信号分频为较低频率 时, 可使用8253 的方式2。方式3: 又称方波发生器工作方式。方式3 的工作类似于方式2, 不同之处是方式 3的输出OUT是方波。方式4 :又称软件触发选通工作方式。其功能是在输出OUT端隔一定时间产生一 价目负脉冲。与方式0 不同的是, 输出脉冲的宽度是固定的, 但产生负脉冲所相隔 时间是可编程的。方式5 : 又称硬件触发选通工作方式。方式5的工作类似于方式4 ,不同之处是 GATE信号的作用不同。方式5的计数过程由GATE的上升沿触发,当计数结束 时,OUT将输出一个CLK周期的低电平信号。【实验接线方法】(1)8253A芯片的CLK0引出插孔连分频输出插孔1MHZ。(2)8253A 的 GATE0 接+5V。(3)8253A的OUT0接方波发生器的频率计上。【初始化编程】编程时,可选择计数器1工作在方式0。在8253的方式0工作方式中,从将计数 初值写入计数器到开始减1计数之间,有一个时钟脉冲的延迟。若计数初值为n = 999,那么经过n + 1个即1000个脉冲时计数值减为0,并在OUT1端输出一正跳变, 这可以作为中断请求。在中断服务子程序中CP U可以做其他处理,如送下一个包装 箱等。设计数初值为1999(要求一个包装箱内装工件2000),按十进制计数,先送 低8位,再送高8位,控制字为01110001B。初始化程序为:MOV AL, 01110001BAL, 01110001BMOV DX, 0356HOUT DX,AL ;送方式控制字MOV AL, 99HMOV DX, 0352HOUT DX,AL ;向通道1送计数初值低8位MOV AL, 19HOUT DX,AL ;向通道1送计数初值高8位【实验步骤】运行实验程序在系统显示DVCC 86H 状态下,按任意键,系统显示命令提示符一。按 GO 键,系统显示1000 XX输入 F000 : B290再按 EXEC 键,显示82531用示波器测量8253A的OUT0输出插孔,应有频率为1KHZ的方波输出。幅值05V。【实验源程序及波形】1、初值为 1000H 时的源程序:CODE SEGMENTASSUME CS:CODETCONTRO EQU 004BHTCON2 EQU 004AHCONTPORT EQU 00DFHDATAPORT EQU 00DEHDATA1EQU 0500HSTART:JMPTCONTTCONT:CALLFORMATCALLLEDDISPMOVDX,TCONTROMOVAL,0B6HOUTDX,ALMOVDX,TCON2MOVAL,00OUTDX,ALMOVAL,10HOUTDX,ALHLTLEDDISP: MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:0600H,00LED1: CMP BYTE PTR DS:0600H,07HJA LED2MOV BL,DS:0600HMOV BH,0HMOV AL,CS:BX+DATA1MOV DX,DATAPORTOUT DX,ALADD BYTE PTR DS:0600H,01HJNZ LED1LED2: RETFORMAT: MOV BX,0MOV WORD PTR DS:BX+0500H,4006HADD BX,2MOV WORD PTR DS:BX+0500H,4040HADD BX,2MOV WORD PTR DS:BX+0500H,6D4FHADD BX,2MOV WORD PTR DS:BX+0500H,7F5BHRETCODE ENDSEND START初值为1000H时的波形2、实验修改思路:修改8253定时/计数器的计数初值,原来是1000H,现改为6000H,以达到 使示波器输出波形周期变大六倍。对应的源程序为:CODE SEGMENTASSUME CS:CODETCONTROEQU 004BHTCON2EQU 004AHCONTPORT EQU 00DFHDATAPORT EQU 00DEHDATA1EQU 0500HSTART:JMP TCONTTCONT:CALL FORMATCALL LEDDISPMOV DX,TCONTROMOV AL,0B6HOUT DX,ALMOV DX,TCON2MOV AL,00OUT DX,ALMOV AL,60H ;修改后的数值OUT DX,ALHLTLEDDISP:MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:0600H,00LED1:CMP BYTE PTR DS:0600H,07HJA LED2MOV BL,DS:0600HMOV BH,0HMOV AL,CS:BX+DATA1MOV DX,DATAPORTOUT DX,ALADD BYTE PTR DS:0600H,01HJNZ LED1LED2: RETFORMAT: MOV BX,0MOV WORD PTR DS:BX+0500H,4006HADD BX,2MOV WORD PTR DS:BX+0500H,4040HADD BX,2MOV WORD PTR DS:BX+0500H,6D4FHADD BX,2MOV WORD PTR DS:BX+0500H,7F5BHRETCODE ENDSEND START初值为6000H时的波形实验结论】通过改变计数初值,可以改变信号的方波波行。可编程的8253 计数器/定时 器可以用控制程序的方法控制硬件。当计数脉冲为一固定频率的时钟时,可作为 定时器工作。参考文献】微型计算机原理机应用技术 第 2版朱金均 麻新旗 等编著 机械工业出版社 2005.7(2008.9 重印) 微机原理与接口技术实验讲义(第二版)徐卫华 编 楚雄师范学院物理与电子科学系 2010.3 微机原理与接口技术实验指导谢瑞和 等编著 清华大学出版社
展开阅读全文