`
tomgooityeeee
  • 浏览: 73698 次
文章分类
社区版块
存档分类
最新评论

单片机C语言编程基础模板

阅读更多

    <div class="quote_title">引用<div class="quote_div">    本源程序是每一个MCS-51系列单片机C语言程序的必备内容,包括程序开始处的说明信息、头文件、SFR定义、子函数、主函数和C语言常用的5大语句(if,while,do while,for,switch)模板。可将其模板下载到本地硬盘,在编写新程序的时候复制、粘贴到工程当中,然后根据情况写入具体内容。

注意:使用本模板必须熟悉单片机C语言编程
[程序开始处的程序说明]

/*********************************************************************************************
程序名:    
编写人:     
编写时间:  年 月 日
硬件支持:  
接口说明:    
修改日志:  
  NO.1-								
/*********************************************************************************************
说明:

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



[单片机SFR定义的头文件]

#include <REG51.h> //通用89C51头文件
#include <REG52.h> //通用89C52头文件
#include <STC11Fxx.H> //STC11Fxx或STC11Lxx系列单片机头文件
#include <STC12C2052AD.H> //STC12Cx052或STC12Cx052AD系列单片机头文件
#include <STC12C5A60S2.H> //STC12C5A60S2系列单片机头文件

[更多库函数头定义]

#include <assert.h>    //设定插入点
#include <ctype.h>     //字符处理
#include <errno.h>     //定义错误码
#include <float.h>     //浮点数处理
#include <fstream.h>    //文件输入/输出
#include <iomanip.h>    //参数化输入/输出
#include <iostream.h>   //数据流输入/输出
#include <limits.h>    //定义各种数据类型最值常量
#include <locale.h>    //定义本地化函数
#include <math.h>     //定义数学函数
#include <stdio.h>     //定义输入/输出函数
#include <stdlib.h>    //定义杂项函数及内存分配函数
#include <string.h>    //字符串处理
#include <strstrea.h>   //基于数组的输入/输出
#include <time.h>     //定义关于时间的函数
#include <wchar.h>     //宽字符处理及输入/输出
#include <wctype.h>    //宽字符分类
#include <intrins.h>	//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; //返回值
}
/**********************************************************************************************/


 
0
0
分享到:
评论

相关推荐

    MCS-51系列单片机C语言编程基础模板

    本源程序是每一个MCS-51系列单片机C语言程序的必备内容,包括程序开始处的说明信息、头文件、SFR定义、子函数、主函数和C语言常用的5大语句(if,while,do while,for,switch...注意:使用本模板必须熟悉单片机C语言编程

    单片机c语言编程模板

    以上是单片机C语言编程模板中涉及的主要知识点,这些知识是编写51系列单片机程序的基础,并且可以扩展应用于其他8位或更高位的单片机编程中。通过熟练掌握这些概念和技巧,开发者可以更有效地进行单片机应用开发。

    趣味C++程序 单片机c语言编程实例 单片机c语言入门

    在压缩包中的"单片机c语言编程"可能包含了一些实际的代码示例,这些例子可以帮助初学者理解如何在单片机上实现特定的功能。例如,可能有一个点亮LED灯的简单程序,展示了如何控制GPIO;或者一个简单的串口通信程序,...

    C51单片机C语言编程基础和实例.doc

    【C51单片机C语言编程基础】 C51是专为8051系列单片机设计的一种C语言扩展,它允许开发者用高级语言编写单片机程序,简化了硬件操作,提高了代码可读性和可维护性。C51编程的基础包括以下几个方面: 1. **数据类型...

    飞思卡尔单片机C语言编程

    在深入探讨飞思卡尔单片机C语言编程的精髓之前,我们先来了解飞思卡尔半导体公司(Freescale Semiconductor),这是一家全球领先的嵌入式处理解决方案供应商,为汽车、网络、工业以及消费电子市场提供技术先进的处理器...

    PIC单片机C语言编程实例一.pdf

    《PIC单片机C语言编程实例详解》 在嵌入式系统开发中,PIC单片机因其高效能、低功耗、易于编程等特性而广泛应用于各种领域。本章主要探讨了PIC16F877单片机的C语言编程实例,包括其外围功能模块的使用以及MSSP模块...

    单片机C语言编程模板.pdf

    单片机C语言编程模板是用于编写针对单片机应用的C语言程序的基本框架,它包含了一些标准的头部注释,以及常用的库函数和数据类型的声明。这些模板可以帮助开发者快速地构建程序,确保代码结构清晰,易于理解和维护。...

    51、STC单片机C语言通用万能编程模板.doc

    单片机C语言通用万能编程模板是Microcontroller(微控制器)编程的基础知识点之一。该模板涵盖了单片机编程的各个方面,包括函数头文件、延时函数、定时/计数器初始化函数、PWM初始化函数、UART串口初始化函数等。 ...

    零基础单片机C语言设计全套教程

    3. **单片机C语言编程**:单片机C语言与标准C有所不同,因为它需要直接操作硬件。学习如何用C语言编写汇编代码,如初始化寄存器、读写端口、定时器设置、中断处理等,是这个阶段的重点。 4. **开发环境和工具**:...

    单片机c语言

    1. **C语言基础**:51单片机C语言编程基于标准C,但需理解单片机特有的内存模型、寄存器操作和中断处理。基本语法、数据类型、运算符、流程控制语句(如if-else、for、while)是所有程序的基础。 2. **I/O端口操作*...

    51单片机C语言开发详解

    通过阅读和分析这些代码,读者可以加深对单片机C语言编程的理解,提升动手能力。 在学习过程中,建议读者搭配实际的开发板进行实验,通过硬件调试来验证代码的正确性,这样既能锻炼编程技能,也能培养问题解决的...

    STC单片机C语言通用万能编程模板.pdf

    这些模板函数为STC单片机的C语言编程提供了一套基础框架,开发者可以根据实际项目需求对这些模板进行扩展和定制,以实现特定的功能。通过理解和应用这些模板,可以大大提高开发效率,同时保证代码的规范性和可维护性...

    单片机c语言.pdf

    ##### 2.2 单片机C语言编程基础 C语言在单片机中的应用通常涉及以下几个方面: 1. **基本语法**:熟悉C语言的基本语法,如变量声明、控制结构(if语句、for循环等)、函数定义等。 2. **位操作**:由于单片机经常...

    第68节:单片机C语言的多文件编程技巧

    单片机C语言多文件编程技巧 单片机C语言多文件编程是单片机入门知识中的一项重要技巧,通过多文件编程,可以将程序模块化,方便团队合作和重复使用代码。多文件编程的优点是可以增加程序的目录,方便查找和移植别人...

    STC单片机C语言通用万能编程模板.docx

    本文档提供了一套8051单片机C语言编程的通用模板,涵盖了一些基本的函数和中断处理,对于初学者或者经验丰富的开发者来说,都是一个很好的参考资料。 1. **函数头文件**: 函数头文件是每个C语言程序的基础,它包含...

    单片机C语言应用100例

    单片机C语言应用100例是一本旨在帮助学习者深入理解并熟练掌握单片机C语言编程的书籍,特别适合初学者和有一定基础的工程师。书中通过100个精心设计的实例,涵盖了单片机编程的各个方面,旨在让读者在实际操作中提升...

    完美的8051单片机C语言编程模板

    下面我们将深入探讨这个“完美的8051单片机C语言编程模板”涉及的关键知识点。 首先,单片机SFR(特殊功能寄存器)定义的头文件是非常重要的,它们包含了8051单片机中用于控制I/O端口和其他硬件功能的寄存器。例如...

    51、STC单片机C语言通用万能编程模板解析[参照].pdf

    以上这些模板函数构成了STC51单片机C语言编程的基础框架,开发者可以根据具体应用需求,灵活调整和扩展这些模板,以实现各种复杂的系统功能。理解并掌握这些模板,将大大提升开发效率,同时也为解决实际问题提供了...

    【精美排版】STC单片机C语言通用万能编程模板.doc

    以上是STC单片机C语言编程模板中的关键知识点,这些函数和功能构成了单片机应用程序的基础,开发者可以根据具体需求对模板进行修改和扩展,以适应各种实际应用场景。在编写代码时,理解并熟练运用这些知识点能够提高...

Global site tag (gtag.js) - Google Analytics