- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【例4-33】 根据图4-8 所示电路,设计一个程序,在这些LED上显示计数值,从0x00到0xFF(二进制值0000 0000 到 1111 1111),计数时间间隔为1s。 解:汇编参考程序如下: ORG 0000H LJMP START ORG 0060H START:MOV P1, #0 ;熄灭LED LCALL DELAY LOOP: INC P1 ;增量P1 LCALL DELAY ;点亮LED SJMP LOOP DELAY: …… ;1s 延时子程序 C51 参考程序如下: #include reg51.h #define LED P1; void delay02s(void) //延时1s { …… } void main (void) { LED = 0; //清零P1 while (1) { LED++; //增量P1 delay02s( ); } } 2 结构变量的引用 在定义一个结构变量之后,就可以对它进行引用, 即可以进行赋值、存取和运算。一般情况下,结构 变量的引用是通过对其结构元素的引用来实现的, 结构元素引用的一般格式如下: 结构变量名.结构元素名 或 结构变量名-结构元素名 【例4-23】 输入3 个学生的语文、数学、英语成绩,分别统计他们的总成绩并输出。 解:程序如下: #include reg51.h #include stdio.h struct student { unsigned char name[10]; unsigned int chinese; unsigned int math; unsigned int english; unsigned int total; }p1[3]; main( ) { unsigned char i; SCON=0x52; TMOD=0x20; TH1=0xF3; TR1=1; printf(input 3 student name and result:\n); for (i=0;i3;i++) { printf(input name:\n); scanf(%s,p1[i].name); printf(input result:\n); scanf(%d,%d,%d,p1[i].chinese,p1[i].math,p1[i].english); } for (i=0;i3;i++) { p1[i].total=p1[i].chinese+p1[i].math+p1[i].english; } for (i=0;i3;i++) { printf(%s total is %d.,p1[i].name,p1[i].total); printf(\n); } while(1); } 程序执行结果如下: input 3 student name and result; input name wang input result: 76,87,69 input name: zhang input result: 72,81,79 input name: yang input result: 73,68,85 wang total is 232. zhang total is 232. yang total is 226. 在程序中引用了结构元素,给结构元素进行了赋值、运算和输出。从中 可以看出,通过结构处理一组有相互关系的数据非常方便。 4.3.4 联合 1 联合的定义 可以先定义联合类型再定义联合变量,也可以在定义联合类型的同时定 义联合变量。 (1) 先定义联合类型再定义联合变量。 定义联合类型的格式如下: union 联合类型名 {成员列表}; 定义联合变量的格式如下: union 联合类型名 变量列表; 例如: union datal { float i; int j; char k; }; union datal a,b,c; (2) 定义联合类型的同时定义联合变量。格式如下: union 联合类型名 {成员列表}变量列表; 例如: union datal { float i; int j; char k; } a,b,c; 可以看出,定义时结构与联合的区别只是将关键字由struct 换成union,但在内存的分配上两者完全不同。结构变量占 用的内存长度是各个元素占用的内存长度的总和;而联合变 量所占用的内存长度是其中一个元素长度
您可能关注的文档
最近下载
- AP预备微积分 2024年真题 附答案和评分标准 AP Pre-Calculus 2024 Real Exam with Answers and Scoring Guidelines.pdf VIP
- 6.3工艺的类别与选择探究金工工艺(课件)-2024--2025学年高中通用技术苏教版(2019)必修.pptx VIP
- 耐药结核病全口服短程治疗专家共识.pptx VIP
- 4.1汉字的起源与演变规律(全国导游基础知识 第五版 ).ppt VIP
- 部编版语文六年级上册第2单元《口语交际:演讲》课件.pptx VIP
- 4.5旅游名联选读(全国导游基础知识 第五版 ).ppt VIP
- Unit 2 My school things Speed up(教学课件)-三年级英语上学期(外研版2024秋).pptx
- 未来五到十年传染病疫情监测与预警系统分析报告2025.docx
- 麟龙四量图通达信指标公式程序.docx VIP
- 大学生入党自传范文2000字范文.doc VIP
文档评论(0)