2022年单片机C语言程序设计基础.pptx
第3章单片机C51语言程序设计基础
·单片机C51语言既具有汇编语言对操作硬件的功能,又兼有高级编程语言的许多优点。在现代的单片
机程序设计中,单片机C51语言得到了广泛的采用。本章主要介绍了包括C51程序的基本结构,以及
C51程序设计的基础知识,包括标识符、关键字、数据类型、表达式和运算符等。熟练掌握这些知识,将为下面进一步学习打好基础。
·单片机C51语言继承了C语言的特点,其程序结构与一般C语言的程序结构没有差别。C51源程序文件的扩展名为“.c”,如Test.c、Function.c等。每个C51源程序中包含一个名为“main()”的主函数,C51程序的执行总是从main()函数开始的。当主函数中所有语句执行完毕,则程序执行结束。
项目文件
头文件
C源文件
库文件
编译中间文件
可烧录文件
KeilμVision3项目结构示意图
3.1C51程序的基本结构
3.2C51编程规范及注意事项
·在学习任何一种编程语言的时候,按照一定的规范培养良好的编程习惯很重要。良好的编程规范可以帮助开发人员理清思路、方便整理代码,同时也便于他人阅读理解以促进代码的交流。在进行C51语言程序设计时,应该注意一下几方面的编程规范。
·任何编程语言都支持注释语句。注释语句只对代码起到功能描述的作用,在实际的编译链接过程中不起作用。C51语言中可以通过两种方式来表示注释内容:
·用“//”符号开头来注释一行,如“//变量声明”。
·用“/*”符号开头,并以“*/”符号结束来对C51源程序中的任何部分进行注释,如“/*声明整型变量ch*/”。
3.2.1注释
·在进行程序设计时,经常需要自定义一些函数或者变量。
一般来说,只要符合C51命名规范即可通过编译。但是,为了便于源程序的理解和交流,在进行命名时应注意如下几点:
·自定义函数或者变量的名称最好能反映该函数或变量的功能用途。因此,需要采用有意义的单词或者字母组合来表示。例如,MAX表示最大值、MIN表示最小值等。
·变量名通常加上表示数据类型的前缀,如“ucSendData”的前缀“uc”表示unsignedchar。
·在命名时不要和系统保留的标识符以及关键字产生冲突或者歧义。
3.2.2命名
·为了程序阅读的方便,在进行C51程序设计时,在程序结构以及语句书写格式方面应注意以下几点:
·虽然C51语言对main()函数放置的位置没有限定,但为了程序阅读的方便,最好将其放置在所有自定义函数的最前面,即依次是头文件声明、自定义函数以及全局变量声明、main()函数、自定义函数。
·C51语句可以写在一行上也可以写在多行上。为了程序理解的方便,最好将每个语句单独写在一行,并加以注释。有时某几个相连的语句相近或者共同执行某个功能则可以放置在一行。
·对于源程序文件不同结构部分之间要留有空行。例如,头文件声明、自定义函数声明、main()函数以及自定义函数之间均要空一行来明显区分不同结构。
·对于if、while等块结构语句中的“{”和“}”要配对对齐,以便于程序阅读时能够理解该结构的起始和结束。
·源代码安排时可以通过适当的空格以及Tab键来实现代码对齐。
3.2.3格式
·标识符和关键字是一种编程语言最基本的组成部分,C51语言同样支持自定义的标识符以及系统保留的关键字。在进行C51程序设计时,需要了解标识符和关键字的使用规则。
3.3C51的标识符与关键字
·在上面的例子中,count为整型变量的标识符,Function1为自定义函数的标识符。
·在C51语言中,标识符可以由字母、数字(0~9)和下划线“_”组成,最多可支持32个字符。并且,C51标识符第一个字符必须是字母或者下划线“_”。例如“utl”、
“ch_1”等,都是正确的。而“5count”则是错误的标识符。另外,C51的标识符区分大小写,例如“count1”和“COUNT1”代表两个不同的标识符。
·标识符常用来声明某个对象的名称,如变量和常量的声明、数组和结构的声明、自定义函数的声明以及数据类型的声明等。示例如下。
·intcount;
·voidFunction1();
3.3.1标识符
·关键字是C51语言重要的组成部分,是C51编译器已定义保留的专用特殊标识符,有时也称为保留字。这些关键字通常有固定的名称和功能,如in