微控制器加法指令,51微控制器的加法指令到底怎麼加啊,例如12A4H 0FE7H

2021-12-21 17:32:00 字數 5707 閱讀 2029

1樓:匿名使用者

一、1、微控制器全稱單片微型計算機,就是將cpu、儲存器、i/o口等整合在乙個晶元內

2、設定工作模式,設定是否開中斷,置入計數初值

3、p3.0,rxd(序列輸入)

p3.1,txd(序列輸出)

p3.2,/int0(外部中斷0)

p3.3,/int1(外部中斷1)

p3.4,t0(定時器0外部輸入)

p3.5,t1(定時器1外部輸入)

p3.6,/wr(外部資料儲存器寫選)

p3.7,/rd(外部資料儲存器讀選)

4、smod(模式控制暫存器),tcon(定時器控制暫存器),ie(中斷控制暫存器)

5、定址方式就是尋找運算元或運算元位址的方式,mcs-51微控制器有七種定址方式:立即數定址,直接定址,間接定址,暫存器定址,暫存器間接定址,變址定址,相對定址

6、8051有五個中斷源:外部中斷0、t0溢位中斷、外部中斷1、t1溢位中斷、串列埠中斷;其對應的入口位址分別為:0003h,000bh,0013h,001bh,0023h

7、書上講的應該是有21個特殊功能暫存器,psw的狀態標誌位從第7位到第0位分別為:cy(借位或者進製標誌位)、ac(輔助進製標誌位也叫半進製標誌位)、f0(由使用者來定義)、rs1、rs0(這兩位合起來定義微控制器選用四組通用暫存器中的哪一組)、ov(溢位標誌位)、未用、p(奇偶校驗位)

8、定時器/計數器有2種工作方式:定時方式和計數方式,定時方式時乙個時鐘週期定時器加1,計數方式時時鐘脈衝為外部訊號(引腳p3.4或者p3.

5),如果你問的是工作『模式』的話自己網上查一下,很容易找

二、5、9、10是對的,其它是錯的

三、1、sp)=41h,(dptr)=3412

2、(sp)=40h,(dptr)=3412

3、(sp)=41h,(dptr)=3413

4、(a)=0fah,(b)=03h

5、(30h)=0eh

6、這個題目有錯誤,250後面不應該有h吧

沒有的話應該是:約2.5ms 自己再算算

四、1.將片外ram 8000h單元的內容傳送到片內ram 20h單元。

mov dptr,#8000h

movx a,@dptr

mov 20h,a

2.將片外ram 4000h單元的內容傳送到片內ram 20h單元。

mov dptr,#4000h

movx a,@dptr

mov 20h,a

3.將片內ram 50h單元與51h單元的內容交換

mov a,50h

mov b,51h

xch a,b

mov 50h,a

mov 51h,b

4.將片內ram 20h單元的內容傳送到a中

mov a,20h

5.將片內ram 60h單元的內容傳送到a中

mov a,60h

6. 使累加器a的內容高四位取反,低四位清零

cpl a

anl a,#f0h

7. 使累加器a的內容最四位置1,低四位清零,其餘位保持不變。

是最高位置1嗎??是的話

orl a,#80h

anl a,#f0h

8.分別用指令實現下列各小題的要求:

1) t0開中斷(允許中斷),其餘禁止中斷

mov ie,#82h

2) t1、序列口開中斷(允許中斷),其餘禁止中斷

mov ie,#92h

3) 全部開中斷

mov ie #ffh

4) 全部禁止中斷

clr ie

五、計數初值=65536-(50ms/1us)=15535=3cafh

2樓:電工小弟

假定(a)=85h (r0)=20h (20h)=oafh。執行指令 add a, @ro 後,累加器a的內容為(0x34 ),cy的內容為(1 ),ac的內容為(1 ),ac的內容為( 1),0v的內容為(1 )。

我的回答都是以8位微控制器為準。這個指令功能就是取單元20h的值afh與85h相加,

結果本來應該是134h,沒辦法,8位嘛,所以:

cy:進製標誌位;

當cy=1時,表示操作結果最高位(位7)有進製或借位。

cy=0時,表示操作結果最高位(位7)沒有進製或借位。

(最高位有進製,cy=1)

ac:半進製標誌位;

該位表示當進行加法或減法運算時,低半位元組向高半位元組是否有進製或借位;

當ac=1時,表示低半位元組向高半位元組有進製或借位;

ac=0時,表示低半位元組向高半位元組沒有進製或借位;

(低半位元組f+5=14,有進製,ac=1)ov:溢位標誌位,

該位表示在進行有符號數的加減法時是否發生溢位;

當0v=1時,表示有符號數運算結果發生了溢位,ov=0時,表示有符號數運算結果沒有溢位。

(超出8位,果斷溢位)

3樓:匿名使用者

a=0aeh+81h+1,

16進製制數加法,低四位=e+1+1=16=10h,保留0,向高四位進1,所以ac=1

高四位=a+8+1=19=13h,保留3,進製標誌位cy=1,所以a=30h

4樓:

上課不聽講,要打屁股……

0aeh + 81h + 01h = 130h,由於累加器a只有8位,所以超過8位的部分會被自動丟棄,因此結果a=30h。

基本計算你可以列豎式計算……跟十進位制無本質不同……最低位:e+1+1 = 10h,結果是0,進1次高位:a+8+0+1 = 13h,結果是3,進1所以加起來是130h。

十六進製制基本計算要多練習,像十進位制一樣熟練……

5樓:

a,30h是將30h記憶體中數加a放到a的儲存單元。84h+8dh,d是13,加4為17,0到15即0到f這16個數,結果為1,進製標誌c為有效,然後加進8+8+c=17,還是保留1並進製,所以最後是11h。psw是微控制器內部標誌暫存器,是微控制器執行必不可少的基本運算基礎,cy是進製標誌,是位元組內的,如第乙個進製,ac是輔助進製,位元組間的,第二個進製就是。

ov是溢位,這裡結果大於ffh必定溢位,p那個忘了…我在床上呢不好查,不好意思,希望能幫到一些

6樓:於無聲處

分帶進製加法指令和不帶進製加法指令

1、不帶進製加法指令

(1)add a,rn

指令名稱:暫存器加法指令

指令**:28h~2fh

指令功能:累加器內容與暫存器內容相加 操作內容:a←(a)+(rn), n=0~7 位元組數: 1

機器週期:1

影響標誌位:c,ac,ov

(2)add a,direct

指令名稱:直接定址加法指令

指令**:25h

指令功能:累加器內容與內部ram單元或專用暫存器內容相加操作內容:a←(a)+(direct) 位元組數: 2機器週期:1

影響標誌位:c,ac,ov

(3)add a,@ri 』

指令名稱:間接定址加法指令

指令**:26h~27h

指令功能:累加器內容與內部ram低128單元內容相加操作內容:a←(a)+((ri)), i=0,1 位元組數: 1機器週期:1

影響標誌位:c,ac,ov

(4)add a,#data

指令名稱:立即數加法指令

指令**:24h

指令功能:累加器內容與立即數相加

操作內容:a←(a)+data 位元組數: 2機器週期:1

影響標誌位:c,ac,ov

2、帶進製加法指令

(1)addc a,rn

指令名稱:暫存器帶進製加法指令

指令**:38h~3fh

指令功能:累加器內容、暫存器內容和進製位相加 操作內容:a←(a)+(rn)+(c), n=0~7 位元組數: 1

機器週期:1

影響標誌位:c,ac,ov

(2)addc a,direct

指令名稱:直接定址帶進製加法指令

指令**:35h

指令功能:累加器內容、內部ram低128單元或專用暫存器內容與進製位加

操作內容:a←(a)+(direct)+(c) 位元組數: 2機器週期:1

影響標誌位:c,ac,ov

(3)addc a,@ri

指令名稱:間接定址帶進製加法指令 指令**:36h~37h指令功能:

累加器內容, 內部ram低128單元內容及進製位相加操作內容:a←(a)+((ri))+(c), i=0,1 位元組數: 1

機器週期:1

影響標誌位:c,ac,ov

(4)addc a,#data

指令名稱:立即數帶進製加法指令

指令**:34h

指令功能:累加器內容、立即數及進製位相加

操作內容:a←(a)+data+(c) 位元組數: 2機器週期:1

影響標誌位:c,ac,ov

51微控制器的加法指令到底怎麼加啊,例如12a4h+0fe7h

7樓:匿名使用者

不僅僅du51微控制器,所有計算

8樓:

先加低位元組,如果有進製,就把進製加到高位元組,再把高位元組相加。

9樓:は笑看紅塵

51微控制器語言有專門的加法指令add(不帶進製加)和addc(帶進製加),不過這個例子佔位元組太長,需要分多次加

10樓:胖大海君

嘿嘿 還是俺來幫你

bai答吧 請選擇

du正確答案

zhi假設將結果儲存在dao30h和31h單元add2: mov a,內#0a4hadd a,#0e7h

mov 30h, a

mov a,#12h

addc a,#·0fh

mov 31h,a

ret呵呵 請選擇正確答案阿容

微控制器加法指令只怎麼執行的

11樓:

a,30h是將30h記憶體中數加a放到a的儲存單元。84h+8dh,d是13,加4為17,0到15即0到f這16個數,結果為1,進製標誌c為有效,然後加進8+8+c=17,還是保留1並進製,所以最後是11h。psw是微控制器內部標誌暫存器,是微控制器執行必不可少的基本運算基礎,cy是進製標誌,是位元組內的,如第乙個進製,ac是輔助進製,位元組間的,第二個進製就是。

ov是溢位,這裡結果大於ffh必定溢位,p那個忘了…我在床上呢不好查,不好意思,希望能幫到一些

12樓:匿名使用者

psw是程式狀態暫存器

它的不同位包含了程式狀態的不同資訊

d7 d6 d5 d4 d3 d2 d1 d0cy ac f0 rs1 rs0 ov - pcy 最高位的進製標誌位

ac 低4 位向高4 位進製或借位,置1

f0 使用者使用的乙個狀態標誌位 可以軟體置1 或清0 ,控制程式的流向。比如按鍵按下,f0軟體置1 ,程式 可以根據f0的1或0 ,判斷鍵是否按下

rs1、rs0 根據 0 1 的4 種組合選擇4 個工作暫存器區ov 溢位標誌位 。就是d7進製d6無進製或d7無進製d6進製(以上都包括或借位)時置1,否則置0

p 奇偶校驗位 每個指令週期都 由硬體置1或清0 ,表示累加器a中為1 的位數的奇偶數,奇為1,偶為0

這樣,你就可以知道psw怎麼得來的了

微控制器加法指令只怎麼執行的,51微控制器的加法指令到底怎麼加啊,例如12A4H 0FE7H

a,30h是將30h記憶體中數加a放到a的儲存單元。84h 8dh,d是13,加4為17,0到15即0到f這16個數,結果為1,進位標誌c為有效,然後加進8 8 c 17,還是保留1並進位,所以最後是11h。psw是微控制器內部標誌暫存器,是微控制器執行必不可少的基本運算基礎,cy是進位標誌,是位元...

51微控制器是如何產生PWM波的,51微控制器是如何產生PWM波的。。用定時器中斷如何實現

主要通bai過乙個定時器和乙個io口來實現dupwm的輸zhi出。在乙個週期裡 dao面,首先讓io口輸出高電版平,並定時一定的時間然後再權將io口輸出低電平,定時一定的時間。然後在while裡面迴圈輸出即可。需要改變占空比的話就改變高電平的時間與低電平的時間比。設定相應程式,控制相應頻率,輸出高低...

微控制器指令SJMP小問題,微控制器的一條指令 SJMP 是啥意思

指令存放在2個單元裡,那是因為這個指令佔2個位元組,乙個指令位元組,乙個跳轉偏移。它告訴你這個指令存在什麼地方,是因為sjmp的執行的是相對跳轉,也就是從這個當前位址向前後向後跳多少個位元組。sjmp rel8 執行的操作如下 pc pc 2 這是sjmp這條指令所占用的空間pc rel8 所以當執...