微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 数码管问题

数码管问题

时间:10-02 整理:3721RD 点击:

为什么数码管每次都是到"4"就又从"0"开始,程序下
#include<pic.h>
#define uchar unsigned char
#define uint unsigned int
const uchar table[]={0x40, 0xf9, 0x24, 0x30, 0x19, 0x12, 0x02, 0x78, 0x00, 0x10};
void delay(uint x)
{
        uint a,b;
        for(a = x; a > 0; a--)
                for(b = 109; b > 0; b--);
}
void init()
{
        TRISC = 0;
        TRISA = 0;
        PORTC = 0xff;
        PORTA = 0;
}
void main()
{
        init();
        RA0 = 0; //选正第1个数码管
        while(1)
        {        
                uchar t;
                for(t = 0; t < 9; t++)
                {
                        PORTC = table[t];
                        delay(500);
                }
        }
}

关了看门狗之后运行就正常了,这是为什么?

似乎程序没问题

那是由于   看门狗时间所限制 !~~~~到4  复位  就是这么解释的!~~

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top