微机原理和接口技术重要实验详细讲解

上传人:xmg****18 文档编号:121234849 上传时间:2020-02-19 格式:DOC 页数:21 大小:66KB
返回 下载 相关 举报
微机原理和接口技术重要实验详细讲解_第1页
第1页 / 共21页
微机原理和接口技术重要实验详细讲解_第2页
第2页 / 共21页
微机原理和接口技术重要实验详细讲解_第3页
第3页 / 共21页
微机原理和接口技术重要实验详细讲解_第4页
第4页 / 共21页
微机原理和接口技术重要实验详细讲解_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《微机原理和接口技术重要实验详细讲解》由会员分享,可在线阅读,更多相关《微机原理和接口技术重要实验详细讲解(21页珍藏版)》请在金锄头文库上搜索。

1、.专业整理.实验三 可编程定时器计数器(8253)一、实验目的 掌握8253的基本工作原理和编程方法。二、实验内容、按图3-1虚线连接电路,将计数器0设置为方式0,计数器初值为N(N0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。 三、编程提示1、8253控制寄存器地址283H计数器0地址280H计数器1地址281HCLK0连接时钟1MHZ;*;* 8253方式0计数器实验 *;*;io8253a equ 283hio8253b equ 280hcode segment assume cs:codestart

2、: mov al,14h ;设置8253通道0为工作方式2,二进制计数 mov dx,io8253a out dx,al mov dx,io8253b ;送计数初值为0FH mov al,0fh out dx,allll: in al,dx ;读计数初值 call disp ;调显示子程序 push dx mov ah,06h mov dl,0ffh int 21h pop dx jz lll mov ah,4ch ;退出 int 21hdisp proc near ;显示子程序 push dx and al,0fh ;首先取低四位 mov dl,al cmp dl,9 ;判断是否=9 jle

3、 num ;若是则为0-9,ASCII码加30H add dl,7 ;否则为A-F,ASCII码加37Hnum: add dl,30h mov ah,02h ;显示 int 21h mov dl,0dh ;加回车符 int 21h mov dl,0ah ;加换行符 int 21h pop dx ret ;子程序返回disp endpcode endsend start实验三 可编程定时器计数器(8253)一、实验目的 掌握8253的基本工作原理和编程方法。二、实验内容1、按图3-2连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1H

4、Z)。 三、编程提示1、8253控制寄存器地址283H计数器0地址280H计数器1地址281HCLK0连接时钟1MHZ;*;* 8253分频 *;*io8253a equ 280hio8253b equ 281hio8253c equ 283hcode segment /声明代码段 assume cs:codestart:mov dx,io8253c ;向8253写控制字 mov dx,283h; mov al,36h ;使0通道为工作方式3 D7D6D5D4D3D2D1D0=00110110,D7D6=00表示计数器0;D5D4=11先读写低8为再读写高8位;D3D2D1=011表示计数器工

5、作方式3;D0=0表示计数器的初值为二进制数 out dx,al /向283h写控制字 mov ax,1000 ;写入循环计数初值1000 mov dx,io8253a out dx,al ;先写入低字节到计数器0地址280H mov al,ah out dx,al ;后写入高字节到计数器0地址280H mov dx,io8253c mov al,76h ;设8253通道1工作方式3 .D7D6D5D4D3D2D1D0=01110110,D7D6=01表示计数器1;D5D4=11 先读写低8为再读写高8位;D3D2D1=011表示计数器工作方式3;D0=0表示计数器的初值为二进制; out d

6、x,al mov ax,1000 ;写入循环计数初值1000 mov dx,io8253b out dx,al ;先写低字节到计数器1地址281H mov al,ah out dx,al ;后写高字节到计数器1地址281H mov ah,4ch ;程序退出 int 21h code endsend start实验四 可编程并行接口(一)(8255方式0)一、实验目的 掌握8255方式0的工作原理及使用方法。二、实验内容、实验电路如图4-1,8255C口接逻辑电平开关K0K7,A口接LED显示电路L0L7。、编程从8255C口输入数据,再从A口输出。 三、编程提示1、8255控制寄存器端口地址2

7、8BHA口的地址288H C口的地址28AH;*;* 8255方式0的C口输入,A口输出 *;*;io8255a equ 288hio8255b equ 28bhio8255c equ 28ahcode segment /定义代码段 assume cs:codestart:mov dx,io8255b ;设8255为C口输入,A口输出 mov dx,28bh/D7=1,D6D5=00(工作方式为 0),D4=0(A出),D2=0,D3=1(C入),D0=1(C入)。 mov al,8bh /D7D6D5D4D3D2D1D0=10001011,D7=1,D6D5=00,D4=0,D3.D0=0,

8、D2=0,D1=1 out dx,al /设8255为C口输入,A口输出 inout: mov dx,io8255c ;c口的地址28AH从C口输入一数据 in al,dx /将al的数给dx mov dx,io8255a ;A口的地址288H从A口输出刚才自C口 out dx,al ;所输入的数据 mov dl,0ffh ;判断是否有按键 mov ah,06h int 21h jz inout ;若无,则继续自C口输入,A口输出 mov ah,4ch ;否则返回 int 21hcode ends end start实验七 竞赛抢答器一、实验目的1、了解微机化竞赛抢答器的基本原理。2、进一步学

9、习使用并行接口。二、实验内容图7-1为竞赛抢答器(模拟)的原理图,逻辑开关K0K7代表竞赛抢答按钮07号,当某个逻辑电平开关置“”时,相当某组抢答按钮按下。在七段数码管上将其组号(07)显示出来,并使微机扬声器响一下。三、编程提示设置8255为C口输入、A口输出,读取C口数据,若为0表示无人抢答,若不为0则有人抢答。根据读取数据可判断其组号。从键盘上按空格键开始下一轮抢答,按其它键程序退出。;*;* 本程序为模拟抢答器 *;*data segment ;定义数据段io8255a equ 28ah ;端口初始化io8255b equ 28bhio8255c equ 288hled db 3fh,

10、06h,5bh,4fh,66h,6dh,7dh,07h ;数码表data endscode segment ;定义代码段 assume cs:code,ds:data ;有了这一句代码 ,程序就知道从ds:data中找到data所定义的内存地址,然后传送给dsstart:mov ax,data ;把data段的段地址送入es中,以便计算物理地址的时候得到正确的段地址。 mov ds,ax mov dx,io8255b ;设8255为A口输出,C口输入 mov ax,89h out dx,al mov bx,offset led ;使BX指向段码管首址sss: mov dx,io8255a ;从

11、8255的C口输入数据 in al,dx or al,al ;比较是否为0 je sss ;若为0,则表明无键按下,转sss mov cl,0ffh ;cl作计数器,初值为-1rr: shr al,1 ;al逻辑 右移一位 inc cl ;cl减一 jnc rr ;如果进位则跳转 mov al,cl ; xlat ;交换。22行到27行应该循环计数 mov dx,io8255c ;从8255的 C 端输出 “个人觉得是初始化” out dx,al mov dl,7 ;响铃 ASCII码为07 mov ah,2 ;输出指令(三条指令一起读) int 21hwai: mov ah,1 ;键盘输入一个数 int 21h cmp al,20h ;是否为空格

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号