8253定时器计数器实验
8253实验报告

定时器计数器实验1.简单计数器:用实验系统的频率发生器作为输入信号,作为定时器T0输入,实现秒脉冲发生器,秒脉冲信号接8259A INT0。
用发光二极管二进制方式显示秒计数。
此实验利用8253的一路计时器,将定时频率接到CLK上,使该路工作在方式2下,即将其作为频率发生器,GATE端置为高电平,OUT端接到8259A的INT0端,即当OUT给出一个上升沿跳变时,程序调用中断服务程序,在中断服务程序中,向输出接口273进行写入并输出,每次进中断输出值加一,给适当的输入脉冲,即可实现秒脉冲发生器。
程序代码如下:ICW1 equ 00010011b ; 写8259A控制字(单片8259, 上升沿中断, 要写ICW4)ICW2 equ 00100000b ; 中断号为20HICW4 equ 00000001b ; 工作在8086/88 方式OCW1 equ 11111110b ; 只响应INT0 中断CS8259A equ 09000h ; 8259地址CS8259B equ 09001hCONTROL equ 08003h ;8253控制字COUNT0 equ 08000h ;1路计数器方式字COUNT1 equ 08001h ;2路计数器方式字COUNT2 equ 08002h ;3路方式字(此程序中未用)CS273 equ 0A000hdata segmentCNT db 0data endscode segmentassume cs:code, ds: dataIEnter proc nearpush axpush dxstimov dx, CS273inc CNTmov al, CNTout dx, al ; 输出计数值mov dx, CS8259Amov al, 20h ; 中断服务程序结束指令out dx, alnoppop dxpop axiretIEnter endpIInit procmov dx, CS8259Amov al, ICW1out dx, almov dx, CS8259Bmov al, ICW2out dx, almov al, ICW4out dx, almov al, OCW1out dx, alretIInit endp ;8259A的初始化子程序start proc nearmov al, 34h ; 通道0,方式2mov dx, CONTROLout dx, al ;写入程序控制字mov al, 0out dx, al ; 高八位mov al, 00000000B ; 锁存计数器值mov dx, CONTROLout dx, almov dx,COUNT0 ;写入0通道方式字mov ax,1000out dx,almov al,ahout dx,almov ax, 0mov ds, axmov bx, 4*ICW2 ; 中断号mov ax, codeshl ax, 4 ; x 16add ax, offset IEnter ; 中断入口地址(段地址为0)mov [bx], axmov ax, 0inc bxinc bxmov [bx], ax ; 代码段地址为0call IInitmov ax, datamov ds, axmov CNT, 0 ; 计数值初始为0mov al, CNTmov dx, CS273out dx, alstiLP: ; 等待中断,并计数。
可编程定时器计数器(8253)(微机实验报告)

可编程定时器/计数器(8253)一、实验目的 1)学会8253芯片和微机接口原理和方法。
芯片和微机接口原理和方法。
2)掌握8253定时器定时器//计数器的基本工作原理、工作方式和编程原理。
二、实验内容按图6虚线连接电路,将计数器0设置为方式0,计数器初值为N (N ≤0FH 0FH)),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。
图 6按图7连接电路,连接电路,将计数器将计数器0、计数器1分别设置为方式3,计数初值设为10001000,用逻辑笔观察,用逻辑笔观察OUT1输出电平的变化(频率1HZ 1HZ))。
图 7三、编程提示1 1、、8253控制寄存器地址控制寄存器地址283H计数器0地址地址 280H 计数器1地址地址 281HCLK0连接时钟连接时钟 1MHZ2 2、参考流程图(见图、参考流程图(见图8、9): 开 始读计数器值显示计数值有键按下吗?开 始送计数器初值N Y结 束结 束设计数器0为工作方式0向计数器0送初值1000先送低字节后送高字节向计数器1送初值1000先送低字节后送高字节设计数器0为工作方式3设计数器1为工作方式3图 8 图图 9四、实验代码1、图6电路的实验代码电路的实验代码CODE SEGMENT ;CODE SEGMENT ;段定义开始(段定义开始(段定义开始(CODE CODE 段)段)ASSUME CS:CODE ; ASSUME CS:CODE ;规定规定CODE 为代码段为代码段START:MOV START:MOV AL,10H ;AL,10H ;AL,10H ;设置控制字设置控制字0001000000010000(计数器(计数器0,方式0,写两个字节,二进制计数)二进制计数)MOV DX,283H ; MOV DX,283H ;把控制寄存器地址放在把控制寄存器地址放在DX 寄存器中寄存器中OUT DX,AL ; OUT DX,AL ;将将AL 的值送入DX 端口端口MOV DX,280H ; MOV DX,280H ;把计数器把计数器0地址放在DX 寄存器中寄存器中MOV AL,0FH ; MOV AL,0FH ;将将0FH 存入AL 寄存器寄存器OUT DX,AL ; OUT DX,AL ;将此时将此时AL 的值送入DX 端口端口LP1: IN AL,DX ;LP1: IN AL,DX ;从从DX 端口读入8位,放在AL 寄存器中寄存器中CALL DISP ; CALL DISP ;调用调用DISP PUSH DX ; PUSH DX ;将将DX 内容保存到堆栈段内容保存到堆栈段MOV AH,06H ; MOV AH,06H ;将将06H 存入AH AH,为了下句调用,为了下句调用21中断中断MOV DL,0FFH ; MOV DL,0FFH ;将将0FFH 存入DLINT 21H ; INT 21H ;调用调用21中断中断POP DX ; POP DX ;将将DX 的内容推出栈段的内容推出栈段JZ LP1 ; JZ LP1 ;如果如果DX 的内容是0,就跳转到LP1MOV AH,4CH ; MOV AH,4CH ;将将4CH 存入AH AH,为了下句调用,为了下句调用21中断中断INT 21H ; INT 21H ;调用调用21中断中断DISP PROC NEAR ;DISP PROC NEAR ;定义一个名为定义一个名为DISP 的子程序的子程序PUSH DX ; PUSH DX ;把把DX 的内容保存到堆栈段中的内容保存到堆栈段中AND AL,0FH ;AL,0FH ;将将AL 寄存器的内容与0FH 进行“与”运算,再把结果存入AL 中MOV DL,AL ; MOV DL,AL ;将将AL 的值送入DL 寄存器寄存器CMP DL,9 ; CMP DL,9 ;比较比较DL 中的值与9的大小的大小JLE NUM ; JLE NUM ;如果如果DL 的值小于或等于9时,则跳转到NUM ADD DL,7 ; ADD DL,7 ;将将DL 的值与7进行相加后,再送入DL 中NUM: ADD DL,30H ;NUM: ADD DL,30H ;将将DL 的值与30H 进行相加后,再送入DL 中 MOV AH,02H ; MOV AH,02H ;将将02H 存入AHINT 21H ; INT 21H ;调用调用DOS21中断中断MOV DL,0DH ; MOV DL,0DH ;结合“结合“结合“MOV AH,02H MOV AH,02H MOV AH,02H”就是说输出”就是说输出0DHINT 21H ; INT 21H ;调用中断指令调用中断指令调用中断指令MOV DL,0AH ; MOV DL,0AH ;结合“结合“结合“MOV AH,02H MOV AH,02H MOV AH,02H”就是说输出”就是说输出0AHINT 21H ; INT 21H ;调用调用DOS21中断中断POP DX ; POP DX ;将将DX 的内容推出栈段的内容推出栈段RET ; RET ;子程序在功能完成后返回调用程序继续执行子程序在功能完成后返回调用程序继续执行 DISP ENDP ; DISP ENDP ;子程序结束子程序结束子程序结束CODE ENDS ; CODE ENDS ;代码段结束代码段结束代码段结束END START ; END START ;程序结束程序结束程序结束2、图7电路的实验代码电路的实验代码CODE SEGMENT ;CODE SEGMENT ;段定义开始(段定义开始(段定义开始(CODE CODE 段)段)ASSUME CS:CODE ; ASSUME CS:CODE ;规定规定CODE 为代码段为代码段START:MOV DX,283H ;START:MOV DX,283H ;把控制寄存器地址放在把控制寄存器地址放在DX 寄存器中寄存器中MOV AL,36H ; MOV AL,36H ;设置控制字设置控制字0011011000110110(计数器(计数器0,方式3,写两个字节,二进制计数)二进制计数)OUT DX,AL ; OUT DX,AL ;将将AL 的值送入DX 端口端口MOV AX,1000H ; MOV AX,1000H ;该语句是立即寻址方式,就是把该语句是立即寻址方式,就是把1000H 这个数赋给AX MOV DX,280H ; MOV DX,280H ;把计数器把计数器0地址放在DX 寄存器中寄存器中OUT DX,AL ; OUT DX,AL ;将将AL 的值送入DX 端口端口MOV AL,AH ; MOV AL,AH ;将将AX 的高8位存入AL 寄存器中寄存器中OUT DX,AL ; OUT DX,AL ;将此时将此时AL 的值送入DX 端口端口MOV DX,283H ; MOV DX,283H ;把端口地址放在把端口地址放在DX 寄存器中寄存器中MOV AL,76H ; MOV AL,76H ;设置控制字设置控制字0111011001110110(计数器(计数器1,方式3,写两个字节,二进制计数)二进制计数) OUT DX,AL ; OUT DX,AL ;将将AL 的值送入DX 端口端口MOV AX,1000H ; MOV AX,1000H ;把把1000H 赋给AXMOV DX,281H ; MOV DX,281H ;把端口地址放在把端口地址放在DX 寄存器中寄存器中OUT DX,AL ; OUT DX,AL ;将将AX 的低8位送入DX 端口端口MOV AL,AH ; MOV AL,AH ;将将AX 的高8位存入AL 寄存器中寄存器中OUT DX,AL ; OUT DX,AL ;将将AL 的值送入DX 端口端口MOV AH,4CH ; MOV AH,4CH ;将将4CH 存入AHINT 21H ; INT 21H ;调用调用DOS21中断中断CODE ENDS ;CODE ENDS ;代码段结束代码段结束代码段结束END START ; END START ;程序结束程序结束程序结束五、实验总结通过实验,学会通过实验,学会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定时计数器实验

实验三8253A定时/计数器实验一、实验目的1、学习8253A可编程定时/计数器与8088CPU的接口方法;2、了解8253A的工作方式;3、掌握8253A在各种方式下的编程方法。
二、预备知识8253/8254是可编程的定时器芯片。
它们都是包含三个独立的16位通道。
每个通道可作定时器也可作计数器使用,可通过软件编程选定6种工作方式之任一种。
它们都用N沟道MOS工艺制成,只需要一组+5V电源。
三、实验原理说明及连线本实验主要用到的模块:系统模块、8253模块、中断模块等。
8253和系统相连的信号线都已经连好,只需要连接信号到8253模块通道2的OUT2、CLK2和GATE2即可。
通道1的CLK1已经接了一个250KHz的信号,可以通过对通道1编程直接控制。
8253的地址参见第五章。
实验连线:1、实验1的连线方法:8253模块的CLK2接信号源的500KHz ,OUT2接中断模块的IR6;2、实验2的连线方法:8253模块的CLK2接信号源的500KHz。
四、实验内容1、实验1将计数器2设置为方式0,计数初值为N,编程使计数值为0时在屏幕上显示字符R。
2、实验2将计数器2设置为方式3,计数初值为1000,输入接500KHz信号,用示波器观察输出电平的变化。
五、程序框图实验1的程序流程图见图3-6-1。
1、确认连接好线路;2、装载运行程序(实验内容1调用:ZY3A.EXE,实验内容2调用:ZY3B.EXE)。
七、仪器配置ZY15MicInt12BB微机原理及接口实验箱一台示波器一台八、实验现象实验1,当计数到时,屏幕上将会显示字符R;实验2,用示波器观察将会看到连续的波形,频率为500Hz。
九、思考题答案8253共有几种工作方式,方式二和方式三有什么区别?答案:8253的工作方式字由8253的工作方式命令字的D3、D2、D1三位来确定,共有六种工作方式,方式二和方式三的区别主要是方式二的输出是脉冲,方式三的输出是方波。
接口技术实验-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、掌握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定时/计数器应用1.实验目的掌握8253命令字的设置及初始化和8253的工作方式及应用编程2.实验内容8253是INTEL公司生产的通用外围接口芯片之一,它有3个独立的16位计数器,计数频率范围为0-2MHZ。
它所有的计数方式和操作方式都可通过编程控制。
其功能是延时终端、可编程频率发生器、事件计数器、倍频器、实时时钟、数字单稳和复杂的电机控制器。
3.实训步骤实现方式0的电路图。
设8253端口地址为:40H-43H要求:设定8253的计数器2工作方式为0 ,用于事件计数,当计数值为5时,发出中断请求信号,8088响应中断在监视设备上显示M。
本实训利用KK1作为CLK输入,故初值设为5时,需按动KK1键6次,可显示一个M.实验七 8253定时/计数器应用实验一.实验目的1.熟悉8253在系统中的典型接法。
2.掌握8253的工作方式及应用编程。
二.实验设备TDN86/88教学实验系统一台三.实验内容(一)系统中的8253芯片图7-1 8253的内部结构及引脚1. 8253可编程定时/计数器介绍8253可编程定时/计数器是Intel公司生产的通用外围芯片之一。
它有3个独立的十六位计数器,计数频率范围为0-2MHz。
它所有的计数方式和操作方式都通过编程的控制。
8253的功能是:(1)延时中断(2)可编程频率发生器(3)事件计数器(4)倍频器(5)实时时钟(6)数字单稳(7)复杂的电机控制器8253的工作方式:(1)方式0:计数结束中断(2)方式1:可编程频率发生器(3)方式2:频率发生器(4)方式3:方波频率发生器(5)方式4:软件触发的选通信号(6)方式5:硬件触发的选通信号8253的内部结构及引脚如图7-1所示,8253的控制字格式如图7-2所示。
图7-2 8253的控制字8253的初始化编程如下图:2. 系统中的8253芯片系统中装有一片8253芯片,其线路如图7-3所示。
DW 64 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODESTART: IN AL,21HAND AL,7FHOUT 21H,ALMOV AL,____HOUT 43H,AL ;8253控制口地址A1: MOV AL,____HOUT 42H,ALHLTSTIJMP A1HLTSTIJMP A1MOV AX,014DHINT 10H ;显示’M’MOV AX,0120HINT 10H ;显示空格MOV AL,20HOUT 20H,ALIRETCODE ENDSEND START实验步骤(1)按图接线。
8253可编程计数器定时器实验

集美大学计算机工程学院实验报告课程名称微机系统与接口技术实验名称实验三8253可编程计数器/定时器实验实验类型设计型姓名学号日期地点室成绩教师1. 实验目的及内容1.1实验目的1)了解8253的内部结构、工作原理;了解8253与8088的接口逻辑; 2)熟悉8253的控制寄存器和初始化编程方法,熟悉8253的6种工作模式。
1.2实验内容1)设计8253与8086CPU 的硬件连接图,分配8253的基地址为0F000H 。
2)设计8253与外界输入时钟频率2MHZ 和电源的硬件连接,使8253产生周期为1秒的方波。
用此方波控制LED 灯,使其发出闪烁信号。
2. 实验环境星研电子软件,STAR 系列实验仪一套、PC 机一台、导线若干3. 实验方法8259A 的中断引脚IRi 与单脉冲连接,实现拨动单脉冲开关触发8259A 中断,8086计数中断次数并显示于G5区的断码管LED 上,此实验使用8259A 的IR2中断,正脉冲触发中断,脉冲频率为2MHz.4. 实验步骤4.1电路设计D0D1D2D4D5D6D7WR RD D3D08OUT010D17GATE011D26CLK09D35D44D53D62OUT113D71GATE114CLK115CS 21RD 22WR 23OUT217A019GATE216A120CLK2188253U35A0A1GATE0CLK0OUT1GATE1OUT2GATE2CLK2CSVCC 2M(B2)Ctrl(D1)VCCCS5(0B000H)A0A1A8253_1 EQU 0F002HA8253_2 EQU 0F001HA8253_3 EQU 0F003H.DATA.STACK.CODESTART: MOV AX,@DATAMOV DS,AXMOV ES,AXmov dx,A8253_3mov al,00110101bout dx,almov dx,A8253_0mov al,00Hout dx,almov al,20Hout dx,almov dx,A8253_3mov al,01110111bout dx,almov dx,A8253_1mov al,00Hout dx,almov al,10Hout dx,alEND START4.4运行调试程序1)按要求设计的电路正确连接线路,检查完毕后打开电源。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
OUT DX,AL
MOV DX,COUNT2
MOV AX,1000
OUT DX,AL
MOV AL,AH
OUT DX,AL
JMP $
START ENDP
CODE ENDS
(3)、经编译、链接无语法错误后装载到实验系统,全速运行程序,观察发光二极管L15,应有周期为1s的点亮、熄灭。结果如下图所示:
洛阳理工学院实验报告
院(部)
计算机与信息工程学院
班级
B120506
学号
B12050607
姓名
张振浩
课程名称
微机原理与接口技术
实验日期
2015.5.27
实验名称
实验五8253定时器/计数器实验
成绩
实验目的:
一、学习8253芯片和微机接口的方法。
二、掌握8253定时/计数器的工作方式和编程原理。
实验设备:
3)全速运行程序,每按5次单脉冲按钮,改变1次发光二极管L15的状态;
4)实验完毕后,应使用暂停命令中止程序的运行。
(1)连接实验电路
连线:
8253 CS ------端口地址300CS
8253 GATE1 -- (A10)+5V
8253 CLK1 ----单脉冲SP
8253 OUT1 ----发光二极管L15
PC计算机一台,Dais-386PRO+/386PRO/Dais-386S实验系统一套。
实验内容及步骤:
本实验置8253的1通道、2通道工作在方式3,通过级联的方法产生一个周期为1s的方波。
实验电路:
图4-6-18253定时器实验电路图
实验步骤:
1)按图4-6-1连接实验电路,参考程序:8253-1.ASM;
2)编写实验程序,经编译、链接无语法错误后装载到实验系统;
3)全速运行程序,观察发光二极管L15,应有周期为1s的点亮、熄灭;
4)实验完毕后,应使用暂停命令中止程序的运行。
(1)、连接实验电路
连线:
8253 CS ------端口地址300CS
PACK IMS ----- 393 1A
393 1QD ------ 8253 CLK1
结果如下图所示:
(2)、程序如下所示:
CS8253 EQU 0303H
COUNT0 EQU 0300H
COUNT1 EQU 0301H
COUNT2 EQU 0302H
CODE SEGMENT
ASSUME CS:CODE
START PROC NEAR
MOV DX,CS8253
MOV AL,01010110B;计数1方式3
一秒后又熄灭,如此往复。
(4)、做完实验后,应按暂停命令中止程序的运行。
二、8253计数器实验
验证8253的工作方式3,CLK1每输入5个单脉冲信号,改变一次OUT1状态。
实验电路:
图4-6-28253计数器实验电路图
实验步骤:
1)按图4-6-2连接实验电路,参考程序:8253-2.ASM;
2)编写实验程序,经编译、链接无语法错误后装载到实验系统;
8253 OUT1 ---- 8253 CLK2
8253 OUT2 ----发光二极管L15
8253 GATE1 -- (A10)+5V
8253 GATE2 -- (A10)+5V
结果如下图所示:
(2)、实验程序如下所示:
CS8253 EQU 0303H
COUNT0 EQU 0300H
COUNT1 EQU 0301H
OUT DX,AL
MOV DX,COUNT1
MOV AL,10
OUT DX,AL
JMP $
START ENDP
CODE ENDS
END START
(3)、经编译、链接无语法错误后装载到实验系统,全速运行程序,每按5次单脉冲按钮,改变1次发光二极管L15的状态。结果如下图所示:
每按5次单脉冲按钮,改变1次发光二极管L15的状态,例如:有亮变为不亮,或有不亮变为亮。
(4)、做完实验后,应按暂停命令中止程序的运行。
实验总结:
这次我们做的实验是:8253定时器/计数器实验,这次实验的主要目的是:学习8253芯片和微机接口的方法;掌握8253定时/计数器的工作方式和编程原理。
通过这次实验,又让我对8253芯片有了进一步的认识,也使书本上所学的知识得到了巩固,对于定时和计数又有了更深的了解,与此同时,也锻炼了我的动手能力和自行解决问题的能力。
COUNT2 EQU 0302H
CODE SEGMENT
ASSUME CS:CODE
START PROC NEAR
MOV DX,CS8253
MOV AL,01110110B
OUT DX,AL
MOV DX,COUNT1
MOV ALeabharlann ,307OUT DX,AL
MOV AL,AH
OUT DX,AL
MOV DX,CS8253