#include <reg52.h>
#include "delay.h"
sbit SCL = P2^0;
sbit SDA = P2^1;
bit ack = 0;
#define SUCC 0
#define ERR 1
#define LCDPORT P0
sbit RS = P2^4;
sbit RW = P2^5;
sbit E = P2^6;
#define LCD_WRITE_DATA 1
#define LCD_WRITE_COM 0
unsigned char hour = 0;
unsigned char min = 0;
unsigned char sec = 0;
unsigned char temp[3];
//ÆðʼÐźÅ
void iic_start()
{
SDA = 1; //SDAÏȸ³Öµ£¬ÎªÁ˱£Ö¤SCLΪ¸ßµçƽÆڼ䣬SDAÖ»ÓÐÒ»´Î²¨Ðα仯
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;
}
//Ö÷»ú·¢ËÍÊý¾Ý£¬Ð´Ó¦´ð
void iic_send_byte(unsigned char byte)
{
unsigned char i;
for(i = 0; i < 8; i++)
{
SDA = byte & 0x80; //·ÇÁãÖµ£¬SDA = 1£»ÁãÖµ£¬SDA = 0£»
SCL = 1; //·¢ËÍÖµ
delay_us(1);
SCL = 0; //ÈÃÖµÄ
单片机==iic_掉电保存(25)
最新推荐文章于 2023-01-07 21:48:39 发布