这个哪里错啦?MSP430数码管的程序

2019-03-24 09:58发布

本帖最后由 qweqwr 于 2015-7-28 11:39 编辑
  1. #include<msp430f5529.h>
  2. char Seg[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07};
  3. main()
  4. {
  5.     unsigned int i,j;
  6.     P3DIR=0xff;
  7.     P4DIR=BIT0+BIT1+BIT2;
  8.     P3OUT=0Xff;
  9.     while(1)
  10.     {
  11.         for(i=0;i<8;i++)
  12.         {
  13.             P4OUT = Seg[i];
  14.             for(j=0;j<50000;j++);
  15.                
  16.         }
  17.     }
  18. }
复制代码

我P3接数码管,P4.0 P4.1 P4.2接138译码器,现象应该是八位数码管依次显示8,但是实际却只显示最左边一位。
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
gcxzhz
1楼-- · 2019-03-25 22:05
本帖最后由 gcxzhz 于 2015-7-27 18:27 编辑
  1. for(i=1;i<8;i++)
  2.         {
  3.             P4OUT = Seg; //此处改为P4OUT = Seg[i];            
  4. for(j=0;j<50000;j++);
复制代码
qweqwr
2楼-- · 2019-03-26 01:09
 精彩回答 2  元偷偷看……
gcxzhz
3楼-- · 2019-03-26 02:06
别用循环 单独测试每一位看一下  138的接线对吗
qweqwr
4楼-- · 2019-03-26 06:29
gcxzhz 发表于 2015-7-27 23:00
别用循环 单独测试每一位看一下  138的接线对吗

如果不加for(j=0;j<5000;j++);的话,用IAR一步步调是没问题的,加了那句就有事了。。。
qiushenghua
5楼-- · 2019-03-26 06:35
 精彩回答 2  元偷偷看……
qweqwr
6楼-- · 2019-03-26 07:18
qiushenghua 发表于 2015-7-28 02:12
还是没说清楚,最左端一个亮对应38译码器的数值几?0还是7?
目前能发现的问题就是没有关狗,还有i初始化 ...

最左端亮对应138译码器0!i的初始化是我之前改的忘了改回去,还有一看就知道数码管是八位的吧,你看程序就应该知道数码管是共阴。

一周热门 更多>

相关问题

    相关文章