1、 mov cx , 0ll: loop lldec bxjne lllretdelay endpcode endsend start实验二 简单并行接口掌握简单并行接口的工作原理及使用方法。二、实验内容1、按下面图 2-2简单并行输入接口电路图连接电路 (74LS244插通用插座, 74LS32用实验台上的 “ 或门 ” 。 74LS244为八缓冲器, 8个数据输入端分别接逻辑电平开关输出 K0K7, 8个数据输出 端分别接数据总线 D0D7。2、 用逻辑电平开关预置某个字母的 ASC 码,编程输入这个 ASC 码, 并将其对应字母在屏幕上 显示出来。三、编程提示1、 上述并行输出接口的地址为
2、 2A8H ,并行输入接口的地址为 2A0H ,通过上述并行接口电路输出 数据需要 3条指令:MOV AL,数据MOV DX,2A8HOUT DX,AL通过上述并行接口输入数据需要 2条指令:MOV DX,2ADHIN AL,DX*;* 简单并行输入实验 *;ls244 equ 2a0hmov dx ,ls244 ; 从 2A0输入一数据in al , dxmov dl , al ; 将所读数据保存在 DL 中mov ah , 02mov dl , 0dh ; 显示回车符mov dl , 0ah ; 显示换行符mov ah , 06; 是否有键按下mov dl , 0ffhjnz exitje
3、 start ; 若无 , 则转 startexit: mov ah , 4ch ; 返回1、按下面图 2-1简单并行输出接口电路图连接线路 (74LS273插通用插座, 74LS32用实验台上的 “ 或门 ” 。 74LS273为八 D 触发器, 8个 D 输入端分别接数据总线 D0D7, 8个 Q 输出端接 LED 显示电 路 L0L7。2、 编程从键盘输入一个字符或数字,将其 ASC 码通过这个输出接口输出, 根据 8个发光二极管 发光情况验证正确性。*;* 简单的并行输出实验 *;ls273 equ 2a8hmov ah , 2; 回车符mov dl , 0dhmov ah , 1;
4、等待键盘输入cmp al , 27; 判断是否为 ESC 键je exit ; 若是则退出mov dx ,ls273 ; 若不是 , 从 2A8H 输出其 ASCII 码jmp start ; 转 start实验三 可编程定时器/计数器(8253掌握 8253的基本工作原理和编程方法。1、按图 3-1虚线连接电路,将计数器 0设置为方式 0,计数器初值为 N(N 0FH ,用手动逐个输 入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察 OUT0电平变化 (当输入 N+1个脉冲 后 OUT0变高电平 。1、 8253控制寄存器地址 283H计数器 0地址 280H计数器 1地址 281HC
5、LK0连接时钟 1MHZ*;* 8253方式 0计数器实验 *;io8253a equ 283hio8253b equ 280h mov al , 14h ; 设置 8253通道 0为工作方式 2, 二进制计数mov dx ,io8253amov dx ,io8253b ; 送计数初值为 0FHmov al , 0fh in al , dx ; 读计数初值call disp ; 调显示子程序push dxmov ah , 06hpop dxjz lllmov ah , 4ch ; 退出disp proc near ; 显示子程序and al , 0fh ; 首先取低四位mov dl , alc
6、mp dl , 9; 判断是否 =9jle num ; 若是则为 0-9,ASCII 码加 30Hadd dl , 7; 否则为 AF,ASCII 码加 37Hnum: add dl , 30hmov ah , 02h ; 显示 加回车符 加换行符ret ; 子程序返回disp endp1、按图 3-2连接电路,将计数器 0、计数器 1分别设置为方式 3,计数初值设为 1000,用逻辑笔观 察 OUT1输出电平的变化 (频率 1HZ 。* 8253分频 *io8253a equ 280hio8253b equ 281hio8253c equ 283hmov dx ,io8253c ; 向 82
7、53写控制字mov al , 36h ; 使 0通道为工作方式 3mov ax , 1000; 写入循环计数初值 1000out dx , al ; 先写入低字节mov al , ah 后写入高字节mov dx ,io8253cmov al , 76h ; 设 8253通道 1工作方式 2mov dx ,io8253b 先写低字节 后写高字节 程序退出掌握 8253的基本工作原理和编程方法,用示波器观察不同方式下的波形。1、按图 3-3连接电路,将计数器 0设置为方式 3(方波,计数器设置为方式 2(分频。2、实现计数器 0的输出为方波,计数器 1的输出是计数器 0输出的分频波形。3、人机交互
8、界面设计:实现在显示屏幕上提示输入计数器 0(方波的参数和计数器 1(分 频信号的参数。如下所示:counter0:_counter1:continue?(y/n_4、 实现用键盘直接输入修改程序中方波的参数和分频信号的参数,以改变方波的宽度,分 频信号的周期和分频数,不需重新修改源代码。5、用示波器观察计数器 0和计数器 1的输出波形及其关系,并在纸上画出 CLK0、 OUT0、 OUT1的波形。* 8253 program *;data segmentmesg0 db 13, 10, * 8253 progam*, 13, 10, $mesg1 db 13, 10, , mesg2 db
9、13, 10, mesg3 db 13, 10, (y/nmesg4 db 13, 10, 13, 10, Thank You!errorm db 13, 10, Input Error!counter0 dw 0counter1 dw 0data endscode,ds :datamain proc farmov dx , seg datamov ds , dxmov dx , offset mesg0mov ah , 09hdo: sub bx , bxsub ax , axmov counter0,0mov counter1,0;initl1:mov dx , offset mesg1r
10、d1 : ;read counter0mov ah , 01;read a charcmp al , 13;if enterje fdone1jmp tdone1fdone1: jmp done1tdone1: cmp al , 10cmp al , if input9 error jb errorja errorpush axmov ax , 10mul counter0mov counter0,ax ;counter0=counter0*10pop axsub bx , bxmov bl , alsub bl , 30hadd counter0,bx ;counter0=counter0+
11、input jmp rd1error :mov dx , offset errormmov dl , 7mov ah , 2jmp done3tr:for jmp domov ah , 02hmov dl , 10mov dl , 13jmp dol2:mov dx , offset mesg2rd2:read counter1 mov ah , 01je fdone2cmp al , 10jmp tdone2fdone2: jmp done2tdone2:jb errormul counter1mov counter1,ax ;counter1=counter1*10sub bl , 30h
12、 ;bh=0add counter1,bx ;counter1=counter1+input jmp rd2done1:jmp l2done2:jmp out8253 ;after enter two counters ; set 8253 and do it done3:mov dx , offset mesg3l3: mov ah , 07hYje tryNje quitnjmp l3out8253:work codemov al , 00110110bmov dx , 283hmov ax ,counter0mov dx , 280hmov al , 01110100bmov ax ,c
13、ounter1mov dx , 281hmov cx , 2801delay: loop delayquit:return to DOSmov dx , offset mesg4mov ah , 9mov ax , 4c00hmain endp实验四 可编程并行接口(一(8255方式 0掌握 8255方式 0的工作原理及使用方法。1、实验电路如图 4-1, 8255C 口接逻辑电平开关 K0K7, A 口接 LED 显示电路 L0L7。2、编程从 8255C 口输入数据,再从 A 口输出。1、 8255控制寄存器端口地址 28BHA 口的地址 288HC 口的地址 28AH* 8255方式 0
14、的 C 口输入 ,A 口输出 *;io8255a equ 288hio8255b equ 28bhio8255c equ 28ah mov dx ,io8255b ; 设 8255为 C 口输入 ,A 口输出mov al , 8bhinout: mov dx ,io8255c ; 从 C 口输入一数据mov dx ,io8255a ; 从 A 口输出刚才自 C 口 所输入的数据mov dl , 0ffh ; 判断是否有按键jz inout ; 若无 , 则继续自 C 口输入 ,A 口输出 否则返回实验四 可编程并行接口(二(8255方式 01、通过实验,掌握 8255工作于方式 0以及设置 A
15、 口为输出口, C 口为输入口的方法。2、掌握 8255三个数据端口与被测 IC 芯片的硬件连接方法。3、通过实验掌握用 8255并行口模拟集成电路测试仪,对集成电路进行逻辑测试的方法。1、按图 4-2连接硬件电路,以测试 3-8译码器 74LS138为例。2、人机交互界面设计:按照集成电路 74LS138芯片的引脚图显示在屏幕上,如下所示:+-+|Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7| | 74LS138 | A B C G1 G2A+G2B |Test Again ?(Y/N8255控制寄存器端口地址 28BHchip db 13, 10db 13, 10db Program t
16、o test the chip of 74LS138, 13, 10 +-+ |Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7| | | | 74LS138 |, 13, 10 db | A B C G1 G2A+G2B | mess db After you have ready,Please press any key !mes2 db (Y/NInA db 0OutC db 0cll db * mov ax ,datamov ds , axagain: call clscall InputBOutput CTRLcode(write to 28Bhmov dx , 28bhmov al
17、, 10001011bOutput In to 288hmov dx , 288hmov al ,InAcall OutputCjmp1: mov ah , 2mov dh , 15mov dl , 20int 10hmov ah , 09lea dx ,mes2je againje exitmov dl , 0lea dx ,clljmp jmp1 mov ah , 4ch* InputB proc nearmov bh , 0mov dx , 0lea dx ,chiplea dx ,messmov ah , 0chmov al , 08hwait1: mov ah , 0Bhcmp al , 0jne wait1mov dh , 12mov dl , 18jmp3: push dxjmp4: mov ah , 71jne jmp2xchg al , dlmov cl , 1
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1