C51编程和Keil的应用

C51编程和Keil的应用

ID:38956242

大小:1.50 MB

页数:44页

时间:2019-06-22

C51编程和Keil的应用_第1页
C51编程和Keil的应用_第2页
C51编程和Keil的应用_第3页
C51编程和Keil的应用_第4页
C51编程和Keil的应用_第5页
资源描述:

《C51编程和Keil的应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C51编程基础及Keil软件的应用电子基础教学实验中心C51语言简介ChengduUniversityofInformationTechnologyC语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。目前,使用C语言进行程序设计已经成为软件开发的一个主流。用C语言开发系统可以大大缩短开发周期,明显增强程序的可读性,便于改进和扩充。而针对8051的C语言日趋成熟,成为了专业化的实用高级语言。成于大气信达天下C51语言的特点ChengduUniversityofInformationTechnologyC语言作为一种非常

2、方便的语言而得到广泛的支持,国内最通用的是KeilC51C语言程序本身不依赖于机器硬件系统,基本上不作修改就可将程序从不同的单片机中移植过来C提供了很多数学函数并支持浮点运算,开发效率高,故可缩短开发时间,增加程序可读性和可维护性成于大气信达天下C51语言的优点(一)ChengduUniversityofInformationTechnology123对单片机的指寄存器分配、程序有规范的令系统不要求不同存储器的结构,可分成熟悉,仅要求寻址及数据类不同的函数,对8051的存储型等细节可由这种方式可使器结构有初步编译器管理程序结构化了解成于大气信达天

3、下C51语言的优点(二)ChengduUniversityofInformationTechnology456具有将可变的提供的库包含由于具有方便选择与特殊操许多标准子程的模块化编程作组合在一起序,具有较强技术,使已编的能力,改善的数据处理能好程序可容易了程序的可读力地移植性成于大气信达天下C51中数据声明的格式ChengduUniversityofInformationTechnology[类型说明符][修饰符]标识符[=初值]……类型说明符修饰符标识符初值这个定义给出的内容是:定义一个无符号的字符型变量,该变量的名字是Flag,初值为0x0f

4、,该变量存放在ROM空间中。说明:如果在一个定义中,没有修饰符,即没有说明存放的位置,则默认存放在片内RAM中,即是一个data类型的变量。成于大气信达天下C51存储类型存储类型寻址空间数据长度值域范围data片内直接寻址80~127RAMidata片内间接寻址80~255RAMpdata分页寻址80~255片外RAM7C51存储类型存储类型寻址空间数据长度值域范围xdata片外数据存160~65535储(64K)code片内统一编160~65535址ROM(64K)bdata片内可位寻10~127址的RAM(16byet)8data区v对dat

5、a区的寻址是最快的,所以应该把使用频率高的变量放在data区,由于空间有限,必须注意使用data区,data区除了包含程序变量外,还包含了堆栈和寄存器组data区。vunsignedchardatasystem_status=0;unsignedintdataunit_id[2];chardatainp_string[16];floatdataoutp_value;mytypedatanew_var;v在SMALL存储模式下,未说明存储器类型时,变量默认被定位在data区。标准变量和用户自定义变量都可以存储在data区,只要不超过data区的范围

6、。9idata区vidata区也可以存放使用比较频繁的变量,使用寄存器作为指针进行寻址。在寄存器中设置8位地址进行间接寻址,与外部存储器寻址比较,它的指令执行周期和代码长度都比较短。vunsignedcharidatasystem_status=0;unsignedintidataunit_id[2];charidatainp_string[16];floatidataoutp_value;10bdata区v当在data区的位寻址区定义变量,这个变量就可进行位寻址,并且声明位变量。这对状态寄存器来说十分有用,因为它可以单独使用变量的每一位,而不一

7、定要用位变量名引用位变量。下面是一些在bdata区中声明变量和使用位变量的例子。vunsignedcharbdatastatus_byte;unsignedintbdatastatus_word;unsignedlongbdatastatus_dword;sbitstat_flag=status_byte^4;if(status_word^15){……}stat_flag=1;11pdata和Xdata区v在这两个区声明变量和在其他区的语法是一样的,pdata区只有256B,而Xdata区可达65536B,举例如下。vunsignedcharxd

8、atasystem_status=0;unsignedintpdataunit_id[2];charxdatainp_string[16

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

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

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