8253定时器计数器接口实验
- 格式:doc
- 大小:31.50 KB
- 文档页数:4
定时器计数器实验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的硬件连接方法,掌握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
一、实验目的
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定时/计数器应用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和并行接口8255综合实验一、实验目的1.掌握8253定时原理和初始化方法。
2.掌握8255并行输入输出原理和初始化方法。
3.掌握定时器8253和并行接口8255的综合应用设计技术。
二、实验内容用8253定时1秒钟,“时间到”信号可由8255端口的一个位检测得到。
在8255的另一个端口连接8个发光二极管,则可实现每隔1秒钟循环点亮1个灯。
还可以在8255端口的另一个位连接一只开关,当开关拨到1时进入运行状态,当拨到0时返回DOS。
三、实验程序流程图四、实验硬件接线图程序清单:CODE SEGMENTASSUME CS:CODESTART:MOV AL,10010000B ;8255初始化MOV DX,28BH ;间接I/O寻址方式,8255的控制口地址OUT DX,AL ;将8255控制字送控制端口地址PR0: MOV AL,00110110B ;8253计数器0工作方式字MOV DX,283H ; 间接I/O寻址方式,8253的控制口地址OUT DX,AL ;将8253计数器0控制字送到控制端口地址MOV AX,1000 ;计数初值MOV DX,280H ;选中计数器0OUT DX,AL ; 将计数初值低字节送8253计数器0端口地址MOV AL,AH ; 先读写低字节,再读写高字节OUT DX,AL ; 将计数初值高字节送8253控制端口地址PR1: MOV AL,01111100B ;8253计数器1工作方式字MOV DX,283H ; 间接I/O寻址方式OUT DX,AL ;将8253计数器1控制字送到控制端口地址MOV AX,1000 ;计数初值MOV DX,281H ;选中计数器1OUT DX,AL ; 将计数初值低字节送8253计数器1端口地址MOV AL,AH ;先读写低字节,再读写高字节OUT DX,AL ;将计数初值高字节送8253控制口地址MOV BL,01HMOV DX,28AH ; 间接I/O寻址方式,8255的C口地址MOV AL,BLOUT DX,AL ;点亮一盏灯L1:MOV DX,288H ; 间接I/O寻址方式,8255的A口地址IN AL,DXTEST AL,10000000B ;测试PA7开关JE NEXT ;若为0则返回DOSL2: MOV DX,288H ;8255A口地址IN AL,DXTEST AL,00000001B ;测PA0,若是1则继续测PA0JNE L2ROL BL,1 ;若是0则准备点亮下一盏灯MOV DX,28AH ;8255C口地址MOV AL,BL ;点亮下一盏灯OUT DX,ALL3: MOV DX,288H ;8255A口地址IN AL,DXTEST AL,01H ;测PA0,若是0则继续测PA0JE L3 ;定时到OUT输出低电平并维持一个CLK周期JMP L1 ;若PA0为1,则跳转至L1NEXT: MOV AH,4CH ;返回DOSINT 21HCODE ENDSEND START。
电子信息学院实验报告书课程名:《微机原理与接口技术》题目:8253定时器/计数器实验实验类别:【设计】班级:电子1312学号:17姓名:张泽虎评语:(1)电路连接调试:□正确□基本正确□不正确(2)实验程序编写:□正确□基本正确□不正确(3)数据测量分析:□准确□基本准确□不准确成绩:□A □B □C □D ,指导教师:批阅时间:2014年11月6日1、实验目的与要求实验目的:(1)学会8253芯片和微机接口的原理和方法;(2)掌握8253定时器/计数器的工作方式和编程原理。
实验要求:用8253的0通道工作在方式3,产生方波。
2、实验内容用定时器/计数器8253实现分频器电路。
3、实验仪器DJ-8086KB(微机原理与接口技术实验箱)、示波器、软件DJ8088K 4、实验接线图5、实验程序框图6、实验程序(实验程序清单作为附件放在最后)7、实验步骤⒈ 按图6-5连好实验线路 ⑴ 8253的GATE0接+5V 。
⑵ 8253的CLK0插孔接分频器74LS393(左下方)的T2插孔,分频 器的频率源为8.0MHZ ,T →8.0MHZ 。
⒉ 运行实验程序在系统提示符“P.”状态下,按SCAL 键,输入1290, 按EXEC 键。
用示波器测量8253的OUT0输出插孔有方波产生。
8、实验数据(画出波形图)9、思考题本题中,用8253的OUT0控制LED 发光二极管闪烁,闪烁频率为50Hz ,如何实现?答:<附件> 实验程序清单CODE SEGMENTASSUME CS:CODE ORG 1290HV u O /ms t /START:MOV AL,00110110B OUT 43H,ALMOV AX,2000OUT 40H,ALMOV AL,AHOUT 40H,AL CODE ENDSEND START。
集美大学计算机工程学院实验报告课程名称微机系统与接口技术实验名称实验三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 可编程计数器/定时器实验要求一、实验目的1、掌握8253的主要性能及其初始化编程。
2、学会根据实验要求设计8253的接口电路。
二、实验技术准备8253主要功能有:(1)一片上有三个独立的16位计数器通道。
(2)每个计数器都可以按照二进制或十进制计数。
(3)每个计数器的计数速率可达2MHz。
(4)每个通道有6种工作方式,可由程序设置和改变。
8253内部结构8253管脚图注:实验箱上使用的是8254芯片,8254芯片是8253芯片的增强型,管脚完全相同。
实验箱上的8254芯片电源和数据线均已连接好,实验时连接好读写控制模块信号芯片即可工作。
8253的端口选择表8253控制字格式计数值N与输出波形关系门控输入信号的作用8253有六种不同的工作方式:方式0——计数结束产生中断方式方式1——可编程单次脉冲方式方式2——分频工作方式方式3——方波方式方式4——软件触发选通方式方式5——硬件触发选通方式我们要求通过对方式0、方式1的实验,来了解和掌握8253主要性能及其初始化编程。
1、方式0 计数器结束中断方式当选定8253工作于方式0,并对选定的计数器写入控制字时,该计数器的输出端OUT立即变为低电平。
要使计数器能够进行计数,门控信号GATE必须为高。
若CPU利用输出指令向计数器写入计数值时(N=5),写WRn的上升沿把计数值写入计数寄存器。
在WRn上升沿后的下一个时钟脉冲CLK的下降沿时,才把计数值N写入计数寄存器执行单元CE。
在CLK 到来时开始减1计数。
总共要经过N+1个CLK脉冲后计数器减为0,这时OUT引脚由低电平变为高电平。
利用由低电平变为高电平正跳变信号向CPU发出中断请求。
方式0波形图2、方式1 可编程单稳态输出方式当CPU用控制字设定计数器工作于方式1时,计数器的输出OUT立即变为高电平,在CPU装入计数值N后,必须等到GATE由低电平到高电平的跳变,产生一个上升沿后,才能在下一个时钟脉冲CLK的下降沿将N 值装入计数器执行单元,同时输出端OUT由高电平向低电平跳变,以后每来一个时钟脉冲,计数器就开始减1操作,当计数器的值减为0时,OUT 产生由低到高的正跳变。
微机原理实验报告实验五 8253计数器/定时器接口实验1.实验目的1)学会通过PC总线、驱动器、译码器等在PC机外部扩充为新的芯片;2)了解8253计数器/定时器的工作原理;3)掌握8253初始化的程序设计;4)掌握8253方式0的计数方式的使用方法和方式3方波产生的方法。
2.实验内容将实验装置上的1片8253定时器/计数器接入系统,具体做两个内容的实验。
1)实验一:将8253的计数器0设置为工作于方式0,设定一个计数初值,用手动逐个输入单脉冲,观察OUT0的电平变化。
硬件连接:断开电源,按图2-1将8253接入系统。
具体包括:(1)将8253的CS接I/O地址输出端280H-287H;(2)将8253的计数器0的CLK0与单脉冲信号相连,以用来对单脉冲进行计数;(3)将8253的GATE0用专用导线接向+5V,以允许计数器0工作;(4)将8253的OUT0接到LED发光二极管,以显示8253计数器0的输出OUT0的状态。
图2-1 8253实验一的连线图2)实验二:将8253的计数器0、1均设置为工作于方式3(方波),按图2-2重新接线。
要求是当CLK0接1MHz时,OUT1输出1Hz的方波,OUT的输出由LED 显示出来。
将计数器0与计数器1串联使用,计数器0的输出脉冲OUT0作为计数器1的时钟输入CLK1。
图2-2 8253实验二的连线图3.程序及框图1)程序框图图4-1给出了8253实验一的流程图。
图4-1 程序流程图图4-2给出了8253实验二的流程图。
2)程序代码实验一程序代码:CTRL EQU 283HTIME0 EQU 280HTIME1 EQU 281HDATA SEGMENTMESS DB 'ENTER ANY KEY RETURN TO DOS!',0DH,0AH,'$' DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DX,AXMOV DX,OFFSET MESSMOV AH,09HINT 21HMOV DX,CTRLMOV AL,30HOUT DX,ALMOV DX,TIME0MOV AX,03HOUT DX,ALXCHG AH,ALOUT DX,ALCOUNT:MOV AH,06HMOV DL,0FFHINT 21HJZ COUNTMOV AX,4C00HINT 21HCODE ENDSEND START实验二程序代码:CTRL EQU 283HTIME0 EQU 280HTIME1 EQU 281HDATA SEGMENTMESS DB 'ENTER ANY KEY RETURN TO DOS!',0DH,0AH,'$' DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DX,AXMOV DX,OFFSET MESSMOV AH,09HINT 21HMOV DX,CTRLMOV AL,36HOUT DX,ALMOV AL,76H OUT DX,ALMOV DX,TIME0 MOV AX,1000OUT DX,ALXCHG AH,ALOUT DX,ALMOV DX,TIME1 MOV AX,1000OUT DX,ALXCHG AH,ALOUT DX,ALCOUNT:MOV AH,06H MOV DL,0FFHINT 21HJZ COUNTMOV AX,4C00HINT 21HCODE ENDSEND START4.实验数据、现象及结果分析5. 实验思考题1)实验一中的定时器0的输出OUT0的电平是如何变化的,为什么?解:假设对定时器0赋初值为3,则控制字发送后,OUT0变为低电平,当手动输入3个单脉冲后,OUT0变为高电平。
计算机与通信工程学院
试
验
报
告
书
课程名称:微机原理及应用
设计题目:8253定时器/计数器接口实验实验类型:验证性
授课老师:
实验日期:2013.11.12
班级:通信1102(移动方向)
学号:
姓名:
成绩:
一、实验目的
(1)掌握8253定时器的编程原理及其工作原理.
(2)掌握编写中断服务程序是的方法
(3)掌握初始化中断向量的方法
二、实验设备
MUT—III型实验箱、8086CPU、示波器
三、实验内容
8253计数器0、1、2工作于方波方式,观察其输出波形.
四、实验原理介绍
本实验用到两部分电路:脉冲产生电路,8253定时器/计数器电路五、实验程序框图
六、实验步骤
(1)实验接线
CS0↔CS8253 OUTO↔8253CLK2 OUT2↔LED1
示波器↔OUT1 CLK3↔8253CLK0 CLK3↔8253CLK1 (2)编译调试程序
(3)全速运行程序,拨动某一电平开关,观察LED的亮灭情况。
七、实验提示
(1)、8253是计算机系统中经常使用的可编程定时器/计数器.其内部有三个相互独立的计数器,分别成为T0,T1,T2,8253有多种工作方式,其中方式3为方波方式. (2)、当计数器设好初值后,计数器递减计数,在计数值的前一半输出高电平,后一般输出低电平.
(3)、实验中, T0,T1的时钟由CLK3提供,其频率为750KHZ.程序中,T0的初值设为927CH(37500十进制),则OUT0输出的方波周期为(37500*4/3/1000000=0.05s.). (4)、T2采用OUT0的输出为时钟,则在T2中设置初始值为n时,则OUT2输出方波周期为n*-0.05s.n的最大值为FFFFH,所以OUT2呼出方波最大周期为3276.75s(=54.6分钟)。
(5)、可见,采用计数器叠加使用后,输出周期范围可以大幅度提高,这在控制中时非常有用的。
八、实验源程序:
assume cs:code
code segment public
org 100h
start:
mov dx,04a6h ;控制寄存器
mov ax,36h ;计数器0,方式3
out dx,ax
mov dx,04a0h
mov ax,7Ch
out dx,ax
mov ax,92h
out dx,ax ;计数值927Ch
mov dx,04a6h
mov ax,76h ;计数器1,方式3
out dx,ax
mov dx,04a2h
mov ax,32h
out dx,ax
mov ax,0 ;计数值32h
out dx,ax
mov dx,04a6h
mov ax,0b6h ;计数器2,方式3
out dx,ax
mov dx,04a4h
mov ax,04h
out dx,ax
mov ax,0 ;计数值04h
out dx,ax
next:
nop
jmp next
code ends
end start
九、实验结果
连接好试验箱之后哦,对程序进行编码然后连接在全速运行程序,LED1闪烁(周期为0.25s),OUT1示波器观察为方波,频率为15KHZ。
十、实验总结:
通过实验,掌握了82593计数器/定时器的工作原理,通过实验进一步了解到8253的控制寄存器和三个计数器分别具有独立的编程地址,并且8253的编程命令有两类:一类是写入命令,包括控制命令字、设置计数器的初始值命令和锁存命令,另一类是读出命令,用来读取计数器的当前值;
3种计数器的6种可编程的工作方式,方式0是一种计数结束产生中断、方式1是一种可触发单稳态方式、方式2是一种频率触发器、方式3是一种方波发生器、计数器4是一种软件触发的选通信号发生器、计数器5是一种硬件触发的选通信号发生器;在8253的初始化编程中,开始先写入并输出控制字,其次依次写入并输出计数初值,然后读计数值;。