搜索
bottom↓
回复: 7

下面这个跑马灯程序我烧到板子上灯都不亮是什么原因

[复制链接]

出0入0汤圆

发表于 2007-9-27 16:32:12 | 显示全部楼层 |阅读模式
下面这个程序我烧到板子上灯都不亮是什么原因
include <iom16.h>
#include <intrinsics.h>

void main( void )
{
  unsigned char  led[]={0x00,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0x7e,0xe7,0xdb,0xbd,0x7e,0xbd,0xf7,0xef,0xdf,0xbf,0x7f,
                       0xbf,0xdf,0xef,0xfe,0xfd,0xfb,0xf7,0xfe,0xfc,0xf8,0xf0,0xe0,
                      0xc0,0x80,0x00,0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00,0xff};
unsigned char i;
    PORTA   = 0xFF; // Give PORTB and the User LEDs an initial startvalue

   // led     = 1;    // Start with LED0

    DDRA    = 0xFF; // Set PORTB as output

    while(1)        // Eternal loop
    {
       PORTA = led;   // Invert the output since a zero means: LED on
        i++;
        if(i==45)
          i=0;
        //led <<= 1;      // Move to next LED by performing a rotate left

       // if (!led)
        // led = 1;      // If overflow: start with LED0 again

        __delay_cycles(100000);  // Wait for 500 000 cycles
    }
}
但是改成  unsigned char  led[]={0x00,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0x7e,0xe7,0xdb,0xbd,0x7e,0xbd,0xf7,0xef,0xdf,0xbf,0x7f,
  0xbf,0xdf,0xef,0xfe,0xfd,0xfb};就可以亮了

以下蓝色文字由站长:armok 于:2008-01-05,10:42:48 加入。
你的原标题:“<font color=black>跑马灯
” 不合符规定。请更改成能说明帖子大意的标题
试想一下,如果本论坛的帖子标题清一色的‘帮助!’,‘ADC求救!’等笼统的标题,你在阅读的过程中会造成许多麻烦。
所以本论坛规定:一定要起一个能说明帖子大意的标题。不允许“关于 AVR 的 ADC 使用!”这种笼统标题。作为标题,必须说明清楚:
 ①你是在请教问题,还是在介绍有关的知识?
 ②ADC的问题有许多,你是想说那方面的内容?
注意以上两点,标题应该改成如:“请教:ADC 可以不使用中断吗?”。
起一个能说明帖子大意的标题,除了减轻我们的帖子分类整理工作,还方便其它人阅读,节省大家的时间。
注:使用合格的标题,对你来说只是举手之劳,但却会为我们的管理工作提供很大的便利。谢谢你的支持。

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

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2007-9-27 19:56:53 | 显示全部楼层

unsigned char  led[]={0x00,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0x7e,0xe7,0xdb,0xbd,0x7e,0xbd,0xf7,0xef,0xdf,0xbf,0x7f,
                       0xbf,0xdf,0xef,0xfe,0xfd,0xfb,0xf7,0xfe,0xfc,0xf8,0xf0,0xe0,
                      0xc0,0x80,0x00,0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00,0xff};
改为
const unsigned char  led[]={0x00,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0x7e,0xe7,0xdb,0xbd,0x7e,0xbd,0xf7,0xef,0xdf,0xbf,0x7f,
                       0xbf,0xdf,0xef,0xfe,0xfd,0xfb,0xf7,0xfe,0xfc,0xf8,0xf0,0xe0,
                      0xc0,0x80,0x00,0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00,0xff};
试试.

出0入0汤圆

发表于 2007-10-6 20:16:51 | 显示全部楼层
呵呵,没有“#include <intrinsics.h> ”文件啊?!

出0入0汤圆

发表于 2008-1-5 10:20:22 | 显示全部楼层
改成这样就能亮了。
#include <mega16.h>
#include<delay.h>
unsigned char  led[]={0x00,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0x7e,0xe7,0xdb,0xbd,0x7e,0xbd,0xf7,0xef,0xdf,0xbf,0x7f,
                       0xbf,0xdf,0xef,0xfe,0xfd,0xfb,0xf7,0xfe,0xfc,0xf8,0xf0,0xe0,
                       0xc0,0x80,0x00,0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00,0xff} ;

void main( void )
{
    unsigned char i=0;
    PORTA   = 0xFF;            
    DDRA    = 0xFF;  
    while(1)         
    {
       PORTA = led;   
        i++;
        if(i==45)
        i=0;
        delay_ms(500);   
    }
}

出0入0汤圆

发表于 2008-1-5 10:29:54 | 显示全部楼层
i居然不赋初值
编译器没有警告么?

出0入0汤圆

发表于 2008-1-5 10:35:55 | 显示全部楼层
呵呵,牛人一般都很少注意这样的错误的.

出0入0汤圆

发表于 2012-12-25 21:29:34 | 显示全部楼层
跑马灯程序,没初值是个什么情况?

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-8-27 04:12

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

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