導航:首頁 > 操作系統 > 單片機讀程序題

單片機讀程序題

發布時間:2023-02-05 23:32:05

Ⅰ 一道單片機編程

現假定左邊是地址,右邊的是內容
1.它的功能是以50H為首地址,個數為0AH個的RAM全部清零

2.機器碼
7A 0A··········MOV R2,#0AH
mov rn的機器碼是01111xxx,其中xxx由Rn的地址來決定,相應地,R0~R7二進制地址為000~111
那麼R2就是010,後面的數據就跟著mov rn的機器碼後面

7850··········MOV R0,#50H
E4 ···········CLR A;
機器碼固定
F6 ·········LOOP:MOV @R0,A

mov @rn,a機器碼為1111011n
n就是Rn的n
所以間接寄存器定址只能是R1或R0

08 ············INC R0
inc rn機器碼為00001xxx
xxx同理為Rn的物理地址

DA__ ···········DJNZ R2,LOOP
djnz rn機器碼11011xxx
xxx同理為RN的物理地址
loop為8位地址標號
機器碼是以loop為首的第一個指令離loop的單元數
所以djnz r2,loop的loop不能放在此後超過255位元組的程序空間單元
題中loop:後面跟有MOV @R0,A佔1個內部ram單元,INC R0佔1個內部ram單元,DJNZ R2佔1個內部ram單元(由機器碼可得),所以255-3=252=FCH
即機器碼為DAFC

···········DONE:

3.對於第三個問題,樓上的方法有誤
,R0和R2有可能在00H~A0H
而且你只是把0~10放入50H~5AH單元
所以可以這樣
SETB RS1
SETB RS0;R0工作在18H單元
MOV A,#50H
MOV R2,#10
MOV R0,#0
LOOP:
MOV @R0,A
INC A
INC R0
DJNZ R2,LOOP

經模擬無誤

Ⅱ 單片機問題

我將答案都放到題目中去了,方便你查看。

三、讀程序題:(每空5分,共20分)
1、寫出下列程序段執行的結果:
MOV A,#90H
MOV R0,#20H
MOV @R0,A
ANL A, #0F0H
ORL A, #70H
XRL A, @R0
(A)=__60H______;(R0)= 20H ;(20H)=__90H________;
2、 寫出下列程序段執行的結果:
MOV A,#20H
MOV DPTR,#2020H
MOVX @DPTR,A
MOV A,#50H
MOVX @DPTR,A
(2020H)= 50H ,(A)= 50H
3、寫出下列程序段執行的結果:
MOV A, #36H
MOV R2, #45H
MOV 40H, #2CH
MOV R0, #40H
ADD A, R2
ADDC A,@R0
ADDC A, 40H
A= D3H
4、寫出下列程序段執行的結果:
MOV A,#02H
MOV B,#30H
MUL AB
DIV AB
ADD A,B
A= 60H
5、寫出下列程序段執行的結果:
MOV A,#0F7H
CPL A
ANL 30H,#0FFH
ORL 30H,#79H
XRL 30H,A
(30H)= 71H
根據所描述的實驗現象將程序補充完整:P1口的八個燈右移循環點亮,用單次脈沖申請中斷,按下脈沖源後8個燈全部閃爍8次後繼續往右循環點亮。
ORG 0000H
LJMP START
__ORG 0003H___________;設置外部中斷1的入口地址
LJMP INTP
ORG 0030H
START: MOV SP,#60H
_SETB EA____________;設置中斷總允許
SETB EX1
_SETB IT0______________;設置觸發方式為低電平觸發
MOV A,#0FEH
LOOP: MOV P1,A
LCALL DELAY
__RL A___________;實現將8個燈右移循環點亮
LJMP LOOP
INTP: PUSH ACC
PUSH PSW
PUSH P1
CLR RS1
SETB RS0
MOV R1,#8
LOP: MOV P1,#00H
LCALL DELAY
MOV P1,#0FFH
LCALL DELAY
__DJNZ R1,LOP_______________; 控制8個燈全部閃爍8次
POP P1
POP PSW
POP ACC
RETI
DELAY: ……;延時程序省略
RET
END
六、設單片機的時鍾頻率為12MHz,用定時器T1定時方法,在P1.0產生頻率為20KHz等寬矩形波,選擇工作方式2編程實現,根據提示將程序補充完整。
程序:
ORG 0000H
LJMP START
ORG 001BH
LJMP TIME1
ORG 0100H
START:
MOV TMOD,#20H ;設置TMOD
MOV TH1, #0CEH ;設置計數初值.50
MOV TL1, #0CEH

SETB EA
SETB ET1
SETB TR1 ;啟動定時器T1運行
$:SJMP $
TIME1: ;產生矩形波
CPL P1.0
RETI
END
六、以定時器1進行外部事件計數,每計數150個脈沖後,從P1.1輸出高電平並保持1s,如此循環不止。設晶振頻率為12MHz,試用模式2編程。根據提示將程序補充完整。
程序:
ORG 0000H
LJMP START
ORG 001BH
LJMP T1FW
ORG 0100H
START:___MOV TMOD,#60H_____________________;設置TMOD
____MOV TH1,_#6AH______________;設初值,要求每計150個脈沖產生溢出
____ MOV TH1,_#6AH _______________;設初值,要求每計150個脈沖產生溢出
SETB EA
SETB ET1
__SETB TR1___________;啟動定時
SJMP $
T1FW:__SETB P1.1_____________;從P1.1輸出高電平;
……;省略延時程序段
RETI
END
問題補充:
圖片上也要做 做好給500分 加油啊

1: CLR PX0 ;中斷0設置為低中斷優先順序
CLR PX1 ;中斷1設置為低中斷優先順序
CLR IT0 ;中斷0設置為電平觸發
CLR IT1 ;中斷1設置為電平觸發
2:
SETB PT1 ;T1高優先順序中斷
CLR PS ;串列口低優先順序中斷
3:
51的中斷優先順序只有兩級,如果都處於同一級時,優先順序是/INT0→T0→/INT1→T1→串口
所以要通過設置,實現上面的順序是不可行的。
如果要實現:T0→T1→串口→/INT0→/INT1則是可以的。
程序如下:
SETB PT0
SETB PT1
SETB PS
CLR PX0
CLR PX1
4:
CLR PT0
CLR PX1
CLR IT1
5:
1)
MOV TMOD,#60H ;設置TMOD
MOV TH1,#0CEH ;設初值,要求每計50個脈沖產生溢出
MOV TH1,#0CEH ;設初值,要求每計50個脈沖產生溢出
SETB EA
SETB ET1
SETB TR1 ;啟動定時
2)
MOV TMOD ,#10H ;設置工作為方式1
MOV TH1,#0ECH ;送初值,定時5ms
MOV TL1,#78H
SETB EA ;開總中斷
SETB ET1 ;開定時器1中斷
SETB TR1 ;啟動定時器1

Ⅲ 51單片機程序閱讀題

驚!!! 以後做作業都這樣做好了

Ⅳ 單片機讀程序

你發出來的程序少了一部分,最後面應該有
ORG 4000H
DB 10H, 50H,30H,80H,30H,50H
地址4000H是10H,DPTR+A=4000H+04H=4004H,那就是這六個數(上面的數)的第五個就是30H,剛好復習到這個,給個採納啊

Ⅳ 單片機c語言讀程序題

大頭存儲、或小頭存儲,
這在 C 語言中,是可以自己設定的吧。

Ⅵ 單片機復習題(C語言)

一. 填空題
1. MCS-51單片機是____8____位機,其最大程序容量可達___64_____K位元組,有_____4___個並行口和____32____條I/O管腳。
2. MCS-51單片機正常工作所必須的外部硬體電路是___電源_____、___時鍾_____、__復位______。
3. MCS-51單片機復位電平是___高_____電平,正常工作時復位端為__低______電平,復位後並所有行口的輸出為____高____電平。
4. MCS-51單片機內部結構中,四個基本功能單元分別是___CPU_____、__RAM______、____ROM____、___定時器計數器I/O口_____;三個擴展功能單元分別是____?____、___?____、___?_____。
5. MCS-51單片機內部RAM四個分區分別是__00H到1FH(R0-R7)可位定址____、____ _ 20H-2FH___、_30H-7FH__ _____、__80H-FFH______。
6. MCS-51單片機___P0_____口沒有內部上拉電阻;並行口作為輸入口使用時必須保證該埠場效應管__開漏______,即向該埠寫___0xff_____,此時該埠的輸出鎖存器Q端為___1(高電平)_____。
7. MCS-51單片機計數器工作在方式1和方式2的最大計數值分別是_____65536______、___256________。
8. MCS-51單片機若單片機的主時鍾振盪頻率為6MHz,定時器工作在方式1和方式2的最大定時時間分別是_____自己算!!______ms、___不懂看書!!________us。基本指令周期是___0.5-2_______us。
9. MCS-51單片機的五個中斷源分別是___INT0______、__T0_______、_____INT1_____、___T1______、___UART_______。
10. 編寫程序常用的三種程序結構是 __順序結構_______、__循環結構_______、___選擇結構_______。
11. C語言語法中,數據類型unsigned char 定義的是____8_____位無符號數;數據類型unsigned int定義的是___16______位無符號數。對8位和16位有符號數,定義數據類型關鍵詞為___signed char______、____short_____。
12. 單片機上電後是從主函數void main()的___0x0000H______位置運行。
13. 單片機C語言編程時必須有的固定結構的語句是#include <reg51.h>、void main()以及____while_____。
14. keil 集成開發軟體的三個主要功能是___編譯______、__調試_______、___模擬______。
15. 十進制數100對應的十六進制數是____64_____、二進制數是___01100100______。

二. 讀程序題
默認有關變數x、y、z、a、b、c、i均為unsigned int (8為無符號數)(這個是不是打錯了)請寫出局部程序運行後的結果,用十進製表示。
1. x = ___6___, y = ___3___, z = __11____ , a = ___5___, b = ___15___, c = ___252___。
x = 50/8; y = 100%12; z = 240+26;
a = z>>1; b = x | z; c = ~y;
2. x = _183_____, y = __10____, z = __11____ , a = __10____, b = __10____, c = ___10___。
x = 0xa5 ^ 0x12; y = 5*2; z = y++
a = --z; b = a & y; c = (a+z)/2;
3. x = ___6___, y = __12____, i = ___3___。
x=0;y=0;
for (i=1;i<=3;i++){
x = x+i;
y = y + i*2;
}
4. x = __20____, y = ___10___, z = ___81___ , a = __8____, b = ____9__,
c = __48____, i = ___8___。
a=0;
if (!a){
x=20; y=x<<2; z=y++;
}else{
x=10; y=x<<2; z=y++;
}
i=2<<2; y=10;
if (i>3 && y){
a=y & 0x0c;
b=++i;
c=x^y;
}
隨便做的,有些東東忘了!不懂的自己回去看看書去。

Ⅶ 單片機題目(簡述、讀程序、綜合題)高手進!!急!!!最好帶分析(可追加分數)

1。時鍾周期:計算機在時鍾信號的作用下,以節拍方式工作。因此必須有一個時鍾發生電路,輸入微處理器的時鍾信號的周期稱為時鍾周期。
機器周期:機器完成一個動作所需的時間稱為機器周期,一般由一個或一個以上的時鍾周期組成。在我們講述的MCS-51系列單片機中,一個機器周期由12個時鍾周期組成。
指令周期:執行一條指令(如「MOV A,#34H」,該指令的含義是將立即數34H傳送到微處理器內的累加器A中)所需時間稱為指令周期,它由一個到數個機器周期組成。指令周期的長短取決於指令的類型,即指令將要進行的操作步聚及復雜程度。
2。先進後出
3。偽指令:匯編語言程序的語句除指令外還包括偽指令和宏指令,偽指令又稱為偽操作,它不象機器指令那樣是在程序運行期間由計算機來執行的,它是在匯編程序對源程序匯編期間由匯編程序處理的操作,完成諸如數據定義、分配存儲區、指示程序結束等功能。

Ⅷ 51單片機C語言 讀 程序的問題

你這里的data不是單片機裡面的那個data,這個只是你自己程序中的宏定義:
而單片機存儲類型與存儲區關系

data ---> 可定址片內ram
bdata ---> 可位定址的片內ram
idata ---> 可定址片內ram,允許訪問全部內部ram
pdata ---> 分頁定址片外ram (MOVX @R0) (256 BYTE/頁)
xdata ---> 可定址片外ram (64k 地址范圍FFFFH)
code ---> 程序存儲區 (64k 地址范圍),對應MOVC @DPTR

Ⅸ 單片機:閱讀下面程序,指出該程序的功能

Y EQU 30H
ORG 1000H
CLR A ;清零累加器
MOV R0,#01 ;R0初始化為1
NEXT:
CJNE R0,#11,AD ;只要R0未累加到11,則執行AD程序段(計算1~10的總和)
MOV Y,A ;將累加器內容(1~10的總和)寫入30H處
RET
AD:ADD A, R0 ;R0的內容加進累加器
INC R0 ;R0加一
SJMP NEXT ;跳轉回循環

Ⅹ 一道MCS-51單片機的讀程序題,重點是RL

MOV A,#0FH ;(A)=0FH
CPL A ;(A)=F0H
MOV 30H,#00H ;(30H)=00H
ORL 30H,#0ABH;(30H)=ABH
RL A ;(A)=E1H
RL是循環左移一位(不帶進位位的),原本的F0H=11110000B,各位左移一位,原最高位移入最低位,就成了11100001B=E1H。

閱讀全文

與單片機讀程序題相關的資料

熱點內容
文件夾不存在刪除不了怎麼辦 瀏覽:832
android關機命令行 瀏覽:152
網易雲伺服器支持接入什麼功能 瀏覽:647
編程器用法hpz420 瀏覽:160
日本巨胸奶大電影 瀏覽:210
shell外部命令 瀏覽:102
說程序員禿的 瀏覽:717
多女主免費閱讀 瀏覽:49
前端程序員選擇極客時間 瀏覽:164
php我要自學網 瀏覽:201
a盤命令 瀏覽:706
日俄加密通話 瀏覽:660
linuxtee命令 瀏覽:53
pdf程序員找不到了 瀏覽:63
全球票房實時查詢 瀏覽:223
伺服器如何添加域用戶 瀏覽:271
java靜態static 瀏覽:227
程序員容易掉頭發嗎 瀏覽:333
python通用管理系統 瀏覽:204
apachephphtml 瀏覽:141