本帖最后由 51黑mcu 于 2016-6-18 01:44 編輯




話說他日正在琢磨這個I2c,現在基本功能了解一點了,于是有了實戰的想法。正在為元件發愁,恰好有個做廢品回收的人不期而來。問我有沒有廢品要賣?我答曰:今天先讓我看看你那里有沒有廢品賣我。他應之。于是乎動身動手。忽然眼前出現幾只國家電網退役的家用數字電度表。心中暗喜心想那里面液晶屏,單片機,通信接口正是我要的。我問他這幾只廢電表怎么賣?他也知道里面沒有什么有色金屬不根本不值錢。收荒者說他收成3元賣我4元。我回答就3元退我以后我們還有合作(哈哈夠摳門吧)。收荒者應之。。。。。。到手后立馬解體。看見幾個芯片,有計度的等等其中有幾個不清楚是什么,于是去叩問度娘,這個度娘也是吝嗇鬼說:看看可以,下載要收費。我選擇看看,于是用手機對有用的拍照保存。還是禮節性給度娘拜拜。心里說我比你還摳門哼哼。接下來看了幾天pdf文檔。基本明白后馬上飛線單片機,編程序調試哈哈液晶屏出現了久違的:1,2,3.。。。。
/////////////////////******** 純屬愛好,程序問題還很多*****////////////
#include<stc12c56.h>
unsigned int a;//8′ÎòÆÎ»
void ys();//Ñóê±
void led(); //ledéáò»ÏÂ
void zx();//×üÏß
void dz();//ѡƬ
void fs();//·½ê½
void sl();//éáàÖ
void zz();//êy¾YÖ¸Õë
void shuju();//êy¾Y
void ack();//ó|′e
void qd();//Æô¶ˉI2c
void tz();//í£Ö1I2c
void tz()//í£Ö1I2c
{ led();
P25=0;
P24=1;
if(P24==0)
P20=0;
}
void qd()//Æô¶ˉI2c
{ P24=1;
P25=1;
P24=0;
}
void ack()//ó|′e
{
P25=0;
P24=1;
P25=1;
}
void zx()//×üÏß
{ unsigned int b=0x7c;
P25=0;
for(a=0;a<=7;)
{P25=0;
if((b<<a)&0x80)
P24=1;
else
P24=0;
a=a+1;
P25=0;
ys();
P25=1;
}
}
void fs()//·½ê½
{ unsigned int c=0xcc;
P25=0;
for(a=0;a<=7;)
{P25=0;
if((c<<a)&0x80)
P24=1;
else
P24=0;
a=a+1;
P25=0;
ys();
P25=1;
}
}
void sl()//éáàÖ
{ unsigned int d=0xf0;
P25=0;
for(a=0;a<=7;)
{P25=0;
if((d<<a)&0x80)
P24=1;
else
P24=0;
a=a+1;
P25=0;
P25=1;
}
}
void dz()//ѡƬ
{unsigned int e=0xe0;//ѡƬ
P25=0;
for(a=0;a<=7;)
{P25=0;
if((e<<a)&0x80)
P24=1;
else
P24=0;
a=a+1;
P25=0;
P25=1;
}
}
void zz()//êy¾YÖ¸Õë
{unsigned int f=0x00;
P25=0;
for(a=0;a<=7;)
{P25=0;
if((f<<a)&0x80)
P24=1;
else
P24=0;
a=a+1;
P25=0;
ys();
P25=1;
}
}
void shuju()//êy¾Y
{unsigned int g=0xff;
P25=0;
for(a=0;a<=7;)
{P25=0;
if((g<<a)&0x80)
P24=1;
else
P24=0;
a=a+1;
P25=0;
ys();
P25=1;
}
}
void led()//ledéáò»ÏÂ
{
P20=0;
ys();
P20=1;
ys();
}
void ys()//Ñóê±
{unsigned int n,m;
for(n=1;n<=1000;n++)
{
for(m=1;m<=10;m++);
}
}
//*********************//
void main()
{
qd();//Æô¶ˉ
zx();//×üÏß
ack();
dz();//ѡƬ
ack();
fs();//·½ê½
ack();
sl();//éáàÖ ack();
zz();//êy¾YÖ¸Õë
ack();
shuju();//êy¾Y
tz();//í£Ö1
while(1);
}
|