大家帮我看看程序哪里出错了

2019-03-24 19:04发布

我的目的是让4位数码管从右至左显示0,然后再从右到左显示1,这样0-F循环,可是烧完程序后,数码管显示不正常,只显示0、2、4.....F,该显示1、3、5.....E的时候数码管全灭,问下大家我程序哪里出错了? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
yipengjiusui
1楼-- · 2019-03-25 20:32
你这孩子。。。。。。咋想的。。。。。。
yipengjiusui
2楼-- · 2019-03-25 21:33
速度贴上左移子函数来看看
xy363586
3楼-- · 2019-03-26 00:22
程序应该没有问题吧,是不是硬件连接的问题.
程序如下(为使用硬件连接模板,改了下接口)
#include <reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
unsigned int m,n;
unsigned char code table[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
                             0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
void DelayMS(uint x)
{
    uchar i;
    while(x--) for(i=0;i<120;i++);
}
void main()
{
    P2=0xfe;
    while(1)
        {
            for(m=0;m<16;m++)
            {
                for(n=0;n<8;n++)
                {
                    P0=table[m];
                    DelayMS(150);
                    P2=_cror_(P2,1);
                }
            }
        }
}
abbccc308
4楼-- · 2019-03-26 03:51
 精彩回答 2  元偷偷看……
abbccc308
5楼-- · 2019-03-26 04:33
左移程序就是P1=-crol-(P1,1);这是调用intrins.h里的函数,#include<intrins.h>就是它的头文件
abbccc308
6楼-- · 2019-03-26 07:57
硬件连接没问题

一周热门 更多>