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

📄 smbus0config.c

📁 很有用的CYGNAL C语言程序,
💻 C
字号:
/******************************************************************************	
**	文		件:SMBusConfig.C
**	功		能:SMBus0初始化
*******************************************************************************/
#include<c8051f020.h>
/*******************交叉开关配置*********************/
void XBR_Config(void)
{
	XBR2   = 0x40;				//交 叉 开 关 使 能
	XBR0   = 0x05;				//SMBus SDA:  P0.0
	P0MDOUT= 0x00;				//	    SCL : P0.1	
	P1MDOUT= 0xff;				//P0.0,P0.1漏极开路	
								//P1:  推 挽 输 出				
}
/*******************SMBus初始化**********************/
void SMBus_Config(void)
{//system clock=22.1184MHZ
	//SMBus0串行时钟速率:107.89 KMZ
	//SMBus0总线空闲超时周期:45.7us
	//SMB0CN|=0x43;				//SMBus使能
	//SMB0CR =0x9c;				//低 电平 超时 使能
	//高电平空闲使能
//system colck=12MHZ
	//SMBus0串行时钟速率:108.11 KMZ
	//SMBus0总线空闲超时周期: 45 us
	SMB0CN|=0x43;				//SMBus使能
	SMB0CR =0xcb;				//低 电平 超时 使能
	//SMB0ADR=0x02;				//主发送02
	SMB0ADR=0x04;				//主接收04
	//高电平空闲使能
}
/*******************定时器3初始化*********************/		
void TMR3(void)
{
	TMR3CN|=0x04;				//定时25ms允许
	TMR3H  =0xB4;				
	TMR3L  =0x00;			
	TMR3RLH=0xB4;				//定时器重载植
	TMR3RLL=0x00;
}
/**********************发送起始位*********************/
void smbusMasterStart(void)
{//此函数用来启动主机发送起始位,主机发送完起始位将引发中断
	STA=1;
}										

⌨️ 快捷键说明

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