8254定时与计数器实验
- 格式:doc
- 大小:597.68 KB
- 文档页数:13
实验七8254定时/计数器应用实验一、实验目的(1) 掌握8254的工作方式及应用编程。
(2) 掌握8254的典型应用电路接法。
二、实验内容计数应用实验。
编写程序,应用8254的计数功能,用开关模拟计数,使每当按动KK1+五次后,产生一次计数中断,并在屏幕上显示一个字符‘5’。
三、实验原理8254是Intel公司生产的可编程间隔定时器,是8253的改进型,比8253具有更优良的性能。
8254具有以下基本功能:(1) 有3个独立的16位计数器;(2) 每个计数器可按二进制或十进制(BCD)计数;(3) 每个计数器可编程工作于6种不同工作方式;(4) 8254每个计数器允许的最高计数频率为10MHz(8253为2MHz);(5) 8254有读回命令(8253没有),除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容。
(6) 计数脉冲可以是有规律的时钟信号,也可以是随机信号。
计数初值公式为n=f CLKi÷f OUTi、其中f CLKi是输入时钟脉冲的频率,f OUTi是输出波形的频率。
图1是8254的内部结构框图和引脚图,它是由与CPU的接口、内部控制电路和三个计数器组成。
8254的工作方式如下述:(1) 方式0:计数到0结束输出正跃变信号方式。
(2) 方式1:硬件可重触发单稳方式。
(3) 方式2:频率发生器方式。
(4) 方式3:方波发生器。
(5) 方式4:软件触发选通方式。
(6) 方式5:硬件触发选通方式。
8254的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。
这两个控制字共用一个地址,由标识位来区分。
控制字格式如表1所示。
读回控制字格式如表2所示。
当读回控制字的D4位为0时,由该读回控制字D1~D2位指定的计数器的状态寄存器内容将被锁存到状态寄存器中。
状态字格式如表3所示。
四、计数应用实验说明及步骤编写程序,将8254的计数器0设置为方式3,计数值为十进制5,用微动开关KK1+作为CLK0时钟,OUT0连接INTR,每当KK1+按动5次后产生中断请求,在屏幕上显示字符“5”。
8254定时计数器实验实验报告一、实验目的本次实验的主要目的是深入了解和掌握 8254 定时计数器的工作原理、编程方法以及在实际应用中的操作流程。
通过亲自动手实践,提高对计算机硬件接口技术的理解和应用能力。
二、实验设备1、计算机一台2、 8254 定时计数器实验箱三、实验原理8254 是一种可编程的定时/计数器芯片,它包含三个独立的 16 位计数器通道,分别称为计数器 0、计数器 1 和计数器 2。
每个计数器都可以工作在不同的模式下,如方式 0 计数结束中断、方式 1 可重触发单稳态、方式 2 频率发生器、方式 3 方波发生器、方式 4 软件触发选通、方式 5 硬件触发选通。
在本次实验中,我们主要利用 8254 的计数器 0 来产生一定频率的方波信号,并通过指示灯的闪烁来观察其效果。
四、实验步骤1、按照实验箱的说明书,将 8254 芯片正确地插入插槽中,并连接好相关的线路。
2、打开计算机,进入实验环境。
3、编写 8254 的初始化程序,设置计数器 0 的工作模式、计数初值等参数。
选择工作模式 3(方波发生器)。
设定计数初值,以控制方波的频率。
4、编译并运行程序,观察指示灯的闪烁情况。
五、实验代码以下是本次实验中使用的 8254 初始化程序代码(以汇编语言为例):```assemblyMOV DX, 043H ;控制字端口地址MOV AL, 00110110B ;控制字:选择计数器 0,先读/写低 8 位,再读/写高 8 位,工作方式 3,二进制计数OUT DX, ALMOV DX, 040H ;计数器 0 端口地址MOV AL, 00H ;先写低 8 位计数值OUT DX, ALMOV AL, 10H ;再写高 8 位计数值OUT DX, AL```六、实验结果及分析1、实验结果当程序运行后,观察到连接在计数器 0 输出端的指示灯按照设定的频率闪烁,表明 8254 定时计数器工作正常,成功产生了方波信号。
【精品】实验五 8254计数定时器实验1、实验目的学习8254计数定时器的工作原理,掌握8254计数定时器的编程方法,加强对8254计数定时器的认识,并熟练掌握其应用。
2、实验器材计算机、标准信号发生器、万用表等。
3、实验原理8254计数定时器是一种可编程和可复用的计数/定时器,它可以工作在单独的计数、单独的定时、计数与定时相结合等多种工作模式下,既可以用于计数,也可以用于定时。
它有三个独立的可编程计数器(C0,C1,C2),每个计数器都有一个特殊的16位计数寄存器CR,一个读/写工作方式的计数器工作寄存器CR0,以及为不同的应用提供不同带有多种功能的计数/定时输出方式的通用输出寄存器(G0,G1,G2)。
8254计数定时器有4个I/O端口(0x40,0x41,0x42,0x43)与外部设备相连。
通过读/写这四个I/O端口中的寄存器,就可以操作8254计数定时器的寄存器和计数器寄存器。
计算机中将8254计数定时器的三个计数器均放在一块芯片中,称为计数定时器芯片。
掌握8254计数定时器的编程方法是我们进行下一步应用实验的基础。
(1)测量8254计数定时器的计数时间。
将8254计数定时器的输出端与示波器相连,设置8254的计数器工作模式,并制作相应的控制程序,运行程序,观察并测量8254计数定时器的计数时间。
5、实验步骤(1)测量8254计数定时器的计数时间。
1)将标准信号发生器输出的方波信号(频率为300Hz)经过电阻分压后,接到8254计数定时器的C0引脚上(可用排针连线连接),8254计数定时器的G0引脚再接到示波器的Y轴输入端,示波器的X轴调为10ms/格,Y轴调为1V/格。
2)编写控制程序,设置8254计数定时器的C0计数器工作模式(计数模式0),计数器初值为0,最后输出计数寄存器中的计数值,通过读取计数器寄存器和计数寄存器可以得到8254计数定时器的计数时间。
3)运行程序,并用示波器观察8254计数定时器的计数输出波形,测量并计算出计时的时间。
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)计数脉冲可以就是有规律的时钟信号,也可以就是随机信号。
计数初值公式为:n=fclki/fouti,其中fclki是输入时钟脉冲的频率,fouti是输出波形的频率。
图4.27就是8254的内部结构框图和插槽图,它就是由于cpu的USB、内部控制电路和三个计数器共同组成。
8254的工作方式如下述:(1)方式0:计数至0完结输入正跃变小信号方式。
(2)方式1:硬件瘴霉属引爆单稳方式。
(3)方式2:频率发生器方式。
(4)方式3:方波发生器。
(5)方式4:软件触发选通方式。
(6)方式5:硬件触发选通方式。
数据总线缓冲器内部总线clk0gate0out0clk1gate1out1clk2gate2out2d[7:0]rdwra0a1cs计数器0r/w逻辑电路控制寄存器计数器1计数器2图4.278254的内部接口和引脚8254的掌控字存有两个:一个用以设置计数器的工作方式,称作方式掌控字;另一个用以设置读回命令,称作读回控制器。
XX学院实验报告实验名称姓名学号班级教师日期一、实验内容与要求1.1 实验内容本次实验分为如下2个子实验:(1)计数应用实验:编写程序,应用8254的计数功能,使用单次脉冲模拟计数,使每当按下‘KK1+’5次后,产生一次计数中断,并在屏幕上显示一个字符‘M’;(2)定时应用实验:编写程序,应用8254的定时功能,产生一个1s的方波,并用本装置的示波器功能来观察。
1.2 实验要求本次实验中2个子实验的实验要求如下:(1)计数应用实验:将8254的计数器0设置为方式3,计数值为十进制数4,用单次脉冲KK1+作为CLK0时钟,OUT0连接MIR7,每当KK1+按动5次后产生中断请求,在屏幕上显示字符“M”;(2)定时应用实验:将8254的计数器0和计数器1都设置为方式3,用信号源1MHz作为CLK0时钟,OUT0为波形输出1ms方波,再通过CLK1输入,OUT1输出1s方波。
二、实验原理与硬件连线2.1 实验原理8254是Intel公司生产的可编程间隔定时器。
是8253的改进型,比8253具有更优良的性能。
8254具有以下基本功能:(1)有三个地理的16位计数器。
(2)每个计数器可按二进制或十进制(BCD)计数。
(3)每个计数器可编程工作于6种不同的工作方式。
(4)8254每个计数器允许的最高计数频率为10MHz(8253为2MHz)。
(5)8254有读回命令(8253,没有),除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容(6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。
计数初值公式为:n=f CLKi÷f OUTi,其中f CLKi是输入时钟脉冲的频率,f OUTi是输出波形的频率。
图2-1是8254的内部结构框图和引脚图,它是由与CPU的接口,内部控制电路和三个计数器组成。
8254的工作方式如下述:(1)方式0:计数到0结束输出正跃变信号方式。
(2)方式1:硬件可重触发单稳方式。
最新8254定时计数器实验实验报告实验目的:1. 理解8254定时计数器的工作原理及其在微机系统中的作用。
2. 掌握8254定时计数器的编程方法,包括计数、定时和脉冲输出等操作。
3. 通过实验验证8254定时计数器的性能参数,如计数频率、计数范围等。
实验设备:1. 微机实验平台2. 8254定时计数器模块3. 示波器4. 连接线实验原理:8254定时计数器是一款可编程的定时/计数器集成电路,广泛应用于微机系统中进行定时、计数和波形发生等操作。
它包含三个独立的计数器,分别为计数器0、计数器1和计数器2,每个计数器都可以配置为不同的工作模式,如单稳态、双稳态、方波输出等。
实验步骤:1. 首先,根据实验指导书连接8254定时计数器模块到微机实验平台,并连接示波器以便于观察输出波形。
2. 编写程序,设置8254的控制字,选择合适的计数器工作模式,并设定计数频率。
3. 通过程序向8254发送计数值,启动计数操作。
4. 使用示波器观察并记录计数器的输出波形,验证其频率和稳定性。
5. 改变计数值和工作模式,重复步骤3和4,以测试8254的不同功能。
6. 最后,记录所有实验数据,并根据实验结果分析8254的性能。
实验结果:1. 记录不同计数值和工作模式下的输出波形频率,验证其与理论值的一致性。
2. 分析计数器在不同模式下的波形特点,如单稳态输出的脉冲宽度、双稳态输出的占空比等。
3. 根据实验数据,绘制波形图和频率表,直观展示8254的性能。
实验结论:通过本次实验,我们成功地验证了8254定时计数器的基本功能和性能参数。
实验结果表明,8254能够根据设定的计数值和工作模式,准确地进行计数和定时操作,输出稳定的波形信号。
这些特性使得8254定时计数器在微机系统中具有广泛的应用前景。
实验六8254定时计数器电⼯电⼦实验中⼼实验报告课程名称:计算机硬件技术基础实验名称:8254定时/计数器姓名:学号:评定成绩:审阅教师:实验时间:2017.06.06南京航空航天⼤学⼀、实验⽬的要求1) 掌握 8254 定时/计数器的名种⼯作⽅式及编程⽅法。
⼆、实验任务按照图 3-2-1 的要求连线,分别对 8254 芯⽚的 3 个定时/计数器编程,并选择合适的⼯作⽅式和初值,以达到如下的效果:1) 定时/计数器 0,计数脉冲频率为 18.432KHz,OUT0 分两路输出,⼀路外接 2 位 LED,使其以亮 0.5 秒灭 0.5 秒循环闪亮,另⼀路作为计数器 1 的计数脉冲 CLK1。
2) 定时/计数器 1,OUT1 的输出外接 2 位 LED,使其以亮 3 秒灭 1秒循环闪亮。
3) 定时/计数器 2 的计数脉冲来⾃单次脉冲单元,按压开关产⽣的脉冲作为计数器 2 的计数脉冲。
OUT2 外接 2 位 LED,当按压开关到 17 次时LED 长亮,并将按压开关的剩余次数将在屏幕上显⽰。
三、实验电路图图3-2-1 8254定时/计数器电原理图四、实验代码IOY0 EQU 3000HTIMER0 EQU IOY0+00H*4 ;8254计数器0端⼝地址TIMER1 EQU IOY0+01H*4 ;8254计数器1端⼝地址TIMER2 EQU IOY0+02H*4 ;8254计数器2端⼝地址TCTL EQU IOY0+03H*4 ;8254控制寄存器端⼝地址STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSDATA SEGMENTMES0 DB ‘Pressed: $’MES1 DB ‘Press any key to exit !’,0DH,0AH,’$’NUM DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START: MOV AX, DATAMOV DS, AXMOV DX, OFFSET MES1MOV AH, 9INT 21HMOV DX, TCTLMOV AL, 00110110B ; 计数器0初始化,⽅式3 OUT DX, ALMOV DX, TIMER0MOV AL, 00HOUT DX, AL ;计数器0初值=4800HMOV AL, 48HOUT DX, ALMOV DX, TCTLMOV AL, 01010101B ; 计数器1初始化,⽅式2 OUT DX, ALMOV DX, TIMER1MOV AL, 04H ; 计数器1初值=04HOUT DX, ALMOV DX, TCTLMOV AL, 10010001B ; 计数器2初始化,⽅式0 OUT DX, ALMOV DX, TIMER2MOV AL, 0FH ;计数器0初值=0FHOUT DX, ALL1: MOV DX, TIMER2IN AL, DX ;读⼊计数器2值保存MOV NUM,ALCALL DISPMOV AL, NUM ;当按压开关17次时退出CMP AL, 0JZ QUITMOV DL, 0FFHMOV AH, 6 ;判主键盘有⽆键按下INT 21HJZ L1 ; 有键按下跳转QUIT: MOV AX, 4C00H ;结束程序退出INT 21HDISP PROC ;显⽰⼦程序MOV DX, OFFSET MES0MOV AH, 9 ; 显⽰MES0INT 21HMOV AL, NUMCMP AL, 9 ;判断是否<=9JLE L2 ;若是则为'0'-'9',ASCII码加30HADD AL, 7 ;否则为'A'-'F',ASCII码加37HL2: ADD AL, 30HMOV DL, ALMOV AH, 2 ;在显⽰器上显⽰按压开关的次数INT 21HMOV DL, 0DHINT 21HRETDISP ENDPCODE ENDSEND START五、实验的运⾏数据及分析实验达到了以下效果:1) 定时/计数器0,计数脉冲频率为18.432KHz,OUT0 分两路输出,⼀路外接 2 位LED,使其以亮0.5 秒灭0.5 秒循环闪亮,另⼀路作为计数器 1 的计数脉冲CLK1。
XX学院实验报告实验名称姓名学号班级教师日期一、实验内容与要求1.1 实验内容本次实验分为如下2个子实验:(1)计数应用实验:编写程序,应用8254的计数功能,使用单次脉冲模拟计数,使每当按下‘KK1+’5次后,产生一次计数中断,并在屏幕上显示一个字符‘M’;(2)定时应用实验:编写程序,应用8254的定时功能,产生一个1s的方波,并用本装置的示波器功能来观察。
1.2 实验要求本次实验中2个子实验的实验要求如下:(1)计数应用实验:将8254的计数器0设置为方式3,计数值为十进制数4,用单次脉冲KK1+作为CLK0时钟,OUT0连接MIR7,每当KK1+按动5次后产生中断请求,在屏幕上显示字符“M”;(2)定时应用实验:将8254的计数器0和计数器1都设置为方式3,用信号源1MHz作为CLK0时钟,OUT0为波形输出1ms方波,再通过CLK1输入,OUT1输出1s方波。
二、实验原理与硬件连线2.1 实验原理8254是Intel公司生产的可编程间隔定时器。
是8253的改进型,比8253具有更优良的性能。
8254具有以下基本功能:(1)有三个地理的16位计数器。
(2)每个计数器可按二进制或十进制(BCD)计数。
(3)每个计数器可编程工作于6种不同的工作方式。
(4)8254每个计数器允许的最高计数频率为10MHz(8253为2MHz)。
(5)8254有读回命令(8253,没有),除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容(6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。
计数初值公式为:n=f CLKi÷f OUTi,其中f CLKi是输入时钟脉冲的频率,f OUTi是输出波形的频率。
图2-1是8254的内部结构框图和引脚图,它是由与CPU的接口,内部控制电路和三个计数器组成。
8254的工作方式如下述:(1)方式0:计数到0结束输出正跃变信号方式。
(2)方式1:硬件可重触发单稳方式。
(3)方式2:频率发生器方式。
(4)方式3:方波发生器。
(5)方式4:软件触发选通方式。
(6)方式5:硬件触发选通方式D:[7:RDA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2图2-1 8254内部结构图8254的控制字有两个:一个用来设置计数器的工作方式,成为方式控制字;另一个用来设置读回命令,称为读回控制字。
这两个控制字共用一个地址,由标示位来区分。
控制字格式如表4.5.1-4.5.3所示。
表2-1 8254的方式控制字格式表2-2 8254读出控制字格式表2-3 8254状态字格式8254实验单元电路图如下图所示:VCCCLK1.8432MHZ8251-TRCLK图2-2 8254实验电路原理图2.2 硬件连线(1)计数应用实验:系统总线XD0~XD7分别与8254单元D0~D7相连,系统总线XA1~XA2分别与8254单元A0~A1相连,系统总线的IOW#、IOR#、IOY0(0600H)、MIR7分别于8254单元的WR、RD、CS、OUT0相连,8254单元的CLK0与单次脉冲单元的KK1+相连,如图2-3;图2-3 计数应用实验连线图(2)定时应用实验:系统总线与8254单元类似于(1)中进行连线,然后将8254单元中的OUT0连接到CLK1,GA TE1连接VCC,OUT1连接到A/D转换单元的IN0。
AD转换单元A、B、C接地,并将D0~D7接到系统总线XD0~XD7上,并将WR、RD、CS、CLK分别连接到系统总线的IOW#、IOR#、IOY3(0680H)、CLK上。
如图2-4所示。
VCC图2-4 8254定时应用实验接线图三、设计思路、步骤和程序流程图3.1 设计思路(1)计数应用实验:将8254的计数器0设置为方式0,计数值为十进制数4,用单次脉冲KK1+作为CLK0时钟,OUT0连接MIR7,首先让程序进入死循环等待中断,每当KK1+按动5次后产生中断请求,调用中断程序,在屏幕上显示字符“M”。
(2)定时应用实验:利用8254的两个计数装载过大的初始值,其中计数器0的OUT作为计数器1的CLK的输入,当两个计数器的初值满足一定条件时,计数器1的OUT即为1s方波,并可通过软件的示波器直接观察。
3.2 实验步骤(1)计数应用实验:1.按图2-3连接电路;2.编写实验程序,经编译、链接无误后装入系统;3.单击RUN按钮,运行实验程序,每连续按动5次KK1+,在界面的输出区会显示字符‘M’;4.改变计数值,验证8254的计数功能。
(2)定时应用实验1.按图2-4连接实验线路;2.编写实验程序,经编译、链接无误后装入系统;3.运行程序,8254的OUT1会输出1s的方波,用软件自带的示波器功能进行观察。
3.3 程序流程图(1)计数应用实验:主程序流程图如图2-5图2-5 计数应用实验主程序流程图中断程序流程图如图2-6图2-6 计数应用实验中断程序流程图(2)定时应用实验:程序流程图如图2-7图2-7 定时应用程序流程图四、程序清单与执行结果4.1 程序清单(1)计数应用实验代码IOYO EQU 0600HA8254 EQU IOYO+00H*2B8254 EQU IOYO+01H*2C8254 EQU IOYO+02H*2CON8254 EQU IOYO+03H*2SSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODE, SS:SSTACKSTART: PUSH DSMOV AX,0000HMOV DS,AXMOV AX,OFFSET IRQ7MOV SI,003CHMOV [SI],AXMOV AX,CSMOV SI,003EHMOV [SI],AXCLIPOP DS;初始化主片8259MOV AL,11H;初始化ICW1OUT 20H,ALMOV AL,08H;初始化ICW2OUT 21H,ALMOV AL,04H;初始化ICW3OUT 21H,ALMOV AL,01H;初始化ICW4OUT 21H,ALMOV AL,6FH;OCW1OUT 21H,AL;8254MOV DX,CON8254MOV AL,10HOUT DX,ALMOV DX,A8254MOV AL,04HOUT DX,ALSTIAA1: JMP AA1IRQ7: MOV DX,A8254MOV AL,04HOUT DX,ALMOV AX,014DHINT 10HMOV AX,0120HINT 10HMOV AL,20HOUT 20H,ALIRETCODE ENDSEND START(2)定时应用实验代码A8254 EQU 0600HB8254 EQU 0602HC8254 EQU 0604HCON8254 EQU 0606HCODE SEGMENTASSUME CS:CODESTART:MOV DX,CON8254MOV AL,27HOUT DX,ALMOV DX,A8254MOV AL,10HOUT DX,ALMOV DX,CON8254MOV AL,67HOUT DX,ALMOV DX,B8254MOV AL,10HOUT DX,ALAA1:JMP AA1CODE ENDSEND START4.2 执行结果(1)计数应用实验的实验结果如图2-8,每按5次KK1+,就会打印一个‘M’,并且输出一个空格。
图2-8 计数应用实验(2)定时应用实验的实验结果如图2-9和图2-10,示波器会显示如下波形。
图2-9 定时应用实验(方波)图2-10 定时应用实验五、程序调试说明和实验感想5.1调试说明在实验中,需要将8254计数器0和计数器1都设置为方式3,用信号源1MHz作为CLK0,OUT0为波形输出1ms方波,再通过CLK1输入,这样OUT1才会输出1s方波。
5.2 实验感想与收获通过本次实验,对8254的计数器有了深入的了解;对8254的内部接口和引脚有了充分的认识;对8254的工作方式、应用编程及其典型电路的接法有了全新的掌握。
纸上得来终觉浅,在对实验的实践中,实验前事先预习,实验中不断尝试,实验后总结复习,收获良多。
5.3 实验特色在计数应用实验中,通过改变计数输出字符‘M’,具有创新精神。
在定时应用实验中,通过输出不同方式的波形,融课内所学于实验中,具有个人特色。
5.4 展望如果有充裕的时间,还可以实现输出类似莫尔斯电码的效果,如按1次KK1+输出长信号,按1次KK2+输出短信号,长短信号组成莫尔斯电码。