微控制器程式註釋

2021-03-04 08:09:16 字數 2240 閱讀 3094

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...