- 1、本文档共134页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.3.7 库函数 库函数可以使程序代码简单、结构清晰、易于调试和维护。 几类重要的库函数: (1) 特殊功能寄存器包含文件reg51.h或reg52.h。 (2) 绝对地址包含文件absacc.h:该文件定义了几个宏,以确定各类存储空间的绝对地址。 (3)串口输入/输出流函数位于stadio.h文件中。 (4) 动态内存分配函数,位于stdlib.h中。 (5) 缓冲区处理函数位于string.h中。其中包括复制、移动、比较等函数。 * P83 第5题 编写C51程序,将片外2000H为首地址的连续10个单元的内容,读入片内RAM的40H?49H单元中。 3.4 Keil μVision3环境下的C51程序开发 Keil C51语言(简称C51语言)是德国Keil software公司开发的用于8051单片机的C51语言开发软件。目前,Keil C51已被完全集成到一个功能强大的全新集成开发环境IDE(Intergrated Development Eviroment)Keil μVision3中。 Keil μVision3 是一款用于8051单片机的集成开发环境,为软件开发提供了全新的C51语言开发环境。它支持众多的8051架构的芯片,同时集编辑、编译、仿真等功能于一体,具有强大的软件调试功能。Keil μVision3增加了很多与8051单片机硬件相关的编译特性,使得应用程序的开发更为方便和快捷,生成的程序代码运行速度快,所需要的 存储器空间小,完全可以和汇编语言相媲美,是目前单片机应用开发软件中的最优秀软件开发工具之一。该开发环境下集成了文件编辑处理、编译链接、工程(Project)管理、窗口、工具引用和仿真软件模拟器以及Monitor51硬件目标调试器等多种功能,所有这些功能均可在Keil μVision3的开发环境中极为简便地进行操作。 下面介绍KeilμVision3开发环境下的C51源程序的设计、调试与开发。 3.4.1 KeilμVision3的基本操作 1.软件安装与启动 Keil μVision3集成开发环境的安装,同大多数软件安装一样,根据提示进行。 Keil μVision3安装完毕后,可在桌面上看到Keil μVision3软件的快捷图标。单击桌该快捷图标,即可启动该软件,几秒种后,就会出现如图3-1所示的Keil μVision3界面,图中标出了Keil μVision3界面各窗口的名称。 图3-1 Keil软件开发环境界面 3.break语句、continue语句和goto语句 在循环体执行中,如满足循环判定条件的情况下跳出代码段,可使用?break语句或continue语句; 如要从任意地方跳转到代码某地方,可使用goto语句。 (1)break语句。循环结构中,可使用break语句跳出本层循环体,马上结束本层循环。 【例】执行如下程序段。 void main(void ) /*主函数main( )* / { int i, sum; sum=0; for(i=1;i=10;i++) { sum=sum+i; if(sum5) break; print(“sum=%d\n”, sum); /*通过串口向计算机屏幕输出显示sum值*/ } } 当i=3 时,sum的值为6,if语句的表达式“sum5”的值为1,于是执行break语句,跳出for循环,从而提前终止循环。 (2)continue语句 作用及用法与break语句类似,区别:当前循环遇到break,是直接结束循环,若遇上continue,则是停止当前这一层循环,然后直接尝试下一层循环。 可见,continue并不结束整个循环,而仅仅是中断这一层循环,然后跳到循环条件处,继续下一层的循环。当然,如果跳到循环条件处,发现条件已不成立,那么循环也会结束。 【例】输出整数1~100的累加值,但要求跳过所有个位为3的数。 void main(void ) { int i, sum=0; for(i=1;i=100;i++) { if(i%10==3) continue; sum=sum+i; } print(“sum=%d\n”, sum); /*在计算机屏幕显示sum值*/ } (3)goto语句 无条件转移语句;基本格式: goto 标号 【例】计算整数1~100的累加值,存放到sum中。 void main(void ) { unsigned char i=1; int sum=0; sumadd: sum=sum+i; i++; if(;i101;) { goto sumadd; } } 3.2.6 C51的
文档评论(0)