打印
[51单片机]

向大家请个个问题,8字流水显示不亮,找不到原因

[复制链接]
961|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
dirtwillfly| | 2015-2-13 11:36 | 只看该作者
图哪?

使用特权

评论回复
板凳
tomsmiss|  楼主 | 2015-2-13 11:41 | 只看该作者
郁闷,代码如下
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code dsp[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};
void delay(uint x)
{
  uchar i;
  while(x--);
  for(i=0;i<120;i++);
}
void main()
{   
  uchar a,wei=0x80;
   while(1)
   {   
    for(a=0;a<8;a++)
        {  
           P2=0xff;
          wei=_crol_(wei,1);   
          P0=dsp[a];
          P2=wei;
         delay(50000);
        }

   }
}

QQ图片20150213112108.png (29.05 KB )

参照图片

参照图片

使用特权

评论回复
地板
tomsmiss|  楼主 | 2015-2-13 11:49 | 只看该作者
附件为我自己画的,实验了很多次就是不成功。不能实现流水显示的功能

8个数码管亮循环亮.rar

49.02 KB

我自己画的图

使用特权

评论回复
5
donny_| | 2015-2-13 16:20 | 只看该作者
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code dsp[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};
void delay(uint x)
{
  uchar i;
  while(x--);
  for(i=0;i<120;i++);
}
void main()
{   
  uchar a,wei=0x80;
   while(1)
   {   
    for(a=0;a<8;a++)
        {  
           P2=0xff;
            
          P0=dsp[a];
          P2=wei;
                                        wei=wei>>1;
                                        if(wei==0x00)
                                        {
                                                wei=0x80;
                                        }
         delay(5000);
        }

   }
}

使用特权

评论回复
6
donny_| | 2015-2-13 16:23 | 只看该作者
P0 口加上拉 ,P2串电阻 到 三极管B 三极管换 3904
还有 你的程序 8次之后 会是什么结果 ?

使用特权

评论回复
7
donny_| | 2015-2-13 16:25 | 只看该作者
附图

新建位图图像.jpg (288.11 KB )

新建位图图像.jpg

使用特权

评论回复
8
donny_| | 2015-2-13 16:27 | 只看该作者
看错  居然是向左移动的 一次过后 就是0了

使用特权

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

本版积分规则

2

主题

8

帖子

0

粉丝