導航:首頁 > 操作系統 > 單片機後面的分號怎麼寫

單片機後面的分號怎麼寫

發布時間:2022-05-26 05:02:07

A. 求單片機C語言所有語句

也不知道你具體想要知道哪些C語言語句,下面有些基本知識的。。。希望對你有用,如還有疑問,記得回復下。。。
1. 十六進製表示位元組0x5a:二進制為01011010B;0x6E為01101110。
2. 如果將一個16位二進數賦給一個8位的位元組變數,則自動截斷為低8位,而丟掉高8位。
3. ++var表示對變數var先增一;var—表示對變數後減一。
4. x |= 0x0f;表示為 x = x | 0x0f;
5. TMOD = ( TMOD & 0xf0 ) | 0x05;表示給變數TMOD的低四位賦值0x5,而不改變TMOD的高四位。
6. While( 1 ); 表示無限執行該語句,即死循環。語句後的分號表示空循環體,也就是{;}
在某引腳輸出高電平的編程方法:(比如P1.3(PIN4)引腳)
代碼
1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P1.3
2. void main( void ) //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口
3. {
4. P1_3 = 1; //給P1_3賦值1,引腳P1.3就能輸出高電平VCC
5. While( 1 ); //死循環,相當 LOOP: goto LOOP;
6. }

注意:P0的每個引腳要輸出高電平時,必須外接上拉電阻(如4K7)至VCC電源。
在某引腳輸出低電平的編程方法:(比如P2.7引腳)
代碼
1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P2.7
2. void main( void ) //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口
3. {
4. P2_7 = 0; //給P2_7賦值0,引腳P2.7就能輸出低電平GND
5. While( 1 ); //死循環,相當 LOOP: goto LOOP;
6. }
在某引腳輸出方波編程方法:(比如P3.1引腳)
代碼
1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P3.1
2. void main( void ) //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口
3. {
4. While( 1 ) //非零表示真,如果為真則執行下面循環體的語句
5. {
6. P3_1 = 1; //給P3_1賦值1,引腳P3.1就能輸出高電平VCC
7. P3_1 = 0; //給P3_1賦值0,引腳P3.1就能輸出低電平GND
8. } //由於一直為真,所以不斷輸出高、低、高、低……,從而形成方波
9. }
將某引腳的輸入電平取反後,從另一個引腳輸出:( 比如 P0.4 = NOT( P1.1) )
代碼
1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P0.4和P1.1
2. void main( void ) //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口
3. {
4. P1_1 = 1; //初始化。P1.1作為輸入,必須輸出高電平
5. While( 1 ) //非零表示真,如果為真則執行下面循環體的語句
6. {
7. if( P1_1 == 1 ) //讀取P1.1,就是認為P1.1為輸入,如果P1.1輸入高電平VCC
8. { P0_4 = 0; } //給P0_4賦值0,引腳P0.4就能輸出低電平GND
9. else //否則P1.1輸入為低電平GND
10. //{ P0_4 = 0; } //給P0_4賦值0,引腳P0.4就能輸出低電平GND
11. { P0_4 = 1; } //給P0_4賦值1,引腳P0.4就能輸出高電平VCC
12. } //由於一直為真,所以不斷根據P1.1的輸入情況,改變P0.4的輸出電平
13. }
將某埠8個引腳輸入電平,低四位取反後,從另一個埠8個引腳輸出:( 比如 P2 = NOT( P3 ) )
代碼
1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P2和P3
2. void main( void ) //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口
3. {
4. P3 = 0xff; //初始化。P3作為輸入,必須輸出高電平,同時給P3口的8個引腳輸出高電平
5. While( 1 ) //非零表示真,如果為真則執行下面循環體的語句
6. { //取反的方法是異或1,而不取反的方法則是異或0
7. P2 = P3^0x0f //讀取P3,就是認為P3為輸入,低四位異或者1,即取反,然後輸出
8. } //由於一直為真,所以不斷將P3取反輸出到P2
9. }

注意:一個位元組的8位D7、D6至D0,分別輸出到P3.7、P3.6至P3.0,比如P3=0x0f,則P3.7、P3.6、P3.5、P3.4四個引腳都輸出低電平,而P3.3、P3.2、P3.1、P3.0四個引腳都輸出高電平。同樣,輸入一個埠P2,即是將P2.7、P2.6至P2.0,讀入到一個位元組的8位D7、D6至D0。
第一節:單數碼管按鍵顯示
單片機最小系統的硬體原理接線圖:
1. 接電源:VCC(PIN40)、GND(PIN20)。加接退耦電容0.1uF
2. 接晶體:X1(PIN18)、X2(PIN19)。注意標出晶體頻率(選用12MHz),還有輔助電容30pF
3. 接復位:RES(PIN9)。接上電復位電路,以及手動復位電路,分析復位工作原理
4. 接配置:EA(PIN31)。說明原因。
發光二極的控制:單片機I/O輸出
將一發光二極體LED的正極(陽極)接P1.1,LED的負極(陰極)接地GND。只要P1.1輸出高電平VCC,LED就正向導通(導通時LED上的壓降大於1V),有電流流過LED,至發LED發亮。實際上由於P1.1高電平輸出電阻為10K,起到輸出限流的作用,所以流過LED的電流小於(5V-1V)/10K = 0.4mA。只要P1.1輸出低電平GND,實際小於0.3V,LED就不能導通,結果LED不亮。
開關雙鍵的輸入:輸入先輸出高
一個按鍵KEY_ON接在P1.6與GND之間,另一個按鍵KEY_OFF接P1.7與GND之間,按KEY_ON後LED亮,按KEY_OFF後LED滅。同時按下LED半亮,LED保持後松開鍵的狀態,即ON亮OFF滅。
代碼
1. #include <at89x52.h>
2. #define LED P1^1 //用符號LED代替P1_1
3. #define KEY_ON P1^6 //用符號KEY_ON代替P1_6
4. #define KEY_OFF P1^7 //用符號KEY_OFF代替P1_7
5. void main( void ) //單片機復位後的執行入口,void表示空,無輸入參數,無返回值
6. {
7. KEY_ON = 1; //作為輸入,首先輸出高,接下KEY_ON,P1.6則接地為0,否則輸入為1
8. KEY_OFF = 1; //作為輸入,首先輸出高,接下KEY_OFF,P1.7則接地為0,否則輸入為1
9. While( 1 ) //永遠為真,所以永遠循環執行如下括弧內所有語句
10. {
11. if( KEY_ON==0 ) LED=1; //是KEY_ON接下,所示P1.1輸出高,LED亮
12. if( KEY_OFF==0 ) LED=0; //是KEY_OFF接下,所示P1.1輸出低,LED滅
13. } //松開鍵後,都不給LED賦值,所以LED保持最後按鍵狀態。
14. //同時按下時,LED不斷亮滅,各佔一半時間,交替頻率很快,由於人眼慣性,看上去為半亮態
15. }
數碼管的接法和驅動原理
一支七段數碼管實際由8個發光二極體構成,其中7個組形構成數字8的七段筆畫,所以稱為七段數碼管,而餘下的1個發光二極體作為小數點。作為習慣,分別給8個發光二極體標上記號:a,b,c,d,e,f,g,h。對應8的頂上一畫,按順時針方向排,中間一畫為g,小數點為h。
我們通常又將各二極與一個位元組的8位對應,a(D0),b(D1),c(D2),d(D3),e(D4),f(D5),g(D6),h(D7),相應8個發光二極體正好與單片機一個埠Pn的8個引腳連接,這樣單片機就可以通過引腳輸出高低電平控制8個發光二極的亮與滅,從而顯示各種數字和符號;對應位元組,引腳接法為:a(Pn.0),b(Pn.1),c(Pn.2),d(Pn.3),e(Pn.4),f(Pn.5),g(Pn.6),h(Pn.7)。
如果將8個發光二極體的負極(陰極)內接在一起,作為數碼管的一個引腳,這種數碼管則被稱為共陰數碼管,共同的引腳則稱為共陰極,8個正極則為段極。否則,如果是將正極(陽極)內接在一起引出的,則稱為共陽數碼管,共同的引腳則稱為共陽極,8個負極則為段極。
以單支共陰數碼管為例,可將段極接到某埠Pn,共陰極接GND,則可編寫出對應十六進制碼的七段碼表位元組數據

B. 單片機if語句格式

#include<reg52.h>

sbitA1=P2^0;

sbitA2=P1^0;//這里你定義反了,能編譯通過么?

voidmain()


{

while(1)
{//這里加個大括弧,循環執行括弧內的語句


if(A1==0)


A2=1;


esle;


A2=0;
}


}

C. 單片機中while(a)加個封號什麼意思,是不是停頓

while(a--)就是當a不為0的時候執行循環,執行完成後a變為a-1,所以如果是a>0的話,就會在a=0的時候停止循環
while(a--);,注意後面的分號,這個是一個簡單的循環語句,表示循環體為空,通常用於延時操作

D. 單片機 for語句怎麼寫

FOR指令里共兩個分號,用來隔開初始值,終值,變數修改指令。for (; ms > 0 ; ms--)
{;}這句程序中是FOR語句循環體,分號只是代表一個空語句,再加一個分號相當於又加一個空語句。

E. 單片機中有哪兩種注釋,符號是什麼

為單片機編程時,用匯編語言寫程序時,用分號 ; 表示注釋符號。
用C語言寫程序時,有兩種注釋符號,//為本行注釋符
/*
注釋內容
*/
為一段多行注釋符。

F. 單片機c語言編程

單片機的外部結構:

DIP40雙列直插;
P0,P1,P2,P3四個8位準雙向I/O引腳;(作為I/O輸入時,要先輸出高電平)
電源VCC(PIN40)和地線GND(PIN20);
高電平復位RESET(PIN9);(10uF電容接VCC與RESET,即可實現上電復位)
內置振盪電路,外部只要接晶體至X1(PIN18)和X0(PIN19);(頻率為主頻的12倍)
程序配置EA(PIN31)接高電平VCC;(運行單片機內部ROM中的程序)
P3支持第二功能:RXD、TXD、INT0、INT1、T0、T1
單片機內部I/O部件:(所為學習單片機,實際上就是編程式控制制以下I/O部件,完成指定任務)

四個8位通用I/O埠,對應引腳P0、P1、P2和P3;
兩個16位定時計數器;(TMOD,TCON,TL0,TH0,TL1,TH1)
一個串列通信介面;(SCON,SBUF)
一個中斷控制器;(IE,IP)
針對AT89C52單片機,頭文件AT89x52.h給出了SFR特殊功能寄存器所有埠的定義。教科書的160頁給出了針對MCS51系列單片機的C語言擴展變數類型。
C語言編程基礎:

十六進製表示位元組0x5a:二進制為01011010B;0x6E為01101110。
如果將一個16位二進數賦給一個8位的位元組變數,則自動截斷為低8位,而丟掉高8位。
++var表示對變數var先增一;var—表示對變數後減一。
x |= 0x0f;表示為 x = x | 0x0f;
TMOD = ( TMOD & 0xf0 ) | 0x05;表示給變數TMOD的低四位賦值0x5,而不改變TMOD的高四位。
While( 1 ); 表示無限執行該語句,即死循環。語句後的分號表示空循環體,也就是{;}
在某引腳輸出高電平的編程方法:(比如P1.3(PIN4)引腳)
#include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P1.3
void main( void ) //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口
{
P1_3 = 1; //給P1_3賦值1,引腳P1.3就能輸出高電平VCC
While( 1 ); //死循環,相當 LOOP: goto LOOP;
}
注意:P0的每個引腳要輸出高電平時,必須外接上拉電阻(如4K7)至VCC電源。
在某引腳輸出低電平的編程方法:(比如P2.7引腳)
#include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P2.7
void main( void ) //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口。
{
P2_7 = 0; //給P2_7賦值0,引腳P2.7就能輸出低電平GND
While( 1 ); //死循環,相當 LOOP: goto LOOP;
}

在某引腳輸出方波編程方法:(比如P3.1引腳)
#include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P3.1
void main( void ) //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口
{
While( 1 ) //非零表示真,如果為真則執行下面循環體的語句
{
P3_1 = 1; //給P3_1賦值1,引腳P3.1就能輸出高電平VCC
P3_1 = 0; //給P3_1賦值0,引腳P3.1就能輸出低電平GND
} //由於一直為真,所以不斷輸出高、低、高、低……,從而形成方波
}

將某引腳的輸入電平取反後,從另一個引腳輸出:( 比如 P0.4 = NOT( P1.1) )
#include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P0.4和P1.1
void main( void ) //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口
{
P1_1 = 1; //初始化。P1.1作為輸入,必須輸出高電平
While( 1 ) //非零表示真,如果為真則執行下面循環體的語句
{
if( P1_1 == 1 ) //讀取P1.1,就是認為P1.1為輸入,如果P1.1輸入高電平VCC
{ P0_4 = 0; } //給P0_4賦值0,引腳P0.4就能輸出低電平GND
else //否則P1.1輸入為低電平GND
//{ P0_4 = 0; } //給P0_4賦值0,引腳P0.4就能輸出低電平GND
{ P0_4 = 1; } //給P0_4賦值1,引腳P0.4就能輸出高電平VCC
} //由於一直為真,所以不斷根據P1.1的輸入情況,改變P0.4的輸出電平
}

將某埠8個引腳輸入電平,低四位取反後,從另一個埠8個引腳輸出:( 比如 P2 = NOT( P3 ) )
#include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P2和P3
void main( void ) //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口
{
P3 = 0xff; //初始化。P3作為輸入,必須輸出高電平,同時給P3口的8個引腳輸出高電平
While( 1 ) //非零表示真,如果為真則執行下面循環體的語句
{ //取反的方法是異或1,而不取反的方法則是異或0
P2 = P3^0x0f //讀取P3,就是認為P3為輸入,低四位異或者1,即取反,然後輸出
} //由於一直為真,所以不斷將P3取反輸出到P2
}
注意:一個位元組的8位D7、D6至D0,分別輸出到P3.7、P3.6至P3.0,比如P3=0x0f,則P3.7、P3.6、P3.5、P3.4四個引腳都輸出低電平,而P3.3、P3.2、P3.1、P3.0四個引腳都輸出高電平。同樣,輸入一個埠P2,即是將P2.7、P2.6至P2.0,讀入到一個位元組的8位D7、D6至D0。

G. 為什麼這個程序可以控制單片機點亮的led等一閃一閃,而且這個程序裡面for循環後面可以加分號

兩個 for,構成了「雙重循環」。

循環體中,沒有任何語句,這就是「空循環」。

這是幹嘛?

這就是「浪費」CPU 的時間。目的,就是延時。

好讓你看到:燈亮、燈滅。

如果沒有延時,你將看到:「燈一直亮」,只是稍稍暗一些。

H. 單片機編程:MOV VAX,#55;15;20;25;50;55是什麼意思分號的作用是什麼

這是匯編語言,你可以查看有關書籍了解,一般分號的作用是一句語言的結束標識,固定格式

I. c語言for語句後面分號(大括弧之後)

只要是正常的C語言,for後面的大括弧是不可能有分號的。加了就是報錯。
單片機C的我倒是沒寫過,但是我的朋友是寫這個的。

J. 為什麼單片機C語言中使用while (1),總要在後面加一對{ },不管裡面有沒有內容!

要是只有一條語句可以不加,但是要寫為「while(1);」分號不能少,如果是含有多條語句,那麼大括弧一定要加!如果是含有多條語句還不加的話,循環只能管到其後面的一條語句,無法實現預定的功能。

閱讀全文

與單片機後面的分號怎麼寫相關的資料

熱點內容
編譯程序輸入一個字元串 瀏覽:404
圓命令畫法 瀏覽:305
如果給電腦e盤文件加密 瀏覽:801
javaswing項目 瀏覽:774
androidsdksetup 瀏覽:1003
pdf怎麼設置中文 瀏覽:126
安卓手機用什麼軟體看倫敦金 瀏覽:964
魅族文件夾無名稱 瀏覽:789
蘇黎世無人機演算法 瀏覽:872
核桃編程和小碼王的融資 瀏覽:684
微積分教材pdf 瀏覽:725
寫python給微信好友發消息 瀏覽:336
蚊帳自營米加密 瀏覽:420
學校推薦核桃編程 瀏覽:804
湖南農信app怎麼導明細 瀏覽:473
福特abs編程 瀏覽:509
如何自學安卓手機 瀏覽:439
以太坊源碼共識機制 瀏覽:912
單片機探測器 瀏覽:872
demo編程大賽作品怎麼運行 瀏覽:52