#include <reg52.h>
#include "./delay/delay.h"
#define LCD_WRITE_DATA 1
#define LCD_WRITE_COM 0
#define LCDPORT P0
#define SUCC 0
#define ERR 1
sbit RS = P2^4;
sbit RW = P2^5;
sbit E = P2^6;
sbit SCL = P1^0;
sbit SDA = P1^1;
bit ack = 0;
void iic_start()
{
SDA = 1;
SCL = 1;
delay_us(1);
SDA = 0;
delay_us(1);
SCL = 0;
}
void iic_stop()
{
SDA = 0;
SCL = 1;
delay_us(1);
SDA = 1;
delay_us(1);
SCL = 0;
}
bit iic_send_byte(unsigned char byte)
{
unsigned char i;
SDA = 1;
for(i = 0;i < 8;i++)
{
SDA = byte & 0x80;
SCL = 1;
delay_us(1);
SCL = 0;
byte <<= 1;
}
SCL = 1;
SDA = 1;
delay_us(1);
if(0 == SDA)
{
ack = 1;
}
else
{
ack = 0;
}
SCL = 0;
return ack;
}
void iic_noack()
{
SDA = 1;
SCL = 1;
delay_us(1);
SCL &
AD/DA转换(程序)
最新推荐文章于 2024-05-24 14:30:12 发布