微机原理实验硬件部分

原创 心怀不惧365 微代码人生

微机原理实验硬件部分,仅供参考,18题尚未证实,谨慎查看

11:利用实验箱中的8255并口芯片实现1个发光二极管的闪烁。

code segment

assume cs:code

start:  mov dx,283h

        mov al,80h

        out dx,al

 lop:   mov al,00h

        out dx,al

        call delay

        mov al,01h

        out dx,al

        call delay

        jmp    lop

        mov ah,4ch

        int 21h

delay proc

          mov cx,60000   

lop1:  mov bx,200

lop2:  dec bx

        jnz lop2 

        loop    lop1 

        ret

delay endp

code ends

end start

12:在交通灯实验中请使用8255的C口 按位输出,置1/置0 的功能实现如下现象: 南北路口的绿灯、东西路口的红灯同时亮30秒左右。

code segment

assume cs:code

start:    

    mov dx,283h

    mov al,80h

    out dx,al

    mov al,00001011b

    out dx,al

    mov al,00000101b

    out dx,al

    mov cx,20000

k2:    mov bx,18000

k1:    dec bx

    jnz k1

    loop k2

    mov dx,282h

    mov al,0

    out dx,al

    mov ah,4ch

    int 21h

code ends

end start

13:在交通灯实验中,请使用8255的C口 按位输出,置1/置0 的功能实现如下现象:东西路口的黄灯闪烁5次。

code segment

assume cs:code

start:    mov di,5

    mov dx,283h

    mov al,80h

    out dx,al

    mov al,00000010b

    out dx,al

lop:    mov al,00000011b

    out dx,al

    mov cx,2000

k2:    mov bx,3000

k1:    dec bx

    jnz k1

    loop k2

    mov al,00000010b

    out dx,al

    mov cx,2000

k3:    mov bx,3000

k4:    dec bx

    jnz k4

    loop k3

    dec di

    jnz lop

    mov ah,4ch

    int 21h

code ends

end start

14:利用8255A的PC7产生负脉冲:       

code segment

assume cs:code

start:  mov dx,283h

        mov al,80h

        out dx,al

       mov al,0fh

        out dx,al

        call delay

        mov al,0eh

        out dx,al

        call delay

        mov al,0fh

        out dx,al

        call delay

        mov ah,4ch

        int 21h

delay proc

          mov cx,3000   

lop1:  mov bx,2000

lop2:  dec bx

        jnz lop2 

        loop    lop1 

        ret

delay endp

code ends

end start

15:在使用8个开关控制8个LED的实验中,请利用8255的A口 作为输入端口,C口作为输出端口实现原来的实验现象。

code segment

assume cs:code

start:  mov dx,283h

        mov al,90h

        out dx,al

lop:        mov dx,280h

        in  al,dx

        mov dx,282h

        out dx,al

        mov ah,06h

        mov dl,0ffh

        int 21h

        jz lop

        mov ah,4ch

        int 21h

code ends

end start

16:在交通灯实验中,请使用8255的C口 按位输出,置1/置0 的功能实现如下现象:南北路口的红灯、东西路口的绿灯同时亮30秒左右。

code segment

assume cs:code

start:   

     mov dx,283h

    mov al,80h

    out dx,al

    mov al,00001111b

    out dx,al

    mov al,00000001b

    out dx,al

    mov cx,20000

k2:    mov bx,9000

k1:    dec bx

    jnz k1

    loop k2

    mov ah,4ch

    int 21h

code ends

end start

17:在交通灯实验中,请使用8255的C口 按位输出,置1/置0 的功能实现如下现象:南北路口的黄灯闪烁5次。

code segment

assume cs:code

start:    mov di,5

    mov dx,283h

    mov al,80h

    out dx,al

lop:    mov al,00001101b

    out dx,al

    mov cx,2000

k2:    mov bx,3000

k1:    dec bx

    jnz k1

    loop k2

    mov al,00001100b

    out dx,al

    mov cx,2000

k3:    mov bx,3000

k4:    dec bx

    jnz k4

    loop k3

    dec di

    jnz lop

    mov ah,4ch

    int 21h

code ends

end start

18: 在模/数转换器实验中,实现以下条件下的A/D转换,模拟量的输入通道:IN1;A/D转换器的地址:2B8H;显示结果中不出现大写字母。(此实验未经证实)

code segment

assume cs:code

start:    nop

lop:    mov    dx,280h

    out    dx,al

    mov    cx,0ffh

delay:    loop    delay

    in    al,dx     ;4c

    mov    bl,al

    mov    cl,4

    shr    al,cl    ;04

    call    disp

    mov    al,bl

    and    al,0fh

    call    disp

    mov    dl,20h

    mov    ah,02h

    int    21h

    int    21h

    mov    ah,06h

    mov    dl,0ffh

    int    21h

    jz    lop

    mov    ah,4ch

    int    21h

disp proc

    mov    dl,al

    cmp    dl,9

    jbe    next

    add    dl,27h

next:    add    dl,30h

    mov    ah,02h

    int    21h

    ret

disp endp

code ends

end start

19:利用可编程计数定时器8253A的计数器0和计数器2,输出100Hz的的信号,连接必要的连线,编写初始化程序。上机调试出程序,并将程序记录下来。

code segment

assume cs:code

start:    mov    dx,283h

    mov    al,00010110b       

    out    dx,al

    mov    al,100

    mov    dx,280h

    out    dx,al

    mov     dx,283h

    mov    al,10010110b    

    out    dx,al

    mov    al,100

    mov    dx,282h

    out    dx,al

    mov    ah,4ch

    int    21h

code ends

end start

20:利用可编程计数定时器8253A的计数器1和计数器2,输出50Hz的的信号,连接必要的连线,编写初始化程序。上机调试出程序,并将程序记录下来。

code segment

assume cs:code

start:    mov    dx,283h

    mov    al,01010110b        

    out    dx,al

    mov    al,200

    mov    dx,281h

    out    dx,al

    mov     dx,283h

    mov    al,10010110b       

    out    dx,al

    mov    al,100

    mov    dx,282h

    out    dx,al

    mov     al,ah

    out     dx,al

    mov    ah,4ch

    int    21h

code ends

end start

这世上多一个笑,就少一个人哭。——《煎饼侠》

类似文章