新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 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()
{

本文引用地址:http://butianyuan.cn/article/201611/321406.htm

}
//=========================================================================
//===========================I2C結束信號函數===============================
void stop()
{

}
//=========================================================================
//===========================I2C從機等待應答信號函數=======================
void waitack()
{

}
//=========================================================================
//===========================I2C主機應答信號函數===========================
void mack()
{

}
//=========================================================================
//===========================I2C寫一個字節(jié)函數=============================
void write_byte(unsigned char a)
{

}
//=========================================================================
//===========================I2C讀一個字節(jié)函數=============================
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讀函數=================================
//連續(xù)讀區(qū)以00起始地址的7個單元的數據
void PCF8583_read()
{
start();
write_byte(0xA0);
waitack();
write_byte(0x00);
waitack();
stop();
start();
write_byte(0xA1);
waitack();
state = read_byte(); // 讀狀態(tài)寄存器的值
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 下一頁

評論


技術專區(qū)

關閉