- 1、本文档共127页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
演示文稿演讲PPT学习教学课件医学文件教学培训课件
4.3.5 位地址访问 C51编译器支持bit数据类型,在C51程序中可以使用bit数据类型对位地址进行操作。 C51对位变量的定义有3种方法: 1.用bit关键字定义C51位变量 2.通过指定函数中参数为bit类变量 3.定义位寻址存储区的位变量 ----位变量定义 4.3.5 位地址访问 1.用bit关键字定义C51位变量 例如: bit lock; /*将lock定义为位变量*/ bit dirention; /*将direction定义为位变量*/ bit display; /*将display定义为位变量*/ 注意:不能定义位变量指针; 也不能定义位变量数组。 ----用bit定义位变量 例如: bit fun(bit a1,bit a2) { …… return(a1); } 4.3.5 位地址访问 2.通过指定函数中参数为bit类变量 ----函数参数为位变量 ----位寻址存储区的位变量定义 3.定义位寻址存储区的位变量 C51编译器允许数据类型为bdata的变量放入片内RAM可位寻址区中。 例如:先定义变量的数据类型和存储类型,然后使用sbit定义位变量。 bdata int ibdata; /* ibdata定义为bdata整型变量*/ bdata char carry[5]; /* carry定义为bdata字符数组*/ sbit mybit0= ibdata^0; /* mybit0定义为ibdata的第0位*/ sbit mybit15= ibdata^15; /* mybit15定义为ibdata的第15位*/ 4.3.5 位地址访问 ----位寻址存储区的位变量定义 sbit arrybit07= carry[0]^7; /* arrybit07定义为carry[0]的第7位*/ sbit arrybit37= carry[3]^7; /* arrybit37定义为carry[3]的第7位*/ arrybit37=0; /*carry[3]的第7位赋值为0(位寻址)*/ carry[0]=’A’; /*carry[0]赋值为’A’(字节寻址)*/ 位置(^操作符)后的最大值取决于指定的基本数据类型。对于char而言是0~7;对于int而言是0~15;对于long而言是0~31。 4.3.5 位地址访问 4.3.6 中断函数 中断服务程序在C51程序中是以中断函数的形式出现的,中断函数的格式为: void 函数名( ) interrupt n using m { 函数体语句 } interrupt是中断函数的关键字,n是中断号,MCS-51的中断号与中断源的对应关系如表5-5所示。 using是指定中断函数中选用工作寄存器组的关键字,m是0~3范围的常数,若不用该选项,编译器会自动选择默认工作寄存器组(0组寄存器)。 ----中断函数的格式 表4-6 MCS-51中断源和中断的关系 中断号 中断源 入口地址 0 外中断0 0003H 1 定时/计数器0 000BH 2 外中断1 0013H 3 定时/计数器1 001BH 4 串行口中断 0023H void 函数名( ) interrupt n using m 4.3.6 中断函数 ----中断函数的中断号 例: void T0_srv(void) interrupt 1 using 1 /*定时/计数器0中断函数*/ { …… /*定时/计数器0中断服务程序*/ } 中断号 中断源 入口地址 0 外中断0 0003H 1 定时/计数器0 000BH 2 外中断1 0013H 3 定时/计数器1 001BH 4 串行口中断 0023H 4.3.6 中断函数 ----中断函数举例 编写中断函数要点: 1) 中断函数不能进行参数传递。 2) 中断函数没有返回值,应定义为void型。 3) 禁止对中断函数的直接调用。 4) 如果中断函数调用了其他函数,被调函数与中断函数使用相同的寄存器组。 5) 中断函数最好写在程序尾部。 void 函数名( ) interrupt n using m 4.3.6 中断函数 ----编写中断函数要点 4.4 C51结构化程序设计 C51程序是一种结构化程序,由若干模块组成,每个模块中包含若干个基本结构,而每个基本结构中可以有若干条语句。 基本结构有三种: 顺序结构 选择结构 循环结构 ---- 三种结构程序
您可能关注的文档
- 波形的发生与信号的转换教学幻灯片讲义.ppt
- 波形发生及变换电路教学幻灯片讲义.ppt
- 波长、频率和波速波的图象教学幻灯片讲义.ppt
- 玻璃教学教程幻灯片.ppt
- 播种施肥机械教学幻灯片讲义.ppt
- 博弈论教学教程幻灯片.ppt
- 不等式-选修4-5教学幻灯片讲义.ppt
- 不定积分的计算方法教学幻灯片讲义.ppt
- 不定积分教学幻灯片讲义.ppt
- 不确定性分析-工程经济学教学幻灯片讲义.ppt
- 五年级数学上册第五单元分数的意义第9课时找最小公倍数教学课件北师大版.ppt
- 2025年全球人工智能芯片行业人才需求与培养策略分析报告.docx
- 2025年职业培训学校特色专业建设与产业发展评估报告.docx
- 2025年工业软件产业智能传感器技术应用与国产替代研究报告.docx
- 共享民宿项目与旅游产业扶贫研究评估报告.docx
- 2025年固态电池在电子烟电池领域的应用趋势研究报告.docx
- 2025年农业产业化龙头企业发展模式与农村基础设施建设带动效应研究报告.docx
- 交通运输行业数字化转型:交通法律法规政策研究报告.docx
- 空权战略与未来战争形态预测-深度研究.pptx
- 空权战略与跨国军事合作-深度研究.pptx
最近下载
- 四川省(蓉城名校联盟)新高考2022级高三适应性考试数学试卷(含答案).pdf
- 水利监理质量控制体系.doc
- [五年级英语下册.doc VIP
- 《江西省宜春市明月山机场航站楼装修工程》投标技术标文件.doc
- GB_T 15114-2023 铝合金压铸件.docx
- 2021年第四期1+X建筑信息模型(BIM)职业技能初级实操题(三).pdf VIP
- 【最全】usedtodo,beusedtodoing用法辨析及练习(带答案).pdf VIP
- 财务报表审计模拟实训第六版刘雪清答案.pdf
- 广东省广州市天河区2020-2021学年八年级下学期期末考试英语试题(word版 含答案).docx VIP
- 招投标法律法规学习培训PPT.pptx VIP
文档评论(0)