请问单片机是不是自动循环的

[复制链接]
3909|8
 楼主| diyzhangy 发表于 2007-4-1 13:20 | 显示全部楼层 |阅读模式
我做流水灯,只让它流水亮一遍,而在实验板上却无限流水点亮LED,不知道单片机是不是自动重新执行程序的?我用的是89S51
jinling14 发表于 2007-4-1 14:10 | 显示全部楼层

是自动循环的

单片机是自动循环的,如果你只需要执行一次,可以让程序执行完之后去sleep
李冬发 发表于 2007-4-1 14:11 | 显示全部楼层

你是用C写的吧,KC是自动循环的,最好还是自己加个循环

ty5004 发表于 2007-4-1 20:10 | 显示全部楼层

说不定是程序跑完后复位

yos 发表于 2007-4-1 21:13 | 显示全部楼层

不能这样认为

    cpu只是严格按照指令集一条一条指令执行而已,没有自动循环之说.
    对于51机,你的程序执行完以后,它不会回到mian函数执行,也不会回到0地址执行.它会继续把你的程序的最后一条指令之后的数据读出来当作指令执行,如果恰好都是0,就相当于执行6万多条nop指令后(假设你的程序很短),由于PC溢出而恰好回到0地址,即复位地址继续执行,看起来好像是自动循环一样.但如果后面的数据不是0,而是恰好相当于一个死循环的话,就永远回不来了,除非你有看门狗.
dai_weis 发表于 2007-4-1 21:20 | 显示全部楼层

这个要看使用什么编译器

Keil则是在程序结束后,使用一个跳转语句,不过跳转位置是当前
ayb_ice 发表于 2007-4-2 07:46 | 显示全部楼层

随便说说

混淆概念,本身没有什么必然关系的东东...
jasonny 发表于 2008-10-21 15:03 | 显示全部楼层

支持6楼

您需要登录后才可以回帖 登录 | 注册

本版积分规则

34

主题

92

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部