- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章单片机C51程序设计基础
第5章 单片机C51程序设计基础 5.1 C51特点 C51程序结构与标准C语言程序结构相同,采用函数结构,有一个且只有一个main()函数。 C51特点 1、C51中定义的库函数与标准C定义的库函数不同,C51是按照单片机结构来定义的。 2、C51的数据类型与标准C有一定的区别,增加了几个单片机类型。 3、C51存储类型与标准C变量的存储类型不同,C51的存储模式与单片机的存储器密切相关。 4、C51在函数使用方面与标准C有不同,C51中有专门的中断函数。 一、C51数据类型 2、特殊功能寄存器型 C51特有的数据类型,用于访问单片机中的特殊功能寄存器主要介绍两种:sfr,sfr16 sfr:字节型特殊功能寄存器类型,可以访问单片机内部所有的特殊功能寄存器。 sfr16:双字型特殊功能寄存器类型 注:在C51中对所有的特殊功能寄存器的访问都需要用这两个类型说明符进行说明 定义格式: sfr(sfr16) 特殊功能寄存器名=地址; 例:特殊功能寄存器的定义 sfr PSW=OXD0; sfr P0=0X80; 。 3、位类型 用于访问单片机中的可寻址的位单元,C51支持两种位类型:bit类型和sbit类型 用sbit定义的位变量与单片机中的一个可以寻址的位单元相联系。 格式:sbit 位变量名=位地址 例:sbit CY=0XD7; sbit ACC=0XD6; 说明: 1、keil公司的C51开发软件提供 有reg51.h和reg52.h头文件,进行了相应的特殊功能寄存器和位的定义。 在程序中加入51头文件 #includereg51.h 2、在程序中自定义位 地址格式有三种 Sbit 位变量=特殊寄存器名^位号 例:sbit key=P0^0; sbit P0_1=P0^1; sbit 位变量=直接位地址 例:sbit key=0x80h; sbit P0_1=0x81h; Sbit 位变量=字节地址^位号 例:sbit key=0x80h^0 二、C51数据的存储类型 变量存储类型可以由关键词指定,或是有存储模式指定。 1、关键词指定 直接用关键词声明变量数据的存储类型 例:char data var1; 在片内RAM的低128B定义用直接寻址方式访问的字符型变量 unsigned int bdata var2; 在位寻址区定义变量var2 unsigned char xdata adda[128]; 在片外RAM区定义128个存储单元 int code var3; 在ROM空间内定义整型变量var3, 说明: code程序存储区的数据时不可更改的,通常将程序中固定不变的数据声明为code类型 例:共阴极七段数码管的声明 unsigned char code led[]={0x37,0x06,0x5b…}; 2、存储模式 存储模式决定了没有明确指定存储类型的变量的缺省存储区域。 在程序中如何定义: 变量存储模式:#pragma预处理命令实现 例:#pragma compact char i; 函数存储模式:函数定义时后面带存储模式 例:int func1(int x1) large 说明:如变量和函数定义缺省存储模式,则默认为是small模式。 三、C51的运算符和表达式 1、赋值运算符 3、逻辑运算符 4、位运算符 四、C51程序结构 三种基本结构:顺序结构、选择分支结构和循环结构 1、选择分支结构 使用的语句:if语句,switch/case语句 if(条件) {语句} else {语句} 多分支选择常用switch/case语句 switch(表达式) { case 值1:语句;break; case 值2:语句;break; default: 语句;break; 2、循环结构 提供三种循环结构:for语句,while语句,do –while语句 while型循环结构 do while型循环结构 C51软件和硬件配合使用,在程序中经常使用无限循环语句 for(;;;) while(1) { } 五、C51函数 1、函数的定义 函数类型 函数名(形
您可能关注的文档
- 力学小综合测试题(一).doc
- 大学生就业观资料.doc
- 大学英语听力课程课文.doc
- 和蒜宝宝交朋友.doc
- 奥力人力资源分析报告.doc
- 施工招标备案表.doc
- 推销员基础课程.doc
- 山东省薛城区防备煤矿“7.6”重大火灾事故案例.doc
- 昭通市实验中学2011年秋季学期九年级数学中期试卷.doc
- 工程测试及信号基础(二)华中5.ppt
- 基本面选股组合月报:大模型AI选股组合本年超额收益达6.60.pdf
- 可转债打新系列:安集转债,高端半导体材料供应商.pdf
- 可转债打新系列:伟测转债,国内头部第三方IC测试企业.pdf
- 联想集团PC换机周期下的价值重估.pdf
- 计算机行业跟踪:关税升级,国产突围.pdf
- 科技类指数基金专题研究报告:详解AI产业链指数及基金布局.pdf
- 计算机行业研究:AIAgent产品持续发布,关税对板块业绩影响较小.pdf
- 民士达深度报告:国内芳纶纸龙头,把握变局期崛起机遇.pdf
- 社会服务行业动态:全球首张民用无人驾驶载人航空器运营合格证落地,霸王茶姬冲击美股IPO.pdf
- 通信行业研究:特朗普关税令落地,长期看好国产算力链.pdf
最近下载
- 职业技能竞赛—供应链管理师职业技能理论题库(附参考答案).pdf VIP
- 装修装饰工程设计方案(3篇).docx
- 年产2700吨荔枝白兰地工厂设计.docx
- 附件:中铁五局建筑公司工程项目精细化管理细则(试行)相关表格记录.doc
- 深度探索与智能渔业:DeepSeek在渔业领域的应用前景分析.docx VIP
- 9.1西亚 课件 七年级地理下册(人教版2024).pptx VIP
- 苏教版数学一年级下册(2025)第四单元 认识20~99综合素养测评 B 卷(含答案).docx VIP
- 部编版五年级语文下册《刷子李》PPT教学课件(第2课时).pptx VIP
- 韬睿惠悦-招商证券岗位价值评估项目成果整体汇报_20160124.pdf VIP
- 产地检疫合格证模板.docx VIP
文档评论(0)