這是程序代碼 求幫忙 指出錯誤!
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
void delay()
{ ; ; }
bit write=0;
sbit sda=P2^0;
sbit scl=P2^1;
void init()
{
scl=1;
sda=1;
}
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=0;
scl=1;
delay();
while((sda==1)&&(i<255))
i++;
scl=0;
delay();
}
void delay1(uint xsm)
{
uint i,j;
for(i=xsm;i>0;i--)
for(j=110;j>0;j--);
}
void write_byte(uchar date)
{
uchar i,temp;
temp=date;
for(i=0;i<8;i++)
{
temp=temp<<1;
sda=CY;
scl=1;
delay();
scl=0;
delay();
}
scl=0;
delay();
sda=1;
delay();
}
uchar read_byte()
{
uchar i,k;
for(i=0;i<8;i++)
{
k=(k<<1)|sda;
delay();
scl=1;
delay();
scl=0;
delay();
}
delay();
return k;
}
void main()
{ uchar a;
init();
start();
write_byte(0xa0);
respons();
write_byte(0xaa);
respons();
write_byte(0xaa);
respons();
stop();
delay1(100);
start();
write_byte(0xa0);
respons();
write_byte(0xaa);
respons();
start();
write_byte(0xa1);
respons();
write_byte(0xaa);
a=read_byte();
a=P1;
stop();
while(1);
}
另外我想提出一些問題 希望有貴人能幫助我
1 我學的是郭天祥的書 快一個月了 我每天都花大量時間不比作者花的時間少 但是快一個月了還是只會編一些基礎程序 ,高深的有點不行,我是一名專科生 ,難道這隱約能看出一個人的聰明程度嗎 當我堅持不住編了一天的程序時得到的只是這一部分知識點的原因弄明白了,當我堅持不下去的時候我都會想起在工廠里的父親,然后給我力量。
|