#include<AT89X52.h>
#include<LCD.H>
#include<intrins.h>
sbit sda=P2^1;
sbit scl=P2^0;
void dealy1(void)
{
uint a=3000;
while (a--);
}
void dealy(void)
{
_nop_(); _nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
}
void start (void)
{
sda=1;
dealy();
scl=1;
dealy();
sda=0;
dealy();
}
void stop(void)
{
sda=0;
dealy();
scl=1;
dealy();
sda=1;
dealy();
}
void ack(void)
{
uchar i;
scl=1;
dealy();
while((sda==1)&&(i<200))i++;
scl=0;
dealy();
}
void noack(void)
{
sda=1;
dealy();
scl=1;
dealy();
scl=0;
dealy();
}
void init(void)
{
sda=1;
scl=1;
}
void iicwr_byte(uchar dat)
{
uchar i;
scl=0;
for(i=0;i<8;i++)
{
if(dat&0x80)
sda=1;
else
sda=0;
dat=dat<<1;
dealy();
scl=1;
dealy();
}
sda=1;
dealy();
}
uchar iicre_byte(void)
{
uchar i,dat;
scl=0;
dealy();
sda=1;
dealy();
for(i=0;i<8;i++)
{
scl=1;
dealy();
dat=dat<<1;
if (sda)
{
dat++;
}
scl=0;
dealy();
}
return dat;
}
void wirte_byte(uchar add,uchar dat)
{
init();
start();
iicwr_byte(0xa0);
ack();
iicwr_byte(add);
ack();
iicwr_byte(dat);
ack();
stop();
}
uchar read_byte(uchar add)
{ uchar dat;
init();
start();
iicwr_byte(0xa0);
ack();
iicwr_byte(add);
ack();
start();
iicwr_byte(0xa1);
ack();
dat=iicre_byte();
noack();
stop();
return dat;
}
void main()
{
uchar p;
LCDinit();
write_com(0x80);
p=read_byte(0x03);
p++;
wirte_byte(0x80,p++);
LCDdisply_uchar(p);
while(1);
}
EEPROM.zip_24c02_LCD1602和EEPROM
版权申诉
199 浏览量
2022-09-22
22:58:19
上传
评论 1
收藏 20KB ZIP 举报
御道御小黑
- 粉丝: 62
- 资源: 1万+
最新资源
- 基于 python 操作大数据的各种组件
- cifar-10-python和cifar-100-python
- 基于 C#实现神经网络算法和遗传算法作为AI的中国象棋程序
- Windows server 2016.2019 .NET Frameword 3.5安装包
- chilkat 9.5.0.98 系列软件 global unlock code
- 基于 python神经网络实现人类颜值评分
- 使用android实现计算器功能
- 305建筑结构水电欧式6套(14.5x20.2)\施工图1-11卫生间大样031026.dwg
- 305建筑结构水电欧式6套(14.5x20.2)\施工图1-09楼梯大样031026.dwg
- 基于PCL、C++编写的格网边缘点检测程序与代码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0