第8章 单片机C语言程序设计ppt课件.ppt

第8章 单片机C语言程序设计ppt课件.ppt

ID:58698011

大小:393.00 KB

页数:50页

时间:2020-10-04

第8章 单片机C语言程序设计ppt课件.ppt_第1页
第8章 单片机C语言程序设计ppt课件.ppt_第2页
第8章 单片机C语言程序设计ppt课件.ppt_第3页
第8章 单片机C语言程序设计ppt课件.ppt_第4页
第8章 单片机C语言程序设计ppt课件.ppt_第5页
资源描述:

《第8章 单片机C语言程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章单片机C语言程序设计8.1C51程序设计语言8.2C51的运算符和表达式8.3C51集成开发环境8.4单片机C语言应用程序设计实例8.5单片机C语言应用程序设计实验8.1C51程序设计语言8.1.1标识符与关键字8.1.2数据类型8.1.3变量的存储种类和存储器类型8.1.4绝对地址的访问8.1.5中断服务程序8.1.6Cx51的库函数8.1.1标识符与关键字KeilCx51是一种专为8051单片机设计的高级语言C编译器,支持符合ANSI标准的C语言进行程序设计,同时针对8051单片机自身特点作了一些特殊扩展。C语言的标识符是用

2、来标识源程序中某个对象名字的。一个标识符由字符串、数字和下划线等组成,第一个字符必须是字母或下划线。关键字是一类具有固定名称和特定含义的特殊标识符,有时又称为保留字。标识符的命名不要与关键字相同。表8-1ANSIC标准的关键字KeilCx51编译器除了支持ANSIC标准的关键字外,还根据8051单片机自身特点扩展了如表8-2所示的关键字。表8-2KeilCx51编译器的扩展关键字8.1.2数据类型C语言中的基本数据类型有char,int,short,long,float和double等。KeilCx51编译器除支持标准C语言的数据类型

3、外,还根据8051单片机的特点扩展了bit、sbit、sfr和sfr16数据类型。1.bit:位类型2.sbit:可寻址位3.sfr和sfr16:特殊功能寄存器KeilC51编译器能够识别的数据类型表8-3KeilC51编译器能够识别的数据类型8.1.3变量的存储种类和存储器类型变量是一种在程序执行过程中其值能不断变化的量。使用一个变量之前,必须进行定义,用一个标示符作为变量名并指出它的数据类型和模式,以便编译系统为它分配相应的存储单元。在Cx51中对变量进行定义的格式如下:[存储种类]数据类型[存储器类型]变量名表;其中,“存储种类

4、”和“存储器类型”是可选项。变量的存储种类有四种:自动(auto)、外部(extern)、静态(static)和寄存器(register)表8-4KeilCx51编译器所能识别的存储器类型8.1.4绝对地址的访问1.采用扩展关键字“_at_”或指针定义变量的绝对地址在Cx51源程序中定义变量时,可以利用Cx51编译器提供的扩展关键字“_at_”来指定变量的存储器空间绝对地址,一般格式如下:数据类型[存储器类型]标识符_at_地址常数其中,“存储器类型”为idata、data、xdata等Cx51编译器能够识别的所有类型,如果省略该选项

5、,则按编译模式LARGE、COMPACT或SMALL规定的默认存储器类型确定变量的存储器空间;“数据类型”除了可用int、long、float等基本类型外,还可以采用数组、结构等复杂数据类型;标识符为要定义的变量名;地址常数规定了变量的绝对地址,它必须位于有效存储器空间内。2.采用预定义宏指定变量的绝对地址Cx51编译器的运行库中提供了如下一套预定义宏:CBYTECWORDFARRAYDBYTEDWORDFCARRAYPBYTEPWORDFCVARXBYTEXWORDFVAR上述宏定义用来对8051系列单片机的存储空间进行绝对地址访问

6、,CBYTE寻址CODE区,DBYTE寻址DATA区,PBYTE寻址分页XDATA区,XBYTE寻址XDATA区。这些宏定义包含在文件“ABSACC.H”中3.采用连接定位控制命令指定变量的绝对地址BL51和Lx51连接定位器提供了多个连接定位控制命令,在对用户程序进行连接的时候,可以通过连接定义控制命令指定变量的绝对地址。关于连接定位控制命令请参看keilCx51编译器。8.1.5中断服务程序为了能在C语言源程序中直接编写中断服务函数,KeilCx51编译器对函数的定义进行了扩展,增加了一个扩展关键字interrupt,它是函数定义

7、时的一个选项,加上这个选项即可以将一个函数定义成中断服务函数。定义中断服务函数的一般形式为:函数类型函数名(形式参数)[interrruptn][usingn]关键字interrupt后面的n是中断号,n的取值范围为1~31。表8-5常用中断号与中断向量8.1.6Cx51的库函数Cx51标准库提供的包含文件在INC子目录下,这些文件包含常数、宏定义、类型定义和函数原型。ABSACC.H文件包含允许直接访问8051不同存储区的宏定义。CTYPE.H文件包含对ASCII字符分类和字符转换的程序和原型。MATH.H文件包含所有浮点数运算程序

8、的原型和定义,其他数学函数也在这个文件中。STDIO.H文件包含I/O程序的原型和定义,并定义了EOF常数。STDLIB.H文件包含下面类型转换和存储区分配程序的原型和定义,也定义了NULL常数。8.2C51的运算符和表

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。