资源预览内容
第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
第9页 / 共20页
第10页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
单片机C语言设计基础第5讲*280C51单片机C语言基础#include /包含特殊功能 寄存器库 #include /包含I/O函数库 void serial_initial(); void main(void) int a,b; serial_initial(); scanf(“please input a,b:%d,%d”, printf(“n”); printf(“max is:%dn”,a=b?a:b); while(1); void serial_initial(void) /主函数 SCON=0x52; /串口初始化 TMOD=0x20; TH1=0XF3; TR1=1; *380C51单片机C语言基础预处理命令 include 直接按标准目录搜索 “” 先在当前目录搜索,再搜索标准目录 可指定路径*1580C51单片机C语言基础被包含的文件内容 源文件(*.c) 头文件(*.h)宏定义 数据结构定义 函数说明等文件包含可嵌套#include “file2.c”file1.cAfile3.cC#include “file3.c”file2.cBfile1.c Afile3.cfile2.c*1680C51单片机C语言基础1、字符处理库 ctype.h2、字符串处理库 cstring.h3、标准函数stdlib.h4、数学函数math.h5、绝对地址访问函数absacc.h6、内部函数intrins.h7、变量参数stdarg.h8、全程跳转setjmp.h9、计算结构体成员的偏移量stddef.h库 文 件 介 绍*1780C51单片机C语言基础头文件:reg51.h/* BYTE Register */ sfr P0 = 0x80; sfr P1 = 0x90; sfr P2 = 0xA0; sfr P3 = 0xB0; sfr PSW = 0xD0; sfr ACC = 0xE0; sfr B = 0xF0; sfr SP = 0x81; sfr DPL = 0x82; sfr DPH = 0x83; sfr PCON = 0x87; sfr TCON = 0x88; sfr TMOD = 0x89; sfr TL0 = 0x8A; sfr TL1 = 0x8B; sfr TH0 = 0x8C; sfr TH1 = 0x8D; sfr IE = 0xA8; sfr IP = 0xB8; sfr SCON = 0x98; sfr SBUF = 0x99;/* IE */ sbit EA = 0xAF ; sbit ES = 0xAC ; sbit ET1 = 0xA B; sbit EX1 = 0xA A; sbit ET0 = 0xA 9; sbit EX0 = 0xA 8; /* IP */ sbit PS = 0xBC ; sbit PT1 = 0xB B; sbit PX1 = 0xB A; sbit PT0 = 0xB 9; sbit PX0 = 0xB 8; /* P3 */ sbit RD = 0xB7 ; sbit WR = 0xB6 ; sbit T1 = 0xB5 ; sbit T0 = 0xB4 ; sbit INT1 = 0x B3; sbit INT0 = 0x B2; sbit TXD = 0xB 1; sbit RXD = 0xB 0;/* SCON */ sbit SM0 = 0x 9F; sbit SM1 = 0x 9E; sbit SM2 = 0x 9D; sbit REN = 0x 9C; sbit TB8 = 0x 9B; sbit RB8 = 0x 9A; sbit TI = 0x9 9; sbit RI = 0x9 8;/* BIT Register */* PSW */sbit CY = 0xD7;sbit AC = 0xD6;sbit F0 = 0xD5;sbit RS1 = 0xD4;sbit RS0 = 0xD3;sbit OV = 0xD2;sbit P = 0xD0;/* TCON */sbit TF1 = 0x8F;sbit TR1 = 0x8E;sbit TF0 = 0x8D;sbit TR0 = 0x8C;sbit IE1 = 0x8B;sbit IT1 = 0x8A;sbit IE0 = 0x89;sbit IT0 = 0x88;*1880C51单片机C语言基础新关键词 sfr,sbit Keil为能直接仿问51系列单片机而设的新关键词。 使用方法 sfr 变量名 = 地址值 sbit 位变量名 地址值 sbit 位变量名 SFR名称变量位地址值 sbit 位变量名 SFR地址值变量位地址值 一个小例子: 如定义PSW中的OV可以用以下三种方法: sbit OV=0xd2 (1)说明:0xd2是OV的位地址值 sbit OV=PSW2 (2)说明:其中PSW必须先用sfr定义好 sbit OV=0xD02 (3)说明:0xD0就是PSW的地址值 *1980C51单片机C语言基础 用typedef定义类型功能:用自定义名字为已有数据类型命名类型定义简单形式: typedef type name;例 typedef int INTEGER;类型定义语句关键字已有数据类型名用户定义的类型名例 typedef float REAL;类型定义后,与已有类型一样使用例 INTEGER a,b,c; REAL f1,f2; int a,b,c; float f1,f2; 说明: 1.typedef 没有创造新数据类型 2.typedef 是定义类型,不能定义变 量 3.typedef 与 define 不同define typedef 预编译时处理 编译时处理 简单字符置换 为已有类型命名 *2080C51单片机C语言基础 按定义变量方法先写出定义体 如 int i; 将变量名换成新类型名 如 int INTEGER; 最前面加typedef 如 typedef int INTEGER; 用新类型名定义变量 如 INTEGER i,j; typedef定义类型步骤例 定义数组类型int a100; int ARRAY100; typedef int ARRAY100; ARRAY a,b,c; 例 定义指针类型char *str; char *STRING; typedef char *STRING; STRING p,s10;
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号