欢迎来到天天文库
浏览记录
ID:51489069
大小:166.50 KB
页数:22页
时间:2020-03-24
《单片机C编程基础.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一、C语言基础二、单片机C编程单片机C编程基础SingleChipMicrocomputer本章内容1一、C语言基础1、数据类型类型长度(bit)范围char8-128~+127unsignedchar80~255int16-32768~+32767unsignedint160~65535short16-32768~+32767unsignedshort160~6553521、数据类型类型长度(bit)范围long32-2147483648~+2147483647unsignedlong320~429496
2、7295float32-1.175494E-38~+3.402823E+383(1)、算数运算符+、-、*、/、++、--、%(2)、关系和逻辑运算符>、>=、<、<=、==、&&、
3、
4、、!(3)、位操作符&、
5、、^、~、>>、<<2、运算符43、程序控制语句(1)、选择控制语句ifelse、switchcase(break)While(1){if(i==19){i=0;P1_0=!P1_0;//将P1.0电平翻转}i=i+1;}5(1)、选择控制语句ifelse、switchcase(break)Whil
6、e(1){switch(i){case0:P1_0=!P1_0;break;case1:P1_1=!P1_1;break;case2:P1_2=!P1_2;break;case3:P1_3=!P1_3;break;}i=(i+1)%4;}6(2)、循环控制语句for(i=0;i<10;i++){}while(){}do{}while()7(3)、转移控制语句break、continue、goto84、函数(1)、主函数(应为一个无限循环结构)main(){charkey;chari=0;intj=10;ke
7、y=keyscan(i,j);….while(1){…};}9(2)、子函数charkeyscan(chari,intj){charkeynum;…returnkeynum;}10二、单片机C编程1、关键字_at_idatasfralieninterruptarf16bdatalargesmallbitpdata_task_code_priority_usingcompactreentrantxdatadatasbit112、存储器区域(1)、程序存储区使用code进行声明,最大64KB,包括内部ROM和外
8、部ROM例、unsignedcharcodesegtab=0xc0;定义了一个常量segtab,其值为0xc0,它的存储位置在ROM区,编译器根据编译情况自行决定其是处在外部ROM区还是处在内部ROM区。12(2)、内部RAM区使用data、idata、bdata进行声明data:内部RAM的低128字节00H~7FH例如:unsignedchardatai;idata:整个内部RAM区共256字节00H~FFH例如:unsignedcharidatai;bdata:内部RAM的可按位访问区20H~2FH例
9、如:unsignedcharbdatai;13(3)、外部RAM区使用xdata、pdata进行声明最大访问范围为64KBxdata:可访问整个外部RAM区0000H~FFFFHmovxACC,@DPTR(DPTR为16位)pdata:可访问外部RAM的连续256B范围movxACC,@Rx(Rx位8位)143、数据变量分类(1)、bit型变量例、bitflag=0;bitgetkey;该类型变量均存放在内部RAM的bdata区15(2)、可按位访问的数据例、intbdatamybit;charbdatab
10、ary[4];sbitmybit0=mybit^0;sbitary07=bary[0]^7;sbitary37=bary[3]^7;sfrP1=0x90;sbitled=P1^1;16(3)、变量定位到绝对地址使用关键字_at_格式:[存储区]变量类型变量名_at_常量例、idatacharnumber_at_0x40;声明一个char类型的变量number,存放它的位置在内部RAM的40H处例、xdataintnumber_at_0x0FFF;声明一个int类型的变量number,存放它的位置在外部RAM
11、的0FFFH处。或者#definenumberXBYTE[0x0FFF]174、变量的作用范围(1)、静态变量static例、staticchari=0;变量i只能被上条语句以后的程序部分使用18(2)、外部变量extern例、externchari;//对变量i的重新声明在声明变量i的文件中可以使用变量i,但变量i的定义可以不在此文件中。195、存储器模式分类存储器模式的选定是在编译器中进行的,他决定了没有明确
此文档下载收益归作者所有