第3章_C51语言编程基础.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【例】 使用关键字_at_将片外RAM 2000H开始的连续20个字节单元清0。 void main(void) { unsigned char i; for(i=0; i20; i++) { buffer[i]=0; } } xdata unsigned char buffer[20] _at_ 0x2000; data unsigned char buffer[8] _at_ 0x40; void main(void) { unsigned char j ; for(j=0; j8; j++) { buffer[j]=0; } } 习题:使用关键字_at_把片内RAM 40H单元开始的8个单元内容清0。 8 C51语言的基本运算与标准C类似,主要包括算术运算、关系运算、逻辑运算、位运算和赋值运算及其表达式等。 1)算术运算符 3、C51的基本运算 2)关系运算符 关系表达式 int x=3; int y=6; int R; R = x y; 3)逻辑运算符 逻辑表达式 int x=0; int y=1; int R; R = x y; 4)位运算符 00001000 2| 01001000 01000000 | 00001000 3 习题: 【例】以字节操作方式对I/O口P1的P1.5清0 ,P1.1置为1, 其他位保持不变。 X 0 X X X 1 X X P1.5 P1.1 sfr P1=0x90; P1 = (P1 0xDF)│ 0x02; P1.0 sfr P2=0xA0; P2 = P2 | 0x10; 习题:以字节操作方式,把P2口的P2.4位置成1,其它位保持不变。 sfr P0=0x80; char flag; flag = P0 0x40; 习题: 以字节操作方式,读取P0口的P0.6位是否为1? 4、C51的分支与循环程序结构 程序结构分为三类: 顺序结构、 分支结构、 循环结构。 1)分支结构控制语句 格式 二分支if语句 if(表达式) { 语句; } if( xy ) { max=x; } 比较变量x和变量y,如果xy,则把 x 赋给变量max。 习题:比较变量x和变量y,如果x和y相等,则把0赋给变量max。 if( x = = y ) { max=0; } 格式: if(表达式) {语句1;} else {语句2;} if (xy) { max=x; } else { max=y; } 比较变量x和变量y, 如果xy, 则把 x 赋给变量max; 否则把 y 赋给变量max。 习题:比较变量x和变量y,把二者最小值赋给变量min; if (xy) { min=y; } else { min=x; } 习题:如果变量x满足关系10x20, 则把变量y置成1; 否则把y置成0。 if((x10)(x20)) { y=1; } else { y=0; } 9 void main( ) { sfr P2=0xA0; sfr P1=0x90; sbit P24=P2^4; sbit P10=P1^0; 习题:如果读取P2口的P2.4位为1,则把P1口的P1.0置成0。 if(P24==1) { P10=0; } } if(表达式1) 语句1; else if (表达式2) 语句2; … … else if(表达式n) 语句n; else 语句n+1; 多分支if语句 0 表达式1 表达式2 表达式n 语句n+1 0 0 语句n 语句2 语句1 非0 非0 非0 … 当成绩≥90时, 输出verygood, 当80≤成绩90时, 输出good, 当60≤成绩80时, 输出pass, 当成绩60时, 输出fail。 int score; if (score=90) printf(“very good); else

文档评论(0)

kanghao1 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档