欢迎来到天天文库
浏览记录
ID:52094380
大小:392.00 KB
页数:61页
时间:2020-03-31
《《片机的C语言编程》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章单片机的C语言编程4.1C51的程序结构4.2C51的数据类型及运算符4.3C51的函数4.4C51程序设计本章要点介绍C语言的基础知识。掌握C语言程序的基本结构,学会编制一些简单的单片机应用程序,并能在Windows环境下使用C51编译器进行编译操作。由于8051单片机的应用程序用的是C51编译器,了解应注意在存储类型、对片内硬件资源的定义等方面与标准C语言的区别。概述单片机C51语言是由C语言继承而来的。和C语言不同的是,C51语言运行于单片机平台,而C语言则运行于普通的桌面平台。C51语言具有C语言结构清晰的优
2、点,便于学习,同时具有汇编语言的硬件操作能力。对于具有C语言编程基础的读者,能够轻松地掌握单片机C51语言的程序设计。4.1C51的程序结构C51程序结构同ANSIC一样,必须有一个主函数main(),从主函数main()开始执行程序,默认情况下主函数是一个“死循环”结构,不停地循环执行。例:C51程序基本结构在此处定义全局变量;//所有函数都可以使用voidmain(){/*定义主函数*/在此处定义局部变量;//只能在本函数范围内使用bgn:……gotobgn;}例:#includeSbitsel=P1
3、^0;Voidmain(){P1=0x01;While(1){if(sel==1){P1=P1<<1;if(P1==0x00)P1=0x80;}else{P1=P1>>1;if(P1==0x00)P1=0x01;}}}C51与标准C语言的比较:C51语言标准C语言语言格式.C、.C51.C调试工具KeilC51TurboC特点需考虑单片机存储器结构及其片内资源定义相应的数据类型和变量不需要考虑这些问题库函数按MCS-51单片机相应情况定义按微型计算机定义数据类型增加了针对MCS-51单片机特有的数据类型存储模式变量的存储模
4、式与MCS-51单片机的存储器紧密相关输入/输出处理通过MCS-51单片机串行口完成,输入输出指令执行前必须对串行口初始化通过输入输出指令完成函数使用有专门的中断函数相同语法规则、程序结构和程序设计方法等两者相同完备和详尽的程序注释用“//”符号开头来注释一行,如“//变量声明”。用“/*”符号开头,并以“*/”符号结束。采用这种方法,可以对C51源程序中的任何部分进行注释,如“/*声明整型变量count*/”。整齐的代码书写格式if、do、while等块结构语句中的“{”和“}”要配对对齐,这样便于理解该结构的起始点和结
5、束点。为了程序理解的方便,最好将每个语句单独写在一行,并加以注释。如果相连的语句具有相近的功能,则可以放置在一行。代码书写时,可以通过适当的空格以及Tab键来实现代码对齐,这样代码整齐美观,便于阅读。对于源程序文件不同结构部分之间要留有空行来区分。例如,头文件声明、自定义函数声明、main()函数以及自定义函数之间均要空一行。简洁清晰的命名良好的编程规范标识符是用来表示源程序中自定义对象名称的符号。其中的自定义对象可以是常量、变量、数组、结构、语句标号以及函数等。在C51语言中,标识符可以由字母(a~z,A~Z)、数字(0
6、~9)和下划线“_”组成,最多可支持32个字符。C51标识符的定义不是随意的,需要符合一定的规则。标识符的第一个字符必须是字母或者下划线,不能为数字。C51的标识符区分大小写,例如“ch1”和“Ch1”表示两个不同的标识符。用户自定义的标识符不能与系统保留的关键字重复。标识符和关键字关键字是C51编译器保留的一些特殊标识符,具有特定的含义和用法。单片机C51程序语言继承了ANSIC标准定义的32个关键字,同时又结合单片机硬件的特点扩展了一些关键字。详细的C51关键字可以参阅书中列表。关键字4.2C51的数据类型及运算符4.
7、2.1、C51的存储类型(1)运算量数据分为常量和变量常量—在程序运行中其值不变的量,可以为字符,十进制数或十六进制数(用0x表示)。常量分为数值型常量和符号型常量,如果是符号型常量,需用宏定义指令(#define)对其进行定义(相当于汇编的“EQU”伪指令)如:#definePI3.1415那么程序中只要出现PI的地方,编译程序都译为3.1415。char'a'、''、'3'//字符型常量int45、123、-110//整型常量unsignedint10010、457、7//无符号整型常量longint35510、-
8、78//长整型常量float115.23、3.14e-3//浮点型常量例如:变量—在程序运行中其值可以改变的量。一个变量由变量名和变量值构成,变量名即是存贮单元地址的符号表示,而变量的值就是该单元存放的内容。定义一个变量,编译系统就会自动为它安排一个存贮单元,具体的地址值用户不必在意。变量的定义的一般格
此文档下载收益归作者所有