1樓:匿名使用者
iint1: push acc
push psw
push dph
push dpl ;保護 acc、 psw 、 dptr 內容
clr ea ;關中斷
mov a,#40h
mov dptr,#5fffh
movx @dptr,a ;將#40h送5fffh
mov dptr,#5effh
movx a,@dptr
mov 35h,a ;從5effh取資料,送入35h
mov b,#10
subb a,b ;從上數中減去10
jc ddd ;如不夠減轉到標號ddd
clr a ;acc清零
ajmp eee ;跳轉到eee
ddd: mov a,35h ;從35h取數送acc
eee: mov 3eh,3dh ;從3dh取數送3eh
mov 3dh,3ch ;(以下類同,略)
mov 3ch,3bh
mov 3bh,3ah
mov 3ah,39h
mov 39h,a
setb sign ;將sign置1
setb ea ;開中斷
pop dpl
pop dph
pop psw
pop acc ; 恢復acc、 psw 、 dptr 內容
reti ;中斷返回
;*******display***********
disp: mov 55h,dph
mov 56h,dpl ;將dptr內容送55h56h
mov a,#92h
mov dptr,#5fffh
movx @dptr,a ;將#92h送5fffh
mov r4,#06h
mov r0,#39h
bbb: mov dptr,#chart ;取字形表首地址
mov a,@r0
mov b,#09h
subb a,b ;從39h中的數中減去9
jc fff ;不夠減轉fff
clr a ;acc置0
ljmp hhh ;轉hhh
fff: mov a,@r0
hhh: movc a,@a+dptr ;以39h中內容為偏移量取字形碼
mov dptr,#5effh
movx @dptr,a ;送5effh顯示
inc r0 ;指向下一字形
djnz r4,bbb ;沒送完6位,轉bbb
setb ea ;開中斷
mov dph,55h
mov dpl,56h ;恢復dptr
ret ;返回
chart: db 0c0h,0f9h,0a4h,0b0h,99h ;字形表
db 92h,82h,0f8h,80h,90h,88h
db 83h,0c6h,0a1h,86hend
2樓:天天學
會的不多,還在學習階段,push是入棧指令,還有就不說了,建議還是到書本上的去找答案,
微控制器程式解釋,微控制器程式解釋
222222222222222222222222222222222222 cnta equ 30h 定義cnta為暫存器30h count equ 31h 定義count為暫存器31h org 00h 程式開始 ljmp start 開始程式入口 org 0bh 定時器t0中斷程式入口地址,不過最好...
微控制器程式問題,微控制器程式問題
其實現在有部分高階的微控制器都有flash儲存區,不過我們一般是作為儲存程式用的,但其實也可以作為少量的資料區使用。但一般普通的51系列微控制器是不能的,只能外部擴充套件加eeprom,或者flash。只不過現在很多微控制器是內部由eeprom,擴充套件的資料flash,按照晶片的公司提供的data...
微控制器大神請進,51微控制器彙編程式,程式可發至
1 p1口做輸出口,編寫程式,使p1口接的8個發光二極體l1 l8按16進位制加一方式點亮發光二極體。程式如下 org 0540h ha1s mov a,00h a初值為0 ha1s1 jb p3.3,ha1s1 如果p3.3為1則等待 有脈衝變0一次 mov r2,20h r2賦值為20 lcal...