C的C语言程序设计实用.pptx
《C的C语言程序设计实用.pptx》由会员分享,可在线阅读,更多相关《C的C语言程序设计实用.pptx(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2023/4/131第1页/共43页2023/4/13210.1.2 C51程序结构#include#include void delayms(unsigned);void main(void)unsigned char i;P1=0 x01;do for(i=0;i=7;i+)delayms(5000);P1=P11;if(P1=0 x0)P1=0 x01;while(1);void delayms(unsigned x)unsigned char j;while(x-)for(j=0;j123;j+);第2页/共43页2023/4/13310.2.1 C51的数据类型10.2 C51的数据
2、类型与运算的数据类型与运算 数据类型决定其取值范围、占用存储器的大小及可参与哪种运算。数据类型数据类型长度长度(位位)取值范围取值范围字符型字符型signed char8-128127unsigned char80255整整 型型signed int16-3276832767unsigned int16065535长整型长整型signed long32-2147488364821474883647unsigned long3204294967295浮点型浮点型float321.75494E-383.402823E+38位位 型型bit10,1sbit10,1访问访问SFRsfr80255sfr
3、1616065535第3页/共43页2023/4/134尽可能采用无符号格式bit用于定义位变量的名字,编译器会对其分配地址(RAM的20H2FH 区域)sbit用于定义位变量的名字和地址,地址是确定的且不用编译器分配(SFR及RAM的20H2FH 区域)C51编译器在编译时会自动进行类型转换 几点说明:第4页/共43页2023/4/13510.2.2 C51数据的存储类型C51的存储器类型存储器类型存储器类型长度(位)长度(位)对应单片机存储器对应单片机存储器bdata1片内片内RAM位寻址区,共位寻址区,共128位。(亦能字节访问)位。(亦能字节访问)data8直接寻址,共直接寻址,共12
4、8字节。字节。idata8间接寻址,共间接寻址,共256字节。字节。pdata8片外片外 RAM分页间址,共分页间址,共256字节。(字节。(MOVX Ri)xdata16间接寻址,共间接寻址,共64k字节。(字节。(MOVX DPTR)code16ROM间接寻址,共间接寻址,共64k字节。(字节。(MOVC A,A+DPTR)第5页/共43页2023/4/136经常使用的变量应该置于片内RAM中,要用bdata、data、idata来定义不经常使用的变量或规模较大的变量应该置于片外RAM中,要用pdata、xdata来定义默认存储器类型由编译控制命令的存储模式指令限制 存储模式存储模式默认默
5、认存储类型存储类型特特 点点SMALL data小模式。小模式。变量默认在片内变量默认在片内RAM。空间小,速度块。空间小,速度块。COMPACTpdata紧凑模式。变量默认在片外紧凑模式。变量默认在片外RAM的页(的页(256字节,页号由字节,页号由P2口决定)。口决定)。LARGExdata大模式。大模式。变量默认在片外变量默认在片外RAM的的64KB范围。空间大,速度慢。范围。空间大,速度慢。第6页/共43页2023/4/13710.2.3 80C51硬件结构的C51定义特殊功能寄存器的声明 sfr 特殊功能寄存器名=地址常数;格式:例如:sfr SCON=0 x90;sfr P0=0
6、x80;第7页/共43页2023/4/138特殊功能寄存器中特定位的声明 sbit 位变量名=特殊功能寄存器名位的位置(07)例如:sfr PSW=0 xD0;sbit OV=PSW2;sbit 位变量名=字节地址位的位置(07)例如:sbit OV=0 xD02;sbit CY=0 xD07;sbit 位变量名=位地址 例如:sbit OV=0 xD2;sbit CY=0 xD7;第8页/共43页2023/4/139内部RAM中可位寻址对象的定义 先定义变量的数据类型和存储类型 例如:int bdata ibase;char bdata array4;再利用sbit进行声明 例如:sbit
7、mybit0=ibase0;sbit mybit15=ibase15;sbit ary07=array07;访问示例:ibase=-1;array2=a;第9页/共43页2023/4/1310算术运算符和算术表达式 10.2.4 C51的运算符和表达式 基本算术运算符 例如:+加法运算符;-减法(取负)运算符;*乘法运算符;/除法运算符;%取余数运算符。示例:25.0/20.0=1.25 25/20=125%20=5 取负运算优先级最高。第10页/共43页2023/4/1311自增、自减运算符(仅能用于变量)例如:+自增运算符;-自减运算符;类型转换运算符 自动转换,顺序:bitcharint
8、longfloat 强制类型转换,如:(double)a 第11页/共43页2023/4/1312关系运算符和关系表达式 关系运算符 小于;大于;=大于等于;=等于;!=不等于。关系表达式关系表达式的值为逻辑值:真(1)和假(0)第12页/共43页2023/4/1313逻辑运算符和逻辑表达式 逻辑运算符&逻辑与;|逻辑或;!逻辑非。逻辑表达式逻辑表达式的值为逻辑值:真(1)和假(0)例:5|0结果为1,2&0结果为0 第13页/共43页2023/4/1314位运算符&按位与;|按位或;按位异或;按位取反;右移。例:P1=P11表示对P1口的所有位左移1位 第14页/共43页2023/4/131
9、5赋值和复合赋值运算符 复合赋值运算符 +=加法赋值;-=减法赋值;*=乘法赋值;/=除法赋值;%=取模赋值;符号“=”称为赋值运算符 =右移位赋值;&=逻辑与赋值;|=逻辑或赋值;=逻辑异或赋值;=逻辑非赋值 例:a*=5相当于a=a*5;b&=0 x80相当于b=b&0 x80。第15页/共43页2023/4/131610.3 C51流程控制语句流程控制语句 10.3.1 C51选择语句 条件语句if(条件表达式)语句 例如:if(p1!=0)c=20;if(条件表达式)语句1 else 语句2 例如:if(p1!=0)c=20;else c=0;第16页/共43页2023/4/1317i
10、f(条件表达式1)语句1 else if(条件表达式2)语句2 else if(条件表达式3)语句3 else if(条件表达式n)语句n else 语句n+1 第17页/共43页2023/4/1318开关语句switch(表达式)case 常量表达式1:语句1;break;case 常量表达式2:语句2;break;case 常量表达式n:语句n;break;default:语句n+1;第18页/共43页2023/4/131910.3.2 C51循环语句 while语句 一般形式为:while(条件表达式)语句;如果条件表达式的结果一开始就为假,则后面的语句一次也不能执行。do-while语
11、句 一般形式为:do语句 while(条件表达式);任何条件下,循环体语句至少会被执行一次。第19页/共43页2023/4/1320for语句 一般形式为:for(初值表达式;条件表达式;更新表达式)语句if语句与goto语句结合 当型循环 形式为:loop:if(表达式)语句 goto loop;第20页/共43页2023/4/1321 直到型循环 形式为:loop:语句 if(表达式)goto loop;continue是一种循环中断语句,它并不跳出循环体;break语句只能跳出它所处的那一层循环;goto语句可以用于跳出多重循环(从内层到外层)。注意:第21页/共43页2023/4/13
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 实用
限制150内