新闻中心

EEPW首页>嵌入式系统>设计应用> PCF8583+LM1602的protues仿真实例(C语言)

PCF8583+LM1602的protues仿真实例(C语言)

作者: 时间:2016-11-25 来源:网络 收藏
程序代码:

#include
#include
#include
#define lcdwritecmd XBYTE[0xFC00]
#define ledwritedat XBYTE[0xFE00]
sbit SCL=P1^0 ;
sbit SDA=P1^1 ;
char tab[2];
unsigned char year,mon,day,hour,min,sec,state,hudsec;
//============================延时函数====================================
void delay(unsigned char n)
{
unsigned char i,j;
for(i=0;i for(j=0;j<5;j++);
}
void delayshort()
{
_nop_();
_nop_();
_nop_();
_nop_();
}
//=========================================================================
//============================1602写指令函数===============================
void writecmd(unsigned char a)
{
delay(100);
lcdwritecmd=a;
}
//=========================================================================
//============================1602写数据函数===============================
void writedata(char lcddata)
{
delay(10);
ledwritedat=lcddata;
}
//=========================================================================
//===========================1602显示字符串据函数==========================
void displaystring(unsigned char add,unsigned char n,char tab[])
{
unsigned char i;
for(i=0;i {
writecmd(add+i);
writedata(tab[i]);
delay(100);
}
}
//=========================================================================
//===========================I2C开始信号函数===============================
void start()
{

本文引用地址: //m.amcfsurvey.com/article/201611/321406.htm

}
//=========================================================================
//===========================I2C结束信号函数===============================
void stop()
{

}
//=========================================================================
//===========================I2C从机等待应答信号函数=======================
void waitack()
{

}
//=========================================================================
//===========================I2C主机应答信号函数===========================
void mack()
{

}
//=========================================================================
//===========================I2C写一个字节函数=============================
void write_byte(unsigned char a)
{

}
//=========================================================================
//===========================I2C读一个字节函数=============================
unsigned char read_byte()
{

}
//=========================================================================
//===========================PCF8583写函数=================================
//参数adr:寄存器地址
//参数dat:写入得数据
void PCF8583_write(unsigned char adr,unsigned char dat)
{
start();
write_byte(0xa0);
waitack();
write_byte(adr);
waitack();
write_byte(dat);
waitack();
stop();
}
//=========================================================================
//===========================PCF8583读函数=================================
//连续读区以00起始地址的7个单元的数据
void PCF8583_read()
{
start();
write_byte(0xA0);
waitack();
write_byte(0x00);
waitack();
stop();
start();
write_byte(0xA1);
waitack();
state = read_byte();// 读状态寄存器的值
mack();
hudsec = read_byte();// 读百分之一秒数值寄存器的值
mack();
sec = read_byte();// 读秒数值寄存器的值
mack();
min = read_byte();// 读分数值寄存器的值
mack();
hour = read_byte();// 读时数值寄存器的值
mack();
day = read_byte();// 读天数值寄存器的值
mack();
mon = read_byte();// 读时月值寄存器的值
mack();
stop();

}


上一页 1 2 下一页

评论


技术专区

关闭