1.実験の目的
数字のデジタル表示の原則をマスターします。
2.実験原理と内容
3つのプログラミングのヒント
4、回路配線図
5、プログラム設計フローチャート
六、いくつかの説明
- 01hがポートCに送信された後、表示されるデータがポートAに送信され、1桁が表示されます。
- 02hがポートCに送信された後、表示されるデータがポートAに送信され、ディスプレイに10の位が表示されます。
- キャリーを判断するために注意を払ってください。
セブン、プログラムソースコード
stack segment stack
db 200 dup(0)
stack ends
data segment
APORT equ 288h
CPORT equ 28ah
CTRL equ 28bh
num db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h, 7fh, 6fh ;0~9
data ends
code segment
assume cs:code,ds:data,ss:stack
delay MACRO
local loop_delay
local flag
push cx
push bx
xor bx, bx
flag:mov cx, 0ffffh
loop_delay:loop loop_delay
inc bx
cmp bx, 10
jnz flag
pop bx
pop cx
ENDM
main: mov ax,data
mov ds,ax
mov ax, stack
mov ss, ax
mov dx, CTRL
mov al, 80h ;写入控制字
out dx, al
xor si, si
xor di, di
loop1:cmp si, 10 ;检查个位是否已经增加到10
jz carry ;进位
mov dx, CPORT
mov al, 02h
out dx, al
mov dx, APORT
mov al, num[di] ;显示十位
out dx, al
delay
mov dx, CPORT
mov al, 01h
out dx, al
mov dx, APORT
mov al, num[si] ;显示个位
out dx, al
inc si ;个位+1
delay
jmp loop1 ;还没有进位个位继续增加
carry:xor si, si ;进位后将个位清零
cmp di, 10 ;十位增加到10就从00重新开始
jz exit
mov dx, CPORT
mov al, 02h
out dx, al
mov dx, APORT
mov al, num[di]
out dx, al
inc di ;十位+1
delay
jmp loop1
exit:xor di, di
jmp loop1
mov ah,4ch
int 21h
code ends
end main