您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 8254定时计数器实验报告
8254定时/计数器应用实验一、实验目的1.掌握8254的工作方式及其应用编程。2.掌握8254典型应用电路的接法。二、实验设备PC机一台,TD—PITE实验装置或TD-PITC实验装置一套,示波器一台。三、实验内容1.计数应用实验。编写程序,应用8254的计数功能,使用单次脉冲模拟计数,使每当按动‘KK+’5次后,产生一次计数中断,并在屏幕上显示一个字符‘M’。2.定时应用实验。编写程序,应用8254的定时功能,产生一个1ms的方波。四、实验原理8254是Intel公司生产的可编程间隔定时器。是8253的改进型,比8253具有更优良的性能。8254具有以下基本功能:(1)有3个独立的16位计数器。(2)每个计数器可按二进制或十进制(BCD)计数。(3)每个计数器可编程工作于6种不同工作方式。(4)8254每个计数器允许的最高计数频率为10MHz(8253为2MHz)。(5)8254有读回命令(8253没有),除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容。(6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式实习题目指导教师职称学生姓名学号日期实习题目指导教师职称学生姓名学号日期1为:n=fCLKi/fOUTi,其中fCLKi是输入时钟脉冲的频率,fOUTi是输出波形的频率。图4.27是8254的内部结构框图和引脚图,它是由于CPU的接口、内部控制电路和三个计数器组成。8254的工作方式如下述:(1)方式0:计数到0结束输出正跃变信号方式。(2)方式1:硬件可重触发单稳方式。(3)方式2:频率发生器方式。(4)方式3:方波发生器。(5)方式4:软件触发选通方式。(6)方式5:硬件触发选通方式。数据总线缓冲器控制寄存器D[7:0]R/W逻辑电路RDWRA0A1计数器2计数器1计数器0内部总线CLK0GATE0OUT0CLK1GATE1OUT1CSCLK2OUT2GATE2图4.278254的内部接口和引脚8254的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制器。这两个控制字共用一个地址,由标志位来区分。控制字格式如表4.3-4.5所示。2D7D6D5D4D3D2D1D0计数器选择读写格式选择工作方式选择计数码制选择00-计数器001-计数器110-计数器211-读出控制字标志00锁存计数值01读/写低8位10读/写高8位11先读/写低8位,再读写高8位000方式0001方式1010方式2011方式3100方式4101方式50-二进制数1-十进制数表4.38254的方式控制字格式表4.48254读出控制字格式D7D6D5D4D3D2D1D0110-锁存计数值0-锁存状态信息计数器选择0表4.58254状态字格式D7D6D5D4D3D2D1D0计数器方式(同方式控制字)OUT引脚现行状态1高电平0低电平计数初值是否装入1无效计数0计数有效8254实验单元电路图如下所示:D0OUT0D1GATE0D2CLK0D3D4D5D6OUT1D7GATE1CLK1CSRDWROUT2A0GATE2A18254CLK2VCCCLK1GATE1OUT1CLK2GATE2OUT2CLK0OUT0CSRDWRD0D1D3D2D4D5D7D6A0A1五、实验步骤1.计数器应用实验3编写程序,将8254的计数器0设置为方式0,计数值为十进制数4,单次脉冲KK1+作为CLK0时钟,OUT0连接MIR7,每当KK1+按动5次后产生中断请求,在屏幕上显示字符“M”。实验步骤:(1)实验连接如图4.29所示。(2)编写实验程序,经编译、链接无误后装入系统。(3)运行程序,按动KK1+产生单次脉冲,观察实验现象。(4)改变计数值,验证8254的计数功能。XD0...XD7XA1XA2IOW#IOR#IOY3系统总线D0..GATE0.D7CLK0A0A1OUT0WRRDCS8254单元VCC图4.298254计数应用实验接线图CLK系统总线波形输出示波器测量实验程序清单(A82541.ASM);=========================================================;文件名:A82541.ASM;功能描述:通过对计数器0进行计数,计数初值为4,;当计数满后,产生正跳变触发中断,中断;程序显示M(每按5次输出一个M);=========================================================A8254EQU06C0HB8254EQU06C2HC8254EQU06C4HCON8254EQU06C6HSSTACKSEGMENTSTACKDW32DUP(?)SSTACKENDSCODESEGMENTASSUMECS:CODE,SS:SSTACKSTART:PUSHDSMOVAX,0000H4MOVDS,AXMOVAX,OFFSETIRQ7;取中断入口地址MOVSI,003CH;中断矢量地址MOV[SI],AX;填IRQ7的偏移矢量MOVAX,CS;段地址MOVSI,003EHMOV[SI],AX;填IRQ7的段地址矢量CLIPOPDS;初始化主片8259MOVAL,11HOUT20H,AL;ICW1MOVAL,08HOUT21H,AL;ICW2MOVAL,04HOUT21H,AL;ICW3MOVAL,01HOUT21H,AL;ICW4MOVAL,6FH;OCW1OUT21H,AL;8254MOVDX,CON8254MOVAL,10H;计数器0,方式0OUTDX,ALMOVDX,A8254MOVAL,04HOUTDX,ALSTIAA1:NOPJMPAA1IRQ7:MOVDX,A8254MOVAL,04HOUTDX,ALMOVAX,014DHINT10H;显示字符MMOVAX,0120HINT10HMOVAL,20HOUT20H,AL;中断结束命令IRET5CODEENDSENDSTART2.定时应用实验编写实验,将8254的计数器0设置为方式3,用信号源1MHz作为CLK0时钟,OUT0为波形输出1ms方波。实验步骤:(1)实验连接如图4.30所示。(2)编写实验程序,经编译、链接无误后装入系统。(3)运行实验程序,用示波器测试OUT0输出,验证程序功能。XD0...XD7XA1XA2IOW#IOR#IOY3系统总线D0..GATE0.D7CLK0A0A1OUT0WRRDCS8254单元VCC图4.308254定时应用实验接线图CLK系统总线波形输出示波器测量实验程序清单(A82542.ASM);=========================================================;文件名:A82542.ASM;功能描述:产生1ms方波,输入时钟为1MHz,使用计数器0;计数初值为03E8H;=========================================================A8254EQU06C0HB8254EQU06C2HC8254EQU06C4HCON8254EQU06C6HSSTACKSEGMENTSTACKDW32DUP(?)SSTACKENDSCODESEGMENTASSUMECS:CODE,SS:SSTACKSTART:MOVDX,CON8254;82546MOVAL,36H;计数器0,方式3OUTDX,ALMOVDX,A8254MOVAL,0E8HOUTDX,ALMOVAL,03HOUTDX,ALAA1:NOPJMPAA1CODEENDSENDSTART六、实验结果实验一的结果:按动4次按钮,屏幕输出“M7”字符。实验2的结果:计数值为2000,十六进制为07D0H,示波器产生2ms的方波。7七.实验心得通过本次实验,掌握了8254芯片的基本功能和工作方式,学到典型电路的接法和学会定时应用实验产生方波的方法。8254同8253一样,方式2和3是周期的,可以自动循环的工作方式;方式0,1,4,5则是单稳态的,非周期的工作方式。在周期形式下可根据输出波形不同选择方式2(负脉冲)和方式3(方波);在非周期中根据输出波形不同选择方式0,1(计数期间为低,计数到0时上升)和方式4,5(负脉冲);方式0,1可继续通过触发方式不同选择方式0(软触发)和方式1(硬触发);方式4,5可继续通过触发方式不同选择方式4(软触发)和方式5(硬触发)。有动手,有思考,就会有收获!8
本文标题:8254定时计数器实验报告
链接地址:https://www.777doc.com/doc-6343725 .html