- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C51单片机的
使用C语言有以下的优点:
C 语言具有结构化和模块化特点,便于阅读和维护。
C 语言可移植性好,很多微控制器都支持C 编译器。
C 语言编写的程序比汇编语言编写的程序更符合人们的思考习惯,开发者可以更专心的考虑算法,而不是考虑一些细节问题。这样可以减少编程出错的机率,从而提高开发效率,减少调试的时间。
C 语言和微控制器是相对独立的,开发者不必知道处理器的具体内部结构和处理过程。当基于新型的微控制器开发程序时,可以很快上手,减少学习时间和程序开发时间。;C51数据类型;位运算符;例: unsigned char x=0x55 ; 0101 0101B
unsigned char y=0x37 ; 0011 0111B
unsigned char z;
z=xy ; 则 z=0x15 0001 0101B
z=x|y ; 则 z=0x77 0111 0111B
z=x^y ; 则 z=0x62 0110 0010B
z=~x; 则 z=0xAA 1010 1010B
z=x2; 则 z=0x54 0101 0100B
z=x1; 则 z=0x2A 0010 1010B;C51中的特殊数据类型;位变量;可位寻址的对象;可位寻址的对象的位可以单独访问和更改。可以用sbit声明位变量来访问bdata声明的变量的指定位。如:
sbit mybit0 = ibase ^ 0; /* bit 0 of ibase */
sbit mybit15 = ibase ^ 15; / * bit 15 of ibase */
sbit ary07 = bary[0] ^ 7; /* bit 7 of bary[0] */
sbit ary37 = bary[3] ^ 7; /* bit 7 of bary[3] */
’^’后的表达式定义了位的位置,必须是一个常量。取值范围由基变量的数据类型来决定。
对char 和unsigned char 类型,范围为0-7;
对int, unsigned int, short, unsigned short,为0-15;
对long 和unsigned long 为0-31。;特殊功能寄存器;sfr:定义8位特殊功能寄存器
SFR的声明和C变量的声明格式一样,只不过使用的修饰符不是char 或int 而是sfr。例如:
sfr P0 = 0x80; /* Port-0, address 80h */
sfr P1 = 0x90; /* Port-1, address 90h */
sfr P2 = 0xA0; /* Port-2, address 0A0h */
sfr P3 = 0xB0; /* Port-3, address 0B0h */
P0,P1,P2,P3是sfr声明的特殊功能寄存器的名称。特殊功能寄存器名称是一个合法的C标识符。等号后的地址必须是数值常量,不允许使用带运算符的表达式。;特殊功能寄存器;特殊功能寄存器;位地址声明的三种方法;存储区域;存储区域的划分;程序存储区(program memory);内部数据存储区(internal data memory);内部数据存储区的data区又可以细分为三个子段:
四个工作寄存器组(00-1FH),每个寄存器组包含8个寄存器,四个寄存器组共32 个字节。由PSW 的RS1 和RS0选择四组寄存器的任意一组作为当前工作寄存器组。
位寻址段bdata(20-2FH), 包括16 个字节,共128 位,每一位都可单独寻址。也可以按字节进行寻址。
一般数据存储器(30H-7FH),仅能按字节寻址,共80个字节。;说明:某些系列的单片机(如8052) 有额外的128 字节的内部RAM, 同样位于从80H 开始的内部数据存储地址空间中,称为idata区。idata 区的地址和sfr的地址是重叠的,必须使用不同的寻址方式的指令来解决地址重叠问题。sfr区只能通过直接寻址来访问, idata区只能通过间接寻址来访问。;外部数据存储区(external data memory);C51使用两种修饰符来表示外部数据区:xdata , pdata
xdata :说明外部数据空间的所有64KB的地址空间。
pdata :指向外部数据空间中的大小为一页(256字节)的数据存储空间。
注意:某些新型的8051芯片有更大的XRAM(如16M的XRAM),一般用far类型来描述这些区域。可以分别用 far 和const far 来访问位
您可能关注的文档
- Appframe5.1基础培训牡.ppt
- APC Symmetra PX 96的K 160K 安装手册.pdf
- apter0引论:智慧城的市、物联网与网络安全.pdf
- App Inventor的功能的和使用方法.ppt
- ArcGIS 10中WFS缓存的问题的解决方法与原理.doc
- APC机柜系统的.ppt
- ArcGIS Server缓存嫉募术详解.doc
- ARCGIS教程第五章 系泥互位置查询、空间连接.doc
- archit44的.ppt
- ArcEngine的基本原赖捻对象组件模型.ppt
- 商业综合体外部空间景观设计研究——以合肥市卫星社区大市场为例.pdf
- 上海直播粳稻一次性侧深施肥专用肥开发及应用.pdf
- 基于计算机视觉的苹果叶病害识别方法研究.pdf
- 社会工作者的情感劳动分析--以老年社会工作实务为例.pdf
- 基于脑电与眼动的多模态情感识别研究.pdf
- 数字技术在高师多声部视唱训练中的应用研究.pdf
- 基于铜、镍催化剂对莫西沙星中间体催化加氢性能研究.pdf
- 埇桥地区2021-2023年猪瘟、猪伪狂犬病和猪繁殖与呼吸综合征的流行病学调查分析.pdf
- 稀土金属改性MOFs_TiO2异质结的构建及光催化CO2还原性能.pdf
- 基于问题链的英语阅读教学对高中生思辨能力的影响研究.pdf
文档评论(0)