微控制器程式分析題微控制器程式分析題求解答

2021-03-07 07:50:08 字數 2203 閱讀 6174

1樓:匿名使用者

設r0=20h,r1=25h,(20h)=70h,(21h)=80h,(22h)=a0h,(22h)=a0h,(25h)=a0h(26h)=6fh,(27h)=76h,下列程式執行後,

clr c ;cy=0

mov r2,#3 ;r2=03h r2=02h r2=01h

loop:

mov a,@r0 ;a=70h a=80h a=a0h

addc a,@r1 ;cy=1,a=10h cy=0,a=f0h cy=1,a=16h

mov @r0,a ;(20h)=10h (21h)=f0h (22h)=16h

inc r0 ;r0=21h r0=22h r0=23h

inc r1 ;r1=26h r1=27h r1=28h

djnz r2,loop ;

jnc next ;

mov @r0,#01h ; 23h=01h

sjmp $

next: dec r0 ;

sjmp $

結果:(20h)=10h ,(21h)=f0h ,(22h)=16h ,(23h)=01h ,(a)=16h ,(cy)=1 .

分析過程參照註釋

2樓:匿名使用者

知道@的意義不久知道怎麼算了。指標的作用。

3樓:匿名使用者

10h; 3fh; 16h; 01h; 16h; 1;幾句話也說不清

4樓:牟涆單于丹蝶

movro,#20h

;r0=20h

mova,@ro

;a=(20h)=40h

movr1,a

;r1=40h

movb,@r1

;b=(40h)=22h

mov@r1,r1

;(40h)=40h

movp3,p1

;p3=p1=0cfh

綜上,(a)=

40h(b)=

22h(r0)=

20h(r1)=40h

(p1)=

(p3)=

0cfh

(20h)=40h

(22h)=10h

微控制器程式分析題求解答

5樓:

以上程式轉換成c語言如下:

data unsigned char *pr0 =( data unsigned char data *)0x40;

data unsigned char *pr1 =( data unsigned char data *)0x4f;

unsigned char i = 3;

for(i = 3;i>0;i--)

這樣就比較好看清楚了:

即把 地址為40h 的ram裡的內容 賦值給 地址為 4fh 的ram

地址為41h 的ram裡的內容 賦值給 地址為 4eh 的ram地址為42h 的ram裡的內容 賦值給 地址為 4dh 的ram程式就是做這事的,至於為什麼做這事,那要看你的大環境

6樓:匿名使用者

mov r0,# 40h //立即數40送r0mov r1,# 4fh

mov r2,# 03h

loop:mov a,@r0 // 行標 loop:r0內容送amov @r1,a //a內容送r1inc r0 //r0地址+1

dec r1 //r1地址-1djnz r2,loop //r2-1不為「0」程式就跳轉到行標為loop

ret //過程返回

7樓:做而論道

本程式的功能是:

在片內 ram 裡面進行資料傳送。

具體的說,就是:

把的 40h、41h、42h 三個單元中的內容,分別傳送到 4fh、4eh、4dh。

微控制器延遲程式詳解,微控制器延時程式的延時時間怎麼算的?

如果是51,晶振是12m,你的程式可延遲4ms左右。如果一定要用它延遲40ms,那就把晶振換成1m左右的吧!晶振12m時,一條djnz花的時間是2us,mov r5,108h 花的時間是1us ret 花的時間是2us 你算一下它們執行了幾次,把他們花掉的時間加起來,就是延遲時間了。你可以參巧延遲算...

求51微控制器程式,求一個51微控制器程式

需要樓主給出64個不同顏色led的連線圖。手動,也要有電路圖。18b20溫度感測器,當然了。沒有電路,求程式?先求一個電路吧。求個51微控制器程式 10 組合語言可以嗎?org 0000h jmp start org 000bh mov th0,4ch 定時50ms 11.0592mhz djnz ...

微控制器問題,我會寫微控制器程式可是讓我自己設計電路板都不會,什麼電阻選用也不會該怎麼學

那你從最基礎的電工學和數位電路開始學起了,如果這個還難的話,中學的物理可以再回頭看看。看看模電書,再自己做點小玩意 會寫微控制器程式,但是不會設計微控制器電路,該怎麼學 微控制器程式和硬體密切相關,必須兩者都熟悉才行,不象電腦技術,不懂硬體照樣可以在軟體領域內大有作為。要設計微控制器電路,必須有基本...