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

📄 s_m_main.c

📁 很有用的CYGNAL C语言程序,
💻 C
字号:
///////////从机接收调试程序////////////////
////////Smbus_S_R.c/////////////////////////////////
#include<c8051f020.h>
void senddata(unsigned char ads,unsigned char dat);
void setoff(unsigned char);
void config(void);
void yan50m(unsigned char);
void delay(long int);
#define S_AD_R 0x6f
#define S_AD_W 0x6e
unsigned char dat=0;//用于存放接收数据
unsigned char k;
void main(){
	unsigned char t=0;
//	char i;
	config();
	//smbus_cfg(0x44,0xf1,0x6f);
	SMB0CN=0x44;
	SMB0CR=0xF1;
	SMB0ADR=0x6f;
	EIE1=0x02;
	EA=1;//打开全局中断
	setoff(2);
	k=0;
	while(1);
}
void int0() interrupt 0{
}
void int1() interrupt 1{
}
void int2() interrupt 2{
}
void int3() interrupt 3{
}
void int4() interrupt 4{
}
void int5() interrupt 5{
}
void int6() interrupt 6{
}
void smbusInt() interrupt 7{//从机smbus接收中断,此中断只考虑关键状态处理,以便调试
//此句可省略,在此设断点观察寄存器变化
	if(SMB0STA==0xA8){//自身从机地址+读控制接收,将欲发送的第一个数据装入发送缓冲区
		SMB0DAT=111;
	}
	if(SMB0STA==0x80)
	{
		dat=SMB0DAT;
		senddata(3,dat/100);
		senddata(2,dat%100/10);
		senddata(1,dat%10);
		f=1;
	}
	SI=0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -