日韩在线不卡免费视频一区,日韩欧美精品一区二区三区经典,日产精品码2码三码四码区,人妻无码一区二区三区免费,日本feerbbwdh少妇丰满

  • 回復(fù)
  • 收藏
  • 點贊
  • 分享
  • 發(fā)新帖

這些你會多少?會一半證明單片機基本入門

1、從外部RAM20H單元開始,有30個帶符號數(shù),試編一個程序,把其中正數(shù)、負(fù)數(shù)分別送到片內(nèi)RAM的51H和71H開始的存儲單元,并分別記下其中正數(shù)和負(fù)數(shù)的個數(shù)送到片內(nèi)RAMD的50H和70H單元。(畫出程序流程圖亦可得5分)

2、根據(jù)流程圖編程,將片內(nèi)RAM40H~4FH單元的內(nèi)容傳送至片外RAM3000H~300FH對應(yīng)的單元中。

910c0fb30f2442a727d212c6d343ad4bd0130256

全部回復(fù)(37)
正序查看
倒序查看
backin
LV.4
2
2014-02-26 21:44

3、試編制一個循環(huán)閃爍燈程序。有8個發(fā)光二極管,其中一個閃爍點亮8次后轉(zhuǎn)移到下一個閃爍8次,循環(huán)不止。(設(shè)8個發(fā)光二極管接在P1口)

4、試編寫一個延時80ms的延時子程序(已知晶振頻率12MHz)。(10分)

5試編寫程序:用單片機控制P1口外部連接的8個LED按下列要求動作:先點亮P1.0至P1.3四個LED,同時P1.4至P1.7熄滅;然后點亮P1.4至P1.7四個LED, 同時P1.0至P1.3熄滅。最后循環(huán)前面兩種狀態(tài)。(假設(shè)高電平點亮)(14分)

6、編制一個循環(huán)閃爍燈程序。有8個發(fā)光二極管,依次點亮8個發(fā)光二極管,每次點亮的時間保持一段時間。(設(shè)8個發(fā)光二極管接在P1口)(10分)

7、P3.2和P3.3兩個引腳控制P1口的LED,當(dāng)P3.2接低電平時,8個LED全點亮,當(dāng)P3.3接低電平的時候,8個LED全部熄滅。(10分)

8、設(shè)MCS-51單片機系統(tǒng)晶振頻率為12MHz,請采用中斷方式編出利用定時/計數(shù)器T0在P2.0引腳上產(chǎn)生周期為1s的方波信號的程序。(提示:15536=3CB0H)(11分)

9、將外部RAM的100H單元中內(nèi)容送入外部RAM的200H單元中。(8分)10、設(shè)1067H存在于R1R0中,30A0H存在于R3R2中,計算R1R0+R3R2,結(jié)果存于R5R4中。(14分)

0
回復(fù)
backin
LV.4
3
2014-02-26 21:44
@backin
3、試編制一個循環(huán)閃爍燈程序。有8個發(fā)光二極管,其中一個閃爍點亮8次后轉(zhuǎn)移到下一個閃爍8次,循環(huán)不止。(設(shè)8個發(fā)光二極管接在P1口)4、試編寫一個延時80ms的延時子程序(已知晶振頻率12MHz)。(10分)5試編寫程序:用單片機控制P1口外部連接的8個LED按下列要求動作:先點亮P1.0至P1.3四個LED,同時P1.4至P1.7熄滅;然后點亮P1.4至P1.7四個LED,同時P1.0至P1.3熄滅。最后循環(huán)前面兩種狀態(tài)。(假設(shè)高電平點亮)(14分)6、編制一個循環(huán)閃爍燈程序。有8個發(fā)光二極管,依次點亮8個發(fā)光二極管,每次點亮的時間保持一段時間。(設(shè)8個發(fā)光二極管接在P1口)(10分)7、P3.2和P3.3兩個引腳控制P1口的LED,當(dāng)P3.2接低電平時,8個LED全點亮,當(dāng)P3.3接低電平的時候,8個LED全部熄滅。(10分)8、設(shè)MCS-51單片機系統(tǒng)晶振頻率為12MHz,請采用中斷方式編出利用定時/計數(shù)器T0在P2.0引腳上產(chǎn)生周期為1s的方波信號的程序。(提示:15536=3CB0H)(11分)9、將外部RAM的100H單元中內(nèi)容送入外部RAM的200H單元中。(8分)10、設(shè)1067H存在于R1R0中,30A0H存在于R3R2中,計算R1R0+R3R2,結(jié)果存于R5R4中。(14分)

11、編寫一個跑馬燈的程序,P0口接8個發(fā)光二極管的的陰極(18分)。1

2、設(shè)置IP寄存器的初始值,使得MCS-51的片內(nèi)中斷為低優(yōu)先級,片外中斷為高優(yōu)先級。(8分)

13、設(shè)有16位二進制數(shù)存放在內(nèi)部RAM的50H及51H單元中,要求將其算術(shù)左移一位(即原數(shù)各位均向左移1位,最低位移入0)后仍存放在原單元。試編制相應(yīng)的程序。(14分)

14、P3.2和P3.3口各接有一只按鍵,要求它們分別按下時(P3.2=0或P3.3=0),分別使P1口為0或FFH(18分)15、若允許片內(nèi)2個定時/計數(shù)器中斷,禁止其它中斷源的中斷請求,試編寫出設(shè)置IE的相應(yīng)程序。(8分)

16、將A累加器的低四位取反四次、高四位不變。每變換一次,從P1輸出(14分)。

17、設(shè)8031單片機使用12MHz晶振(機器周期T為lμs),試設(shè)計延遲100ms的延時程序。(18分)

0
回復(fù)
close3
LV.5
4
2014-02-26 21:45
@backin
11、編寫一個跑馬燈的程序,P0口接8個發(fā)光二極管的的陰極(18分)。12、設(shè)置IP寄存器的初始值,使得MCS-51的片內(nèi)中斷為低優(yōu)先級,片外中斷為高優(yōu)先級。(8分)13、設(shè)有16位二進制數(shù)存放在內(nèi)部RAM的50H及51H單元中,要求將其算術(shù)左移一位(即原數(shù)各位均向左移1位,最低位移入0)后仍存放在原單元。試編制相應(yīng)的程序。(14分)14、P3.2和P3.3口各接有一只按鍵,要求它們分別按下時(P3.2=0或P3.3=0),分別使P1口為0或FFH(18分)15、若允許片內(nèi)2個定時/計數(shù)器中斷,禁止其它中斷源的中斷請求,試編寫出設(shè)置IE的相應(yīng)程序。(8分)16、將A累加器的低四位取反四次、高四位不變。每變換一次,從P1輸出(14分)。17、設(shè)8031單片機使用12MHz晶振(機器周期T為lμs),試設(shè)計延遲100ms的延時程序。(18分)
easy
0
回復(fù)
backin
LV.4
5
2014-02-26 21:48
@close3
easy
設(shè)MCS-51單片機系統(tǒng)晶振頻率為12MHz,請采用中斷方式編出利用定時/計數(shù)器T0在P2.0引腳上產(chǎn)生周期為1s的方波信號的程序。(提示:15536=3CB0H)
0
回復(fù)
vidas
LV.2
6
2014-02-26 21:48
@close3
easy
我還差的遠
0
回復(fù)
cloud7890
LV.2
7
2014-02-26 21:49
@vidas
我還差的遠
除了匯編部分不會
0
回復(fù)
2014-02-26 21:50
@cloud7890
除了匯編部分不會
沒學(xué)過匯編,別的簡單
0
回復(fù)
pirate
LV.4
9
2014-02-26 21:51
咋還有8031的
0
回復(fù)
heal
LV.3
10
2014-02-26 21:52
@pirate
咋還有8031的
16題MOV R0,#0 ;計數(shù)初值送0LL:XRL A,#0FH ;高4位不變,低四位取反INC R0 ;次數(shù)加1MOV P1,A ;從P1輸出CJNE R0,#04,LL ;不滿四次循環(huán)RET
0
回復(fù)
backin
LV.4
11
2014-02-26 21:53
@heal
16題MOVR0,#0;計數(shù)初值送0LL:XRLA,#0FH;高4位不變,低四位取反INCR0;次數(shù)加1MOVP1,A;從P1輸出CJNER0,#04,LL;不滿四次循環(huán)RET
你已經(jīng)入門了
0
回復(fù)
matou
LV.3
12
2014-02-26 21:53
@backin
你已經(jīng)入門了
學(xué)習(xí)一下
0
回復(fù)
elio
LV.2
13
2014-02-26 21:54
@matou
學(xué)習(xí)一下
我也想到一個,借用一下層主的幾句 MOV R0,4 ;計數(shù)初值送4 LL:XRL A,#0FH ;高4位不變,低四位取反 MOV P1,A ;從P1輸出 DJNZ R0,LL ;不滿四次循環(huán) RET 看看對么?
0
回復(fù)
vidas
LV.2
14
2014-02-26 21:55
@elio
我也想到一個,借用一下層主的幾句MOVR0,4;計數(shù)初值送4LL:XRLA,#0FH;高4位不變,低四位取反MOVP1,A;從P1輸出DJNZR0,LL;不滿四次循環(huán)RET看看對么?
匯編不懂怎么破
0
回復(fù)
vidas
LV.2
15
2014-02-26 21:56
@vidas
匯編不懂怎么破
只學(xué)過c的
0
回復(fù)
elio
LV.2
16
2014-02-26 21:58
@elio
我也想到一個,借用一下層主的幾句MOVR0,4;計數(shù)初值送4LL:XRLA,#0FH;高4位不變,低四位取反MOVP1,A;從P1輸出DJNZR0,LL;不滿四次循環(huán)RET看看對么?

我上面那個回復(fù)沒排好行...MOV R0,4 ;計數(shù)初值送4

LL:XRL A,#0FH ;高4位不變,低四位取反

MOV P1,A ;從P1輸出

 DJNZ R0,LL ;不滿四次循環(huán)

 RET

0
回復(fù)
backin
LV.4
17
2014-02-26 21:58
@elio
我上面那個回復(fù)沒排好行...MOVR0,4;計數(shù)初值送4LL:XRLA,#0FH;高4位不變,低四位取反MOVP1,A;從P1輸出 DJNZR0,LL;不滿四次循環(huán) RET
不錯 支持下 繼續(xù) ,第1題 是 最 難的
0
回復(fù)
backin
LV.4
18
2014-02-26 21:59

  1、從外部RAM20H單元開始,有30個帶符號數(shù),試編一個程序,把其中正數(shù)、負(fù)數(shù)分別送到片內(nèi)RAM的51H和71H開始的存儲單元,并分別記下其中正數(shù)和負(fù)數(shù)的個數(shù)送到片內(nèi)RAMD的50H和70H單元。

  程序如下:

  ZHENG DATA 50H

  FU DATA 70H

  ORG 0000H

  LJMP MAIN

  ORG 0050H

  MAIN:MOV ZHENG,#00H ;計數(shù)初始為零

  MOV FU,#00H ;計數(shù)初始為零

  MOV R7,#30 ;30個數(shù)

  MOV R0,#1FH ;第一個數(shù)的前一個地址

  MOV R1,#51H ;整數(shù)存的首地址

  MOV SP,#70H ;負(fù)數(shù)的首地址

  LOOP:INC R0 ;指向第一個數(shù)

  MOV A,@R0 ;給a

  MOV C,ACC.7 ;符號位給c

  JC NEXT ;勢負(fù)數(shù)則next

  MOV @R1,A

  INC R1 ;正數(shù)就保存在正的

  INC ZHENG ;計數(shù)加一

  NEXT:PUSH FU ;負(fù)數(shù)存

  INC FU ;計數(shù)加一

  DJNZ R7,LOOP ;未到30就繼續(xù)判斷

  END ;結(jié)束

0
回復(fù)
elio
LV.2
19
2014-02-26 22:00
@backin
  1、從外部RAM20H單元開始,有30個帶符號數(shù),試編一個程序,把其中正數(shù)、負(fù)數(shù)分別送到片內(nèi)RAM的51H和71H開始的存儲單元,并分別記下其中正數(shù)和負(fù)數(shù)的個數(shù)送到片內(nèi)RAMD的50H和70H單元?! 〕绦蛉缦拢骸 HENGDATA50H  FUDATA70H  ORG0000H  LJMPMAIN  ORG0050H  MAIN:MOVZHENG,#00H;計數(shù)初始為零  MOVFU,#00H;計數(shù)初始為零  MOVR7,#30;30個數(shù)  MOVR0,#1FH;第一個數(shù)的前一個地址  MOVR1,#51H;整數(shù)存的首地址  MOVSP,#70H;負(fù)數(shù)的首地址  LOOP:INCR0;指向第一個數(shù)  MOVA,@R0;給a  MOVC,ACC.7;符號位給c  JCNEXT;勢負(fù)數(shù)則next  MOV@R1,A  INCR1;正數(shù)就保存在正的  INCZHENG;計數(shù)加一  NEXT:PUSHFU;負(fù)數(shù)存  INCFU;計數(shù)加一  DJNZR7,LOOP;未到30就繼續(xù)判斷  END;結(jié)束

第一題

  第一題:

  MOV R0 , #51H

  MOV R1 , #71H

  MOV R5 , #0 ;正數(shù)的個數(shù)

  MOV R6 , #0 ;負(fù)數(shù)的個數(shù)

  MOV R7 , 30 ;循環(huán)的次數(shù)

  MOV DPTR , #20H ;取片外20H的內(nèi)容

  MOV A , @DPTR

  LOOP : JB ACC.7 , LOOP1 ;判斷正負(fù)號,負(fù)數(shù)跳轉(zhuǎn)LOOP1

  MOV @R0 , A

  INC R0

  INC R5 ;正數(shù)個數(shù)加1

  AJMP LOOP2

  LOOP1 : MOV @R1 , A

  INC R1

  INC R6 ;負(fù)數(shù)個數(shù)加1

  LOOP2 : INC DPTR

  DJNZ R7 , LOOP ;判斷循環(huán)次數(shù)

  MOV 50H , R5

  MOV 70H , R6

  END

  不知道有錯沒

 

0
回復(fù)
backin
LV.4
20
2014-02-26 22:01
@elio
第一題  第一題:  MOVR0,#51H  MOVR1,#71H  MOVR5,#0;正數(shù)的個數(shù)  MOVR6,#0;負(fù)數(shù)的個數(shù)  MOVR7,30;循環(huán)的次數(shù)  MOVDPTR,#20H;取片外20H的內(nèi)容  MOVA,@DPTR  LOOP:JBACC.7,LOOP1;判斷正負(fù)號,負(fù)數(shù)跳轉(zhuǎn)LOOP1  MOV@R0,A  INCR0  INCR5;正數(shù)個數(shù)加1  AJMPLOOP2  LOOP1:MOV@R1,A  INCR1  INCR6;負(fù)數(shù)個數(shù)加1  LOOP2:INCDPTR  DJNZR7,LOOP;判斷循環(huán)次數(shù)  MOV50H,R5  MOV70H,R6  END  不知道有錯沒 
自己寫的不夠簡潔 好假 啊
0
回復(fù)
elio
LV.2
21
2014-02-26 22:01
@backin
自己寫的不夠簡潔好假啊
真的,我寄存器R0,R1那些就用了5個...我開始學(xué)單片機,學(xué)了一點點匯編樓主給點建議我應(yīng)該學(xué)什么,51?PIC?
0
回復(fù)
backin
LV.4
22
2014-02-26 22:02
@elio
真的,我寄存器R0,R1那些就用了5個...我開始學(xué)單片機,學(xué)了一點點匯編樓主給點建議我應(yīng)該學(xué)什么,51?PIC?
將 MOV 50H , R5 MOV 70H , R6 改為 ZHENG DATA 50H FU DATA 70H ,以便以后的修改
0
回復(fù)
backin
LV.4
23
2014-02-26 22:02
@elio
真的,我寄存器R0,R1那些就用了5個...我開始學(xué)單片機,學(xué)了一點點匯編樓主給點建議我應(yīng)該學(xué)什么,51?PIC?
學(xué) 51 C語言
0
回復(fù)
elio
LV.2
24
2014-02-26 22:02
@backin
將MOV50H,R5MOV70H,R6改為ZHENGDATA50HFUDATA70H,以便以后的修改
對,有時我就是這樣,做事就是用最先想到的方法,往往會不怎么好使,像你考慮的就全面了。那你建議是買單片機學(xué)還是自己做個還是用proteus就好了?
0
回復(fù)
backin
LV.4
25
2014-02-26 22:03
@backin
學(xué)51C語言
買單片機 淘寶大概40-50 , proteus 仿真 和實際 差別 太大了 ,想學(xué)好單片機必須 要 硬件
0
回復(fù)
vidas
LV.2
26
2014-02-26 22:05

  2.

  ORG 0000H

  MOV R0,#40H

  MOV DPTR #3000H

  LP: MOV A, @R0

  MOV DPTR , @A

  MOV R2,#10H

  INC R0

  INC DPTR

  DJNZ R2,LP

  END

  自己瞎寫的,不知道對不對,有錯誤勿噴呀

0
回復(fù)
backin
LV.4
27
2014-02-26 22:06
@vidas
  2.  ORG0000H  MOVR0,#40H  MOVDPTR#3000H  LP:MOVA,@R0  MOVDPTR,@A  MOVR2,#10H  INCR0  INCDPTR  DJNZR2,LP  END  自己瞎寫的,不知道對不對,有錯誤勿噴呀

RG 0000HAJMP MAINORG 0030HMAIN: MOV R0,#40H MOV DPTR #3000H MOV R2,#10 P: MOV A, @R0 MOV @DPTR ,A INC R0 INC DPTR DJNZ R2,P RET END

0
回復(fù)
vidas
LV.2
28
2014-02-26 22:06
@backin
RG0000HAJMPMAINORG0030HMAIN:MOVR0,#40HMOVDPTR#3000HMOVR2,#10P:MOVA,@R0MOV@DPTR,AINCR0INCDPTRDJNZR2,PRETEND
受教了,謝謝
0
回復(fù)
backin
LV.4
29
2014-02-26 22:08

RG 0000HAJMP MAINORG 0030HMAIN: MOV R0,#40H MOV DPTR #3000H MOV R2,#10 P: MOV A, @R0 MOV @DPTR ,A INC R0 INC DPTR DJNZ R2,P RET END2、根據(jù)流程圖編程,將片內(nèi)RAM40H~4FH單元的內(nèi)容傳送至片外RAM3000H~300FH對應(yīng)的單元中。

程序如下:

ORG 0000H

AJMP MAIN

ORG 0030H

MAIN:

MOV R0,#40H

MOV DPTR #3000H

MOV R2,#10

P: MOV A, @R0

MOV @DPTR ,A

INC R0

INC DPTR

DJNZ R2,P

RET

END

0
回復(fù)
cloud7890
LV.2
30
2014-02-26 22:09
@backin
RG0000HAJMPMAINORG0030HMAIN:MOVR0,#40HMOVDPTR#3000HMOVR2,#10P:MOVA,@R0MOV@DPTR,AINCR0INCDPTRDJNZR2,PRETEND2、根據(jù)流程圖編程,將片內(nèi)RAM40H~4FH單元的內(nèi)容傳送至片外RAM3000H~300FH對應(yīng)的單元中。[圖片]程序如下:ORG0000HAJMPMAINORG0030HMAIN:MOVR0,#40HMOVDPTR#3000HMOVR2,#10P:MOVA,@R0MOV@DPTR,AINCR0INCDPTRDJNZR2,PRETEND
已收藏
0
回復(fù)
一木01
LV.3
31
2014-02-26 22:10
@cloud7890
已收藏
都懶得貼程序了 都寫了3年匯編了
0
回復(fù)
發(fā)