国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

電子工程網

標題: 單片機C語言編程模板(基礎模板) [打印本頁]

作者: wp1981    時間: 2010-10-14 19:27
標題: 單片機C語言編程模板(基礎模板)
[程序開始處的程序說明]

/*********************************************************************************************
程序名:   
編寫人:     
編寫時間:  年 月 日
硬件支持:  
接口說明:                               
/*********************************************************************************************
說明:

/*********************************************************************************************/

[單片機SFR定義的頭文件]

#include //通用89C51頭文件
#include //通用89C52頭文件
#include //STC11Fxx或STC11Lxx系列單片機頭文件
#include //STC12Cx052或STC12Cx052AD系列單片機頭文件
#include //STC12C5A60S2系列單片機頭文件

[更多庫函數頭定義]

#include     //設定插入點
#include     //字符處理
#include     //定義錯誤碼
#include     //浮點數處理
#include     //文件輸入/輸出
#include     //參數化輸入/輸出
#include //數據流輸入/輸出
#include     //定義各種數據類型最值常量
#include     //定義本地化函數
#include     //定義數學函數
#include     //定義輸入/輸出函數
#include     //定義雜項函數及內存分配函數
#include     //字符串處理
#include //基于數組的輸入/輸出
#include     //定義關于時間的函數
#include     //寬字符處理及輸入/輸出
#include     //寬字符分類
#include     //51基本運算(包括_nop_空函數)

[常用定義聲明]

sfr [自定義名] = [SFR地址] ; //按字節定義SFR中的存儲器名。例:sfr P1 = 0x90;
sbit [自定義名] = [系統位名] ; //按位定義SFR中的存儲器名。例:sbit Add_Key = P3 ^ 1;
bit [自定義名] ; //定義一個位(位的值只能是0或1)例:bit LED;
#define [代替名] [原名] //用代替名代替原名。例:#define LED P1 / #define TA 0x25

unsigned char [自定義名] ; //定義一個0~255的整數變量。例:unsigned char a;
unsigned int [自定義名] ; //定義一個0~65535的整數變量。例:unsigned int a;

[定義常量和變量的存放位置的關鍵字]

data    字節尋址片內RAM,片內RAM的128字節(例:data unsigned char a;)
bdata    可位尋址片內RAM,16字節,從0x20到0x2F(例:bdata unsigned char a;)
idata    所有片內RAM,256字節,從0x00到0xFF(例:idata unsigned char a;)
pdata    片外RAM,256字節,從0x00到0xFF(例:pdata unsigned char a;)
xdata    片外RAM,64K字節,從0x00到0xFFFF(例:xdata unsigned char a;)
code    ROM存儲器,64K字節,從0x00到0xFFFF(例:code unsigned char a;)


[選擇、循環語句]

if(1){

//為真時語句

}else{

//否則時語句

}

--------------------------

while(1){

//為真時內容

}

--------------------------

do{

//先執行內容

}while(1);

--------------------------

switch (a){
    case 0x01:
        //為真時語句
        break;
    case 0x02:
        //為真時語句
        break;
    default:
        //冗余語句
        break;
}

--------------------------

for(;;){

//循環語句

}

--------------------------


[主函數模板]

/*********************************************************************************************
函數名:主函數
調 用:無
參 數:無
返回值:無
結 果:程序開始處,無限循環
備 注:
/**********************************************************************************************/
void main (void){

    //初始程序

    while(1){

        //無限循環程序

    }
}
/**********************************************************************************************/


[中斷處理函數模板]
/*********************************************************************************************
函數名:中斷處理函數
調 用:無
參 數:無
返回值:無
結 果:
備 注:
/**********************************************************************************************/
void name (void) interrupt 1 using 1{

    //處理內容
}
/**********************************************************************************************/

[中斷入口說明]

interrupt 0 外部中斷0(ROM入口地址:0x03)
interrupt 1 定時/計數器中斷0(ROM入口地址:0x0B)
interrupt 2 外部中斷1(ROM入口地址:0x13)
interrupt 3 定時/計數器中斷1(ROM入口地址:0x1B)
interrupt 4 UART串口中斷(ROM入口地址:0x23)
(更多的中斷依單片機型號而定,ROM中斷入口均相差8個字節)

using 0 使用寄存器組0
using 1 使用寄存器組1
using 2 使用寄存器組2
using 3 使用寄存器組3


[普通函數框架]

/*********************************************************************************************
函數名:
調 用:
參 數:無
返回值:無
結 果:
備 注:
/**********************************************************************************************/
void name (void){

//函數內容

}
/**********************************************************************************************/

/*********************************************************************************************
函數名:
調 用:
參 數:0~65535 / 0~255
返回值:0~65535 / 0~255
結 果:
備 注:
/**********************************************************************************************/
unsigned int name (unsigned char a,unsigned int b){

//函數內容

return a; //返回值
}
/**********************************************************************************************/
作者: lxyzy1999    時間: 2010-10-28 21:13
強頂一下
作者: nullee09    時間: 2010-11-29 22:43
ding....
作者: xllin    時間: 2010-11-30 00:48

作者: pury1987    時間: 2010-12-1 22:42
可能有用,因為從來沒有這樣正規寫過程序,也許以后會慢慢改過來
作者: yxp_000    時間: 2010-12-3 23:48
太有用了
作者: chenzean    時間: 2010-12-5 23:21
太有用了
作者: kejian51    時間: 2010-12-7 11:25
模板都有了,強
作者: zsphysics    時間: 2010-12-7 11:56

作者: zengqi_91    時間: 2010-12-9 21:27
正是我所需要的,謝謝!
作者: wyoh    時間: 2010-12-17 01:58
謝謝分享
作者: pury1987    時間: 2010-12-21 20:47
看來今后還是有必要規范自己的代碼風格了,這種模板看起來好看多了
作者: picese_zhu    時間: 2010-12-28 15:46

作者: hustych    時間: 2011-1-9 20:33
對于菜鳥有積極的指導作用,頂!
作者: pcbkey    時間: 2015-2-7 10:42
支持一下




歡迎光臨 電子工程網 (http://m.qingdxww.cn/) Powered by Discuz! X3.4
主站蜘蛛池模板: 中文在线亚洲 | 亚州精品视频 | 久久99精品久久久久久野外 | 九九热精彩视频 | 久在草影院 | 麻豆高清完整版观看在线 | 妈妈的朋友3线完整视频免费观看 | 日韩在线视频导航 | 精品福利视频网 | 天天爽夜夜爽一区二区三区 | 中文字幕五月天 | 欧美99热| 4虎永免费最新永久免费地址 | 东台人才招聘网最新招聘2023 | 朋友的妻子hd | 国产区精品 | 国产精品1区2区3区 国产精品1区2区 | 亚洲免费人成在线视频观看 | 国产偷国产偷亚洲高清午夜 | 在线免费观看亚洲 | 日韩精品视频一区二区三区 | 日韩一级一片 | 草碧网| 日本在线视频不卡 | 欧美日韩第一页 | 国内自拍视频一区二区三区 | 欧美视频在线观看免费最新 | 欧美日韩精品一区二区在线线 | 欧美.com | 欧美高清一区 | 欧美日韩小视频 | 第七色男人天堂 | 国产精品香蕉在线观看不卡 | 粉嫩极品国产 | 高清网址免费 | 日韩一区二区三区四区不卡 | 久久线看观看精品香蕉国产 | 性88分钟在线播放 | 亚洲一级毛片免观看 | 天天曰夜夜操 | 性欧美性欧美 |