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

📄 icc.h~

📁 这是一个用AVRM16控制HTM68131,可以跟据这个例子自已做液晶.
💻 H~
字号:
#ifndef __ICC_H__
#define __ICC_H__
#include "MEGA16.h" 


#define TWI_START  0xa5;
#define TWI_STOP   0x95;
#define TWI_EN     0x85;
#define TWI_ACK    0xc5;
#define TWI_NACK   0x85;  

#define SLA_W    0xd0;
#define SLA_R    0xd1; 
#define MCP_PEIZHI  0x84;  //更新、单次、14bit\增益1  
bit i2c_w;                                   
bit i2c_r;
uchar dianya[4];   
      
void error(void)
{	;
}  
unsigned char i2c_writew(void)
{    
	uchar r=1; 
	TWCR=TWI_START;    //START
	while(!(TWCR&0x80))
	#asm("wdr");
	if((TWSR&0xF8)!=0x08)
		r=0;   
	TWDR=SLA_W;
	TWCR=TWI_EN;
	while(!(TWCR&0x80))
	#asm("wdr");
	if((TWSR&0xF8)!=0x18)
		r=0;
	TWDR=MCP_PEIZHI;
	TWCR=TWI_EN;
	while(!(TWCR&0x80))
	#asm("wdr");
	if((TWSR&0xF8)!=0x28)
		r=0;
	TWCR=TWI_STOP;
	i2c_w=1; 
	return r;
} 


unsigned char i2c_readw(void)
{
	uchar i,r=1;
	TWCR=TWI_START; 
	while(!(TWCR&0x80)); 
	if((TWSR&0xf8)!=0x08)
		r=0;
	TWDR=SLA_R;
	TWCR=TWI_EN;
	while(!(TWCR&0x80));
	if((TWSR&0xf8)!=0x40)
		r=0; 
	TWCR=TWI_ACK;
	for(i=0;i<4;i++)
	{
		while(!(TWCR&0x80));
		if((TWSR&0xf8)!=0x50)
		r=0;
		dianya[i]=TWDR; 
		if(i<3)
		TWCR=TWI_ACK;
		else
		TWCR=TWI_NACK;
	}
	while(!(TWCR&0x80));
	if((TWSR&0xf8)!=0x58)
		r=0;
	TWCR=TWI_STOP;  
	i2c_r=1;
	return r;
} 

void i2c_chuli(void)
{  
      uchar diaoyong;      
      diaoyong=i2c_writew(); 
      while(i2c_w==0)
      #asm("wdr");       
      i2c_w=0;     
      if(diaoyong==0)
              error();      
      else
      {
              diaoyong=i2c_readw();         
              while(i2c_r==0)
              #asm("wdr");      
              i2c_r=0;     
              if(diaoyong==0)
                     error();
      }
      
}   
#endif

⌨️ 快捷键说明

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