微机原理实验(DOC)_第1页
微机原理实验(DOC)_第2页
免费预览已结束,剩余11页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章 微机实验部分(汇编)实验一I/O地址译码一、实验目的掌握I/O地址译码电路的工作原理。二、实验原理和内容实验电路如图1-1所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。译码输出端Y0Y7在实验台上“I/O地址“输出端引出,每个 输出端包含8个地址,YO:280H287H, Y1:288H28FH,当CPU执行I/O指令且地址在280H2BFH范围内,译码器选中,必有一根译码线输出负脉冲。例如:执行下面两条指令MOV DX,2A0HOUT DX,AL(或IN AL,DXY4输出一个负脉冲,执行下面两条指令MOV DX,2A8HO

2、UT DX,AL(或IN AL,DXY5输出一个负脉冲。三、编程提示1、实验电路中D触发器CLK端输入脉冲时,上升沿使Q端输出高电平L7发光,CD端加低电 平L7灭。12、参考程序:YMQ.ASMioportequ 0cc00h-0280houtportlequ ioport+2a0houtport2equ ioport+2a8hcode segme ntassume cs:codesta比mov dx,outport1out dx,alcall delay ;调延时子程序mov dx,outport2out dx,alcall delay ;调延时子程序mov ah,1int 16hje s

3、tartmov ah,4chint 21hdelay proc n ear;延时子程序mov bx,2000lll: mov cx,0ll: loop lldec bxjne川retdelay endpcode endsend start实验二简单并行接口、实验目的掌握简单并行接口的工作原理及使用方法。2、实验内容1、按下面图2-1简单并行输出接口电路图连接线路(74LS273插通用插座,74LS32用实验 台上的“或门”)。74LS273为八D触发器,8个输入端分别接数据总线DOD7, 8个Q俞出端接LED显示电路L0L7。2、 编程从键盘输入一个字符或数字,将其ASCH码通过这个输出接口输

4、出,根据8个发光二极管发光情况验证正确性。3、按下面图2-2简单并行输入接口电路图连接电路(74LS244插通用插座,74LS32用实验 台上的“或门”)。74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关输出K0K7,8个数据输出端分别接数据总线DOD7。4、 用逻辑电平开关预置某个字母的ASCH码,编程输入这个ASCH码,并将其对应字母在 屏幕上显示出来。予II4174LS273 st74-S2442小图2-22A8H并行输入接口的地址为2A0H,通过上述并行接口电OUT DX,AL通过上述并行接口输入数据需要2条指令:MOV DX,2ADHIN AL,DX2、参考流程图0123

5、4567DDDD DDDD8642?c1234 Y V V V123 4 V Y VUT 2222a OSQN灼1-234 123 4 A A A-AmaaaGG nil 2222 210-123456712 3-456-78 QQQQQQQQ丄一RLc3.-斗7S:1m:1斗:1;111OOA12345S7SLDDDDDDODCT.iLYSASH* * nra2A0H* FOR图2-1三、编程提示1、上述并行输出接口的地址为 路输出数据需要3条指令:MOV AL,数据MOV DX,2A8H33、参考程序1: E273.ASMioportequ 0cc00h-0280hIs273equ iop

6、ort+2a8hcode segme ntassume cs:codesta比mov ah,2 ;回车符mov dl,Odhint 21hmov ah,1;等待键盘输入int 21hcmp al,27;判断是否为ES(键je exit ;若是则退出mov dx,ls273 ;若不是,从2A8H俞出其ASCII码out dx,aljmp start ;转startexit: mov ah,4ch ;返回int 21h code ends end start4、参考程序2: E244.ASMioportequ 0cc00h-0280hIs244equ ioport+2a0hcode segme n

7、tassume cs:codesta rt:mov dx,ls244 ;从2A0输入一数据in al,dxmov dl,al ;将所读数据保存在DL中开始等待键盘输入从端口 2A8H输出其AS (码结束图2-3参考程序1开始图2-4参考程序24mov ah,02int 21hmov dl,Odhint 21hmov dl,0ahint 21h movah,06 movdl,0ffh int 21h jnzexit je start exit:mov ah,4chint 21hcode ends endstart显示回车符显示换行符是否有键按下若无,则转start返回实验三可编程定时器/计数器(

8、8253)、实验目的掌握8253的基本工作原理和编程方法。、实验内容1、按图3-1虚线连接电路,将计数器0设置为方式0,计数器初值为逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察(当输入N+1个脉冲后OUT变高电平)。U5 8253N(NWOFH),用手动OUT电平变化r11CLKO91!+5V280H21CSGATE(11-一OUT010图3-12、按图3-2连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用 逻辑笔观察OUT输出电平的变化(频率1HZ)。0R2+5V R35三、编程提示1、8253控制寄存器地址283H计数器0地址280H计数器1地址28

9、1HCLK0连接时钟1MHZ2、参考流程图(见图3-3、图3-4):图3-33、参考程序1: E8253_1.ASM ioportequ 0cc00h-0280hio8253aequ ioport+283hio8253bequ ioport+280hcode segme ntassume cs:code start: moval,14h;设置8253通道0为工作方式2,二进制计数mov dx,io8253aout dx,al280H21CSU5 82530UT1CLK014151-10I:1191+5V1MHZ图3-213GATECLK1+5V图3-46mov dx,io8253bmov al

10、,0fhout dx,alIII: in al,dx ; calldisp push dx movah,06h mov dl,0ffhint 21h pop dx jz川mov ah,4ch int 21hdisp proc n earpush dx and al,0fhmov dl,al cmp dl,9jle num add dl,7num: add dl,30hmov ah,02h int 21hmov dl,0dh int 21hmov dl,0ah int 21hpop dx ret;disp endp codeends读计数初值调显示子程序退出显示子程序首先取低四位判断是否=9若是

11、则为O-9,ASCII否则为A-F,ASCII显示加回车符加换行符子程序返回end start4、参考程序2: E8253 2.ASMioportequ 0cc00h-0280hio8253aequ ioport+280hio8253bequ ioport+281hio8253cequ ioport+283hcode segme ntassume cs:code送计数初值为OFH码加30H码加37H7向8253写控制字使0通道为工作方式3写入循环计数初值1000先写入低字节后写入高字节设8253通道1工作方式2写入循环计数初值1000先写低字节后写高字节程序退出实验四可编程并行接口(一)(82

12、55方式0)、实验目的掌握8255方式0的工作原理及使用方法。、实验内容1、实验电路如图4-1,8255C口接逻辑电平开关K0K7,A口接LE显示电路L0L7。2、编程从8255C口输入数据,再从A口输出。end startPA0PA1PA2PA3PA4PA5PA6PA7288H *CSL0L1L2L3L4L5L6L7U18 8255start:mov dx,io8253cmov al,36h ; outdx,al movax,1000 movdx,io8253a outdx,al;mov al,ah outdx,al;mov dx,io8253cmov al,76h ; outdx,al m

13、ovax,1000 movdx,io8253b outdx,al;mov al,ah outdx,al;mov ah,4ch int21h code ends8图4-1图4-2三、编程提示1、8255控制寄存器端口地址A口的地址C口的地址2、参考流程图(见图4-2):3、参考程序:E8255.ASM ioportequ 0cc00h-0280hio8255aequ ioport+288hio8255bequ ioport+28bhio8255cequ ioport+28ahcode segme ntassume cs:codestart: mov dx,io8255b ;mov al,8bho

14、ut dx,alino ut: mov dx,io8255c;in al,dxmov dx,io8255a;out dx,al;mov dl,0ffh;mov ah,06hint 21hjz inout;mov ah,4ch;int 21hcode ends28BH288H28AH设8255为C口输入,A口输出从C口输入一数据从A口输出刚才自C口所输入的数据判断是否有按键若无,则继续自C口输入,A口输出 否则返回end start实验五七段数码管、实验目的掌握数码管显示数字的原理、实验内容1、静态显示:按图5-1连接好电路,将8255的A口PA0-PA6分别与七段数码管的段码驱动 输入端ag相

15、连,位码驱动输入端S1接+5V(选中),S0 dp接地(关闭)。编程从键910盘输入一位十进制数子(09),在七段数码管上显示出来。g f e d c b a si s0 dp g f* r r fTT T 1Ti rI-thI-IIII piii巳iiRFFii|iII1I1IIE E EI:I I;I I1 t I i t t+5VJ XX t tU11 8255亠288H图5-1三、编程提示CSPC0 PC.288H图5-21、实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平 管亮,位码加反相驱动器,位码输入端高电平选中。2、七段数码管的字型代码表如下表:,选中的数码显示字

16、形gefdcba段码001111113fh1000011006h210110115bh310011114fh4110011066h511011016dh611111017dh7000011107h811111117fh911011116fhLED1LED2114、参考程序1: LED1.ASMdata segme ntioportequ 0cc00h-0280hio8255aequ ioport+288hio8255bequ ioport+28bhled db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fhmesg1 db 0dh,0ah,l nput a num (0-9),other key is exit:,0dh,0ah,$ dataends code segme ntassume cs:code,ds:datastart: mov ax,datamov ds,axmov dx,io8255b ;使8255的A口为输出方式mov ax,80hout dx,alsss: mov dx,offset mesgl ;显示提示信息mov ah

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论