- 1、本文档共363页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;4.1 MCS?51与C语言; 用C语言编写单片机程序与标准的C语言程序的不同在于:
库函数不同。
数据类型有一定区别,C51增加了几种MCS?51系列单片机特有的数据类型。
变量的存储模式不同,C51的存储模式与MCS?51系列单片机的存储器紧密相关的 。
输入/输出处理不同,C51的输入/输出是串行口来完成的。
在函数使用方面也有一定的区别。C51中有专门的中断服务函数。;4.2 C51数据类型与存储方式;表4?1 Franklin C51编译器的数据类型;二、C51数据变量的存储方式 ;eg:整型数据的值为0x1234,在内存中的存放方式。;; 为了增强程序的可读性,C51允许使用别名形式来定义,其方法是在源程序开头位置使用#define或typedef语句定义数据类型的别名形式。具体格式为:;4.3 C51数据的存储类型与存储关系 ; 带存储类型的变量定义的一般格式为:
数据类型 存储类型 变量名;
eg:
char data var1; //字符变量Var1定义为data存储类型
bit bdata flags; //位变量flags定义为bdata存储类型
float idata x; //浮点变量x定义为idata存储类型
unsigned int pdata var2;
//无符号整形变量var2为pada存储类型
unsigned char xdata vector[10][4];
//无符号字符数组变量为xdata存储类型
定义data char x与定义char data x是等价的,但应尽量使用后一种方法。;二、C51存储模式 ;4.4 特殊功能寄存器(SFR)及其C51定义方法; SFR的sfr-name被定义后,就可以像普通变量一样用赋值语句进行赋值从而改变对应的SFR的值。
SFR中地址为8的倍数的寄存器具有位寻址能力,在Franklin C51中规定了支持SFR位操作的定义,当然在也是与标准C语言不兼容的,使用“sbit”来定义SFR的位寻址单元。定义SFR的位寻址单元的语法格式有三种:;4.5 MCS?51并行接口及C51定义方法; 当然也可把对外部I/O口的定义放在一个头文件中,然后在程序中通过#include语句调用,一旦在头文件或程序中通过使用#define语句对片外I/O口进行了定义,在程序中就可以自由使用变量名(如:PORTA)来访问这些外部I/O口了。;4.6 位变量及其C51定义方法;3、对位变量的限制
位变量不能说明为指针和数组。例如:
bit *ptr; //用位变量定义指针,错误
bit b-array[ ]; //用位变量定义数组,错误
在定义位变量时,允许定义存储类型,位变量都被放入MCS?51系列单片机片内RAM中,存储类型限制为data或idata,如果将其定义成其它类型都将在编译时出错。; 对用这种方式定义的位变量既可位寻址又可字节寻址。
eg:
bary36 = 1;
//位寻址,给bary[3]元素的第6位赋值为1
bary[3] = ?a?;
//字节寻址,给bary[3]元素赋值为字符a
可独立寻址访问的对象位的位置操作符(“^”)后的取值依赖于位变量的数据类型,对于char/unsigned char型为0~7,对int/unsigned int型为0~15,对long/unsigned long型为0~31。
; Franklin C51编译器支持的基本数据类型有:位型(bit)、无符号字符(unsigned char)、有符号字符(signed char)、无符号整型(unsigned int)、有符号整型(signed int)、无符号长整型(unsigned long)、有符号长整型(signed long)、浮点(float)、双精度浮点(double),另外C51还提供了一些扩展的数据类型,它们是由C51支持的基本数据类型按一定
您可能关注的文档
- 浅谈数形结合思想在中学数学中应用.doc
- 浅谈数学教学中德育教育.doc
- 浅谈数学教学中直觉思维能力培养.doc
- 浅谈威尼斯酒店旅游.doc
- 浅谈小学数学教学中学生创新能力培养.doc
- 浅谈小学数学课堂思维能力培养.doc
- 浅谈新课标下初中数学创设情境教学培养.doc
- 浅谈新课改下数学课堂教学中几个问题.doc
- 浅谈职校计算机教学艺术.doc
- 浅谈中学数学和多媒体技术整合效应.doc
- DB4405T288-2019 嘉氏羊蹄甲栽培技术规程.docx
- DB42T 1759.2-2021 生草栽培技术规程 第2部分:桃园.docx
- DB3711T149-2023 湿地植被恢复技术规程.docx
- DB61_T 582-2024 地理标志产品质量要求 横山羊肉.docx
- DB4401_T176-2022水功能区水质监测技术规范.docx
- DB43/T 2378-2022百合鳞茎腐烂病综合防控技术规程.docx
- DB45T2460-2022 克氏原螯虾稻田生态种养技术规程.docx
- DB4409T18-2021 黄皮嫁接育苗技术规程.docx
- DB3701T 485-2024 金银花生产技术规程.docx
- DB5106T08-2020 市场监管执法队伍行为规范.docx
文档评论(0)