微机原理与接口技术实验报告3- 8253可编程定时计数器实验
- 格式:doc
- 大小:46.82 KB
- 文档页数:5
实验四定时计数器实验
一、实验目的
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进行定时做事。
八、主要仪器设备
计算机、接口实验箱平台。
微机原理与接口实验报告实验名称:可编程定时器计数器实验班级:学号:姓名:指导老师:实验报告要求一.实验目的1.掌握8253芯片和微机接口的硬件连接方法。
2.掌握8253定时器/计数器的工作方式和编程原理。
二.实验仪器1.微型计算机一台。
DVCC-5286JH型微机原理与接口实验系统,排线、导线若干。
三.实验原理1、实验要求本实验原理图如图所示,8253A的A0、A1接系统地址总线A0、A1,故8253A 有四个端口地址,如端口地址表所示。
8253A的片选地址为48H~ 4FH。
因此,本实验仪中的8253A四个端口地址为48H、49H、4AH、4BH,分别对应通道0、通道1、通道2和控制字。
采用8253A通道2,工作在方式3(方波发生器方式),输入时钟CLK2 为1MHZ,输出OUT0 要求为1KHZ的方波,并要求用接在GATE2引脚上的导线是接地("0"电平)或甩空("1"电平)来观察GATE对计数器的控制作用,用示波器观察输出波形,看是否有频率为1KHZ的方波输出。
实验原理图如图1所示,PB4 PB7和PC0 PC7分别与发光二极管电路L1 L12 相连,本实验为模拟交通灯实验。
交通灯的亮灭规律如下:设有一个十字路口,1、3为南北方向,2、4为东西方向,初始化为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车;延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3 路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车;延时一段时间后,2、4 路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后重复上述过程。
8255A的PB4~PB7对应黄灯,PC0~PC3对应红灯,PC4~PC7对应绿灯。
8255A工作于模式0,并置为输出。
由于各发光二极管为共阳极,使其点亮应使8255A相应端口清0。
接口技术实验报告
实验三:可编程定时/计数器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定时器/计数器的工作方式和编程原理。
二、实验内容 :用8253的0通道工作在方式3,产生方波。
三、实验接线图 :四、编程指南:⒈8253芯片介绍8253是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz,用+5V单电源供电。
8253的功能用途:⑴延时中断⑸实时时钟⑵可编程频率发生器⑹数字单稳⑶事件计数器⑺复杂的电机控制器⑷二进制倍频器8253的六种工作方式:⑴方式0:计数结束中断⑷方式3:方波频率发生器⑵方式l:可编程频率发生⑸方式4:软件触发的选通信号⑶方式2:频率发生器⑹方式5:硬件触发的选通信号五、实验程序框图:六、实验步骤:⒈按图连好实验线路:⑴8253的GATE0接+5V。
⑵8253的CLK0插孔接分频器74LS393(左下方)的T2插孔,分频器的频率源为8.0MHZ,(3) T→8.0MHZ。
⒉运行实验程序:在系统处于提示符“P.”状态下,按SCAL键,输入1290,按EXEC键。
⒊用示波器测量8253的OUT0输出插孔有方波产生。
七、实验结果:八、实验程序清单:CODE SEGMENT ;H8253.ASMASSUME CS:CODEORG 1290HSTART:JMP TCONTTCONTRO EQU 0043H ;控制口地址TCON0 EQU 0040H ;定时器0地址TCONT: MOV DX,TCONTRO ;取控制口地址MOV AL,36H ;设控制字OUT DX,AL ;输出控制字MOV DX,TCON0 ;取定时器0地址MOV AL,00HOUT DX,AL ;初值0送定时器0MOV AL,04HOUT DX,AL ;初值04送定时器0MOV DX,TCONTRO ;取控制口地址MOV AL,36H ;取控制字OUT DX,AL ;输出控制字MOV DX,TCON0 ;取定时器0地址MOV AL,00HOUT DX,AL ;初值0送定时器0MOV AL,02HOUT DX,AL ;初值02送定时器0JMP $ ;CPUT踏步,定时器自动工作CODE ENDSEND START说明:系统提供用户使用的空间为00000H-0FFFFH,用于存放、调试实验程序。
实验题目8253定时/计数器实验一、实验目的与要求:1。
学会8253芯片和微机接口原理和方法。
2. 掌握8253定时器/计数器的工作方式和编程原理。
二、实验内容:1、实验原理本实验原理图如图1所示,8253A的A0、A1接系统地址总线A0、A1,故8253A 有四个端口地址,如端口地址表1所示.8253A的片选地址为48H~ 4FH。
因此,本实验仪中的8253A四个端口地址为48H、49H、4AH、4BH,分别对应通道0、通道1、通道2和控制字.采用8253A通道0,工作在方式3(方波发生器方式),输入时钟CLK0 为1MHZ, 输出OUTO 要求为1KHZ的方波,并要求用接在GATE0引脚上的导线是接地(”0"电平)或甩空(”1"电平)来观察GATE对计数器的控制作用,用示波器观察输出波形。
2、实验线路连接(1) 8253A芯片的CLK0引出插孔连分频输出插孔1MHZ。
(2) 8253A的GATE0接+5V.3、实验步骤(1) 按图1连好实验线路(2)运行实验程序1.按“调试”按钮2。
选“窗口”“进入示波器窗口",然后最小化3。
按“运行按钮”4.将模拟示波器窗口打开,选择“串行口2",再按ctrl+F2 按钮即可看到波形图1显示“8253-1”用示波器测量8253A的OUT2输出插孔,应有频率为1KHZ的方波输出,幅值0~4V三、实验代码:CODE SEGMENTASSUME CS:CODETCONTRO EQU 004BHTCON2 EQU 004AHCONTPORT EQU 00DFHDATAPORT EQU 00DEHDATA1 EQU 0500HSTART: JMP TCONTTCONT:CALL FORMATCALL LEDDISPMOV DX,TCONTROMOV AL,0B6H ;要使用方式2,0B6H要改为0B4HOUT DX,ALMOV DX,TCON2MOV AL,00 ;输入频率(即时间常数)OUT DX,AL ;要修改频率,只需更改送给AL的值(注意先送低8位,MOV AL,10H ;后送高8位)OUT DX,ALHLTLEDDISP:MOV AL,90H ;显示数据方式命令字送8279控制字MOV DX,CONTPORT ;8279命令状态口OUT DX,ALMOV BYTE PTR DS:[0600H],00 ;置显示位数初值为0 LED1: CMP BYTE PTR DS:[0600H],07H ;判断显示位数满8为否?JA LED2 ;满8位转子程序返回MOV BL,DS:[0600H] ;未满8位从数据区取数MOV BH,0HMOV AL,CS:[BX+DATA1]MOV DX,DATAPORT ;8279数据口OUT DX,ALADD BYTE PTR DS:[0600H],01H ;显示位数加1JNZ LED1LED2: RET ;子程序返回FORMAT: MOV BX,0 ;显示8253———1 MOV WORD PTR DS:[BX+0500H],4006HADD BX,2MOV WORD PTR DS:[BX+0500H],4040HADD BX,2MOV WORD PTR DS:[BX+0500H],6D4FHADD BX,2MOV WORD PTR DS:[BX+0500H],7F5BHRETCODE ENDSEND START四、思考题若改用方式2,并改变时间常数,如何编写程序。
实验三可编程定时器/计数器8253要求:按图15连接电路,并将OUT0接指示灯(高电红灯亮、低电平绿灯亮)。
将计数器0、计数器1分别设置为方式3,已知CLK0输入为1MHz的方波,计算两计数器的计数初值,使OUT1输出1s为周期的方波,接着退出程序返回DOS流程图:初始化计数器1初始化计数器0按任意键返回dos程序:stack segment stack 'stack'dw 32 dup (0)stack endsdata segmenttip db 'quit the program.$'data endscode segmentstart proc farassume ss:stack, cs:code,ds:datapush dssub ax,axpush axmov ax,datamov ds,axmov dx,283hmov al,77hout dx,almov dx,281hmov al,00hout dx,almov al,10hout dx,almov dx,283hmov al,37hout dx,almov dx,280hmov al,00hout dx,almov al,10hout dx,almov dx,offset tipmov ah,9int 21hmov ah,8int 21hmov ah,4chint 21hretstart endpcode endsend start分析总结:这次的程序真心是没什么好说的了,初始化完后就没有然后了(话说这也能叫程序的······),本来按我的想法得有一个输入计数值的结构和一秒自动检测误差的结构的,关于输入结构前面的实验已经出现过了应该不是很难办,而延时结构就比较麻烦了,直接的调用int 15h,ah 86h功能不知为啥老是出问题,也不晓得是不是我格式错了,而通过指令循环凑出1s延迟计算起来有些麻烦,稳定性可能还有些问题,这个可能还得去查多点资料了,不过只要延迟精确了误差也就几条指令罢了,之后显示的话也就稍微麻烦点而已了。
实验2:可编程定时器/计数器(8253)一、实验目的:掌握8253的基本工作原理和编程方法二、实验内容:1.按图虚线连接电路,将计数器 0 设置为方式 0,计数器初值为 N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察 OUT0 电平变化(当输入 N+1 个脉冲后 OUT0 变高电平)。
2、按下图连接电路,将计数器0、计数器1设置为方式3,计数初值为1000,用逻辑笔观察OUT1输出电平的变化(1Hz)。
三.实验流程图如下:四.实验程序(1)DATA SEGMENTIOPORT EQU 0C400H-0280HIO8253a EQU IOPORT+283HIO8253b EQU IOPORT+280HDATA ENDSSTACK1 SEGMENT PARA STACKDW 100H DUP(0)STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1START:MOV AX,DATAMOV DS,AXMOV AL,10H ;写计数器0控制字MOV DX,IO8253aOUT DX,ALMOV DX,IO8253bMOV AL,05H ;设计数器初值为5OUT DX,ALLOP: IN AL,DX ;读计数器值CALL DISP ;调用子程序PUSH DXMOV AH,06H ;判断是否有键按下MOV DL,0FFHINT 21HPOP DXJZ LOPMOV AH,4CH ;返回操作系统INT 21HDISP PORC NEARPUSH DXAND AL,0FH ;将十六进制数转化为十进制的ASCII码,小于9就 MOV DL,AL 加30H,大于9就加37HCMP DL,9JLE XCADD DL,7XC: ADD DL,30HMOV AH,02HINT 21HMOV DL,0DHINT 21HPOP DXRETDISP ENDPCODE ENDSEND START(2)DATA SEGMENTIOPORT EQU 0C400H-0280HIO8253 EQU IOPORT+283HIO8253a EQU IOPORT+280HIO8253b EQU IOPORT+281HDATA ENDSSTACK1 SEGMENT PARA STACKDW 100H DUP(0)STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1START:MOV AX,DATAMOV DS,AXMOV AL,36H ;写计数器0的控制字MOV DX,IO8253OUT DX,ALMOV DX,IO8253a ;写计数初值MOV AX,1000HOUT DX,ALMOV AL,AHOUT DX,ALMOV AL,76H ;写计数器1的控制字MOV DX,IO8253OUT DX,ALMOV AX,1000H ;写计数初值MOV DX,IO8253bMOV DX,ALMOV AL,AHOUT DX,ALMOV AH,4CHINT 21HCODE ENDSEND START五.实验感想8253具有3个独立的16位计数器,6种不同的工作方式。
一前言微机原理和接口技术是一门实践性强的学科,不但要求有较高的理论水平,而且还要求有实际的动手能力,其中很多的原量、规则、现象等仅仅靠学习教科书是无法完全掌握的,必须通过实践才能比较直观和深刻的理解。
本课程设计任务和目的是:帮助学生巩固和加深理解所学的理论知识,训练学生的实验技能,使其树立工程观点和严谨的科学作风,初步具有运用理论知识分析问题、解决问题的能力。
培养学生运用所学的理论解决实际问题的能力,使学生初步掌握分析简单电路,调试简单汇编程序以及撰写实验报告的能力。
二实验设备介绍及功能模块的介绍2.1系统组成AEDK8688ET微机教学实验系统是上海航虹高科技实业公司在继承8688T和8688TI微机教学实验机优点的基础上,广泛地吸取用户的使用意见和建议,结合8086188仿真技术,推出的新一代微机教学实验系统。
本实验系统由AEDK8688ET实验机外配计算机和其他一些附件及选配件组成该实验系统,既可以在无PC机的状态下独立运行,又可以接PC机通过串口或ISA总线运行。
在扩展功能上,可以通过实验机的25芯插座外接机电实验平台,做机电一体化实验。
系统硬件组成:主机:AEDK8688ET实验板附件:PC机缓冲驱动卡(UPCXT)、60芯联接电缆、RS-232通讯电缆、维修测试板(U88ETF)及联接电缆、硬导线一束、电源电缆。
选配件:专用电源、机电实验平台。
系统软件组成:软盘片:2张(包含串口调试软件,ISA总线调试软件和自诊断软件)2.2性能特点AEDK688ET教学实验系统集微处理器8088和外配PC/80286/386/486/586及其兼容机于一体的高科技实验系统,具有实验、开发、自诊断等功能。
该实验系统自带键盘、八位七段数码管、微处理器8088和RS-232通讯接口,可以接PC机做实验,也可以无须任何辅助设备而独立做实验。
综合下来,它具有如下性能特点:⑴独立运行的单板机配置方式。
⑵ISA总线配置方式。
西安交通大学实验报告
第页共页
课程微机原理与接口技术实验
系别生物医学工程实验日期年月日
专业班级组别交报告日期年月日
姓名学号报告退发 (订正、重做)
同组者教师审批签字
实验名称8253可编程定时/计数器实验
一、实验目的
1、掌握8253芯片结构及工作方式;
2、熟悉8253可编程定时/计数器的编程。
二、实验设备
1、Lab6000p实验教学系统;
2、IBM-PC机
三、系统中的8253模块
Lab6000p实验箱中的8253模块连线如图所示:
图1 8253模块的连线
AD0~AD7、A0、A1、/WR、/RD已分别连至系统总线DB0~DB7、
AB0、AB1、/IOW、/IOR;三个通道的OUT、GATE、CLK以及CS引出留给用户连接。
三、实验内容和实验步骤
1、8253计数实验
1)实验要求
5个脉冲后LED0亮。
2)电路连接
图2 电路连线
3)程序代码
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, 4 ; 计数器初始值。
mov dx, COUNT0
out dx, al ; 低八位
mov al, 0
out dx, al ; 高八位
jmp $
start endp
code ends
end start
4)实验步骤
1、在Lab6000p实验箱上完成连接电路;
2、开启计算机电源,开启Lab6000p实验箱电源;
3、启动W A VE6000软件;
4、确认W A VE6000与Lab6000p连接;
5、输入源代码;
6、编译源代码(F9);
7、连续运行程序(Ctrl+F9),按动单脉冲按键观察LED
显示情况。
2、定时实验
1)实验要求
在LED上实现1秒钟亮/1秒钟灭。
2)电路连接
将OUT0的输出接至OUT1的输入,其余连线和实验1中
相同。
3)实验代码
CONTROL equ 08003h
COUNT0 equ 08000h
COUNT1 equ 08001h
code segment
assume cs:code
start proc near
mov al, 00110101B
mov dx, CONTROL
out dx, al
mov al, 00h
mov dx, COUNT0
out dx, al
mov al, 10h
out dx, al
mov al, 01110111b
mov dx, CONTROL
out dx, al
mov al, 00h
mov dx, COUNT1
out dx, al
mov al, 40h
out dx, al
start endp
code ends
end start
4)实验步骤
1、在Lab6000p实验箱上完成连接电路;
2、开启计算机电源,开启Lab6000p实验箱电源;
3、启动W A VE6000软件;
4、确认W A VE6000与Lab6000p连接;
5、输入源代码;
6、编译源代码(F9);
7、连续运行程序(Ctrl+F9),按动单脉冲按键观察LED
显示情况。
四、实验结果
1、8253计数实验
在5个脉冲后,LED0灯亮。
2、定时实验
在LED上实现1秒钟亮/1秒钟灭。
五、分析与总结
1、若CS连至地址译码/CS3,程序该如何修改。
答:只需将相应的端口地址修改即可,CS3对应的基地址应为B000h。
2、为什么定时/计数器初值赋4,5个脉冲后LED才亮。
答:这次实验使用8253可编程计数器,在8253的工作方式0下,上升沿时,计数器赋值为4时,OUT引脚变为低电平,
在的上升沿后的下一个时钟脉冲的下降沿时,开始减1计
数。
直到为0时OUT引脚翻转为高电平,在这过程中实
际上共进行了5次计数。