搜索
bottom↓
回复: 2

【求助】用循环延时在仿真里遇到问题

[复制链接]

出0入0汤圆

发表于 2009-8-6 12:04:29 | 显示全部楼层 |阅读模式
问题是这样的:
延时函数里面有2个for循环。
在一个for循环里调用延时函数,控制灯亮灭几次。
仿真结果,亮灭的次数超过设定的次数,停不下来。

======================================

//简单的输出定义:
#define LED (1<<PB0)
#define LED_ON        (PORTB &= ~LED)
#define LED_OFF        (PORTB |= LED)

//延时函数:
void delay_ms( unsigned int delay_ms ){
        unsigned int tmp_ms;
        unsigned char tmp_us;
        for( tmp_ms=0; tmp_ms<delay_ms; ++tmp_ms ){
                for( tmp_us=0; tmp_us<255; ++tmp_us){
                        asm("nop");
                }
        }
}

//=====================================

一、如果用:
for(i=0; i<5; ++i){
LED_ON;
delay_ms(500);
LED_OFF;
delay_ms(500);
}
昨天类似这样的,只闪一次;今天又不停的闪,N多次。

二、如果用:
LED_ON;//
delay_ms(500);
LED_OFF;
delay_ms(500);
LED_ON;
delay_ms(500);
LED_OFF;
delay_ms(500);
可以闪2次。

三、换个方式,循环里不调用延时函数:
for(delay_rate=0; delay_rate<5; ++delay_rate){
LED_ON;
for(i=0; i<50000; ++i);
LED_OFF;
for(i=0; i<50000; ++i);
}
正常闪5次。

==================================

难道套了for循环再调用带2个for循环函数出问题?
(我实际烧还得用上reset脚,只能先在仿真里试试了。)

俺的仿真文件:
点击此处下载 ourdev_467967.rar(文件大小:44K) (原文件名:tiny12.rar)
帮忙只看下main里面的test部分怎么回事就行。多谢~

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2009-8-6 14:11:48 | 显示全部楼层
继续求助~~~

有遇到过着种问题的吗?
还是俺哪里漏了什么东西,或犯了某些常识性的错误?

出0入0汤圆

 楼主| 发表于 2009-8-7 09:32:13 | 显示全部楼层
继续求助~~~

又遇到一个新问题,程序里定义全局变量貌似仿真就没反应了。
不知道怎么回事,又重画了一个只引出一个LED的图,最简单的程序试了下。
还是定义全局变量就出错(LED不亮)。
#include "iot13v.h"

//unsigned char tmp_var;
main(){
        DDRB  = 0x08;//1->output
        PORTB = 0x08;
       
        while(1){
                PORTB &= ~(1<<PB3);
        }
}

仿真里用的tiny12(没找到13的),程序里用的13的头文件(ICC里也没找到12的)
不知道跟这个有关系吗?

请高手帮忙,谢谢~
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-16 02:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表