找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3429|回復(fù): 0
收起左側(cè)

普中開(kāi)發(fā)儀上寫(xiě)的程序,做一個(gè)秒表,并將數(shù)據(jù)輸入at24c02中,進(jìn)行掉電保護(hù),失敗了。

[復(fù)制鏈接]
ID:95423 發(fā)表于 2015-11-11 17:25 | 顯示全部樓層 |閱讀模式
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code mingren[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar code chutian[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar a,b,c,i,num,rce,num1;
int d,f;
sbit sda=P2^0;
sbit scl=P2^1;
void Delay10us();
void action();
void stop();
uchar write(uchar date);
uchar read();
void write_add(uchar address,uchar date);
uchar read_add(uchar address);
void duli(char,char);
void main()
{
TMOD=0x01;
TH0=0x3c;
TL0=0xb0;
EA=1;
ET0=1;
TR0=1;
if(num1>100)
  num1=0;
  while(1)
{duli(b,c);
  write_add(2,num1);
  read_add(2);}
}
void time() interrupt 1
    {TH0=0x3c;
     TL0=0xb0;
  a++;
  if(a==20)
  {a=0;
   num++;
   if(num==100)
   num=0;
   b=num/10;
   c=num%10;}}
uchar write(uchar date)
{ for(i=0;i<8;i++)
{  sda=date>>7;  
    date=date<<1;
  Delay10us();
scl=1;
Delay10us();
scl=0;
Delay10us();}
   sda=1;
   Delay10us();
   scl=1;     //寫(xiě)一個(gè)字節(jié)
   while(sda)
   {    i++;
     if(i>200)
    {scl=0;
     Delay10us();
     return 0;}}
  scl=0;
  Delay10us();
  return 1;}
uchar read()
{uchar j,k;
sda=1;
Delay10us();
for(j=0;j<8;j++)
{ scl=1;
  Delay10us();
  k<<=1;
    k|=sda;
  Delay10us();
  scl=0;
  Delay10us();

} return k;}
void write_add(uchar address,uchar date)
{action();
write(0xa0);
write(address);
write(date);
stop();}
uchar read_add(uchar address)
{action();
write(0xa0);
write(address);
action();
write(0xa1);
rce=read();
stop();
return rce;}
void action()
   {sda=1;
Delay10us();
    scl=1;
Delay10us();
sda=0;
Delay10us();
scl=0;
Delay10us();
}
void stop()
{   sda=0;
Delay10us();
scl=1;
Delay10us();
sda = 1;
Delay10us();}   
void Delay10us()
{
for(d=1;d>0;d--)
{                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
  for(f=2;f>0;f--);
}}
      
void duli(char b,char c)
{ P0=mingren[0];
  P3=chutian[c];
  P3=0x00;
  P0=mingren[1];
  P3=chutian[b];}

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表