- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1章单片机的C语言编程_2015要点
1-* 第 1 章 结束!谢 谢! * * 1-* 三、对存储器和外接I/O口的绝对地址访问 例: #include absacc.h #define com XBYTE[0x07ff] 那么后面程序com变量出现的地方,就是对地址为07ffH的外部RAM或I/O口进行访问。 使用中要注意:程序一定要包含absacc.h; XBYTE 、XWORD 必须大写。 例: #includeabsacc.h XWORD[0x4000]=0x9988; 即将9988H送入外部RAM的4000H和4001H单元。 com =0x56; //(0x07ff) 0x56 或 XBYTE[0x07ff] = 0x56 1-* (2)对外部I/O口的访问 由于单片机的I/O口和外部RAM统一编址,因此对I/O口地址的字节访问可用XBYTE (MOVX @DPTR ) 或PBYTE (MOVX @Ri)进行。 #includeabsacc.h ----常用 #define AD_PORT XBYTE[0xefff] AD_PORT=0x10; ----------------------------------------------- XBYTE[0xefff]=0x10;-----很少用 指针、绝对地址访问的使用场合? 例: 将10H输出到端口地址为EFFFH的A/D芯片。 1-* 1.5 C51的运算符 3. C51的关系运算符有六种: <(小于); >(大于); <= (小于等于); >= (大于等于); ==(相等);!= (不相等) 优先级:前四个高,后二个“==”和“!=”级别低。 1.赋值运算符:= 将“=”的右边的值赋值给左边的变量。 如:x=6; 2. C51的算术运算符: +(加或正号);-(减或负号);* (乘号); / (除号); % (求余) 优先级为:先乘除,后加减; 先括号内,再括号外。 1-* (逻辑与); ||(逻辑或); !(逻辑非); 逻辑表达式和关系表达式的值相同: 0--假,1--真。 1.5 C51的运算符 例1 a=0xf0; 执行a=~a; 例2 a=0x20;执行a=a2; 以上几种运算的优先级: 4.C51的逻辑运算符 有三种: !(非) 关系运算 和|| =(赋值运算) 算术运算 5.C51的按位操作的运算符 有六种 (按位与); |(按位或); ^ (按位异或); ~ (位取反); (位左移); (位右移 ) (注:补零移位) a=0x0F a=0x80,移位补0 1-* 1.5 C51的运算符 6. ? 自增、自减运算符: ++i,--i (在使用i之前,先使i值加1,减1) i++,i-- (在使用i之后,再使i值加1.,减1) 1-* 1.5 C51的运算符 例 a=b; 取b变量的地址送变量a c=*a; 将以a为地址的单元的内容送c 7.对指针操作的运算符: —取地址运算 *—间址运算符 (a) c 1-* 1.6 函数 1、函数的分类 从用户使用角度划分,函数分为库函数和用户自定义函数。 库函数是编译系统提供的一系列标准函数(见本书附录二),用户只需调用,而无需自己去编写这些复杂的函数; 如 头文件reg51.h、absacc.h、stdio.h、math.h等文件中包括一系列函数; 使用其中的函数,必须先使用#include包含语句,然后才能调用。 标准(ANSI)C中的scanf和printf等变为对串行口操作。 1-* 1.6 函数 如果被调函数出现在主调用函数之后, 那么,在调用函数前 应对被调函数作以说明, 形式为: 返回值类型 被调函数名(形参); 用户自定义函数是用户根据任务编写的函数 2、函数的调用说明 1-* 1.7 C语言编程实例 1、顺序程序的设计 例1 编程实现两个无符号的整数相乘,乘积存放在外部数据存储器4000H开始的单元。 分析:两个无符号的整数相乘,其积为4个字节,采用unsigned long类型, 1-* 1.7 C语言编程实例 main() { unsigned int a,b; unsigned long c; unsigned long xdata *p; p=0x4000; c=a*b; *p=c;
您可能关注的文档
最近下载
- 代理市级财政非税收缴业务协议书5篇.docx VIP
- DL_T 5369-2021 电力建设工程工程量清单计算规范 火力发电工程--可检索可复制.pdf VIP
- 世界预防溺水日知识竞赛试题及答案(68题).docx VIP
- T_CAGHP 065.3-2019 地质灾害防治工程预算定额(试行)(上册).docx VIP
- DBJ∕T 15-126-2017 公共建筑能耗标准.docx VIP
- 2024-2025学年深圳市宝安中学初中部小升初入学分班考试语文试卷附答案解析.docx
- 数据中心TIER标准:运营可持续性.pdf
- 《劳动社会学》课程教学大纲.doc VIP
- 大学外国留学生突发事件应急预案.docx VIP
- 联通评审专家题库-全量(含答案).xlsx VIP
文档评论(0)