單片機if語句格式
sbit P2^0=A1;
sbit P1^0=A2;
sbit 語句等號后邊應該是地址。
sbit P2^0=A1;能通過編譯碼?本人試一下:test.C(6): error C141: syntax error near '^', pected '='
很遺憾,沒通過。
如果改成 sbit A1=P2^0; sbit A2=P1^0;試試。注意分號,語句只能使用英文字符。
還有if(A1=0) 也不妥吧,比較應為== 即 if(A1==0)才好。
另外else 后邊不應有分號。
修改后的代碼如下:
#include
sbit A1=P2^0; //sbit P2^0=A1;
sbit A2=P1^0;//sbit P1^0=A2;
void main()
{
while(1)
{
if(A1==0)
{
A2=1;
}
else//esle;//單詞也不對。
{
A2=0;
}
}
}
僅供參考。
求單片機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 //該頭文檔中有單片機內部資源的符號化定義,其中包含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 //該頭文檔中有單片機內部資源的符號化定義,其中包含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 //該頭文檔中有單片機內部資源的符號化定義,其中包含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 //該頭文檔中有單片機內部資源的符號化定義,其中包含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 //該頭文檔中有單片機內部資源的符號化定義,其中包含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滅。
。
單片機C語言循環語句
#include
void yanshi (unsigned int a ); //聲明延時函數
void main() //主函數
{
unsigned char i;
for(i=0;i{
P1=0X7F;
yanshi(50000);
P1=0XBF;
yanshi(50000);
P1=0XDF;
yanshi(50000);
P1=0XEF;
yanshi(50000);
P1=0XF7;
yanshi(50000);
P1=0XFB;
yanshi(50000);
P1=0XFF;
yanshi(50000);
}
while(1);
}
void yanshi (unsigned int a ) //延時函數
{
while(a--) ;
}
單片機語言求解釋,每一行是什么意思,謝謝啊,感激不盡
org 0000h;單片機復位后從這個地址開始執行指令 sjmp start;跳轉到標號為start處繼續執行 org 0030h;表示標號start的地址start: mov a,#0ffh;將0ffh這個立即數送累加器A mov p1,a;將累加器A的數據輸出到P0口 mov a,#0feh;將0feh這個立即數送累加器Aloop1: mov p1,a;將累加器A的數據輸出到P1口 lcall delay;調用延時子程序 rl a;累加器A的內容左環移1位 cjne a,#07fh,loop1;累加器A的數據與立即數07fh比較,不相等則跳轉到標號loop1;否則繼續loop2: mov p1,a;將累加器A的數據輸出到P1口 lcall delay;調用延時子程序 rr a;累加器A的內容右環移1位 cjne a,#0feh,loop2;累加器A的數據與立即數07eh比較,不相等則跳轉到標號loop2;否則繼續 ljmp start;跳轉到標號start處繼續循環運行程序;延時子程序模塊delay: mov r7,#0ffh;立即數送寄存器r7loop: mov r6,#0ffh;立即數送寄存器r6 djnz r6,$;r6減1不為0在此行自循環遞減,直到r6為0繼續 djnz r7,loop;r7減1不為0在跳轉到標號loop處循環遞減,直到r7為0繼續 ret;子程序返回end;偽指令,編寫的程序在這里結束。