《5STC单片机C语言知识通常万能编程资料标准模板》由会员分享,可在线阅读,更多相关《5STC单片机C语言知识通常万能编程资料标准模板(32页珍藏版)》请在金锄头文库上搜索。
1、.8051单片机C语言编程模板 1.函数头文件22.毫秒级CPU延时函数43.定时/计数器初始化函数54.定时/计数器1中断处理函数65.定时/计数器0中断处理函数76.PWM初始化函数87.PWM0占空比设置函数98.UART串口初始化函数109.UART串口接收中断处理函数1110.UART串口发送函数1211.UART串口发送字符串函数1312.外部中断INT初始化函数1413.外部中断INT1中断处理程序1514.外部中断INT0中断处理程序1515.普通I/O口模拟PWM生成程序1616.LCD驱动1617.DS18B20温度传感器驱动1918.LCM2402(1602也适用)驱动程
2、序2119.主函数2520. 8个独立式键盘驱动程序2721. 16个阵列式键盘驱动程序281.函数头文件/*程序名: 编写人: 编写时间:20 年 月 日硬件支持:接口说明:修改日志:NO.1-/*说明:/*/#include /通用89C51头文件(只留下实际使用的单片机所对应的头文件)#include /设定插入点#include /字符处理#include /定义错误码#include /浮点数处理#include /文件输入输出#include /参数化输入输出#include /数据流输入输出#include /定义各种数据类型最值常量#include /定义本地化函数#inclu
3、de /定义数学函数#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或
4、1)例:bit LED;#define 代替名 原名 /用代替名代替原名。例:#define LED P1 / #define TA 0x25#define KEY P1 /键盘所连接的I/O接口组定义sbit SPEAKER = P37; /扬声器连接定义sbit DQ = P2 5; /ds18B20sbit RS = P10; /模式位,为0输入指令,为1输入数据sbit RW = P11; /读写位,为0读,为1写sbit E = P12; /使能位#define Lcd_Bus P0 /数据总线unsigned char 自定义名 ; /定义一个0255的整数变量。unsigned
5、int 自定义名 ; /定义一个065535的整数变量。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
6、 a;)code ROM存储器,64K字节,从0x00到0xFFFF (例:code unsigned char a;)2.毫秒级CPU延时函数/*函数名:毫秒级CPU延时函数调 用:DELAY_MS (?);参 数:165535(参数不可为0)返回值:无结 果:占用CPU方式延时与参数数值相同的毫秒时间备 注:应用于1T单片机时i600,应用于12T单片机时i125(在此预为1T单片机数值)/*/void DELAY_MS ( unsigned int a )unsigned int i;while ( -a != 0)for(i = 0; i 600; i+);/*/-M1M0方式说明00013位T/C,由TL低5位和TH的8位组成13位计数器01116位T/C,TL和TH共16位计数器1028位T/C,TL用于计数,当TL溢出时将TH中的值自动写入TL113两组8位T/C-3.定时/计数器初始化函数/*函数名:定时/计数器初始化函数调 用:T_C_init();参 数:无返回值:无结 果:设置SFR中T/C1和(或)T/C0相关参数备 注:本函数控制