找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10096|回復(fù): 39
收起左側(cè)

51單片機(jī)C語言編程模版

  [復(fù)制鏈接]
ID:51025 發(fā)表于 2013-6-18 04:27 | 顯示全部樓層 |閱讀模式

單片機(jī)C語言編程模板(基礎(chǔ)模板)


[程序開始處的程序說明]

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

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



[單片機(jī)SFR定義的頭文件]

#include <REG51.h> //通用89C51頭文件
#include <REG52.h> //通用89C52頭文件
#include <STC11Fxx.H> //STC11Fxx或STC11Lxx系列單片機(jī)頭文件
#include <STC12C2052AD.H> //STC12Cx052或STC12Cx052AD系列單片機(jī)頭文件
#include <STC12C5A60S2.H> //STC12C5A60S2系列單片機(jī)頭文件

[更多庫函數(shù)頭定義]

#include <assert.h>    //設(shè)定插入點(diǎn)
#include <ctype.h>     //字符處理
#include <errno.h>     //定義錯(cuò)誤碼
#include <float.h>     //浮點(diǎn)數(shù)處理
#include <fstream.h>    //文件輸入/輸出
#include <iomanip.h>    //參數(shù)化輸入/輸出
#include <iostream.h>   //數(shù)據(jù)流輸入/輸出
#include <limits.h>    //定義各種數(shù)據(jù)類型最值常量
#include <locale.h>    //定義本地化函數(shù)
#include <math.h>     //定義數(shù)學(xué)函數(shù)
#include <stdio.h>     //定義輸入/輸出函數(shù)
#include <stdlib.h>    //定義雜項(xiàng)函數(shù)及內(nèi)存分配函數(shù)
#include <string.h>    //字符串處理
#include <strstrea.h>   //基于數(shù)組的輸入/輸出
#include <time.h>     //定義關(guān)于時(shí)間的函數(shù)
#include <wchar.h>     //寬字符處理及輸入/輸出
#include <wctype.h>    //寬字符分類
#include <intrins.h>    //51基本運(yùn)算(包括_nop_空函數(shù))



[常用定義聲明]

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

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



[定義常量和變量的存放位置的關(guān)鍵字]

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




[選擇、循環(huán)語句]

if(1){

//為真時(shí)語句

}else{

//否則時(shí)語句

}

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

while(1){

//為真時(shí)內(nèi)容

}

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

do{

//先執(zhí)行內(nèi)容

}while(1);

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

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

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

for(;;){

//循環(huán)語句

}

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


[主函數(shù)模板]

/*********************************************************************************************
函數(shù)名:主函數(shù)
調(diào)  用:無
參  數(shù):無
返回值:無
結(jié)  果:程序開始處,無限循環(huán)
備  注:
/**********************************************************************************************/
void main (void){

    //初始程序

    while(1){

        //無限循環(huán)程序

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


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

    //處理內(nèi)容
}
/**********************************************************************************************/

[中斷入口說明]

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

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




[普通函數(shù)框架]

/*********************************************************************************************
函數(shù)名:
調(diào)  用:
參  數(shù):無
返回值:無
結(jié)  果:
備  注:
/**********************************************************************************************/
void name (void){

//函數(shù)內(nèi)容

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



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

//函數(shù)內(nèi)容

return a; //返回值
}
/**********************************************************************************************/

 


評分

參與人數(shù) 1黑幣 +10 收起 理由
bh4djj + 10 贊一個(gè)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

ID:59269 發(fā)表于 2014-3-9 10:12 | 顯示全部樓層
初學(xué)者的好資料
回復(fù)

使用道具 舉報(bào)

ID:36525 發(fā)表于 2014-3-9 16:01 | 顯示全部樓層
很好,
回復(fù)

使用道具 舉報(bào)

ID:61326 發(fā)表于 2014-5-4 08:30 | 顯示全部樓層
初學(xué)者的好資料
回復(fù)

使用道具 舉報(bào)

ID:61343 發(fā)表于 2014-5-26 16:15 | 顯示全部樓層
初學(xué)者的好資料
回復(fù)

使用道具 舉報(bào)

ID:64616 發(fā)表于 2014-8-5 16:24 | 顯示全部樓層
好我收下了
回復(fù)

使用道具 舉報(bào)

ID:65234 發(fā)表于 2014-8-21 18:33 | 顯示全部樓層
杜樣的
回復(fù)

使用道具 舉報(bào)

ID:57317 發(fā)表于 2014-8-22 08:53 | 顯示全部樓層
不錯(cuò)!學(xué)習(xí)學(xué)習(xí)了!
回復(fù)

使用道具 舉報(bào)

ID:66338 發(fā)表于 2014-9-21 10:11 | 顯示全部樓層
不錯(cuò)!學(xué)習(xí)學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

ID:66464 發(fā)表于 2014-9-21 20:32 | 顯示全部樓層
不錯(cuò),學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

ID:62567 發(fā)表于 2014-9-25 06:59 | 顯示全部樓層
好資料
回復(fù)

使用道具 舉報(bào)

ID:66645 發(fā)表于 2014-9-26 01:12 來自觸屏版 | 顯示全部樓層
收下了。。。。
回復(fù)

使用道具 舉報(bào)

ID:65837 發(fā)表于 2014-9-29 10:03 | 顯示全部樓層
很好的東西,謝謝樓主分享!!!
回復(fù)

使用道具 舉報(bào)

ID:55550 發(fā)表于 2014-10-27 14:43 | 顯示全部樓層
下來用用。謝謝!
回復(fù)

使用道具 舉報(bào)

ID:50881 發(fā)表于 2014-11-10 13:38 | 顯示全部樓層
好資料!!!!!!!!!
回復(fù)

使用道具 舉報(bào)

ID:69113 發(fā)表于 2014-11-24 20:51 | 顯示全部樓層
學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

ID:69420 發(fā)表于 2014-11-28 08:24 | 顯示全部樓層
對初學(xué)者幫助很大謝謝樓主辛苦了
回復(fù)

使用道具 舉報(bào)

ID:47760 發(fā)表于 2014-11-29 03:31 | 顯示全部樓層
好我收下了
回復(fù)

使用道具 舉報(bào)

ID:67678 發(fā)表于 2014-12-3 00:09 | 顯示全部樓層
學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

ID:73583 發(fā)表于 2015-2-12 23:37 來自觸屏版 | 顯示全部樓層
方便的資料!
回復(fù)

使用道具 舉報(bào)

ID:73869 發(fā)表于 2015-2-25 17:16 | 顯示全部樓層
不錯(cuò),初學(xué)者的好東西。
回復(fù)

使用道具 舉報(bào)

ID:16408 發(fā)表于 2015-3-9 23:48 | 顯示全部樓層
收藏了很有用
回復(fù)

使用道具 舉報(bào)

ID:71991 發(fā)表于 2015-3-14 23:06 | 顯示全部樓層
果斷收下,謝了
回復(fù)

使用道具 舉報(bào)

ID:73964 發(fā)表于 2015-3-27 06:54 來自觸屏版 | 顯示全部樓層
不錯(cuò)不錯(cuò)
回復(fù)

使用道具 舉報(bào)

ID:67336 發(fā)表于 2015-3-27 15:40 | 顯示全部樓層
學(xué)習(xí)了。。。。。。。。。。。。
回復(fù)

使用道具 舉報(bào)

ID:74815 發(fā)表于 2015-3-28 17:02 | 顯示全部樓層
正找這個(gè)呢  謝謝啦
回復(fù)

使用道具 舉報(bào)

ID:76408 發(fā)表于 2015-4-8 10:15 | 顯示全部樓層
初學(xué)者的好資料
回復(fù)

使用道具 舉報(bào)

ID:28571 發(fā)表于 2015-4-17 22:24 | 顯示全部樓層
好東西,學(xué)習(xí)一下,謝謝!
回復(fù)

使用道具 舉報(bào)

ID:28571 發(fā)表于 2015-4-17 22:27 | 顯示全部樓層
好東西,學(xué)習(xí)一下,謝謝!
回復(fù)

使用道具 舉報(bào)

ID:79655 發(fā)表于 2015-5-26 09:42 | 顯示全部樓層
好東西            
回復(fù)

使用道具 舉報(bào)

ID:82098 發(fā)表于 2015-9-23 15:23 | 顯示全部樓層
rich3524 發(fā)表于 2014-5-26 16:15
初學(xué)者的好資料

學(xué)習(xí)。。。。。。。!
回復(fù)

使用道具 舉報(bào)

ID:92052 發(fā)表于 2015-10-14 20:32 | 顯示全部樓層
收藏了,謝謝樓主
回復(fù)

使用道具 舉報(bào)

ID:88811 發(fā)表于 2015-10-14 23:19 | 顯示全部樓層
樓主辛苦了
回復(fù)

使用道具 舉報(bào)

ID:112693 發(fā)表于 2016-4-16 21:30 | 顯示全部樓層
太好了,正在學(xué)習(xí)中,實(shí)用。。
回復(fù)

使用道具 舉報(bào)

ID:139504 發(fā)表于 2016-9-15 22:49 | 顯示全部樓層
輔導(dǎo)活動(dòng)關(guān)節(jié)我就
回復(fù)

使用道具 舉報(bào)

ID:353 發(fā)表于 2016-9-17 17:54 | 顯示全部樓層

不錯(cuò)!學(xué)習(xí)學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

ID:90140 發(fā)表于 2016-9-18 08:56 | 顯示全部樓層
初學(xué)者的好資料。。
回復(fù)

使用道具 舉報(bào)

ID:57896 發(fā)表于 2016-9-18 20:08 來自觸屏版 | 顯示全部樓層
不錯(cuò),編程就是要有良好的習(xí)慣
回復(fù)

使用道具 舉報(bào)

ID:171746 發(fā)表于 2017-3-30 11:58 | 顯示全部樓層
非常好的資料
回復(fù)

使用道具 舉報(bào)

ID:169626 發(fā)表于 2017-3-31 12:36 | 顯示全部樓層

很好的東西,謝謝樓主分享!!!
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表