文档详情

第四章 单片机C语言编程.ppt

发布:2017-08-01约1万字共61页下载文档
文本预览下载声明
第4章 单片机的C语言编程 4.1 C51的程序结构 4.2 C51的数据类型及运算符 4.3 C51的函数 4.4 C51程序设计;本章要点;概述;4.1 C51的程序结构 ;例: #include reg51.h Sbit sel=P1^0; Void main() { P1=0x01; While(1) { if(sel==1) { P1=P11; if(P1==0x00) P1=0x80; } else { P1=P11; if(P1==0x00) P1=0x01; } } };C51与标准C语言的比较:;完备和详尽的程序注释 用“//”符号开头来注释一行,如“//变量声明”。 用“/*”符号开头,并以“*/”符号结束。采用这种方法,可以对C51源程序中的任何部分进行注释,如“/*声明整型变量count */”。 整齐的代码书写格式 if、do、while等块结构语句中的“{”和“}”要配对对齐,这样便于理解该结构的起始点和结束点。 为了程序理解的方便,最好将每个语句单独写在一行,并加以注释。如果相连的语句具有相近的功能,则可以放置在一行。 代码书写时,可以通过适当的空格以及Tab键来实现代码对齐,这样代码整齐美观,便于阅读。 对于源程序文件不同结构部分之间要留有空行来区分。例如,头文件声明、自定义函数声明、main()函数以及自定义函数之间均要空一行。 简洁清晰的命名 ;标识符是用来表示源程序中自定义对象名称的符号。其中的自定义对象可以是常量、变量、数组、结构、语句标号以及函数等。 在C51语言中,标识符可以由字母(a~z,A~Z)、数字(0~9)和下划线“_”组成,最多可支持32个字符。 C51标识符的定义不是随意的,需要符合一定的规则。 标识符的第一个字符必须是字母或者下划线,不能为数字。 C51的标识符区分大小写,例如“ch1”和“Ch1”表示两个不同的标识符。 用户自定义的标识符不能与系统保留的关键字重复。 ;关键字是C51编译器保留的一些特殊标识符,具有特定的含义和用法。 单片机C51程序语言继承了ANSI C标准定义的32个关键字,同时又结合单片机硬件的特点扩展了一些关键字。 详细的C51关键字可以参阅书中列表。 ;4.2 C51的数据类型及运算符;char a、\n、3 //字符型常量 int 45、123、-110 //整型常量 unsigned int 10010、457、7 //无符号整型常量 long int 35510、-78 //长整型常量 float 115.23、3.14e-3 //浮点型常量;变量—在程序运行中其值可以改变的量。 一个变量由变量名和变量值构成,变量名即是存贮单元地址的符号表示,而变量的值就是该单元存放的内容。定义一个变量,编译系统就会自动为它安排一个存贮单元,具体的地址值用户不必在意。 ;(2)存储类型 1、程序存储器 如某变量需要存放在程序存储器中,定义时用存储类型标识符code, 程序运行中不可以改变用code定义的变量的值 2、数据存储器 (1)内部数据存储器 Data:片内数据存储区的低128字节中,直接寻址,访问速度快 bdata : 可位寻址片内数据存储区,允许位与字节混合访问(16字节) , 必须定义为全部变量 idata :片内数据存储区整个(256字节) ,间接访问;(2)外部数据存储器 间接访问,存取速度比较慢 pdata :分页寻址片外数据存储区(256字节) 由MOVX @R0,A指令访问 xdata :片外数据存储区(64K) 由MOVX @DPTR,A指令访问 ;存储类型 ;表 C51存储类型及其大小; 4.2.2、 存储模式 小模式,紧凑模式,大模式 变量若未定义存储类型,则C51编译器自动选择默认存储类型;4.2.3、 数据类型 C51编译器兼容ANSI C,支持ANSI C的基本数据类型,并对数据类型进行了扩展 1、C51支持的ANSI C数据类型;2、C51扩展数据类型 Sfr,sfr16、sbit
显示全部
相似文档