日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開(kāi)發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開(kāi)發(fā)
培訓(xùn)信息
贊助商
部分網(wǎng)上實(shí)驗(yàn)板例程(C51)-僅做參考
部分網(wǎng)上實(shí)驗(yàn)板例程(C51)-僅做參考
 更新時(shí)間:2008-7-26 19:59:04  點(diǎn)擊數(shù):2
【字體: 字體顏色
部分網(wǎng)上實(shí)驗(yàn)板例程(C51)-僅做參考

我要EDA網(wǎng)    發(fā)布日期:2005-11-21  瀏覽次數(shù):897

LED.C
#include
#include
#include
#include

#define UN  unsigned char
UN read_1byte();
void  write_1byte(unsigned char x);
void WriteToChip(UN a,b);
void read(UN h,l,d);
void JiaMi51();
void JiaMi53();
void ck(UN x);
void csf();
UN  d10[4];
void del05s();

UN btl_bz;
UN icxh;


unsigned int AllByte;//需讀出的字節(jié)數(shù)不16位


sbit    lsledcs =P3^7;

 

void delay();
UN zh_adh8252r(UN x);
UN zh_adh8252w(UN x);
sfr16 DPTR=0x82;

sbit    ACC0=ACC^0;
sbit    ACC1=ACC^1;
sbit    ACC2=ACC^2;
sbit    ACC3=ACC^3;
sbit    ACC4=ACC^4;
sbit    ACC5=ACC^5;
sbit    ACC6=ACC^6;
sbit    ACC7=ACC^7;

unsigned char bdata bm;
sbit  bm0=bm^0;
sbit  bm1=bm^1;
sbit  bm2=bm^2;
sbit  bm3=bm^3;
sbit  bm4=bm^4;
sbit  bm5=bm^5;
sbit  bm6=bm^6;
sbit  bm7=bm^7;
UN data rmem[6]={0xff,0xff,0xff,0xff,0xff,0xff};
UN code ledcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,//0-9
                   0x88,0x83,0xa7,0xa1,0x86,0x8e};
void main()

{   csf();
  while(1)
       {
          
           
         P0=0xff;
         lsledcs=1;
        
         P0=ledcode[0];
         P1=0xfe;
         del05s();
         P0=ledcode[1];
         P1=0xfd;
         del05s();
         P0=ledcode[2];
         P1=0xfb;
         del05s();
         P0=ledcode[3];
         P1=0xf7;
         del05s();
         ///////////////////
         P0=ledcode[4];
         P1=0xfe;
         del05s();
         P0=ledcode[5];
         P1=0xfd;
         del05s();
         P0=ledcode[6];
         P1=0xfb;
         del05s();
         P0=ledcode[7];
         P1=0xf7;
         del05s();
         ///////////////////
         P0=ledcode[8];
         P1=0xfe;
         del05s();
         P0=ledcode[9];
         P1=0xfd;
         del05s();
         P0=ledcode[10];
         P1=0xfb;
         del05s();
         P0=ledcode[11];
         P1=0xf7;
         del05s();
         //////////////////
         P0=ledcode[12];
         P1=0xfe;
         del05s();
         P0=ledcode[13];
         P1=0xfd;
         del05s();
         P0=ledcode[14];
         P1=0xfb;
         del05s();
         P0=ledcode[15];
         P1=0xf7;
         del05s();
        
         P0=0x00;
         P1=0xff;lsledcs=0;
         del05s();
        }

}

void csf()
{
         
         TMOD=0x20;TH1=0xfd;TL1=0xfd;SCON=0x50;PCON|=0x80;TR1=1;

         EA=1;
         delay();
         ES=0;
    SBUF=0xf0;while(TI==0){;}TI=0;
    SBUF=0x01;while(TI==0){;}TI=0;
    SBUF=0x02;while(TI==0){;}TI=0;
    SBUF=0x03;while(TI==0){;}TI=0;ES=1;
 }


/*################################串口*/
  void surt() interrupt 4
   {UN surti; unsigned int cc1;
        surti=0;
        RI=0;
       
        d10[surti]=SBUF;
       do
        {cc1=0xffff;
         surti++;
         while(RI==0){cc1--;if(cc1==0){goto surtint;}}
         RI=0;d10[surti]=SBUF;}
       while(surti!=3);

 

  surtint:;ES=1;

}
 

void delay()
{unsigned int kk=0x3ff;
    do{_nop_();kk--;}
    while(kk!=0);
}
void del05s()
{unsigned int kk=0xefff;
    do{_nop_();kk--;}
    while(kk!=0);
}

24CXX.C
#include
#include
#include
#include

#define UN  unsigned char
 
void csf();
UN  d10[4];
void del05s();
 void delay();
void  ask();
void stop();
void start();
UN rdby();
void waddr();
void wrby(UN x);
UN  raddr();
UN read(UN address);
void write(UN address,UN dat);
void d5ms();
void w8addr(UN x);
 
sbit    ESDA=P2^7;
sbit ECLK=P3^6;
 sbit    KEY=P2^0;
 
sbit    lsledcs =P3^7;
 
sfr16 DPTR=0x82;
 
sbit    ACC0=ACC^0;
sbit    ACC1=ACC^1;
sbit    ACC2=ACC^2;
sbit    ACC3=ACC^3;
sbit    ACC4=ACC^4;
sbit    ACC5=ACC^5;
sbit    ACC6=ACC^6;
sbit    ACC7=ACC^7;


UN code ledcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,//0-9
                   0x88,0x83,0xa7,0xa1,0x86,0x8e};//數(shù)碼字型表
void main()

{   unsigned int i,j;

 csf();
  while(1)
       {


         P0=0xff;
         lsledcs=1;
      j=0;
      while(j!=30)
      {
         i=0;
         do{
         P0=ledcode[0];
         P1=0xfe;
         delay();
         P0=ledcode[1];
         P1=0xfd;
         delay();
         P0=ledcode[2];
         P1=0xfb;
         delay();
         P0=ledcode[3];
         P1=0xf7;
         delay();
          i++;}
          while(i!=10);
        j++;
       }

       P1=0xff;
       del05s();
       
        }

}

void csf()
{

         TMOD=0x20;TH1=0xfd;TL1=0xfd;SCON=0x50;PCON|=0x80;TR1=1;

         EA=1;
         delay();
         ES=0;
    SBUF=0xf0;while(TI==0){;}TI=0;
    SBUF=0x01;while(TI==0){;}TI=0;
    SBUF=0x02;while(TI==0){;}TI=0;
    SBUF=0x03;while(TI==0){;}TI=0;ES=1;
 }


/*################################串口*/
  void surt() interrupt 4
   {UN surti; unsigned char cc1;
        RI=0;ES=0;
        surti=0;
       
        P0=~P0;
        d10[surti]=SBUF;
       do
        {cc1=0xff;
         surti++;
         while(RI==0){cc1--;if(cc1==0){goto out;}}
         RI=0;d10[surti]=SBUF;}
       while(1);
   out:   
  if(d10[0]==0x55&&surti>2){write(d10[1],d10[2]);}
  else if(d10[0]==0xaa&&surti>1){
                     SBUF=read(d10[1]);
                     while(TI==0){;}TI=0;
                      }

  ES=1;

}
 
void delay()
{unsigned int kk=0xff;
    do{_nop_();kk--;}
    while(kk!=0);
   // ES=0;
   // KEY=1;
   // if(KEY==0){SBUF=0x99;while(TI==0){;}TI=0;}
   // ES=1;
}
void del05s()
{unsigned int kk=0xefff;
    do{_nop_();kk--;}
    while(kk!=0);
}
 
void  ask()
    {
     unsigned int i=0xffff;
     ESDA=1;_nop_();ECLK=1;_nop_();
     do
     {i--;
     if(ESDA!=1)
        {ECLK=0;i=0;}
      }
      while(i!=0);
       }
/*###################################*/
void stop()
 {
    ECLK=0; _nop_();
    ESDA=0; _nop_();
    ECLK=1; _nop_();
    ESDA=1;_nop_();
    ECLK=0;_nop_();
    }
/*  */
/*###################################*/
/*24c start  */
void start()
 {
  ESDA=1;_nop_();
  ECLK=1;_nop_();
  ESDA=0;_nop_();
  ECLK=0;_nop_();
  }
/*###################################*/
/*24c rdby  */
UN rdby()
 {      ESDA=1;
 ECLK=1;_nop_();ACC7=ESDA;ECLK=0;_nop_();
 ECLK=1;_nop_();ACC6=ESDA;ECLK=0;_nop_();
 ECLK=1;_nop_();ACC5=ESDA;ECLK=0;_nop_();
 ECLK=1;_nop_();ACC4=ESDA;ECLK=0;_nop_();
 ECLK=1;_nop_();ACC3=ESDA;ECLK=0;_nop_();
 ECLK=1;_nop_();ACC2=ESDA;ECLK=0;_nop_();
 ECLK=1;_nop_();ACC1=ESDA;ECLK=0;_nop_();
 ECLK=1;_nop_();ACC0=ESDA;ECLK=0;_nop_();
  return(ACC);
}
/*###################################*/
/*24c waddr  */
 void waddr()
 {
  start();
  wrby(0xa0);
  ask();}
/*###################################*/
/*24c raddr  */
 UN  raddr()
 {
  start();
  wrby(0xa1);
  ask();
  ACC=rdby();
  stop();
  return(ACC);
}
/*###################################*/
void wrby(UN x)

{       ACC=x;
        ESDA=ACC7;ECLK=1;_nop_();ECLK=0;_nop_();
        ESDA=ACC6;ECLK=1;_nop_();ECLK=0;_nop_();
        ESDA=ACC5;ECLK=1;_nop_();ECLK=0;_nop_();
        ESDA=ACC4;ECLK=1;_nop_();ECLK=0;_nop_();
        ESDA=ACC3;ECLK=1;_nop_();ECLK=0;_nop_();
        ESDA=ACC2;ECLK=1;_nop_();ECLK=0;_nop_();
        ESDA=ACC1;ECLK=1;_nop_();ECLK=0;_nop_();
        ESDA=ACC0;ECLK=1;_nop_();ECLK=0;_nop_();
 ESDA=1;_nop_();ECLK=1;
 }
/*####################################*/
//-----------------------------------------------------
//從指定的地址中讀出一個(gè)字節(jié)數(shù)據(jù)涵數(shù)
//-----------------------------------------------------
UN read(UN address)

  {     waddr();
        w8addr(address);
        //ACC=raddr();
  return(raddr());
  }
 
//-----------------------------------------------------
//向指定的地址中寫(xiě)入一個(gè)字節(jié)數(shù)據(jù)涵數(shù)
//-----------------------------------------------------
void write(UN address,UN dat)
   {    //EWP=0;
    waddr();
   w8addr(address);
    wrby(dat);
    ask();
    stop();
    d5ms();
    //EWP=1;
   }
/* 延時(shí)*/
void d5ms()
 { UN a, b;
   for (a=0;a<=15;a++)
   {
     for (b=0;b<0x7f;b++)
         {;}
   }
 }
 
//################################
void w8addr(UN  x)
      {
            wrby(x );
            ask();
            
        }

93C46.C
/*-----------------------------------------------------
SPI93cXX系列時(shí)序函數(shù)調(diào)用(PDIP普通封裝)八位
//-----------------------------------------------------*/
#include
#include
#include
#include

#define UN  unsigned char
 
 
void high46(void);
void low46(void);
void wd46(unsigned char dd);
unsigned char rd46(void);
void ewen46(void);
unsigned char read93c46_word(unsigned char address);
write93c46_word(unsigned char address,unsigned char dat);
void earal(void);
////#define di_93 dip3
//#define sk_93 dip2
//#define cs_93 dip1
//#define do_93 dip4
//#define gnd_93 dip5
//#define org_93 dip6
sbit di_93=P2^5;
sbit do_93=P2^4;
sbit sk_93=P2^6;
sbit cs_93=P3^5;
 

sbit    ACC0=ACC^0;
sbit    ACC1=ACC^1;
sbit    ACC2=ACC^2;
sbit    ACC3=ACC^3;
sbit    ACC4=ACC^4;
sbit    ACC5=ACC^5;
sbit    ACC6=ACC^6;
sbit    ACC7=ACC^7;
 
void main(void)

{   
         cs_93=0;sk_93=0;
         ewen46();
  while(1)
       {

         ;;;
      

        }

}
 

//發(fā)送高電平1涵數(shù)
//-----------------------------------------------------
void high46(void)
{
di_93=1;sk_93=1; _nop_();sk_93=0;_nop_();
}
//-----------------------------------------------------
//發(fā)送低電平0涵數(shù)
//-----------------------------------------------------
void low46(void)
{
di_93=0;sk_93=1;_nop_();sk_93=0;_nop_();
}
//-----------------------------------------------------
//寫(xiě)操作允許涵數(shù)
//-----------------------------------------------------
void ewen46(void)
{
 cs_93=1;_nop_();
 high46();low46();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=1;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=1;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
cs_93=0;
}

//-----------------------------------------------------
//從指定的地址中讀出一個(gè)字節(jié)數(shù)據(jù)(八位)涵數(shù)
//-----------------------------------------------------
unsigned char read93c46_word(unsigned char address)
{
 
 cs_93=1;_nop_();
 ACC=address;
 high46();high46();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC6;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC5;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC4;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC3;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC2;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC1;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC0;sk_93=1; _nop_();sk_93=0;_nop_();
 
  
 sk_93=1; _nop_(); ACC7=do_93;sk_93=0;_nop_();
 sk_93=1; _nop_(); ACC6=do_93;sk_93=0;_nop_();
 sk_93=1; _nop_(); ACC5=do_93;sk_93=0;_nop_();
 sk_93=1; _nop_(); ACC4=do_93;sk_93=0;_nop_();
 sk_93=1; _nop_(); ACC3=do_93;sk_93=0;_nop_();
 sk_93=1; _nop_(); ACC2=do_93;sk_93=0;_nop_();
 sk_93=1; _nop_(); ACC1=do_93;sk_93=0;_nop_();
 sk_93=1; _nop_(); ACC0=do_93;sk_93=0;_nop_();
 cs_93=0;  
return(ACC);
}
//-----------------------------------------------------
//向指定的地址中寫(xiě)入一個(gè)字節(jié)數(shù)據(jù)(八位)涵數(shù)
//-----------------------------------------------------
write93c46_word(unsigned char address,unsigned char dat)
{cs_93=1;_nop_();
 ACC=address;
 high46();low46();
 di_93=1;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC6;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC5;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC4;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC3;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC2;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC1;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC0;sk_93=1; _nop_();sk_93=0;_nop_();
 ACC=dat;
 di_93=ACC7;sk_93=1;_nop_();sk_93=0;_nop_();
 di_93=ACC6;sk_93=1;_nop_();sk_93=0;_nop_(); 
 di_93=ACC5;sk_93=1;_nop_();sk_93=0;_nop_(); 
 di_93=ACC4;sk_93=1;_nop_();sk_93=0;_nop_(); 
 di_93=ACC3;sk_93=1;_nop_();sk_93=0;_nop_(); 
 di_93=ACC2;sk_93=1;_nop_();sk_93=0;_nop_(); 
 di_93=ACC1;sk_93=1;_nop_();sk_93=0;_nop_(); 
 di_93=ACC0;sk_93=1;_nop_();sk_93=0;_nop_(); 
 while(do_93==0){;}
 cs_93=0;  
 
}
//-----------------------------------------------------
//擦除所有單元涵數(shù)
//-----------------------------------------------------
void earal(void){   
cs_93=1;_nop_(); 
 high46();low46();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=1;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=1;sk_93=1; _nop_();sk_93=0;_nop_();  
 
 while(do_93==0){;}
 cs_93=0;    
 
 }

93CXX.C
/*-----------------------------------------------------
SPI93cXX系列時(shí)序函數(shù)調(diào)用(PDIP普通封裝)八位
//-----------------------------------------------------*/
#include
#include
#include
#include

#define UN  unsigned char

void csf();
UN  d10[4];
 
void delay();
 
void high46(void);
void low46(void);
void wd46(unsigned char dd);
unsigned char rd46(void);
void ewen46(void);
unsigned char read93c46_word(unsigned char address);
write93c46_word(unsigned char address,unsigned char dat);
void earal(void);
////#define di_93 dip3
//#define sk_93 dip2
//#define cs_93 dip1
//#define do_93 dip4
//#define gnd_93 dip5
//#define org_93 dip6
sbit di_93=P2^5;
sbit do_93=P2^4;
sbit sk_93=P2^6;
sbit cs_93=P3^5;
 

sbit    lsledcs =P3^7;
 
 
sfr16 DPTR=0x82;

sbit    ACC0=ACC^0;
sbit    ACC1=ACC^1;
sbit    ACC2=ACC^2;
sbit    ACC3=ACC^3;
sbit    ACC4=ACC^4;
sbit    ACC5=ACC^5;
sbit    ACC6=ACC^6;
sbit    ACC7=ACC^7;

UN code ledcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,//0-9
                   0x88,0x83,0xa7,0xa1,0x86,0x8e};//數(shù)碼字型表
void main()

{   unsigned int i,j;

 csf();
  while(1)
       {


         P0=0xff;
         lsledcs=1;
      j=0;
      while(j!=30)
      {
         i=0;
         do{
         P0=ledcode[0];
         P1=0xfe;
         delay();
         P0=ledcode[1];
         P1=0xfd;
         delay();
         P0=ledcode[2];
         P1=0xfb;
         delay();
         P0=ledcode[3];
         P1=0xf7;
         delay();
          i++;}
          while(i!=10);
        j++;
       }

       P1=0xff;
       delay();delay();delay();delay();delay();delay();delay();delay();

        }

}

void csf()
{        P0=ledcode[0];
         P1=0xfe;
         cs_93=0;sk_93=0;
         ewen46();
         TMOD=0x20;TH1=0xfd;TL1=0xfd;SCON=0x50;PCON|=0x80;TR1=1;

         EA=1;
         delay();
         ES=0;
  
 }


/*################################串口*/
  void surt() interrupt 4
   {UN surti; unsigned int cc1;
        surti=0;
        RI=0;ES=0;
        P0=~P0;
        d10[surti]=SBUF;
       do
        {cc1=0xfff;
         surti++;
         while(RI==0){cc1--;if(cc1==0){;goto out;}}
         RI=0;d10[surti]=SBUF;}
       while(1);
  out:    
  if(d10[0]==0x55&&surti>2){write93c46_word(d10[1],d10[2]);}
  else if(d10[0]==0xaa&&surti>1){SBUF=read93c46_word(d10[1]);while(TI==0){;}TI=0;}
 
  else if(d10[0]==0xff){earal();}
  ES=1;

}
 

void delay()
 { UN a, b;
   for (a=0;a<=15;a++)
   {
     for (b=0;b<0x7f;b++)
         {;}
   }
 }
 

//發(fā)送高電平1涵數(shù)
//-----------------------------------------------------
void high46(void)
{
di_93=1;sk_93=1; _nop_();sk_93=0;_nop_();
}
//-----------------------------------------------------
//發(fā)送低電平0涵數(shù)
//-----------------------------------------------------
void low46(void)
{
di_93=0;sk_93=1;_nop_();sk_93=0;_nop_();
}
//-----------------------------------------------------
//寫(xiě)操作允許涵數(shù)
//-----------------------------------------------------
void ewen46(void)
{
 cs_93=1;_nop_();
 high46();low46();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=1;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=1;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
cs_93=0;
}

//-----------------------------------------------------
//從指定的地址中讀出一個(gè)字節(jié)數(shù)據(jù)(八位)涵數(shù)
//-----------------------------------------------------
unsigned char read93c46_word(unsigned char address)
{
 
 cs_93=1;_nop_();
 ACC=address;
 high46();high46();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC6;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC5;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC4;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC3;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC2;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC1;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC0;sk_93=1; _nop_();sk_93=0;_nop_();
 
  
 sk_93=1; _nop_(); ACC7=do_93;sk_93=0;_nop_();
 sk_93=1; _nop_(); ACC6=do_93;sk_93=0;_nop_();
 sk_93=1; _nop_(); ACC5=do_93;sk_93=0;_nop_();
 sk_93=1; _nop_(); ACC4=do_93;sk_93=0;_nop_();
 sk_93=1; _nop_(); ACC3=do_93;sk_93=0;_nop_();
 sk_93=1; _nop_(); ACC2=do_93;sk_93=0;_nop_();
 sk_93=1; _nop_(); ACC1=do_93;sk_93=0;_nop_();
 sk_93=1; _nop_(); ACC0=do_93;sk_93=0;_nop_();
 cs_93=0;  
return(ACC);
}
//-----------------------------------------------------
//向指定的地址中寫(xiě)入一個(gè)字節(jié)數(shù)據(jù)(八位)涵數(shù)
//-----------------------------------------------------
write93c46_word(unsigned char address,unsigned char dat)
{cs_93=1;_nop_();
 ACC=address;
 high46();low46();
 di_93=1;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC6;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC5;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC4;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC3;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC2;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC1;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC0;sk_93=1; _nop_();sk_93=0;_nop_();
 ACC=dat;
 di_93=ACC7;sk_93=1;_nop_();sk_93=0;_nop_();
 di_93=ACC6;sk_93=1;_nop_();sk_93=0;_nop_(); 
 di_93=ACC5;sk_93=1;_nop_();sk_93=0;_nop_(); 
 di_93=ACC4;sk_93=1;_nop_();sk_93=0;_nop_(); 
 di_93=ACC3;sk_93=1;_nop_();sk_93=0;_nop_(); 
 di_93=ACC2;sk_93=1;_nop_();sk_93=0;_nop_(); 
 di_93=ACC1;sk_93=1;_nop_();sk_93=0;_nop_(); 
 di_93=ACC0;sk_93=1;_nop_();sk_93=0;_nop_(); 
 while(do_93==0){;}
 cs_93=0;  
 
}
//-----------------------------------------------------
//擦除所有單元涵數(shù)
//-----------------------------------------------------
void earal(void){   
cs_93=1;_nop_(); 
 high46();low46();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=1;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=1;sk_93=1; _nop_();sk_93=0;_nop_();  
 
 while(do_93==0){;}
 cs_93=0;    
 
 }

8LEDLS.C
#include
#include
#include
#include

#define UN  unsigned char
UN read_1byte();
void  write_1byte(unsigned char x);
void WriteToChip(UN a,b);
void read(UN h,l,d);
void JiaMi51();
void JiaMi53();
void ck(UN x);
void csf();
UN  d10[4];
void del05s();

UN btl_bz;
UN icxh;


unsigned int AllByte;//需讀出的字節(jié)數(shù)不16位


sbit    lsledcs =P3^7;

void delay();

sfr16 DPTR=0x82;

sbit    ACC0=ACC^0;
sbit    ACC1=ACC^1;
sbit    ACC2=ACC^2;
sbit    ACC3=ACC^3;
sbit    ACC4=ACC^4;
sbit    ACC5=ACC^5;
sbit    ACC6=ACC^6;
sbit    ACC7=ACC^7;

unsigned char bdata bm;
sbit  bm0=bm^0;
sbit  bm1=bm^1;
sbit  bm2=bm^2;
sbit  bm3=bm^3;
sbit  bm4=bm^4;
sbit  bm5=bm^5;
sbit  bm6=bm^6;
sbit  bm7=bm^7;
UN data rmem[6]={0xff,0xff,0xff,0xff,0xff,0xff};
UN code ledcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,//0-9
                   0x88,0x83,0xa7,0xa1,0x86,0x8e};
void main()

{   csf();
  while(1)
       {
          
           
         P0=0xff;
         lsledcs=1;
        
         P0=ledcode[0];
         P1=0xfe;
         del05s();
         P0=ledcode[1];
         P1=0xfd;
         del05s();
         P0=ledcode[2];
         P1=0xfb;
         del05s();
         P0=ledcode[3];
         P1=0xf7;
         del05s();
         ///////////////////
         P0=ledcode[4];
         P1=0xfe;
         del05s();
         P0=ledcode[5];
         P1=0xfd;
         del05s();
         P0=ledcode[6];
         P1=0xfb;
         del05s();
         P0=ledcode[7];
         P1=0xf7;
         del05s();
         ///////////////////
         P0=ledcode[8];
         P1=0xfe;
         del05s();
         P0=ledcode[9];
         P1=0xfd;
         del05s();
         P0=ledcode[10];
         P1=0xfb;
         del05s();
         P0=ledcode[11];
         P1=0xf7;
         del05s();
         //////////////////
         P0=ledcode[12];
         P1=0xfe;
         del05s();
         P0=ledcode[13];
         P1=0xfd;
         del05s();
         P0=ledcode[14];
         P1=0xfb;
         del05s();
         P0=ledcode[15];
         P1=0xf7;
         del05s();
        
         P0=0x00;
         P1=0xff;lsledcs=0;
         del05s();
        }

}

void csf()
{
         
         TMOD=0x20;TH1=0xfd;TL1=0xfd;SCON=0x50;PCON|=0x80;TR1=1;

         EA=1;
         delay();
         ES=0;
    SBUF=0xf0;while(TI==0){;}TI=0;
    SBUF=0x01;while(TI==0){;}TI=0;
    SBUF=0x02;while(TI==0){;}TI=0;
    SBUF=0x03;while(TI==0){;}TI=0;ES=1;
 }


/*################################串口*/
  void surt() interrupt 4
   {UN surti; unsigned int cc1;
        surti=0;
        RI=0;
       
        d10[surti]=SBUF;
       do
        {cc1=0xffff;
         surti++;
         while(RI==0){cc1--;if(cc1==0){goto surtint;}}
         RI=0;d10[surti]=SBUF;}
       while(surti!=3);

 

  surtint:;ES=1;

}
 

void delay()
{unsigned int kk=0x3ff;
    do{_nop_();kk--;}
    while(kk!=0);
}
void del05s()
{unsigned int kk=0xefff;
    do{_nop_();kk--;}
    while(kk!=0);
}

LED-DONGTAI.C
#include
#include
#include
#include

#define UN  unsigned char
UN read_1byte();
void  write_1byte(unsigned char x);
void WriteToChip(UN a,b);
void read(UN h,l,d);
void JiaMi51();
void JiaMi53();
void ck(UN x);
void csf();
UN  d10[4];
void del05s();

UN btl_bz;
UN icxh;


unsigned int AllByte;//需讀出的字節(jié)數(shù)不16位


sbit    lsledcs =P3^7;

 

void delay();
UN zh_adh8252r(UN x);
UN zh_adh8252w(UN x);
sfr16 DPTR=0x82;

sbit    ACC0=ACC^0;
sbit    ACC1=ACC^1;
sbit    ACC2=ACC^2;
sbit    ACC3=ACC^3;
sbit    ACC4=ACC^4;
sbit    ACC5=ACC^5;
sbit    ACC6=ACC^6;
sbit    ACC7=ACC^7;

unsigned char bdata bm;
sbit  bm0=bm^0;
sbit  bm1=bm^1;
sbit  bm2=bm^2;
sbit  bm3=bm^3;
sbit  bm4=bm^4;
sbit  bm5=bm^5;
sbit  bm6=bm^6;
sbit  bm7=bm^7;
UN data rmem[6]={0xff,0xff,0xff,0xff,0xff,0xff};
UN code ledcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,//0-9
                   0x88,0x83,0xa7,0xa1,0x86,0x8e};
void main()

{   unsigned int i,j;

 csf();
  while(1)
       {


         P0=0xff;
         lsledcs=1;
      j=0;
      while(j!=30)
      {
         i=0;
         do{
         P0=ledcode[0];
         P1=0xfe;
         delay();
         P0=ledcode[1];
         P1=0xfd;
         delay();
         P0=ledcode[2];
         P1=0xfb;
         delay();
         P0=ledcode[3];
         P1=0xf7;
         delay();
          i++;}
          while(i!=10);
        j++;
       }

       P1=0xff;
       del05s();
         ///////////////////
        
   j=0;
      while(j!=30)
      {
         i=0;
         do{
         P0=ledcode[4];
         P1=0xfe;
         delay();
         P0=ledcode[5];
         P1=0xfd;
         delay();
         P0=ledcode[6];
         P1=0xfb;
         delay();
         P0=ledcode[7];
         P1=0xf7;
         delay();
          i++;}
          while(i!=10);
         j++;
       }

       P1=0xff;
       del05s();
         ///////////////////
       j=0;
      while(j!=30)
      {
          i=0;
         do{
         P0=ledcode[8];
         P1=0xfe;
         delay();
         P0=ledcode[9];
         P1=0xfd;
         delay();
         P0=ledcode[10];
         P1=0xfb;
         delay();
         P0=ledcode[11];
         P1=0xf7;
         delay();
          i++;}
          while(i!=10);
       j++;
       }

      P1=0xff;
       del05s();
         //////////////////
        j=0;
      while(j!=30)
      {
         i=0;
         do{
         P0=ledcode[12];
         P1=0xfe;
         delay();
         P0=ledcode[13];
         P1=0xfd;
         delay();
         P0=ledcode[14];
         P1=0xfb;
         delay();
         P0=ledcode[15];
         P1=0xf7;
         delay();
          i++;}
          while(i!=10);
       j++;
       }

       P1=0xff;
       del05s();
         P0=0x00;
         P1=0xff;lsledcs=0;
         del05s();del05s();
         lsledcs=1;
         del05s();
        }

}

void csf()
{

         TMOD=0x20;TH1=0xfd;TL1=0xfd;SCON=0x50;PCON|=0x80;TR1=1;

         EA=1;
         delay();
         ES=0;
    SBUF=0xf0;while(TI==0){;}TI=0;
    SBUF=0x01;while(TI==0){;}TI=0;
    SBUF=0x02;while(TI==0){;}TI=0;
    SBUF=0x03;while(TI==0){;}TI=0;ES=1;
 }


/*################################串口*/
  void surt() interrupt 4
   {UN surti; unsigned int cc1;
        surti=0;
        RI=0;

        d10[surti]=SBUF;
       do
        {cc1=0xffff;
         surti++;
         while(RI==0){cc1--;if(cc1==0){goto surtint;}}
         RI=0;d10[surti]=SBUF;}
       while(surti!=3);

 

  surtint:;ES=1;

}


void delay()
{unsigned int kk=0xff;
    do{_nop_();kk--;}
    while(kk!=0);
}
void del05s()
{unsigned int kk=0xefff;
    do{_nop_();kk--;}
    while(kk!=0);
}

RS232.C

#include
#include
#include
#include

#define UN  unsigned char
 
void csf();
UN  d10[4];
void del05s();
 
void  ask();
void stop();
void start();
UN rdby();
void waddr();
void wrby(UN x);
UN  raddr();
UN read(UN x);
void write(UN,UN x);
void d5ms();
void w8addr(UN x);
 
sbit    ESDA=P2^7;
sbit ECLK=P3^6;
 sbit    KEY=P2^0;

UN btl_bz;
UN icxh;

unsigned int AllByte;//需讀出的字節(jié)數(shù)不16位


sbit    lsledcs =P3^7;

void delay();

sfr16 DPTR=0x82;

sbit    ACC0=ACC^0;
sbit    ACC1=ACC^1;
sbit    ACC2=ACC^2;
sbit    ACC3=ACC^3;
sbit    ACC4=ACC^4;
sbit    ACC5=ACC^5;
sbit    ACC6=ACC^6;
sbit    ACC7=ACC^7;

unsigned char bdata bm;
sbit  bm0=bm^0;
sbit  bm1=bm^1;
sbit  bm2=bm^2;
sbit  bm3=bm^3;
sbit  bm4=bm^4;
sbit  bm5=bm^5;
sbit  bm6=bm^6;
sbit  bm7=bm^7;
UN data rmem[6]={0xff,0xff,0xff,0xff,0xff,0xff};
UN code ledcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,//0-9,
                   0x88,0x83,0xa7,0xa1,0x86,0x8e};
void main()

{   un, signed int i,j;

 csf();
  while(1)
       {


         P0=0xff;
         lsledcs=1;
      j=0;
      while(j!=30)
      {
         i=0;
         do{
         P0=ledcode[0];
         P1=0xfe;
         delay();
         P0=ledcode[1];
         P1=0xfd;
         delay();
         P0=ledcode[2];
         P1=0xfb;
         delay();
         P0=ledcode[3];
         P1=0xf7;
         delay();
          i++;}
          while(i!=10);
        j++;
       }

       P1=0xff;
       del05s();
       
        }

}

void csf()
{

         TMOD=0x20;TH1=0xfd;TL1=0xfd;SCON=0x50;PCON|=0x80;TR1=1;

         EA=1;
         delay();
         ES=0;
    SBUF=0xf0;while(TI==0){;}TI=0;
    SBUF=0x01;while(TI==0){;}TI=0;
    SBUF=0x02;while(TI==0){;}TI=0;
    SBUF=0x03;while(TI==0){;}TI=0;ES=1;
 }


/*################################串口*/
  void surt() interrupt 4
   {UN surti; unsigned int cc1;
        surti=0;
        RI=0;
        P0=~P0;
        d10[surti]=SBUF;
       do
        {cc1=0xffff;
         surti++;
         while(RI==0){cc1--;if(cc1==0){goto surtint;}}
         RI=0;d10[surti]=SBUF;}
       while(surti!=2);
  if(d10[0]==0x55){write(d10[1],d10[2]);}
  else if(d10[0]==0xaa){
                     SBUF=read(d10[1]);
                     while(TI==0){;}TI=0;
                      }

  surtint:;ES=1;

}


void delay()
{unsigned int kk=0xff;
    do{_nop_();kk--;}
    while(kk!=0);
   // ES=0;
   // KEY=1;
   // if(KEY==0){SBUF=0x99;while(TI==0){;}TI=0;}
   // ES=1;
}
void del05s()
{unsigned int kk=0xefff;
    do{_nop_();kk--;}
    while(kk!=0);
}

 

 

void  ask()
    {
     unsigned int i=0xffff;
     ESDA=1;_nop_();ECLK=1;_nop_();
     do
     {i--;
     if(ESDA!=1)
        {ECLK=0;i=0;}
      }
      while(i!=0);
       }
/*###################################*/
void stop()
 {
    ECLK=0; _nop_();
    ESDA=0; _nop_();
    ECLK=1; _nop_();
    ESDA=1;_nop_();
    ECLK=0;_nop_();
    }
/*  */
/*###################################*/
/*24c256 start  */
void start()
 {
  ESDA=1;_nop_();
  ECLK=1;_nop_();
  ESDA=0;_nop_();
  ECLK=0;_nop_();
  }
/*###################################*/
/*24c256 rdby  */
UN rdby()
 {      ESDA=1;
 ECLK=1;ACC7=ESDA;ECLK=0;
 ECLK=1;ACC6=ESDA;ECLK=0;
 ECLK=1;ACC5=ESDA;ECLK=0;
 ECLK=1;ACC4=ESDA;ECLK=0;
 ECLK=1;ACC3=ESDA;ECLK=0;
 ECLK=1;ACC2=ESDA;ECLK=0;
 ECLK=1;ACC1=ESDA;ECLK=0;
 ECLK=1;ACC0=ESDA;ECLK=0;
  return(ACC);
}
/*###################################*/
/*24c256 waddr  */
 void waddr()
 {
  start();
  wrby(0xa0);
  ask();}
/*###################################*/
/*24c256 raddr  */
 UN  raddr()
 {
  start();
  wrby(0xa1);
  ask();
  ACC=rdby();
  stop();
  return(ACC);
}
/*###################################*/
void wrby(UN x)

{       ACC=x;
        ESDA=ACC7;ECLK=1;ECLK=0;
        ESDA=ACC6;ECLK=1;ECLK=0;
        ESDA=ACC5;ECLK=1;ECLK=0;
        ESDA=ACC4;ECLK=1;ECLK=0;
        ESDA=ACC3;ECLK=1;ECLK=0;
        ESDA=ACC2;ECLK=1;ECLK=0;
        ESDA=ACC1;ECLK=1;ECLK=0;
        ESDA=ACC0;ECLK=1;ECLK=0;
 ESDA=1;ECLK=1;
 }
/*####################################*/
/*24c256 讀出一字節(jié)  */
UN read(UN x)

  {     waddr();
        w8addr(x);
        ACC=raddr();
  return(ACC);
  }
 /*######################################*/
/*24c256 記憶一字節(jié)  */
void write(UN f,UN x)
   {    //EWP=0;
    waddr();
   w8addr(f);
    wrby(x);
    ask();
    stop();
    d5ms();
    //EWP=1;
   }
/* 延時(shí)*/
void d5ms()
 { UN a, b;
   for (a=0;a<=15;a++)
   {
     for (b=0;b<0x7f;b++)
         {;}
   }
 }
/*void d6us()
{  UNC a;
 for (a=0;a<=10;a++)
     {;}
       }
/*################################寫(xiě)入256的16位地址*/
void w8addr(UN  x)
      {
            wrby(x );
            ask();
            
        }

  • 上一篇: 51讀寫(xiě)串行EEPROM芯片at2402程序(C)
  • 下一篇: 時(shí)鐘芯片DS1302和MCS51單片機(jī)的接口程序C51
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1