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 所以當執...