打印

arm7,lpc2103,程序哪点有问题,大家帮忙看一下

[复制链接]
1368|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
780653337378|  楼主 | 2011-11-4 18:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<NXP/iolpc2103.h>

#define INT32U unsigned int
#define DUAN0  1
#define DUAN1  1<<1
#define DUAN2  1<<2
#define DUAN3  1<<3
#define DUAN4  1<<4
#define DUAN5  1<<5
#define DUAN6  1<<6
#define DUAN7  1<<7
#define WEI0  1<<8
#define WEI1  1<<9
#define WEI2  1<<10
#define WEI3  1<<11

void Delay(INT32U num)
{
while(num)
{
num--;
}
}

void main()
{
   PINSEL0 = 0x00000000;
   PINSEL1 = 0x00000000;
   IODIR = DUAN0|DUAN1|DUAN2|DUAN3|DUAN4|DUAN5|DUAN6|DUAN7|WEI0|WEI1|WEI2|WEI3;
   unsigned int TAB[] = {DUAN0|DUAN1|DUAN2|DUAN3|DUAN4|DUAN5,DUAN1|DUAN2,DUAN0|DUAN1|DUAN3|DUAN4|DUAN6,DUAN0|DUAN1|DUAN2|DUAN3|DUAN6};
   IOCLR = WEI0|WEI1|WEI2|WEI3;
   while(1)
   {
     int i;
     for (i=0;i<4;i++)
     {
     IOCLR = DUAN0|DUAN1|DUAN2|DUAN3|DUAN4|DUAN5|DUAN6|DUAN7;
     Delay(500000);
     IOSET = TAB;
     Delay(500000);
     }
   }  
}
[img]file:///D:/QQ2011/Users/531187647/Image/76NRW}[)O7TIV@2NWH8F1P5.jpg[/img]
这个仿真结果应该是0,1,2,3循环,但是结果是乱码,0,1,2循环,什么原因啊

相关帖子

沙发
780653337378|  楼主 | 2011-11-4 18:38 | 只看该作者
数码管是共阴极的,段选没有错误,在不用数组显示时能正常显示。我用的是iar编辑器,proteus上仿真的。

使用特权

评论回复
板凳
780653337378|  楼主 | 2011-11-4 18:41 | 只看该作者
上电后,先是一个点,然后0,1,2循环,四个状态循环,不用数组的话没错。

使用特权

评论回复
地板
nwttjpu| | 2011-11-5 15:09 | 只看该作者
求教#define DUAN1  a<<b中是吧a右移b位吗!超级新人

使用特权

评论回复
5
woshixinshou| | 2011-11-6 09:48 | 只看该作者
4# nwttjpu
是啊

使用特权

评论回复
6
nwttjpu| | 2011-11-6 12:10 | 只看该作者
谢谢

使用特权

评论回复
7
rangery| | 2011-11-16 11:04 | 只看该作者
TAB是数组首地址
能显示出0,1,2已经比较神奇了

使用特权

评论回复
8
zhaigch| | 2011-11-17 11:53 | 只看该作者
IOSET = TAB;
换成IOSET = TAB[i];
试试

使用特权

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

本版积分规则

0

主题

17

帖子

1

粉丝