打印
[AVR单片机]

keil μVision V5.14.2 的问题

[复制链接]
1266|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangxianzhao|  楼主 | 2015-12-29 22:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用keil μVision V5.14.2  编写以下程序,
#define uchar unsigned char
#define uint unsigned int
#include <reg51.h>
#include <stdio.h>
void delay(void)
    {                                         
    uchar a, b,C;       
    for (a = 20; a>0; a--)
            for (b =20; b>0; b--)
                    for (C =248; C>0; C--);
    }

void main()
{       
while(1)
        {
P2|=0x01;
        delay();
P2&=~0x01;
        delay();
        }
}
能正常运行,结果正常。

可是程序写成下面这样,就是死活不运行,LED不显示或乱显示,板子确认是OK的,用别的芯片试过了!
#define uchar unsigned char
#define uint unsigned int
#include <reg51.h>
#include <stdio.h>
const uchar code tab[16]={0x81,0xf5,0x49,0x61,0x35,0x23,0x03,0xf1,0x01,0x21,0x11,0x07,0x8b,0x45,0x0b,0x1b};

void delay (uint ms)
{
uint i,j;
  for (i=0;i<ms;i++)
    {
                        for (j=0;j<1141;j++);       
          }
}

void ledshow (uchar ten,uchar one)
{       
        P2|= 0x01;
        P0 = tab[one];
        delay(10);
        P2&=~0x01;
       
        P2|= 0x02;
        P0 = tab[ten];
        delay(10);
        P2&=~0x02;
}

int main (void)
{
uchar one=0,ten=0;
uchar enc_bef=0;
delay(1);       

while(1)
        {
        one=counter%10;
        ten=counter/10%10;
        ledshow(ten,one);               
        }       
}

相关帖子

沙发
wangxianzhao|  楼主 | 2015-12-31 09:54 | 只看该作者
原来是EA/Vpp(P31脚)悬空了(没有接到Vcc端)的原因!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

4

帖子

0

粉丝