⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 7289.c.bak

📁 C8051中7289芯片的调试程序
💻 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 + -