📄 7289.c.bak
字号:
#include <stdio.h>
#include <IO.h>
#define uchar unsigned char
//------------------------------------------------------------------------
/*以下延时时长均为在仿真器接12MHz晶振时测得,更改晶振频率需修改循环次数*/
//------------------------------------------------------------------------
//# define uchar unsigned char
void delay_8us()
{
uchar i;
for(i=0;i<20;i++); // 5.6us+2.6us
}
void delay_50us()
{
uchar i;
for(i=0;i<100;i++); // 20.6us+2.6us
}
//------------------------------------------------------------------------
//-------------------可调时长的延时函数(单位ms)---------------------------
/*
void delay_Xms(unsigned int count)
{
uchar i;
while(count--)
{
for(i=0;i<125;i++){} //1007.6us
}
}
*/
void send(uchar sebuf)
{
uchar i;
delay_50us();
for(i=0;i<8;i++)
{
CLK=0;
delay_8us();
DIO=(bit)(sebuf&0x80);
sebuf<<=1;
CLK=1;
delay_8us();
}
DIO=0;
CLK=0;
}
uchar receive(void)
{
uchar i,rebuf;
delay_50us();
for(i=0;i<8;i++)
{
rebuf<<=1;
CLK=0;
delay_8us();
CLK=1;
delay_8us();
// DIO=1;
rebuf|=DIO;
}
DIO=0;
CLK=0;
return(rebuf);
}
void display(uchar a,b)
{
CS=0;
delay_8us();
send(a);
delay_8us();
send(b);
CS=1;
}
uchar getkey(void)
{
uchar tt;
CS=0;
delay_50us();
send(0x15);
delay_50us();
tt=receive();
delay_50us();
CS=1;
return(tt);
}
void reset7289(void)
{
display(0x80,0x05); ///调试试验所得出:7289在复位之前先随便写入一个字才可可靠复位
KEY=1;
DIO=1;
CS=0;
delay_8us();
send(0xA4);
CS=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -