C51学习资料 C51学习手册介绍运算符算法数组指针结构体共用体枚举.doc

上传人:sccc 文档编号:5028349 上传时间:2023-05-30 格式:DOC 页数:12 大小:77.51KB
返回 下载 相关 举报
C51学习资料 C51学习手册介绍运算符算法数组指针结构体共用体枚举.doc_第1页
第1页 / 共12页
C51学习资料 C51学习手册介绍运算符算法数组指针结构体共用体枚举.doc_第2页
第2页 / 共12页
C51学习资料 C51学习手册介绍运算符算法数组指针结构体共用体枚举.doc_第3页
第3页 / 共12页
C51学习资料 C51学习手册介绍运算符算法数组指针结构体共用体枚举.doc_第4页
第4页 / 共12页
C51学习资料 C51学习手册介绍运算符算法数组指针结构体共用体枚举.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《C51学习资料 C51学习手册介绍运算符算法数组指针结构体共用体枚举.doc》由会员分享,可在线阅读,更多相关《C51学习资料 C51学习手册介绍运算符算法数组指针结构体共用体枚举.doc(12页珍藏版)》请在三一办公上搜索。

1、C51编程学习 作者:刘园珍一:数据类型运算符表达式1.1 C51支持的数据类型数据类型名称长度值域基本类型bit1 bit0,1Unsigned char,char1 byte0255,-128127Unsigned int,int2byte065525,-3276832767Unsigned long,long4 byte04294967295Float4 byte6位数字Double8 byte10位数字构造类型数组结构体共用体枚举指针类型23byte存储空间,最大64KB空类型1.2 常量和变量常量:#define CONST 10变量:bit b_start /位变量 Charc_s

2、tart/字符变量其他略。1.3 C51存储器寄存器定义定义:分为片内数据存储器片外数据存储器片内程序存储器片外程序存储器。1.31C51的数据存储类型关键字存储器对应关系data直接寻址片外数据存储器(128byte)bdat片内位寻址存储空间(16byte)idata间接寻址片内数据存储空间,可以访问RAM全部内容pdata分页寻址片外数据存储器(256byte)Xdata片外数据存储器(64KB)Code代码存储器(64KB)例子:char data c_Var; /无符号char型变量,定义到内部存储空间低128byte1.32寄存器Sfr SBUF=0x99;/定义串行数据寄存器Sf

3、r16T2=0xcc;/定义T2计时器数据存储器Sbit D0=P21;定义位变量SbitCY=0xd7;使用绝对地址定义使用sbit定义变量空间Bdata unsigned char uc_shield_byte;Sbit b_x= uc_shield_byte1;/定义首位Sbit b_y= uc_shield_byte2;Sbit b_z=uc_shield_byte3;1.4 逻辑运算与:&或:|非:!位逻辑运算位与:&位或:|位异或:位取反:1.5 移位运算左移位:,高位右移,补0;二:C51控制流(1) 顺序结构(2) 选择结构1 Ifelse语句2 If语句3 Switch语句S

4、witch(判断条件)Case 常量表达式1:语句块1break;Default:语句n+1break;4 If和switch嵌套(3) 循环结构1 While语句2 Do while语句Do代码块;while(条件);3 For语句三:函数1 无参数函数定义Void 函数名(void)/无参数,无返回值函数定义Int 函数名(char a,char b)/带参数,带返回值函数定义2 局部变量和全局变量静态局部变量和动态局部变量Staticint a;静态(static不可省略)Autointa;动态(auto可省略)3 内部函数和外部函数(1)内部函数:static unsigned cha

5、r Fun(int a);内部函数只能被该源文件中的其他函数调用(2)外部函数:extern unsigned char Fun(int a);外部函数可以被其他源文件调用的函数四:数组和指针(1) 数组:l 一维数组:类型数组名【size】;l 二维数组类型数组名【size A】【size B】;l 字符数组Char ch1【】=j,a,c,k,x,u;以字符形式赋值Char ch1=“jackxu”;以字符串形式赋值(2) 指针1) 指针和指针变量类型*变量名Int *ptr1;float *ptr2;char *ptr3;2) 指针的引用Int a=10;Int *p=&a;X=a ;直

6、接访问方式X=*p;间接访问方式(3) 数组和指针Int a=1,2,3,4,5,6,7,8,9,10,*ip;Ip=a; /*ip代表a0,*(ip+i)代表ai;二维数组与指针同上;(4) 字符串和指针不能用指针变量来修改字符串常量;(5) 数组,指针和函数的关系1) 数组可作为函数的参数:int sum(int a,int num);2) 指针作为函数参数:int sum(int *ip,int num);3) 返回指针的函数:char *ip(char *ip,char c);(6) 指针数组和指向指针的指针1)类型 *数组名【size】;Char *name【3】=“I”,“love

7、”,“you”;定义了三个字符型指针数组并进行了初始化3) 类型 *指针变量名 /指针变量的变量声明*指针变量 /获取指针变量指向的指针*指针变量 /获取指针变量指向的指针内容例子:Main()Char *name=“Tom”,”Jacky”,”Andy”;Char *cp=name;For(int i=0;iMonth=8;例子:求平均数Struct memberFloat Slaray;flashman【5】=3000,4000,5000,6000,7000;Float AVRage(struct member *p_Man)Float avr,sum;Unsigned char j;Su

8、m=avr=0;For(j=0;jSlaray;If(j=4)Avr=sum/5;Return avr;Main()Float avr;Struct member *p;P=flashman;Menberavr=average(p);(2) 联合体定义:union 结构名类型说明符 成员1类型说明符 成员2。类型说明符 成员n;结构名 变量名1,变量名2.;2)union结构名类型说明符 成员1类型说明符 成员2。类型说明符 成员n变量名1,变量名2.;3)union 类型说明符 成员1类型说明符 成员2。类型说明符 成员n变量名1,变量名2.;(3) 枚举1)定义:Enum 枚举名枚举值列表

9、;枚举名 变量1,变量2,;2)Enum 枚举名枚举值列表; 枚举名变量1,变量2,;六:程序设计技巧中断响应快速的一种解决方法#define N 256Char dataNStatic int couter=0;Void main(void)If(flag=1)Handledata(data);/数据处理模块Void Timer0 (void) inteerupt 1Datacounter=AD_result;If(couter+=N)Flag=1;Counter=0;总结:讲中断采集到的数据处理模块移到主程序中操作,节约了中断时间,使得程序能快速响应中断并使得程序不会因处理模块运行时间超过了中断时间而出错;12

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号