資源簡介
調試通過了的,帶詳細注釋,對學習幫助比較大
代碼片段和文件信息
/************************************************
************順達電子*丫丫設計屋?*****************
硬件結構框架:
????????????1,IIC總線芯AT24C02
????????????2,MCU??STC89C52
顯示效果:
????????????1,在數碼管上計數
????????????2,斷電記憶
相關知識點:
????????????1,類似IIC總線芯片的操作
************************************************/
#include“AT89x52.h“
#define?unint?unsigned?int
#define?uchar?unsigned?char
sbit?sda=P1^6;
sbit?scl=P1^5;
sbit?DUAN=P2^0;?????//74HC573的LE端??U5??LED的段選端
sbit?WEI=P2^1;??????//74HC573的LE端??U4??LED的位選端
uchar?Temp[]={
??????????????0x3f??/*0*/
??????????????0x06??/*1*/
??????????????0x5b??/*2*/
??????????????0x4f??/*3*/
??????????????0x66??/*4*/
??????????????0x6d??/*5*/
??????????????0x7d??/*6*/
??????????????0x07??/*7*/
??????????????0x7f??/*8*/
??????????????0x6f???/*9*/
?????????????};??????//共陰顯示字庫
unint?DATA2;
void?delay(){;;}?????//稍微延時
void?init()?????????//初始化
{
sda=1;
scl=1;
delay();
}
void?start()????????//開始信號
{
sda=1;
delay();
scl=1;
delay();
sda=0;
delay();
}
void?stop()???????//停止信號
{
sda=0;
delay();
scl=1;
delay();
sda=1;
delay();
}
void?respons()?????//應答信號
{
uchar?i;
scl=1;
delay();
while((sda==1)&&(i<255))i++;
scl=0;
delay();
}
void?write_byte(uchar?date)????//寫一個字節
{
uchar?itemp;
temp=date;
for(i=0;i<8;i++)
{
scl=0;
delay();
temp<<=1;
sda=CY;
delay();
scl=1;
delay();
}
scl=0;
delay();
sda=1;
delay();
}
uchar?read_byte(void)?????//讀一個字節
{
unint?ij;
scl=0;
delay();
sda=1;
delay();
for(i=0;i<8;i++)?????/*循環8次讀出一個字節數據*/
{
scl=1;
delay();
j=(j<<1)|sda;
scl=0;
delay();
}
return?j;
}
void?write_add(uchar?addressuchar?date)
{????????????????????????//指定地址寫數據
start();???????????????????????????????/*初始信號*/
write_byte(0xa0);??????????????????????/*寫入芯片地址0XA0*/
respons();?????????????????????????????/*應答信號*/
- 上一篇:華測GPS傳數據英文版
- 下一篇:雙層規劃模型
評論
共有 條評論