高级语言程序设计课件.ppt

高级语言程序设计课件.ppt

ID:57029819

大小:248.00 KB

页数:78页

时间:2020-07-26

高级语言程序设计课件.ppt_第1页
高级语言程序设计课件.ppt_第2页
高级语言程序设计课件.ppt_第3页
高级语言程序设计课件.ppt_第4页
高级语言程序设计课件.ppt_第5页
资源描述:

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

1、第4章C51高级语言程序设计4.1C语言高级编程4.1.1C语言的特点C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,能直接对计算机硬件进行操作。既有高级语言的特点,也具有汇编语言的特点。语言简洁、紧凑,使用方便、灵活 。运算符丰富。数据结构丰富,拥有现代语言的各种数据结构。可进行结构化程序设计。可以直接对计算机硬件进行操作。生成的目标代码质量高,程序执行效率高。可移植性好。4.1.2C语言与MCS-51单片机汇编语言优点:执行效率高、速度快、与硬件结合紧密;I/O端口操作时,

2、使用汇编语言快捷、直观。缺点:编程难度大,可读性差,不便于移植,开发周期长。C语言优点:程序设计相对比较容易,支持多种数据类型,可移植性强,也能够对硬件直接访问,能够按地址方式访问存储器或I/O端口。故目前有较多的开发者用C语言开发单机应用系统软件。。4.1.3C51编译器C51编译器的作用是将C语言源程序翻译成51系列单片机可执行的代码,并且为程序调试提供必要的符号信息。目前使用最广泛的是德国Keil公司的KeilμVisionC51编译器KeilC51编译器在代码生成方面领先,可产生最少的代码。它支持浮点

3、数和长整型、重入和递归。4.1.4keil8051开发工具采用C51编写的应用程序结构清楚、模块化程度高、可读性强。应用C51进行软件开发,用户可以不必具体考虑寄存器、存储器的分配等工作,而把这部分工作交给编译、连接软件,用户只需了解MCS-51的存储器结构。C51开发环境一般都提供了数学计算等子程序库,为程序开发带来方便。对于相对复杂的系统开发或复杂运算,比用汇编语言容易的多,有利于系统的维护和升级。在实时要求较高的场合,可采用C51汇编混合编程。4.1.5C51程序结构C51程序结构与标准的C语言程序结构

4、相同,采用函数结构,一个程序由一个或多个函数组成。有一个且只有一个为main( )函数。在main()函数中可调用库函数和用户定义的函数。程序的开始部分一般是预处理命令、函数说明和变量定义等。预处理命令#include函数说明longfun1();floatfun2();变量定义intx,y;floatz;主函数main(){…fun1();/*调用功能函数1*/…fun2();/*调用功能函数2*/…}功能函数1fun1();{函数体1…}功能函数2fun2();{函数体2…}C51程序的

5、结构实例:4.2C51对标准C语言的扩展4.2.1存储区域51系列单片机的内存区域被分为两大类。一类是程序存储区,即ROM;另一类是数据存储区,包括内部数据存储区和外部数据存储区。内部数据存储区中又包含了51的特殊功能寄存器。1.程序存储区程序存储区由关键字code进行说明。2.内部数据存储区在C51中可以用以下关键字对变量进行内部存储区的定位。Data:直接寻址区,内部RAM的低128B,即00H~7FHIdata:间接寻址区,整个RAM区,即00H~0FFHBdata:可位寻址区,从20H开始的16个可以

6、位寻址的字节,即20H~2FH4.2.1存储区域3.外部数据存储区C51中,可以用以下关键字对变量进行内部存储区的访问。xdata:可指定多达64KB的外部直接寻址区,地址范围0000H~0FFFFHpdata:能访问1页(256B)的外部RAM,主要用在紧凑模式(CompactModle)4.2.1存储区域4.2.2C51的数据类型1.字符型charchar有signedchar和unsignedchar之分,默认为signedchar。2.整型intint有signedint和unsignedint之分,

7、默认为signedint。3.长整型longlong有signedlong和unsignedlong之分,默认为signedlong。4.浮点型floatfloat型数据的长度为4个字节,包含指数和尾数两部分,最高位为符号位,“1”表示负数,“0”表示正数,其余8位为阶码,最后23位为尾数的有效数位,由于尾数的整数部分隐含为“1”,所以尾数的精度为24位。格式似PentiumCPU浮点数格式符号位+8位阶码+1(隐含).23位尾数5.指针型(*)指针型本身就是一个变量,在这个变量中存放着指向另一个数据的地址。

8、这个指针变量要占用一定的内存单元。对于不同的处理器其长度不一样,在C51中它的长度一般为1~3个字节。6.特殊功能寄存器型这是C51扩充的数据类型,用于访问MCS-51单片机中的特殊功能寄存器数据。它分为sfr和sfr16两种类型,其中sfr占一个字节单元,利用它可以访问MCS-51内部的所有特殊功能寄存器;sfr16占用两个字节单元,利用它可以访问MCS-51内部所有两个字节的特殊功能寄存器。在C

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

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

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