本帖最后由 qweqwr 于 2015-7-28 11:39 编辑
- #include<msp430f5529.h>
- char Seg[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07};
- main()
- {
- unsigned int i,j;
- P3DIR=0xff;
- P4DIR=BIT0+BIT1+BIT2;
- P3OUT=0Xff;
- while(1)
- {
- for(i=0;i<8;i++)
- {
- P4OUT = Seg[i];
- for(j=0;j<50000;j++);
-
- }
- }
- }
复制代码
我P3接数码管,P4.0 P4.1 P4.2接138译码器,现象应该是八位数码管依次显示8,但是实际却只显示最左边一位。
此帖出自
小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
- for(i=1;i<8;i++)
- {
- P4OUT = Seg; //此处改为P4OUT = Seg[i];
- for(j=0;j<50000;j++);
复制代码如果不加for(j=0;j<5000;j++);的话,用IAR一步步调是没问题的,加了那句就有事了。。。
最左端亮对应138译码器0!i的初始化是我之前改的忘了改回去,还有一看就知道数码管是八位的吧,你看程序就应该知道数码管是共阴。
一周热门 更多>