实验四 8253定时计数器应用
- 格式:doc
- 大小:100.00 KB
- 文档页数:13
实验四定时计数器实验
一、实验目的
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定时计数器0产生500Hz,250Hz,125Hz 的方波信号,显示在示波器上;然后用8253定时计数器1制作一个频率计以检测4060和定时计数器0输出方波的频率。
二、实验目的:1、了解如何利用计数器(以4060为例)制作分频器2、熟悉8253在系统中的典型接法。
3、掌握8253的工作方式及应用编程。
三、实验电路及连线:输入时钟产生模块YQNQLQJQIQHQGQFQEQD图1,分频器4060就是一个纯粹的计数器,当作分频用,QD-DN就是对输入频率的4分频-8192分频,直接接到8253相应的定时器计数器时钟输入端口即可8253接口模块X图2,定时器计数器8位数据线和单片机的P0口相连;片选信号CS和P1.0相连;WR/RD分别和单片机相应的WR/RD相连;A0,A1分别和单片机的P3.4、P3.5相连;CLK0直接和4060的QD时钟输出相连;OUT0接示波器和CLK1。
四、实验说明:8253是一款拥有3个完全相同的16位定时器计数器的定时器计数器芯片,三个通道完全独立,其引脚功能为D0-D7:8位数据双向I/O口WR/RD:写/读信号,低电平有效CS:片选信号,低电平有效GATE0-2:三个定时器计数器的门信号CLK0-2:三个定时器计数器的时钟输入信号OUT0-2:三个定时器计数器的输出信号A0,A1:定时器计数器读写地址选择,00 定时器计数器0;01定时器计数器1;10 定时器计数器2;11 控制寄存器定时器计数器采用倒计数,即每输入一个时钟脉冲自减1,当计数寄存器减为0时OUT输出一个脉冲信号,但输出受工作方式和GATE引脚控制。
定时时间=时钟脉冲周期×预置的计数初值8253的定时器计数器有6种工作模式,具体工作模式由状态寄存器决定,如下SC1,SC0:计数器选择 00:选择计数器001:选择计数器110:选择计数器2RW1,RW0:读/写指示 00:计数器锁存命令01:只读/写低 8位10:只读/写高 8位11:先读/写低8位,再读/写高 8位M2,M1,M0:定时器计数器工作方式选择:000-101,方式0-5BCD:计数寄存器数制选择,1:BCD码;0:二进制码8253每个定时器计数器都有6种工作方式,具体如下所述方式0:计数结果中断方式8253工作于方式0时,在写入初始值n后,GATE为高电平时开始计数,OUT 为输出低电平,直到计数器为0,OUT变为高电平直到下次计数开始再变为低电平。
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可编程计数器/定时器实验实验类型设计型姓名学号日期地点室成绩教师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)按要求设计的电路正确连接线路,检查完毕后打开电源。
8253计数器实验报告8253计数器实验报告引言:实验报告是对实验过程和结果的详细记录和分析,通过实验报告,可以总结出实验的目的、方法、数据和结论,为进一步研究和实践提供参考。
本文将对8253计数器实验进行报告,介绍实验目的、实验步骤、实验结果和结论。
实验目的:本次实验的目的是熟悉8253计数器的工作原理和使用方法,掌握8253计数器的基本功能和应用场景。
实验步骤:1. 准备实验材料:8253计数器、示波器、电源等。
2. 搭建实验电路:根据实验要求,将8253计数器与示波器和电源相连,确保电路连接正确。
3. 设置实验参数:根据实验要求,设置8253计数器的工作模式、计数范围等参数。
4. 运行实验程序:编写实验程序,通过编程控制8253计数器的工作状态,观察实验结果。
5. 记录实验数据:使用示波器等仪器,记录实验过程中的数据和波形图。
6. 分析实验结果:根据实验数据和波形图,分析8253计数器的工作状态和性能。
实验结果:通过实验,我们观察到了8253计数器的不同工作模式下的输出结果。
在定时器模式下,我们设置了不同的计数范围和计数频率,观察到了计数器的计数过程和计数结果。
在计数器模式下,我们设置了不同的计数方向和计数初始值,观察到了计数器的增减过程和最终的计数结果。
结论:通过本次实验,我们对8253计数器的工作原理和使用方法有了更深入的了解。
我们掌握了8253计数器的基本功能和应用场景,能够根据实际需求设置计数器的工作模式和参数。
实验结果表明,8253计数器具有较高的计数精度和稳定性,在计时、计数等领域有广泛的应用前景。
总结:实验报告是对实验过程和结果的详细记录和分析,通过实验报告,可以总结出实验的目的、方法、数据和结论,为进一步研究和实践提供参考。
本次实验报告对8253计数器的实验进行了详细介绍,包括实验目的、实验步骤、实验结果和结论。
通过本次实验,我们对8253计数器有了更深入的了解,掌握了其基本功能和应用场景。
可编程定时器/计数器(8253)一、实验目的1)学会8253芯片和微机接口原理和方法。
2)掌握8253定时器/计数器的基本工作原理、工作方式和编程原理。
二、实验内容按图6虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。
图 6按图7连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1HZ)。
图 7三、编程提示1、8253控制寄存器地址283H计数器0地址280H计数器1地址281HCLK0连接时钟 1MHZ2、参考流程图(见图8、9): 开 始读计数器值显示计数值有键按下吗?开 始送计数器初值N Y结 束结 束设计数器0为工作方式0向计数器0送初值1000先送低字节后送高字节向计数器1送初值1000先送低字节后送高字节设计数器0为工作方式3设计数器1为工作方式3图 8 图 9四、实验代码1、图6电路的实验代码CODE SEGMENT ;段定义开始(CODE 段)ASSUME CS:CODE ;规定CODE 为代码段START:MOV AL,10H ;设置控制字00010000(计数器0,方式0,写两个字节,二进制计数)MOV DX,283H ;把控制寄存器地址放在DX 寄存器中OUT DX,AL ;将AL 的值送入DX 端口MOV DX,280H ;把计数器0地址放在DX 寄存器中MOV AL,0FH ;将0FH 存入AL 寄存器OUT DX,AL ;将此时AL 的值送入DX 端口LP1: IN AL,DX ;从DX 端口读入8位,放在AL 寄存器中CALL DISP ;调用DISPPUSH DX ;将DX 内容保存到堆栈段MOV AH,06H ;将06H 存入AH ,为了下句调用21中断MOV DL,0FFH ;将0FFH 存入DLINT 21H ;调用21中断POP DX ;将DX 的内容推出栈段JZ LP1 ;如果DX 的内容是0,就跳转到LP1MOV AH,4CH ;将4CH 存入AH ,为了下句调用21中断INT 21H ;调用21中断DISP PROC NEAR ;定义一个名为DISP 的子程序PUSH DX ;把DX 的内容保存到堆栈段中AND AL,0FH ;将AL 寄存器的内容与0FH 进行“与”运算,再把结果存入AL 中MOV DL,AL ;将AL 的值送入DL 寄存器CMP DL,9 ;比较DL中的值与9的大小JLE NUM ;如果DL的值小于或等于9时,则跳转到NUMADD DL,7 ;将DL的值与7进行相加后,再送入DL中NUM: ADD DL,30H ;将DL的值与30H进行相加后,再送入DL中MOV AH,02H ;将02H存入AHINT 21H ;调用DOS21中断MOV DL,0DH ;结合“MOV AH,02H”就是说输出0DHINT 21H ;调用中断指令MOV DL,0AH ;结合“MOV AH,02H”就是说输出0AHINT 21H ;调用DOS21中断POP DX ;将DX的内容推出栈段RET ;子程序在功能完成后返回调用程序继续执行DISP ENDP ;子程序结束CODE ENDS ;代码段结束END START ;程序结束2、图7电路的实验代码CODE SEGMENT ;段定义开始(CODE段)ASSUME CS:CODE ;规定CODE为代码段START:MOV DX,283H ;把控制寄存器地址放在DX寄存器中MOV AL,36H ;设置控制字00110110(计数器0,方式3,写两个字节,二进制计数)OUT DX,AL ;将AL的值送入DX端口MOV AX,1000H ;该语句是立即寻址方式,就是把1000H这个数赋给AX MOV DX,280H ;把计数器0地址放在DX寄存器中OUT DX,AL ;将AL的值送入DX端口MOV AL,AH ;将AX的高8位存入AL寄存器中OUT DX,AL ;将此时AL的值送入DX端口MOV DX,283H ;把端口地址放在DX寄存器中MOV AL,76H ;设置控制字01110110(计数器1,方式3,写两个字节,二进制计数)OUT DX,AL ;将AL的值送入DX端口MOV AX,1000H ;把1000H赋给AXMOV DX,281H ;把端口地址放在DX寄存器中OUT DX,AL ;将AX的低8位送入DX端口MOV AL,AH ;将AX的高8位存入AL寄存器中OUT DX,AL ;将AL的值送入DX端口MOV AH,4CH ;将4CH存入AHINT 21H ;调用DOS21中断CODE ENDS ;代码段结束END START ;程序结束五、实验总结通过实验,学会8253芯片和微机接口原理和方法,掌握8253定时器/计数器的基本工作原理、工作方式和编程原理,熟悉汇编代码的编写。
微机原理实验报告实验题目:可编程定时器/计数器8253一、实验目的1、学习8253可编程定时器/计数器定时方法2、学习8253多级串联实现大时间常数定时方法二、实验内容编一个1秒定时子程序,并提示有键盘读入要计时的时间,并把数值显示在屏幕上三、实验器材微机原理实验箱1个电脑(带TPC-USB软件)1台插线若干四、实现过程1、流程图2、程序源代码;*****************************************IOY0 EQU 280H;*****************************************MY8253_COUNT0 EQU IOY0+00HMY8253_COUNT1 EQU IOY0+01HMY8253_COUNT2 EQU IOY0+02HMY8253_MODE EQU IOY0+03H;*****************************************MY8255IOY0 EQU 2A0H;*****************************************MY8255_A EQU MY8255IOY0+00HMY8255_B EQU MY8255IOY0+01HMY8255_C EQU MY8255IOY0+02HMY8255_MODE EQU MY8255IOY0+03HSTACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSDATA SEGMENTCOUNTER2 DB 0MESG1 DB 'Please input your number:',0DH,0AH,'$' ;提示语一,请输入数字MESG2 DB 'It is counting:',0DH,0AH,'$';提示语二,正在计数MESG3 DB 'Wrong input,please input again:',0DH,0AH,'$';提示语三,输入错误,请重新输入DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESG1 ;输出提示语MOV AH,9INT 21HDEAL: MOV AH,1 ;读入一个数字INT 21HCMP AL,'0'JL EXITCMP AL,'9'JG EXITMOV BL,ALSUB BL,30H ;把输入的ASCII码转化成数字ADD COUNTER2,BL ;COUNTER2+=INPUTMOV CH,00HMOV CL,COUNTER2MOV DL,0DH ;回车换行MOV AH,02INT 21HMOV DL,0AHMOV AH,02INT 21HONE_SECOND:MOV AL,CL ;输出当前计数值CXADD AL,30HMOV DL,ALMOV AH,02INT 21HMOV DL,0DH ;回车换行MOV AH,02INT 21HMOV DL,0AHMOV AH,02INT 21HMOV DX,MY8253_MODE ;计数器0,方式3,十进制计数MOV AL,37HOUT DX,ALMOV DX,MY8253_COUNT0 ;装入初值MOV AL,00H ;1000分频OUT DX,ALMOV AL,10HOUT DX,ALMOV DX,MY8253_MODE ;计数器1,方式0,十进制计数MOV AL,71HOUT DX,ALMOV DX,MY8253_COUNT1 ;装入初值MOV AL,00H ;1000分频MOV AL,10HOUT DX,ALMOV DX,MY8255_MODEMOV AL,89HOUT DX,ALMOV DX,MY8255_CL1: IN AL,DX ;判断PC7口是否为高,即计数一秒是否已到TEST AL,80HJZ L1DEC CXJNZ ONE_SECONDQUIT:MOV AX,4C00HINT 21HEXIT: MOV DX,OFFSET MESG3 ;输入范围错误,提示重新输入MOV AH,9INT 21HJMP DEALCODE ENDSEND START3、实验结果图五、实验改进1、说明本实验中课本上只给出了0~9秒的计数,而实际运用的时候我们经常会需要用到任意值的定时,因此我们做了改进,计时可以输入任意数,若要输出到屏幕则能计数0~992、流程图注:改进的地方是分十位和个位进行存储和输出显示六、小结1、通过本次试验,我进一步了解了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 ENDS
CODE SEGMENT
ASSUME CS:CODE
START: IN AL,21H
AND AL,7FH
OUT 21H,AL
MOV AL,____H
OUT 43H,AL ;8253控制口地址
A1: MOV AL,____H
OUT 42H,AL
HLT
STI
JMP A1
HLT
STI
JMP A1
MOV AX,014DH
INT 10H ;显示’M’
MOV AX,0120H
INT 10H ;显示空格
MOV AL,20H
OUT 20H,AL
IRET
CODE ENDS
END START
实验步骤
(1)按图接线。
(2)输入源程序并检查无误,经汇编、连接后装入系统。
(3)在0000:003CH单元填入IRQ7中断矢量,即0000:003C 12 20 00 00
(4)运行程序,并按动KK1键,观察是否每按6次,屏幕上显示一个“M”字符。
2. 8253定时器应用实验(2)
利用8253的0#通道来定时中断(IRQ0),循环显示“0”--“9”十个数,实验线路如图7-5。
图7-5 实验(2)线路
实验流程图及程序如下:
STACK SEGMENT STACK
DW 64 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE
START: PUSH DS
MOV AX,0000H
MOV DS,AX
MOV AX,OFFSET IRQ0
ADD AX,2000H
MOV SI,0020H
MOV [SI],AX
MOV AX,0000H
MOV SI,0022H
MOV [SI],AX
POP DS
MOV AL,0FCH
OUT 21H,AL
MOV AL,15H
OUT 43H,AL
MOV AL,0FFH
OUT 40H,AL
MOV DL,30H
A1: STI
JMP A1
IRQ0: MOV AH,01H
MOV AL,DL
CMP AL,3AH
JNZ A2
MOV AL,0DH
INT 10H
MOV AL,30H
A2: INT 10H
INC AX
MOV DL,AL
MOV AX,0120H
INT 10H
CALL DALLY
MOV AL,20H
OUT 20H,AL
IRET
DALLY: PUSH AX
MOV CX,0100H
A3: MOV AX,0560H
A4: DEC AX
JNZ A4
LOOP A3
POP AX
RET
CODE ENDS
END START
实验步骤
(1)编写程序并检查无误,经汇编、连接后装入系统。
(2)运行程序,显示屏上应连续逐行显示“0”--“9”十个数,直到用“RESET”复位开关来中断。
(3)修改8253的0#时常,在运行程序,观察显示的快慢程度。
3.电子发声实验(3)
系统的OPCLK(1.1625MHz)作为音乐节拍,有表格查出每个音符对应的时常送给计数器2(工作, 在方式3:方波频率发生器),以确定音调,驱动扬声器产生音乐,实验接线图如下:
图7-6 实验(3)接线图
实验程序如下:
STACK SEGMENT STACK
DW 64 DUP(?)
STACK ENDS
DATA SEGMENT
TABLE DB 33H, 33H, 3DH, 33H, 26H, 26H, 26H, 26H, 2DH, 2DH, 26H, 2DH, 33H
DB 33H, 33H, 33H, 33H, 33H, 4DH, 45H, 3DH, 3DH, 3DH, 45H, 4DH, 45H DB 45H, 45H, 45H, 45H, 45H, 45H, 45H, 33H, 33H, 3DH, 33H, 26H, 26H DB 26H, 28H, 2DH, 2DH, 26H, 26H, 33H, 33H, 33H, 33H, 45H, 3DH, 39H DB 39H, 39H, 52H, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 2DH,
DB 2DH, 26H, 26H, 26H, 26H, 26H, 26H, 28H, 28H, 2DH, 28H, 26H, 26H, DB 26H, 26H, 2DH, 28H, 26H, 2DH, 2DH, 33H, 3DH, 4DH, 45H, 45H, 45H, DB 45H, 45H, 45H, 45H, 45H, 33H, 33H, 3DH, 33H, 26H, 26H, 26H, 28H, DB 2DH, 2DH, 26H, 2DH, 33H, 33H, 33H, 33H, 33H, 33H, 45H, 3DH, 39H, DB 39H, 39H, 52H, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 00H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA
MOV DS,AX
MOV BX,OFFSET TABLE MOV AL,[BX]
MOV AH,00H
A1: MOV DL,25H
MUL DL
&n, bsp; PUSH AX
MOV AL,0B7H
OUT 43H,AL
POP AX
OUT 42H,AL
MOV AL,AH
OUT 42H,AL
INC BX
MOV AH,00H
MOV AL,[BX]
TEST AL,0FFH
JZ A3
MOV CX,77FFH
A2: PUSH AX
POP AX
, ; LOOP A2
JMP A1
A3: MOV BX,OFFSET TABLE
MOV AL,[BX]
MOV AH,00H
JMP A1
CODE ENDS
END START
实验步骤
(1)按图接线,并检查无误。
(2)输入源程序并检查无误,经汇编、连接后装入系统。
(3)G=2000↙运行程序,既可听到扬声器发出音乐声。
四.思考题
在将计数初值赋给8253后,马上就可以启动并进行定时或计数吗?。