资源描述:
《C語言與單片機.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C語言與單片機C語言結構語法變數宣告及變數型態開頭為1.大寫字母2.小寫字母3.底線(_)變數名稱為1.大寫字母2.小寫字母3.底線(_)4.阿拉伯數字註大小寫為不同變數保留字autobreakcasecharcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsizeofstacticstructswitchtypedefunionunsignedvoidwhile變數資料型態char字元型態(8bit)int整數型態(16bit)float浮點數型態(32
2、bit)double倍精浮點型態(32bit)signed帶符號unsigned未帶符號shortlong變數宣告1.只宣告變數型態2.宣告變數型態及初值初值有三種方式1.以0開頭011八進制為十進制92.不以0開頭11十進制3.十六進制0x11為十進制17變數等級1.auto:自動變數分在函數內(副程式)變數為區域變數(可不加auto)僅函數執行時存在2.static:靜態變數,固定位址存放不因函數消失而消失3.external外部變數可供所有函數使用c在定義8051特殊暫存器變數名稱是於io51.h內部定義如sftP0=0x80;sftP1=0x90;..
3、....位元變數在8051上有可直接位元定址方式如bitRD=0xB7;bitWR=0xB6;......針對內部RAM20H~2FH直接位元定址方式如bitFLAG0=0;bitFLAG1=1;bitFLAG2=2;運算子+加法-減法乘法/除法++遞加--遞減%取除法餘數邏輯運算子&&andor!not位元邏輯運算子&andor︿xor~位元反相>>位元右移<<位元左移關係運算子>大於<小於>=大於等於<=小於等於===等於!=不等於運算子執行順序為1.!,-,++,--,,,%2.+,-,<,<=,>,>=,==3.!=,&&,流程控制1.for(運算式
4、1;運算式2;運算式3){敘述A;}敘述B;運算式1:設定迴圈控制變數初值運算式2:判斷是否為真,true執行敘述Afalse執行敘述B運算式3:迴圈控制變數遞增或遞減2.while(運算式){敘述A;}敘述B;運算式判斷是否為真,true執行敘述Afalse執行敘述B3.do{敘述A;}while(運算式);敘述B;先執行一次敘述A運算式再判斷是否為真,true執行敘述Afalse執行敘述B4.if(運算式){敘述A;}else{敘述B;}敘述c;orif(運算式){敘述A;}敘述c;若只有一敘述可略{}5.運算式1?運算式2:運算式3運算式1istrue執
5、行運算式2運算式1isfalse執行運算式36.switch(變數){case條件1:敘述1;break;case條件2:敘述2;break;....case條件n:敘述n;break;default:敘述n+1;break;}敘述a;switch(變數)為字元or整數指標變數變數所含是記憶位址稱為指標變數資料型態變數名稱&特殊運算子傳回運算元之位址intptr,i;ptr為指標變數,i為整數變數charj;j為字元變數i=0x0100;i為16進制0100Hptr=&i;ptr位址為0100Hj=ptr;以ptr內容為位址到該位址讀內容存入jptr++;位址
6、指標加1,0101Hj=ptr;以ptr內容為位址到該位址讀內容存入j陣列一種結構化資料型態,將相同型態變數集合資料型態變數名稱[長度];資料型態變數名稱[長度]={x,x,....x};intDATA[5];charTAB[5];函數函數型態函數名稱(變數1,變數2....){敘述;return(變數);}在下列狀況不用傳回值1.函數型態宣告為void不想丟值給函數,在函數名後為()or(void)2.不想丟值給函數,也不回傳值函數型態void在函數名後為()or(void)3.丟值給函數,不回傳值函數型態void在函數名後為(char)or(int)主程式
7、main()也是副程式撰寫程式有一先寫主程式,此時要事先宣告副程式另一方面先寫副程式則不需宣告副程式c語言前端處理程式有三種1.巨集#define2.包含檔案#include3.條件式編輯#if#endif...巨集功能有三1.以一個名稱代替常數2.以一個名稱代替字串3.以一名稱代替簡易函數包含檔主要目的將某個檔案包含在目前的檣案之下士宣告方式有1.include<檔案名稱>2.include"檔案名稱"在icc8051提供標題檔(XX.h)的內建函數1.math.c數學函數有a.doubleatan(doublearg);計算arg反正切值,並傳回結果.b.
8、doubleatan2(doublea