ZLG7289_LongDelay();
IE = sav; //恢复IE
}
/////////////////////////////////////////////
/*
函数:ZLG7289_Download()
功能:下载数据
参数:
mod=0:下载数据且按方式0 译码
mod=1:下载数据且按方式1 译码
mod=2:下载数据但不译码
x:数码管编号(横坐标),取值0~7
dp=0:小数点不亮
dp=1:小数点亮
dat:要显示的数据
说明:
译码方式的具体含义请参考数据手册
*/
extern void ZLG7289_Download (unsigned char mod, char x, bit dp, char dat)
{
code char ModDat[3] = {0x80,0xC8,0x90}; // 10000 0000 1100 1000 1001
0000,方式0译码 方式1 下载数据但不译码
/*返回读到的按键值:0~63
如果返回0xFF 则表示没有键按下
*/
char d1;
char d2;
if ( mod > 2 ) mod = 2;
d1 = ModDat[mod];
x &= 0x07;//x=x&0x07;;0000 0111
d1 |= x;// d1=d1 | x
d2 = dat & 0x7F;
if ( dp ) d2 |= 0x80;
ZLG7289_cmd_dat(d1,d2);
}
/////////////////////////////////////////////////////////////////////////////////////////////
extern void ZLG7289_Download0(unsigned char mod, char x, bit dp, char dat)
{
code char ModDat[3] = {0x80,0xC8,0x90}; // 10000 0000 1100 1000 1001
0000,方式0译码 方式1 下载数据但不译码
/*返回读到的按键值:0~63
如果返回0xFF 则表示没有键按下
*/
char d1;
char d2;
if ( mod > 2 ) mod = 2;
d1 = ModDat[mod];
x &= 0x07;//x=x&0x07;;0000 0111
d1 |= x;// d1=d1 | x
d2 = dat & 0x7F;
if ( dp ) d2 |= 0x80;
ZLG7289_cmd_dat0(d1,d2);
}
/////////////////////////////////////////////////////////////////
char ZLG7289_Key() reentrant
{
char key;
ZLG7289_pinCS = 0;
ZLG7289_LongDelay();
ZLG7289_SPI_Write(0x15);
ZLG7289_LongDelay();
key = ZLG7289_SPI_Read();
ZLG7289_pinCS = 1;
ZLG7289_LongDelay();
return key;
}
/*
函数:ZLG7289_Init()
功能:ZLG7289 初始化
参数:
t:SPI 总线的延时值设置,取值1-40(超出范围可能导致错误)
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-39167-44.html
公关了
台湾问题已经超出了政治范畴