📄 7289.h
字号:
#include "excalibur.h"
#define uchar unsigned char
np_pio *clk7289=na_clk7289;
np_pio *cs7289=na_cs7289;
np_pio *dio7289=na_dio7289;
np_pio *key7289=na_key7289;
uchar receivedata;
void shortdelay()
{
int i;
for(i=0;i<40;i++);
}
void longdelay()
{
int i;
for(i=0;i<250;i++);
}
void initial7289()
{
cs7289->np_piodata=1;
}
void send(unsigned int senddata,uchar j)
{
uchar i;
uchar sendlast;
dio7289->np_piodirection=1;
cs7289->np_piodata=0;
longdelay();
if(j==8)
for(i=0;i<8;i++)
{
clk7289->np_piodata=0;
shortdelay();
if(senddata&0x80)
dio7289->np_piodata=1;
else
dio7289->np_piodata=0;
senddata=senddata<<1;
clk7289->np_piodata=1;
shortdelay();
}
if(j==16)
for(i=0;i<16;i++)
{
clk7289->np_piodata=0;
shortdelay();
if(senddata&0x8000)
dio7289->np_piodata=1;
else
dio7289->np_piodata=0;
senddata=senddata<<1;
clk7289->np_piodata=1;
shortdelay();
}
clk7289->np_piodata=0;
cs7289->np_piodata=1;
}
uchar receive()
{
uchar i,j,rebuf=0;
dio7289->np_piodirection=0;
cs7289->np_piodata=0;
longdelay();
for(i=0;i<8;i++)
{
rebuf<<=1;
clk7289->np_piodata=0;
shortdelay();
rebuf|=dio7289->np_piodata;
clk7289->np_piodata=1;
shortdelay();
}
cs7289->np_piodata=1;
clk7289->np_piodata=0;
return rebuf;
}
void button()
{
while(1)
{
cs7289->np_piodata=1;
while(key7289->np_piodata);
send(0x15,8);
receivedata=receive();
longdelay();
switch(receivedata)
{
case 0x00: send(0xa1,8); send(0xc800,16); break;
case 0x01: send(0xa1,8); send(0xc801,16); break;
case 0x02: send(0xa1,8); send(0xc802,16); break;
case 0x03: send(0xa1,8); send(0xc803,16); break;
case 0x04: send(0xa1,8); send(0xc804,16); break;
case 0x05: send(0xa1,8); send(0xc805,16); break;
case 0x06: send(0xa1,8); send(0xc806,16); break;
case 0x07: send(0xa1,8); send(0xc807,16); break;
case 0x08: send(0xa1,8); send(0xc808,16); break;
case 0x09: send(0xa1,8); send(0xc809,16); break;
case 0x0a: send(0xa1,8); send(0xc80a,16); break;
case 0x0b: send(0xa1,8); send(0xc80b,16); break;
case 0x0c: send(0xa1,8); send(0xc80c,16); break;
case 0x0d: send(0xa1,8); send(0xc80d,16); break;
case 0x0e: send(0xa1,8); send(0xc80e,16); break;
case 0x0f: send(0xa1,8); send(0xc80f,16); break;
case 0x10: send(0x8800,16); break;
case 0x11: send(0x88ff,16); break;
case 0x12: send(0x9801,16); break;
case 0x13: send(0x98ff,16); break;
case 0x14: send(0xbf,8); break;
case 0x15: break;
case 0x16: send(0xa4,8); break;
case 0x17: break;
default: break;
}
while(!key7289->np_piodata);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -