*文件名: TM1628
*单片机型号: AT89S52
*开发环境: Keil uVision3
*晶震频率: 12M
*/
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//定义控制端口
sbit DIO =P2^0;
sbit CLK =P2^1;
sbit STB =P2^2;
//定义数据
uchar const CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0xef,0x6f}; //共阴数码管 0-9
的编码
uchar KEY[5]={0}; //为存储按键值开辟的数组
//向 TM1628 发送 8 位数据,从低位开始------------------------
void send_8bit(uchar dat)
{
uchar i;
for(i=0;i<8;i++)
{
if(dat&0x01)
DIO=1;
else DIO=0;
CLK=0;
CLK=1;
dat=dat>>1;
}
}
//向 TM1628 发送命令--------------------------------------
void command(uchar com)
{
STB=1;
STB=0;
send_8bit(com);
}
//读取按键值并存入 KEY[]数组,从低字节开始,从低位开始----