void send_tm1629(u8 sdata)
{
int i =0;
tm1629clk_0;
for(i =0;i < 8;i++)
{
tm1629clk_0;
if(sdata&0x01)
tm1629out_1;
else
tm1629out_0;
tm1629clk_1;
sdata >>=1;
}
}
void write_tm1629(u8 *datas,u8 len)
{
u8 i;
tm1629stb_0;
send_tm1629(0x40);
tm1629stb_1;
for(i=0;i<10;i++);
tm1629stb_0;
send_tm1629(0xc0);
for(i=0;i<len;i++)send_tm1629(datas[i]);
tm1629stb_1;
tm1629stb_0;
send_tm1629(0x8B);
tm1629stb_1;
}
u32 key_tm1629(void)
{
u32 keytmp=0;
u8 i;
tm1629stb_0;
send_tm1629(0x42);
set1629in;
tm1629out_1;
for(i=0;i<32;i++)
{
keytmp<<=1;
tm1629clk_0;
tm1629clk_0;
tm1629clk_1;
tm1629clk_1;
if(tm1629in)keytmp|=0x01;
}
tm1629stb_1;
set1629out;
return keytmp;
}
TM1629,1638 LED 按键驱动
于 2024-07-24 11:27:15 首次发布