📄 main.c
字号:
/*********************************************************************
12M-AT89S52
XX7299A
********************************************************************/
#include <reg52.h>
#include <intrins.h>
#include <IIC_C51.h>
#include <XX7299A.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char WrXX7299A(uchar addr,uchar d8)//写一个字节
{unsigned char ack;
ack=I2C_SendStr(XX7299A_Write_DeviceAddr,addr,&d8,1);
return ack;
}
unsigned char WrStrXX7299A(unsigned char suba,//连续写多个字节
unsigned char *s,unsigned char no)
{unsigned char ack;
ack=I2C_SendStr(XX7299A_Write_DeviceAddr,suba,s,no);
return ack;
}
unsigned char RdXX7299A(uchar addr,uchar *s)//读一个字节数据到s指向的单元
{unsigned char ack;
ack=I2C_RcvStr(XX7299A_Write_DeviceAddr,addr,s,1);
return ack;
}
unsigned char RdStrXX7299A(unsigned char suba,//读多个字节数据到s指向的单元
unsigned char *s,unsigned char no)
{unsigned char ack;
ack=I2C_RcvStr(XX7299A_Write_DeviceAddr,suba,s,no);
return ack;
}
int main(void)
{unsigned char nc;
unsigned int i;
unsigned char t[8]={1,2,3,4,5,6,7,8};
unsigned char T[8]={8,7,6,5,4,3,2,1};
WrXX7299A(Reg7299_DisDecode0,0xff);//设定当前组为译码显示
WrStrXX7299A(Reg7299_DisDate0R,t,8);
WrXX7299A(Reg7299_DisFlash0,0x55);//间隔闪烁
WrXX7299A(Reg7299_DisFlash0,0x00);//停止闪烁
WrStrXX7299A(0x00,T,8); //写E2PROM
WrXX7299A(Reg7299_LoadEEPROM,0x80);//将E2PROM数据装载到寄存器显示
for(nc=0;nc<4;nc++)
WrXX7299A(Reg7299_DisDate1R +nc,0xff);//写第二组寄存器
WrXX7299A(Reg7299_DisCtrl,0x14);//与显示消隐四位数码管显示
WrXX7299A(Reg7299_DisCtrl,0x00);//恢复方式0显示模式
WrXX7299A(Reg7299_ShiftCtrl,0x88);//显示数据移位
WrXX7299A(Reg7299_ShiftCtrl,0x98); //显示数据移位
WrXX7299A(Reg7299_ShiftCtrl,0x80); //显示数据移位
WrXX7299A(Reg7299_ShiftCtrl,0x90); //显示数据移位
while(1)
{i=RdXX7299A(Reg7299_KeyValue,&nc);//读按键值到nc
WrXX7299A(Reg7299_DisDate00,nc%10);//显示按键值
WrXX7299A(Reg7299_DisDate01,nc/10%10);
WrXX7299A(Reg7299_DisDate02,nc/100);
if(i!=0xff)
{WrXX7299A(Reg7299_DisDate03,i);
while(1);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -