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

EEPROM数码读出 求解啊

时间:10-02 整理:3721RD 点击:
我用89c52跟at24c02用数码管读出24c02单个字节,当我用数码管读出来的时间发现用两位为选数码管显示的是乱的,但是用单个数码管却能读出来这是为什么啊
#include <reg52.h>
#include"i2c.h"
sbit ADDR0=P2^3;
sbit ADDR1=P2^2;
sbit ADDR2=P2^1;
sbit ADDR3=P2^0;
unsigned char code a[16]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};
void delay1ms(void)   //误差 0us
{
    unsigned char a,b,c;
    for(c=1;c>0;c--)
        for(b=142;b>0;b--)
            for(a=2;a>0;a--);
}
void main()
{
      unsigned char dat;
   dat = E2ReadByte(0x02);    //读取指定地址上的一个字节
      //显示在液晶上
    dat++;                     //将其数值+1
    E2WriteByte(0x02, dat);    //再写回到对应的地址上
    while (1)
        {
        P0=a[dat%10];ADDR0=1;ADDR1=0;ADDR2=0;ADDR3=0;delay1ms();
        P0=a[dat/10%10];ADDR0=0;ADDR1=1;ADDR2=0;ADDR3=0;delay1ms();

        }
}

你是按照十进制显示的数据吧?两位显示的数据要是超过99是不是就显示不出来了

在0-9能显示正常超过就了就不正常了

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

网站地图

Top