8253计数器实验

合集下载

8253计数器实验

8253计数器实验

本科学生实验报告5.实验设计思路、步骤及注意事项:实验设计思路:本实验利用8253芯片工作在方式3下,作为一个秒信号发生器,其输出带动一个发光二极管,在一个周期内,发光二极管点亮2秒,熄灭2秒,即OUT端输出方波信号,再把方波信号通过8255芯片;并设8255芯片的C口高四位输入,低4位输出,A口输出,之后产生八个方波信号,8255芯片的输出口PA0~PA7接LED灯;用LED灯的亮暗来表示字符‘A’到‘Z’的ASCII码;并编写ASM程序来控制8253芯片和8255芯片的工作方式;实验步骤:1.根据实验流程图的要求,按照实验原理图接好电路;2.打开电源开关,用TPC-USB集成开发软件检查硬件是否连接;3.对ASM程序进行调试,正确之后运行ASM程序,观察实验箱上LED灯的亮暗;4.记录实验现象,对实验现象进行分析总结;5.完成实验报告;注意事项:1.在打开电源开关之前应检查电路是否连接正确,以免损坏实验器件;2. 仔细观察实验现象,LED灯是否达到了用来显示字符‘A’到‘Z’的ASCII码的实验目的;二、实验内容1.对实验现象、实验结果的分析及其结论:LED灯的亮暗显示了字符‘H’的ASCII码值LED灯的亮暗显示了字符‘I’的ASCII码值LED灯的亮暗显示了字符‘Q’的ASCII码值实验结果的分析及其结论:通过本实验加深了对8253芯片和8255芯片的各种工作方式的了解;8255芯片有3种工作方式,这3种工作方式如表1所示。

方式0为基本I/O 输入/输出方式,这是8255最常用,也是最基本的工作方式。

方式1为应答I/O 方式,当8255工作于应答I/O方式时,上C口作为A口的通信线,下C口作为B口的通信线。

方式2为双向应答I/O方式,此方式仅A口使用,B口无双向I/O应答方式。

8255的3种工作方式的选择由8255工作方式选择字决定,下面介绍8255的工作方式选择字。

表1 8255的工作方式:8255芯片初始化:所谓8255芯片初始化,就是要根据工作要求确定8255工作方式选择字,并输入8255控制寄存器。

8253定时计数器实验报告

8253定时计数器实验报告

实验四定时计数器实验
一、实验目的
1.了解定时器8253的初始化及使用方法
2.会用逻辑笔或示波器观察8253的工作状态
二、实验要求
编写程序,使8253的定时/计数器2工作在方式3下,使逻辑笔交替显示三、实验算法
先对8253进行初始化,选择计数器2工作在方式3下,输入计数值ffH,则O2端输出以FFH为周期的方波,将O2端连到逻辑笔输入端即可观察现象。

四、实验电路图
如图所示:
五、程序清单
T IM_CTL EQU 203H
TIMER0 EQU 200H
TIMER1 EQU 201H
TIMER2 EQU 202H
MODE23 EQU 0B6H
MODE13 EQU 76H
CODE SEGMENT
ASSUME CS:CODE
START:
TT: CLI
MOV DX,TIM_CTL
MOV AL,MODE23
OUT DX,AL ;8253初始化,选择计数器2工作在方式3下 MOV DX,TIMER2
MOV AL,0FFh
OUT DX,AL
MOV AL,0FFh ;设置输入数值为FFFFH
OUT DX,AL
WT: JMP WT ;无限循环显示程序现象
CODE ENDS
END START
六、实验现象结果与分析
K0打开,逻辑笔有红绿变化
七、实验体会
通过本实验知道了如何运用8253定时计数,了解了8253的功能特点,知道了如何运用8253进行定时做事。

八、主要仪器设备
计算机、接口实验箱平台。

实验三 8253定时 计数器实验

实验三  8253定时 计数器实验

实验三8253定时/计数器实验一.实验目的了解8253的硬件连接方法,掌握8253的各种方式的编程及其原理。

二.实验要求编写程序,将8253的计数器0设置为方式3(方波),计数器1设置为方式2(分频),计数器2设置为方式2(分频);计数器0的输出作为计数器1的输入,计数器1的输出作为计数器2的输入;计数器2的输出接在一个LED上,运行后可观察到该LED在不停地闪烁。

1. 编程时用程序框图中的三个计数初值,计算OUT2的输出频率,用手表观察LED,进行核对。

2. 修改程序中的三个计数初值,使OUT2的输出频率为1Hz,用手表观察LED,进行核对。

3. 上面计数方式选用的是16进制,现若改用BCD码,试修改程序中的三个计数初值,使LED的闪亮频率仍为1Hz。

三.实验电路及连线GATE0~GATE2连至电源+5V,从波特率开关边的f插孔用线连至CLK0,OUT0用线连至CLK1,OUT1用线连至CLK2,OUT2用线连至一个发光管(DL1),8253片选孔CS 用线连至译码处228~22FH插孔。

四.实验说明8253工作频率为0~2MHZ,所以输入的时钟频率必须在2MHZ之下。

实验板上的晶振为4.9152MHZ,需经74LS393(16分频),由Q3输出307200HZ到CLK0(将波特率开关拨至9600)。

五.实验内容(一)程序:DA TA SEGMENTDA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: PUSH DSMOV AX,0HPUSH AXMOV AX,DATAMOV DS,AXCLI ;关中断MOV DX,22BH ;定时器0工作在方式3MOV AL,00110111BOUT DX,ALMOV DX,228HMOV AL,00HOUT DX,ALMOV AL,02HOUT DX,ALMOV DX,22BH ;定时器1工作在方式2MOV AL,01110101BOUT DX,ALMOV DX,229HMOV AL,18HOUT DX,ALMOV AL,00HOUT DX,ALMOV DX,22BH ;定时器2工作在方式2MOV AL,10110101BOUT DX,ALMOV DX,22AHMOV AL,0AHOUT DX,ALMOV AL,00HOUT DX,ALSTIJMP $CODE ENDSEND START输出频率:f=307200HZ/(200H*18H*0AH)=2HZ修改后程序:DA TA SEGMENTDA TA ENDSCODE SEGMENTSTART: PUSH DSMOV AX,0HPUSH AXMOV AX,DATAMOV DS,AXCLI ;关中断MOV DX,22BH ;定时器0工作在方式3 MOV AL,00110111BOUT DX,ALMOV DX,228HMOV AL,00HOUT DX,ALMOV AL,02HOUT DX,ALMOV DX,22BH ;定时器1工作在方式2 MOV AL,01110101BOUT DX,ALMOV DX,229HMOV AL,30H ;初值30HOUT DX,ALMOV AL,00HOUT DX,ALMOV DX,22BH ;定时器2工作在方式2 MOV AL,10110101BOUT DX,ALMOV DX,22AHMOV AL,0AHOUT DX,ALMOV AL,00HOUT DX,ALSTIJMP $CODE ENDSEND START输出频率1HZ(二)OUT1----LED1:点亮0.5s,熄灭0.5sOUT2----LED2:点亮1s,熄灭3s程序:DA TA SEGMENTDA TA ENDSCODE SEGMENTSTART: PUSH DSMOV AX,0HPUSH AXMOV AX,DATAMOV DS,AXCLI ;关中断MOV DX,22BH ;定时器0工作在方式3 MOV AL,00110111B ;OUT DX,ALMOV DX,228HMOV AL,00HOUT DX,ALMOV AL,02HOUT DX,ALMOV DX,22BH ;定时器1工作在方式2 MOV AL,01110111BOUT DX,ALMOV DX,229HMOV AL,35H ;35H 58hOUT DX,ALMOV AL,15H ;15H 02hOUT DX,ALMOV DX,22BH ;定时器2工作在方式2 MOV AL,10110100BOUT DX,ALMOV DX,22AHMOV AL,04H ;04hOUT DX,ALMOV AL,00HOUT DX,ALSTIJMP $CODE ENDSEND START。

接口技术实验-8253定时计数器

接口技术实验-8253定时计数器

接口技术实验报告
实验三:可编程定时/计数器8253
一、实验目的
1、学会8253芯片和微机接口的原理和方法。

2、掌握8253定时器/计数器的工作方式和编程原理。

二、实验设备
微机原理实验箱、计算机一套。

三、实验内容
8253计数器0,1工作于方波方式,产生方波。

四、实验原理
本实验用到三部分电路:脉冲发生电路、分频电路以及8253定时器/计数器电路。

脉冲发生电路:实验台上提供8MHZ的脉冲源,见下图,实验台上标有8MHZ的插
孔,即为脉冲的输出端。

脉冲发生电路
分频电路:该电路由一片74LS393组成,见下图。

T0-T7为分频输出插孔。

该计数器在加电时由RESET信号清零。

当脉冲输入为8.0MHZ时,T0-T7输出脉冲频率依次为4.0MHZ,2.0MHZ,1.0MHZ,500KHZ,250KHZ,125KHZ,62500HZ,31250HZ。

分频电路
8253定时器/计数器电路:该电路由1片8253组成,8253的片选、数据口、地址、读、写线均已接好,时钟输入分别为CLK0、CLK1。

定时器输出、GATE控制孔对应如下:OUT0、GATE0、OUT1、GATE1。

原理图如下:
注:GATE信号无输入时为高电平
8253定时器/计数器电路
四、实验连线
1、实验连线:
T接8.0MHZ;CLK0插孔接分频器74LS393(左下方)的T2插孔; OUT0接CLK 1;OUT1接发光二极管;
各通道门控信号GATE +5V
2、编程调试程序。

3、全速运行,观察实验结果。

硬件实验三 8253

硬件实验三 8253

一、实验目的1、掌握8253的基本工作原理和编程方法。

2、了解微机控制直流继电器的一般方法。

3、进一步熟悉使用8255、8253。

二、实验内容1、按图3-1虚线连接电路,将计数器0设置为方式0,计数器初值为N(N ≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。

图3-12、按图3-2连接电路,将out1接LED 灯L0,让灯亮1s,熄灭1s (频率1HZ)。

图3-23、实验电路如图3-3,按虚线连接电路:CLK0接1MHZ ,GATE0,GATE1,接+5V ,OUT0接CLK1,OUT1接PA0,PC0接继电器驱动电路的开关输入端Ik 。

编程使用8253定时,让继电器周而复始的闭合5秒钟(指示灯灯亮),断开5秒钟(指示灯灯灭)。

图3-34. 实验电路如图3-4,8253的CLK0接1MHZ时钟,GATE0接8255的PA1,OUT0和8255的PA0接到与门的两个输入端,K8跳线连接喇叭,编程使计算机的数字键1、2、3、4、5、6、7作为电子琴按键,按下即发出相应的音阶。

图3-4 电子琴电路三、编程提示1、8253控制寄存器地址283H计数器0地址280H计数器1地址281HCLK0连接时钟1MHZ将8253计数器0设置为方式3、计数器1设置为方式0并联使用,CLK0接1MHZ时钟,设置两个计数器的初值(乘积为5000000)启动计数器工作后,经过5秒钟OUT1输出高电平。

通过8255A口查询OUT1的输出电平,用C口PC0输出开关量控制继电器动作。

继电器开关量输入端输入“1”时,继电器常开触点闭合,电路接通,指示灯发亮,输入“0”时断开,指示灯熄灭。

2、利用8255的PA0口来施加控制信号给与门,用来控制扬声器的开关状态。

再利用设置不同的计数值,使8253产生不同频率的波形,使扬声器产生不同频率的音调,达到类似与音阶的高低音变换。

8253定时计数器实验

8253定时计数器实验

8253定时器/计数器实验一、实验目的:1、进一步了解可编程定时/计数器8253的特点与功能;2、掌握8253定时/计数器的应用、编程方法。

二、实验设备:MUT—Ⅲ型实验箱、8086CPU模块、示波器。

三、实验内容:用定时/计数器8253的计数器0、计数器1级联实现1秒的定时。

使OUT1端所接发光二极管每隔1S闪烁一次,模拟电子秒表或信号报警器。

两个计数器皆工作于方式3(输出方波),CLK0端接频率为750KHz的时钟。

四、实验电路:本实验用到两部分电路:时钟脉冲发生器(脉冲产生电路)(见附录)、8253定时器/计数器(1片)。

电路原理图如图1所示。

图1:8253定时/计数器实验电路五、实验步骤:(1)实验连线:CS0连CS8253,8253CLK0连时钟脉冲发生电路的CLK3,OUT0连8253CLK1,OUT1连LED1。

如图2所示。

注意:GATE信号线、数据线、地址线、读写控制信号线均已接好。

图2:线路连接示意图(2)输入以下程序,编译、链接后,全速运行,观察实验结果。

;8253初始化参考程序CODE SEGMENTASSUME CS:CODEORG 0100HSTART:MOV DX,04A6H ;控制寄存器地址MOV AL,00110110B ;计数器0控制字:方式3,二进制计数OUT DX,ALMOV DX,04A0H ;计数器0的口地址MOV AL,0EEH ;写计数初值低8位OUT DX,ALMOV AL,02H ;写计数初值高8位OUT DX,ALMOV DX,04A6H ;控制寄存器地址MOV AL,01110110B ;计数器1控制字:方式3,二进制计数OUT DX,ALMOV DX,04A2H ;计数器1的口地址MOV AL,0E8H ;计数初值低8位OUT DX,ALMOV AL,03H ;计数值高8位OUT DX,ALNEXT: NOPJMP NEXT ;CPU在此循环执行空操作,说明8253独立工作。

实验三 8253

实验三 8253

实验三 8253一、实验目的掌握8253的基本工作原理和编程方法。

二、实验原理及内容1.图3-1是本实验程序的接线图,将计数器0设置为方式0,计数器初值为N (N ≤0FH ,本程序中为0FH ),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用L0或逻辑笔观察OUT0电平变化,初始时OUT0为高电平,当输入N 个脉冲时,OUT0变为低电平,当输入N+1个脉冲后OUT0变高电平)。

2.按图3-2连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用电平指示灯L0或逻辑笔观察OUT1输出电平的变化,要求输出频率1HZ 的分频信号。

D08OUT010D17GATE011D26CLK09D35D44D53D62OUT113D71GATE114CLK115C S 21RD 22W R23OUT217A019GATE216A120CLK2188253D0D1D2D3D4D5D6D78253CS /RD /WR A0A1CLK 0OUT 0U2GAT E0R 24.7KVCCD0D1D2D3D4D5D6D7A0A1IOW IOR Y0(280H)+5V SP1L0JD1D08OU T010D17GA TE011D26C LK 09D35D44D53D62OU T113D71GA TE114C LK 115C S 21RD 22W R23OU T217A019GA TE216A120C LK 2188253D0D1D2D3D4D5D6D78253CS /RD /WR A0A1U2R24.7K VCCD0D1D2D3D4D5D6D7A0A1IOW IOR Y0(280H)+5VL0JD1GATE1CLK1+5V 1MHZOUT0GAT E0CLK 0OUT 1三、参考流程图实验内容一的框图如图3-3所示,实验内容二2的框图如图3-4所示。

四、参考程序1、INPORT EQU 0FF0H-028H IO8253k EQU INPORT+283h IO8253a EQU INPORT+280hCODE SEGMENT ASSUME CS:CODE START:MOV AL,00010000b ;设置8253通道0为工作方式0,二进制计数 MOV DX,IO8253K OUT DX,ALMOV DX,IO8253A ;送计数初值为06H MOV AL,06H OUT DX,ALlll: IN AL,DX ;读计数初值 CALL DISP ;调显示子程序YN计数器0工作方式设为2 开始 送计数器初值 读计数器值 显示计数值 有键按下吗?结束结束计数器0工作方式设为3向计数器0送初值1000 先送低字节后送高字节 计数器1工作方式设为3向计数器0送初值1000 先送低字节后送高字节 结束PUSH DXMOV AH,06hMOV DL,0ffhINT 21hPOP DXJZ lllMOV AH,4CH ;退出INT 21HDISP PROT NEAR ;显示子程序PUSH DXAND AL,0fh ;首先取低四位mov dl,alcmp dl,9 ;判断是否<=9jle num ;若是则为'0'-'9',ASCII码加30H add dl,7 ;否则为'A'-'F',ASCII码加37H num: add dl,30hmov ah,02h ;显示int 21hmov dl,0dh ;加回车符int 21hmov dl,0ah ;加换行符int 21hpop dxret ;子程序返回disp endpcode endsend start2、ioport equ 0ff00h-0280hio8253a equ ioport+280hio8253b equ ioport+281hio8253k equ ioport+283hcode segmentassume cs:codestart:mov dx,io8253k ;向8253写控制字mov al,00111110b ;使0通道为工作方式3out dx,almov ax,1000 ;写入循环计数初值1000mov dx,io8253aout dx,al ;先写入低字节mov dx,io8253kmov al,01111110b ;设8253通道1工作方式2out dx,almov ax,1000 ;写入循环计数初值1000mov dx,io8253bout dx,al ;先写低字节mov al,ahout dx,al ;后写高字节mov ah,4ch ;程序退出int 21hcode endsend start五、实验结果1.连续按SP1,当按前6下时灯均保持在灭状态,当按第7下时,灯变亮。

8253计数器实验报告

8253计数器实验报告

8253计数器实验报告8253计数器实验报告引言:实验报告是对实验过程和结果的详细记录和分析,通过实验报告,可以总结出实验的目的、方法、数据和结论,为进一步研究和实践提供参考。

本文将对8253计数器实验进行报告,介绍实验目的、实验步骤、实验结果和结论。

实验目的:本次实验的目的是熟悉8253计数器的工作原理和使用方法,掌握8253计数器的基本功能和应用场景。

实验步骤:1. 准备实验材料:8253计数器、示波器、电源等。

2. 搭建实验电路:根据实验要求,将8253计数器与示波器和电源相连,确保电路连接正确。

3. 设置实验参数:根据实验要求,设置8253计数器的工作模式、计数范围等参数。

4. 运行实验程序:编写实验程序,通过编程控制8253计数器的工作状态,观察实验结果。

5. 记录实验数据:使用示波器等仪器,记录实验过程中的数据和波形图。

6. 分析实验结果:根据实验数据和波形图,分析8253计数器的工作状态和性能。

实验结果:通过实验,我们观察到了8253计数器的不同工作模式下的输出结果。

在定时器模式下,我们设置了不同的计数范围和计数频率,观察到了计数器的计数过程和计数结果。

在计数器模式下,我们设置了不同的计数方向和计数初始值,观察到了计数器的增减过程和最终的计数结果。

结论:通过本次实验,我们对8253计数器的工作原理和使用方法有了更深入的了解。

我们掌握了8253计数器的基本功能和应用场景,能够根据实际需求设置计数器的工作模式和参数。

实验结果表明,8253计数器具有较高的计数精度和稳定性,在计时、计数等领域有广泛的应用前景。

总结:实验报告是对实验过程和结果的详细记录和分析,通过实验报告,可以总结出实验的目的、方法、数据和结论,为进一步研究和实践提供参考。

本次实验报告对8253计数器的实验进行了详细介绍,包括实验目的、实验步骤、实验结果和结论。

通过本次实验,我们对8253计数器有了更深入的了解,掌握了其基本功能和应用场景。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、实验目的
1、学习8088/86与8253的连接方法。

2、学习8088/86对8253的控制方法。

二、实验器材
计算机,汇编相关程序,WA VE6000实验仿真器
三、实验原理
利用8088/86外接8253可编程定时器/计数器,可以实现对外部事件进行计数。

设置断点读回计数器的值。

本实验中计数器按方式0工作。

即十六位二进制计数器。

当计数设置好后,计数器就开始计数。

如果要读入计数器的值,要先锁存计数值,才能读到计数值。

本实验所设计数值为5,也就是外部5个脉冲,计数器值加1。

同时OUT 脚输出一个高电平。

实验时,可以将OUT0接到LED 上,
四、实验步骤
(1) 在实验箱断电的情况下连好线。

(2) 输入程序并检查,保存程序。

(3) “编译”程序。

(4) “全速执行”程序。

(5) 记录实验结果及分析。

五、实验数据
CONTROL equ 08003h
COUNT0 equ 08000h
COUNT1 equ 08001h
COUNT2 equ 08002h
code segment
assume cs:code
start proc near
mov al, 30h ; 通道
0,方式0
mov dx, CONTROL
out dx, al
mov al, 5 ; 计数器初始值。

mov dx, COUNT0 out dx, al ; 低八位
mov al, 0
out dx, al ; 高八位
Again:
mov al, 00000000B ; 锁存计数器值
mov dx, CONTROL
out dx, al
mov dx, COUNT0
in al, dx ; 读入计数值低八位
mov bl, al
in al, dx ; 读入计数值高八位
mov ah, al
mov al, bl
jmp Again
start endp
code ends
end start
六、实验结果分析
电路连接后按下试验箱左侧开关,L0灯亮。

因为选择输入的单脉冲为高电平。

程序编译后全速执行,观察到L0灯灭了。

因为单脉冲信号进入,写信号有效时向计数器写入控制字CW,之后其输出端OUT就变低电平,所以灯灭。

按下单脉冲开关第六次后,L0灯重新亮起。

原因是本实验所设计数值为5,也就是外部5个脉冲,计数器值加1。

同时OUT脚输出一个高电平。

所以灯又亮了。

由此看来应该是第五次就亮的,那为什么是第六次灯才亮,是因为有一个软件误差,软件启动在CPU用输出指令向计数器写入初值后就启动计数。

但事实上,CPU写入的计数初值只是写到了计数器内部的处置寄存器中,计数过程并未真正开始。

写入初值后的第一个CLK信号将初值寄存器中的内容送到计数器中,而从第二个CLK脉冲的下降沿开始,计数器才真正进行减1计数。

之后,每来一个CLK脉冲都会使计数器减1,直到减到零时在OUT端输出一个信号。

因此,从CPU执行输出指令写入计数初值到计数结束,实际的CLK脉冲个数比编程写入的计数初值5要多一个,即6个。

只要用软件启动计数,这个误差是不可避免的;
若要修改初值,可以在指令“MOV AL,5”修改,值得注意的是,由于有一个软件误差,所以每次输入的初值要比自己本来要的初值(N)多1,即(N+1)个脉冲。

相关文档
最新文档