組合語言程式設計例項 序列控制七段數碼管

2021-08-02 00:06:47 字數 1165 閱讀 7485

序列控制七段數碼管  

org 00h

start:

mov 30h,#1 ; 低位七段數碼管ds0顯示資料

mov 31h,#5 ; 高位七段數碼管ds1顯示資料

mov r0,#30h ; r0=30h

mov r1,#40h ; r1=40h

mov r2,#2 ; r2=2

dp10:

mov dptr,#table ; 裝表

mov a,@r0 ; 將r0所指的資料載入a

movc a,@a+dptr ; 取表

mov @r1,a ; 把資料暫時儲存在r1所指的位址中

inc r1 ; r1自增1

inc r0 ; r0自增1

djnz r2,dp10 ; 如果r2不等於0,說明沒有取完兩個段碼,跳回dp10迴圈

mov r0,#40h ; r0=40h,指向剛才儲存段碼的空間

mov r1,#2 ; r1=2,段碼共有2個位元組數

dp11:

mov r2,#8 ; r2=8,每位顯示資料共有8個段碼,r2作計數器 

mov a,@r0 ; 把r0指向的段碼資料載入a

dp12:

rlc a ; 段碼資料向左移動一位

mov p2.0,c ; 序列輸出一位段碼資料

clr p2.1 ; 傳送位移脈衝

setb p2.1 ; 形成上公升沿

djnz r2,dp12 ; 判斷是否輸出8位段碼

inc r0 ; r0自增1

djnz r1,dp11 ; 判斷是否輸出兩個顯示資料

jmp $

table: ;七段數碼管顯示資料表(段碼)

db 40h,79h,24h,30h,19h ;0,1,2,3,4

db 12h,02h,78h,00h,10h ;5,6,7,8,9

end

組合語言程式設計第七章

一 and和or指令 and指令 邏輯與指令,按位進行與運算。通過該指令可以將操作物件的相應位設為0,其他位不變。or指令 邏輯或指令,按位進行或運算。通過該指令可以將操作物件的相應位設為1,其他位不變。二 關於ascii碼 三 以字元形式給出的資料 在匯程式設計序中,用 的形式指明資料是以字元的形...

51 組合語言程式設計 走道燈控制程式

按一下按鍵燈就亮,延時 10s 後自動滅。在亮燈期間再按一下鍵,燈立即就滅。用定時器及中斷實現。提問者採納 2013 12 09 13 47 led equ p3.3 key equ p3.7 org 0000h ljmp start org 000bh ljmp t0 int org 0030h ...

楊季文 80x86組合語言程式設計 例項一

jump macro selector,offsetv db 0eah dw offsetv dw selector endm echoch macro ascii mov ah,2 mov dl,ascii int 21h endm descriptor struc limitl dw 0 bas...