?? 7289.c.bak
字號:
#include <stdio.h>
#include <IO.h>
#define uchar unsigned char
//------------------------------------------------------------------------
/*以下延時時長均為在仿真器接12MHz晶振時測得,更改晶振頻率需修改循環(huán)次數(shù)*/
//------------------------------------------------------------------------
//# 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
}
//------------------------------------------------------------------------
//-------------------可調(diào)時長的延時函數(shù)(單位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); ///調(diào)試試驗所得出:7289在復位之前先隨便寫入一個字才可可靠復位
KEY=1;
DIO=1;
CS=0;
delay_8us();
send(0xA4);
CS=1;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -