欢迎来到天天文库
浏览记录
ID:37706278
大小:106.50 KB
页数:32页
时间:2019-05-29
《51、STC单片机C语言通用万能编程模板》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
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温度传感器驱
2、动1918.LCM2402(1602也适用)驱动程序2119.主函数2520.8个独立式键盘驱动程序2721.16个阵列式键盘驱动程序28..1.函数头文件/******************************************************************************程序名: 编写人: 编写时间: 20年月日硬件支持: 接口说明: 修改日志: NO.1-/******************************************************************
3、************说明:/*****************************************************************************/#include//通用89C51头文件(只留下实际使用的单片机所对应的头文件)#include//设定插入点#include//字符处理#include//定义错误码#include4、>//浮点数处理#include//文件输入/输出#include//参数化输入/输出#include//数据流输入/输出#include//定义各种数据类型最值常量#include//定义本地化函数#include//定义数学函数#include//定义输入/输出函数#include//定义杂项函数及内存分配函数#include//字符串处理#include5、strea.h>//基于数组的输入/输出..#include//定义关于时间的函数#include//宽字符处理及输入/输出#include//宽字符分类#include//51基本运算(包括_nop_空函数)sfr[自定义名]=[SFR地址];//按字节定义SFR中的存储器名。例:sfrP1=0x90;sbit[自定义名]=[系统位名];//按位定义SFR中的存储器名。例:sbitAdd_Key=P3^1;bit[自定义名];//定义一个位(位的值只能是0或1)例:bi6、tLED;#define[代替名][原名]//用代替名代替原名。例:#defineLEDP1/#defineTA0x25#defineKEYP1//键盘所连接的I/O接口组定义sbitSPEAKER=P3^7;//扬声器连接定义sbitDQ=P2^5;//ds18B20sbitRS=P1^0;//模式位,为0输入指令,为1输入数据sbitRW=P1^1;//读写位,为0读,为1写sbitE=P1^2;//使能位#defineLcd_BusP0//数据总线unsignedchar[自定义名];//定义一个0~255的整数变量。unsignedint7、[自定义名];//定义一个0~65535的整数变量。data字节寻址片内RAM,片内RAM的128字节(例:dataunsignedchara;)bdata可位寻址片内RAM,16字节,从0x20到0x2F(例:bdataunsignedchara;)idata所有片内RAM,256字节,从0x00到0xFF(例:idataunsignedchara;)pdata片外RAM,256字节,从0x00到0xFF(例:pdataunsignedchara;)xdata片外RAM,64K字节,从0x00到0xFFFF(例:xdataunsignedcha8、ra;)codeROM存储器,64K字节,从0x00到0xFFFF(例:codeunsignedchara;)..2.毫秒级CPU延时函
4、>//浮点数处理#include//文件输入/输出#include//参数化输入/输出#include//数据流输入/输出#include//定义各种数据类型最值常量#include//定义本地化函数#include//定义数学函数#include//定义输入/输出函数#include//定义杂项函数及内存分配函数#include//字符串处理#include5、strea.h>//基于数组的输入/输出..#include//定义关于时间的函数#include//宽字符处理及输入/输出#include//宽字符分类#include//51基本运算(包括_nop_空函数)sfr[自定义名]=[SFR地址];//按字节定义SFR中的存储器名。例:sfrP1=0x90;sbit[自定义名]=[系统位名];//按位定义SFR中的存储器名。例:sbitAdd_Key=P3^1;bit[自定义名];//定义一个位(位的值只能是0或1)例:bi6、tLED;#define[代替名][原名]//用代替名代替原名。例:#defineLEDP1/#defineTA0x25#defineKEYP1//键盘所连接的I/O接口组定义sbitSPEAKER=P3^7;//扬声器连接定义sbitDQ=P2^5;//ds18B20sbitRS=P1^0;//模式位,为0输入指令,为1输入数据sbitRW=P1^1;//读写位,为0读,为1写sbitE=P1^2;//使能位#defineLcd_BusP0//数据总线unsignedchar[自定义名];//定义一个0~255的整数变量。unsignedint7、[自定义名];//定义一个0~65535的整数变量。data字节寻址片内RAM,片内RAM的128字节(例:dataunsignedchara;)bdata可位寻址片内RAM,16字节,从0x20到0x2F(例:bdataunsignedchara;)idata所有片内RAM,256字节,从0x00到0xFF(例:idataunsignedchara;)pdata片外RAM,256字节,从0x00到0xFF(例:pdataunsignedchara;)xdata片外RAM,64K字节,从0x00到0xFFFF(例:xdataunsignedcha8、ra;)codeROM存储器,64K字节,从0x00到0xFFFF(例:codeunsignedchara;)..2.毫秒级CPU延时函
5、strea.h>//基于数组的输入/输出..#include//定义关于时间的函数#include//宽字符处理及输入/输出#include//宽字符分类#include//51基本运算(包括_nop_空函数)sfr[自定义名]=[SFR地址];//按字节定义SFR中的存储器名。例:sfrP1=0x90;sbit[自定义名]=[系统位名];//按位定义SFR中的存储器名。例:sbitAdd_Key=P3^1;bit[自定义名];//定义一个位(位的值只能是0或1)例:bi
6、tLED;#define[代替名][原名]//用代替名代替原名。例:#defineLEDP1/#defineTA0x25#defineKEYP1//键盘所连接的I/O接口组定义sbitSPEAKER=P3^7;//扬声器连接定义sbitDQ=P2^5;//ds18B20sbitRS=P1^0;//模式位,为0输入指令,为1输入数据sbitRW=P1^1;//读写位,为0读,为1写sbitE=P1^2;//使能位#defineLcd_BusP0//数据总线unsignedchar[自定义名];//定义一个0~255的整数变量。unsignedint
7、[自定义名];//定义一个0~65535的整数变量。data字节寻址片内RAM,片内RAM的128字节(例:dataunsignedchara;)bdata可位寻址片内RAM,16字节,从0x20到0x2F(例:bdataunsignedchara;)idata所有片内RAM,256字节,从0x00到0xFF(例:idataunsignedchara;)pdata片外RAM,256字节,从0x00到0xFF(例:pdataunsignedchara;)xdata片外RAM,64K字节,从0x00到0xFFFF(例:xdataunsignedcha
8、ra;)codeROM存储器,64K字节,从0x00到0xFFFF(例:codeunsignedchara;)..2.毫秒级CPU延时函
此文档下载收益归作者所有