您的位置 首页 观点

根据proteus的51单片机仿真实例三十三、C言语的goto无条件搬运句子演示实例

1、goto语句为无条件转向语句,它的一般形式为:goto 语句标号;它是将程序运行的流向转到它所指定的标号处去执行 2、结构化程序设计方法主张限制使用goto语句,因为滥用goto语句将使程序流程无

1、goto句子无条件转向句子,它的一般方式为:
goto 句子标号;
它是将程序运转的流向转到它所指定的标号处去履行
2、结构化程序设计办法建议约束运用goto句子,因为乱用goto句子将使程序流程无规律,可读性差。但也不是肯定制止运用goto句子,一般来说,能够有两种用处
1)与if句子一同构成循环结构
2)从循环体内跳转到循环体外,但在c语言中能够运用break句子和continue句子跳出本层循环和完毕本次循环,goto句子的运用机 会已大大削减,仅仅需要从多层循环的内层循环跳到外层循环时才用到goto句子。可是这种用法不符合结构化准则,一般不宜选用,只要在不得已时(例如能够 大大提高功率)才运用。
3、在keil c51中新建工程ex22,编写如下程序代码,并编译生成ex22.hex文件。
//实例22:使用goto无条件搬运句子使程序履行次序产生改动,并将成果送到P0口显现
#include reg51.h> //包括头文件
//延时函数
void delay(void)
{
unsigned int i,j;
for(i=0;i5000;i++)
for(j=0;j50;j++);
}
void main(void)
{
P0 = 0xff; //程序开端,,p0口的8个led悉数平息
delay();
//在此增加一个标号
loop:P0 = 0x0f; //
delay();
P0 = 0xf0; //
delay();
goto loop; //无条件跳转到标号处
P0 = 0x55; //因为上一步程序产生了无条件跳转,所以下面这些句子不会被履行
delay();
while(1) //程序在此无限循环
{
}
}
4、在proteus中新建仿真文件ex22.dsn。电路图如下图所示
5、将ex22.hex文件载入到at89c51中,发动仿真,能够看到运转成果在如下两个图中改换,一直不会履行p0=0x55这个句子。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/guandian/326410.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部