性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

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

這些你會(huì)多少?會(huì)一半證明單片機(jī)基本入門

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

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

910c0fb30f2442a727d212c6d343ad4bd0130256

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  程序如下:

  ZHENG DATA 50H

  FU DATA 70H

  ORG 0000H

  LJMP MAIN

  ORG 0050H

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

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

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

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

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

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

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

  MOV A,@R0 ;給a

  MOV C,ACC.7 ;符號(hào)位給c

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

  MOV @R1,A

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

  INC ZHENG ;計(jì)數(shù)加一

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

  INC FU ;計(jì)數(shù)加一

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

  END ;結(jié)束

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

第一題

  第一題:

  MOV R0 , #51H

  MOV R1 , #71H

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

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

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

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

  MOV A , @DPTR

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

  MOV @R0 , A

  INC R0

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

  AJMP LOOP2

  LOOP1 : MOV @R1 , A

  INC R1

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

  LOOP2 : INC DPTR

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

  MOV 50H , R5

  MOV 70H , R6

  END

  不知道有錯(cuò)沒

 

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

  自己瞎寫的,不知道對(duì)不對(duì),有錯(cuò)誤勿噴呀

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  自己瞎寫的,不知道對(duì)不對(duì),有錯(cuò)誤勿噴呀

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對(duì)應(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對(duì)應(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ā)