1樓:
psw:程式方式字暫存器。
第零位:奇偶校驗位p(如果累加器a裡1的個數是單數,p=1,否則p=0)
第一位:f1使用者自定義位1(由使用者自行設定)
第二位:ov溢位位(當帶符號數的運算結果超過-127~128時或無符號數乘積大於255及除數為0時,ov置。
一)第三位rs0第四位rs1是資料暫存器選擇位。
rs0=0,rs1=0時 選擇第0組,r0-r7的地址是00h-07h.
rs0=1,rs1=0時 選擇第1組,r0-r7的地址是08h-0fh.
rs0=0,rs1=1時 選擇第2組,r0-r7的地址是10h-17h.
rs0=1,rs1=1時 選擇第3組,r0-r7的地址是18h-1fh.
第五位:ac半進位位。第三位向第四位有進位或借位時置一,常用於十進位制調整指令或八進位制運算。
第六位:f0使用者自定義。
第七位:cy進位標誌。由進位或借位時置一。
你的程式中:
mov a.#7fh
add a.#47h
結果為a=c6h=11000110b
1有4個,雙數,所以第零位:p=0;
f0=rs1=rs0=f1=0不變;
相加的過程中,第四位向第五位有進位。所以ac=1;
第七位:cy無溢位,所以為0
2樓:譙喜憑爾陽
樓上兩位朋友說的不正確,雖然mov
a這種用法是不可以的,但很多編譯器仍然可以編譯的!
當然,編譯的結果你可以自行分析一下。
你說的不能編譯的關鍵,可以是你的註釋不正確,按照下面的方法處理。
請將註釋前面的冒號「:」全部替換為半形的分號「;」就行了。
以下是為幫你替換好了的程式,而且已經用偉福編譯器編譯通過!
movtmod,#10h
工作方式選擇為一內部脈衝。
setbtr1
將tr1置一。
movth1,#00h
初始值。mov
a,tf1;定時間到溢位放到阿中。
a放到皮一點零中去。
ret;迴圈。
end;完。
關於微控制器程式狀態字的問題
3樓:做而論道
如果(a)=7ah,psw是不可能等於80h的,其末位數p,一定是1,所以psw不可能是偶數。
按照給定條件,執行了subb指令後:
a)=d4h,cy=1,ac=0,ov=1。
計算機按照二進位制的規則進行計算,d4h,就是7ah-a5h-1的結果。
至於結果是「無」符號數,還是「有」符號數,是「正」,是「負」,人類的解釋是多種多樣的。
關於微控制器程式狀態字psw的問題
怎麼使用微控制器程式狀態字中的第一位p
4樓:匿名使用者
有本課程叫「數位電路」的不知道你有沒有學過,應該是靠內部的邏輯電路,和數字時鐘,形成脈衝,來執行的。具體的你只有看數位電路,和類比電路才會明白。
5樓:網友
累加器8位值中1的個數是偶數p=0,否則=1
51微控制器 為什麼執行增1指令後不影響程式狀態字中的標誌位
6樓:匿名使用者
inc指令不影響程式狀橡指態字中的標誌位,沒有為什麼,微控制器發明悄如衫者規定的,要是練習編啟腔程的話,記住就可以了。
7樓:匿名使用者
你需要看哪個狀態位呢,一般沒有超過256的話就不會出現溢位。進位看你定義的變數型別的。
程式狀態字psw與微控制器的哪些操作有關
8樓:匿名使用者
你所說的微控制器是指51核心的微控制器麼?如果是,則與位元組進/退位(cy),半位元組進/退位(ac),暫存器組選擇(rs0,rs1),運算結果溢位(ov),運算結果奇偶個數(p)有關,另外,還有psw第五位,不同型號的微控制器對此有不同定義。
關於微控制器的幾個問題!
9樓:
這個很複雜 一言難盡 可以找個微機原理資料看看 若找不到 再聯絡我。
希望能幫到你。
10樓:網友
這些東西說也說不好,建議你去隨便買本書,上面都有介紹~筆你在這裡找答案好多了。
11樓:匿名使用者
給500分,看有人給你弄不。
12樓:匿名使用者
你這幾個問題夠寫一本書啦。
微控制器程式問題 50
13樓:匿名使用者
mov psw ,#00h;這句是對特殊暫存器psw初始化,也就是送00h到這個暫存器了,這個暫存器中八位由高到低分別是cy(進位標誌),ac(輔助進位標誌),f0(使用者標誌位),rs1,rs0(這兩為當前工作暫存器組選擇位),ov(溢位標誌位),-空),p(就標誌位,存與acc中的運算結果由奇數個1時為1,否則為0)
mov 21h,#58h;把立即數58h送入21h單元,mov 11h,#85h;同上一句。
clr 0bh,;你這句時錯誤語句,clr運算元不能為地址單元!!!
mov r1,21h;將21h單元數值2送入暫存器r1中setb rs1;rs至1選擇當前暫存器組狀態mov a,r1;將暫存器r1中的資料送入累加器a中執行結果為。
21h單元中值為58h
11h單元中值為85h
r1中值為58h
rs1為1累加器a中的值為58h
如果由什麼疑問可以繼續交流!!
14樓:匿名使用者
rs1是暫存器區選擇控制位,和rs0一起選擇當前工作暫存器區,你是想把58h這個資料送到累加器吧,但是。
setb rs1改變了當前的工作暫存器區,mov a,r1中的r1是第二區的r1,資料是不確定的,因此mov a,r1累加器得到的也是一個不確定的值。
15樓:牛頓斯坦
mov psw ,#00h ;程式狀態字暫存器清零mov 21h,#58h ;把58h這個立即數放入地址為21h的儲存單元。
mov 11h,#85h ;同上。
clr 0bh ;將0bh這個儲存單元內的數值清零;
mov r1,21h ;將58h這個數放入r1中setb rs1 ;rs1是什麼???不知道。setb是置位。
mov a,r1 ;再把r1裡面的東西放到累加器不知道你要什麼結果?
16樓:東方玉花弘胭
源程式發出來吧。。。
學這些技術去凡窩技術論壇看看吧。。
有很多教程和工具。
都很安全。樓主去哦。。
關於微控制器的考試問題
17樓:匿名使用者
30、序列 31、cy(進借位位) 32、序列資料傳送 33、迴圈34、pop direct 35、reti 36、立即數定址 37、暫存器間接定址 38、t0(th0\tl0) 39、here:jnb tf0/tf1 here 41、沒有16位的定時器,不過有一個可以當做16位的定時器用位元組(其中00~7f用於ram,80~ff用於特殊更能暫存器~7f區間內位 45、movc 46、定時中斷或外部中斷 47、p^11 49、dptr 50、ea\esa8h-24h-1 53、 54、ac或cy 55、**這不太清楚是什麼方法,不過你開啟軟體我可以告訴你在哪可以觀察到 56、ajmp57、終端的入口地址 58、程式自動完成的吧 21、sp指向07h、pc為00h、i/o口內容為1 59、模式2(自動重灌載8位)60、第二區(08~0f)
關於微控制器,關於微控制器的
對呀,這個問題確實不好解釋.不過我以mcs 51系列的微控制器為例為你解答吧 mov 就是內部儲存器間的傳送指令 例如 mov a ro movx 就是外部儲存器向內部傳送的指令 例如 movx a 2001h movc 就是程式儲存器間傳送指令 還有 add加法指令 dec減一指令 muc乘法指令...
關於微控制器中的jc指令,關於微控制器中的JC指令
閣下首先搞清楚cjne a,25,1的含義,它的含義有三點 1.當a等於25時,執行下一句 2.當a不等版於25時,跳轉到權ne1語句執行 3.要注意當a不等於25時,a必定大於25或者小於25,如果a小於25,則不僅要跳轉到ne1執行,還要給cy標誌位置一,如果a大於25,則僅僅要跳轉到ne1執行...
關於微控制器io口的高阻態問題,51微控制器的IO口怎麼設為高阻態
輸出沒有高阻態,輸入有,輸出是推輓 上拉,不要搞錯了 高阻態意味著從外部看,電阻很大,近於懸空 51微控制器的i o口怎麼設為高阻態 普通51微控制器的io口無法設定為高阻態。stc微控制器可以設定為高阻態,通過改變pnm0和pnm1的值來設定其狀態。當pnm1 pnm0 10時對應的io即為高祖態...