亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? test_24c51xxc.c

?? c51讀寫24cxx程序模塊
?? C
?? 第 1 頁 / 共 2 頁
字號:
// TITLE  TEST  24CXX  (CONVERT FROM  24CXX51A.ASM  CPU 89C51)
//對應(yīng)原理圖  K&D2.SCH/AVC.DDB   

//1,CLEAR  CPU  RAM  ADDRESS   STR_ADR TO END_ADR  (30H~7FH)
//2,WRITE  00~FF  TO  CPU   RAM   STR_ADR TO END_ADR  (30H~4FH)
//3,WRITE  TO  EEPROM  24CXX  ADDRESS  E_D_ADDR_R (00H -
//4,READ  EEPROM   TO  CPU   RAM  ADDRESS  C_R_ADR_R  (50H-7FH)
//5,DESPLAY  CPU   RAM  FROM  CPU  ADDRESS  C_R_ADR_R

#include<reg51.h>
#include<stdio.h>
#include<intrins.h>

//#pragma   small


data  char  CPU_S_ADR;   //DATA START  ADDRESS  ON CPU  RAM  FOR  STORE  AFTER READ  BUFFER 
data  char  E_S_ADR;  //EEPROM   DATA  WRITE  ADDRESS    BUFFER
data  char  CHR_LED; 
data  char  CHR_;

//static bdata  char  RD_DATA;
//bdata  char  WR_DATA;
//sbit RD_BIT=RD_DATA^0;
//data  char  E_ D_ADR;  //EEPROM   DATA  READ   ADDRESS   BUFFER
//data  char  CHR_L       ;   //CHARACTER1   BUFFER, BCD  數(shù)碼字符個位  
//data  char  CHR_D       ;  //CHARACTER1   BUFFER,  BCD  數(shù)碼字符十位  
//data  char  CHR_H       ;  //CHARACTER2   BUFFER,  BCD  數(shù)碼字符百位   

#define  DIS_STA  P0   //charactor  status  P0 
#define  DIS_SEL  P1   //charactor  select  P1

//;NUMBER    DEFINE !!!!
#define  COMM_R   0xa1    // 10100001B (=A1)器件物理地址與讀命令 EEPROM  PHYSICS  ADDRESS FOR  COMMAND READ
#define  COMM_W   0xa0    // 10100000B (=A0)器件物理地址與寫命令 EEPROM  PHYSICS  ADDRESS FOR  COMMAND WRITE 
#define  RD_PAGE_T   3    // 讀出頁數(shù)為 3 頁  READ  PAGE   TIMES   IS  3
#define  WR_PAGE_T   3    // 寫入頁數(shù)為 3 頁 WRITE   PAGE   TIMES   IS  3

#define  E_D_E_ADR     0x00     //寫入數(shù)據(jù)時器件存放寫入數(shù)據(jù)的首址 DATA  ADDRESS  OF  EEPROM  FOR  WRITE
#define  E_D_R_ADR     0x00     //讀出數(shù)據(jù)時器件的被讀出數(shù)據(jù)的首址 DATA  ADDRESS  OF  EEPROM  FOR  READ   
#define  C_D_W_ADR     0x50     //寫入數(shù)據(jù)時CPU存放要寫的數(shù)據(jù)的首址  ADDRESS OF DATA ON  CPU  RAM   FOR  WRITE TO EEPROM 
#define  C_D_R_ADR     0x40     //讀出數(shù)據(jù)時CPU用于存放讀出數(shù)據(jù)的RAM首址 READ DATA AND STORE TO  CPU  RAM  START  ADDRESS

//;different   crystal   type    different     delay   time
#define   DELAY_R      0x05     //FOR  12mHz  CRYSTAL  DELAYR3~5uS
#define   DELAY_T      0x1f 
   
//;ifferent   eeproml   type    different    page 
#define  T_PAGE   0x08         //一頁所含子節(jié)數(shù) ST24CXX 系列為8字節(jié) FOR  24C02   PAGE   IS   8

sbit SCL=P3^1;    //P3.1  S  CLOCK  串行數(shù)據(jù)線
sbit SDA=P3^0;   //P3.0   S  DATA   串行時鐘線

sbit WC=P1^5;    //WRITE  CONTROL  選片位

sbit CHR_1_SEL=P1^1;  // SELECT CHANNEL 1  FOR CHARACTOR 1  LED
sbit CHR_2_SEL=P1^0;  // SELECT CHANNEL 2  FOR CHARACTOR 2  NC
sbit CHR_3_SEL=P1^2;  // SELECT CHANNEL 3  FOR CHARACTOR 3  CHR_L
sbit CHR_4_SEL=P1^3;  // SELECT CHANNEL 4  FOR CHARACTOR 3  CHR_H

//sbit RD_BIT=RD_DATA^0;
//sbit WR_BIT=WR_DATA^7;

/*****************函數(shù)列表**********************/
void  FLASH_ALL();                       //閃爍全部數(shù)碼和指示燈模塊    
void  FLASH(char CHR_LED);               //顯示指定LED燈模塊 
void  CLR_CPU_RAM(STR_ADR,END_ADR);      //清CPU內(nèi)存模塊  
void  SET_CPU_RAM(STR_ADR,END_ADR);      //寫00~FFH 到CPU內(nèi)存模塊 
void  DISPLAY(CHR_,CHR_LED);             //顯示單個字符及指示燈模塊
void  DSP_SEG(STR_ADR,END_ADR,CHR_LED);  //顯示 CPU 內(nèi)存由地址STR_ADR開始到END_ADR  內(nèi)容
void  FLASH_ERR(char ERR );              //讀寫EEPROM錯誤顯示模塊 
void  start();                           //啟動時序模塊子模塊  
void  stop();                            //終止時序子模塊   
void  ack();                             //產(chǎn)生應(yīng)答位子模塊
void  noack();                           //產(chǎn)生非應(yīng)答位子模塊,用于數(shù)據(jù)寫入結(jié)束
void  chkack();                          //檢測應(yīng)答位子模塊
void  shift_out8(WR_DATA);               //8位數(shù)據(jù)移出子模塊   
static unsigned char shift_in8();        //8位數(shù)據(jù)移入子模塊
void CALL_24CXX();                       //喚醒EEPROM子模塊
W_1_PAGE(CPU_S_ADR,E_S_ADR);             //寫入一頁子模塊
W_N_PAGE(CPU_S_ADR,E_S_ADR,PAGE_N);      //寫入數(shù)頁主模塊
R_1_PAGE(CPU_S_ADR,E_S_ADR);             //讀入一頁子模塊
RD_N_PAGE(CPU_S_ADR,E_S_ADR,PAGE_N);     //讀入數(shù)頁主模塊                                         
delaytms(t);                             //延時1mS模塊


char code  SEG[]={0xc0,0xf9,0xa4,0xb0,0x99,0X92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
        //共陽;=  0     1    2    3    4     5    6    7    8   9    A    b    C    d    E    F   
        //用共陽LED  顯示狀態(tài)  0-->選通筆劃  ,字符選擇 0-->選通該字符,請參閱原理圖 K&D2.SCH/AVC.DDB  //

delaytms(t){             //延時1mS模塊 for  12mHz crystal delay 1ms=0xff x 0x02
		 unsigned  char i,tmp;
	      for(i=0;i<t;i++)
	     	{
	        // tmp=0xff;         //
	       //  while(tmp--);  
             tmp=0xff;         //
	         while(tmp--);
          }}

void  FLASH_ALL(){                       //閃爍全部數(shù)碼和指示燈模塊    
        unsigned  char i,t; //DIS_SEL,DIS_STA,
        DIS_STA=0x00;
        DIS_SEL=0xff;
        for(i=0;i<5;i++)
		{
        CHR_1_SEL=0;
        CHR_2_SEL=0;
        CHR_3_SEL=0;
        CHR_4_SEL=0;
         t=0xff;         //delay  256ms  (1/4  sec
        delaytms(t);  
        CHR_1_SEL=1;
        CHR_2_SEL=1;
        CHR_3_SEL=1;
        CHR_4_SEL=1; 
         t=0xff;         //delay  256ms  (1/4  sec
        delaytms(t);  
         _nop_();
   	    }  
        DIS_STA=0xff;
        DIS_SEL=0xff;
        }

 void  FLASH(char CHR_LED ){         //顯示指定LED燈模塊
        unsigned  char i,t;   //DIS_SEL,DIS_STA,
        DIS_STA=CHR_LED;
        DIS_SEL=0xff;
        for(i=0;i<5;i++)
		{
        CHR_1_SEL=0;
        CHR_2_SEL=0;
        t=0xff;         //delay  256ms  (1/4  sec
        delaytms(t);  
        CHR_1_SEL=1;
        CHR_2_SEL=1;
        t=0xff;         //delay  256ms  (1/4  sec
        delaytms(t);  
         _nop_();
   	    }  
        DIS_STA=0xff;
        DIS_SEL=0xff;
        }

 void  CLR_CPU_RAM(STR_ADR,END_ADR) {          //清CPU內(nèi)存模塊  CLEAR  CPU  RAM
	     unsigned  char  i,s_adr,e_adr;
         static unsigned  char data *ram;
         s_adr=STR_ADR;
	     ram=STR_ADR;
         e_adr=END_ADR;
		 for (i=s_adr;i<e_adr;i++)     //!! i=0x30;i<0x7e;i++
	       {
	          *ram=0x00;
	          ++ram;
	        }}
	     
 void  SET_CPU_RAM(STR_ADR,END_ADR){          //寫00~FFH 到CPU內(nèi)存模塊 WRITE    00H~FFH  TO  CPU  RAM          
	     unsigned  char  i,s_adr,e_adr,d;
	    static  unsigned  char data *ram;
          s_adr=STR_ADR;
		  ram=STR_ADR;
          e_adr=END_ADR;
	      d=0x00;
	     for(i=s_adr;i<e_adr;i++) {
	          *ram=d;
	          ++ram;
	          ++d;
	        }}
  

   void  DISPLAY(CHR_,CHR_LED){        //顯示單個字符及指示燈模塊
          unsigned  char i,t,CHR_L,CHR_D,CHR_H,R;//CHR_LED, DIS_SEL;
	//HEX  TO   BCD   十六進(jìn)制轉(zhuǎn)化為十進(jìn)制模塊
            _nop_();
           CHR_H=CHR_/0x64;    //bit hundred,0x64=100d  商為百位
           R=CHR_%0x64;
           CHR_D=R/0x0a;        //bit ten  商為十位
           CHR_L=R%0x0a;    //bit literal  余數(shù)為個為個位
           _nop_();
     //HEX  TO  BCD   END 
          for(i=0;i<0x40;i++)       //顯示數(shù)碼時間0x7d為1/2秒  1/4SEC=2ms*125times(0x7d)
           {
          DIS_SEL=0xff;       //display  charactor LED
          CHR_1_SEL=0;          //open LED channel
          DIS_STA=CHR_LED;      //
          t=0x02;               //2ms        
          delaytms(t);
            _nop_(); 
          DIS_SEL=0xff;    //display  charactor CHR_LOW
          CHR_1_SEL=1;       //close  LED channel
          CHR_3_SEL=0;       //open   CHR_L channel
          DIS_STA=SEG[CHR_L];           //DSP(CHR_L); 
          t=0x02;               //2ms        
          delaytms(t);       
            _nop_();
          DIS_SEL=0xff;    //display  charactor CHR_HIGH
          CHR_3_SEL=1;       //close  CHR_L channel
          CHR_4_SEL=0;       //open   CHR_H channel
          DIS_STA=SEG[CHR_D];       //DSP(CHR_H);
          t=0x02;               //2ms        
          delaytms(t);      
          CHR_4_SEL=1;
          _nop_();
          DIS_STA=0xff;
          DIS_SEL=0xff;
          _nop_();
	      }
          DIS_STA=0xff;     //close  LED and  CHR  for 1/4 sec
          DIS_SEL=0xff;
          t=0xff;         //delay  256ms  (1/4  sec)
          delaytms(t); 
          _nop_();
          }

     void  DSP_SEG(STR_ADR,END_ADR,CHR_LED)       //顯示 CPU 內(nèi)存由地址STR_ADR開始到END_ADR  內(nèi)容
          //unsigned  char  STR_ADR,END_ADR;
          {
           unsigned  char i;
           unsigned  char data *a;
           a=STR_ADR;
           for(i=STR_ADR;i<END_ADR;++i)
            {
              CHR_=*a;
                ++a;  
              DISPLAY(CHR_,CHR_LED);       //調(diào)用顯示單個字符
             }}            
     
 
         
        
//  EEPROM  IIC  PROGRAM     START    讀寫  IIC   程序模塊  
  
void  FLASH_ERR(char ERR ){               //讀寫EEPROM錯誤顯示模塊
        unsigned  char t;   //DIS_SEL,DIS_STA,
        DIS_STA=ERR;
        DIS_SEL=0xff;
        _nop_();
        CHR_1_SEL=0;
        CHR_2_SEL=0;
        t=0xff;         //delay  256ms  (1/4  sec
        delaytms(t);  
        CHR_1_SEL=1;
        CHR_2_SEL=1;
        t=0xff;         //delay  256ms  (1/4  sec
        delaytms(t);  
         _nop_();      
        DIS_STA=0xff;
        DIS_SEL=0xff;
        }

	  void  start()                        //啟動時序模塊子模塊
		 {
                  unsigned  char  t;
		   //unsigned   char  DELAY_R;
		   SDA=1;         //
		   _nop_();
		   SCL=1;         //
		   t=0;while(t<=DELAY_R){t++;}_nop_();
                 t=0;while(t<=DELAY_R){t++;}_nop_();
                 _nop_();
		   SDA=0;        //
                 t=0;while(t<=DELAY_R){t++;} _nop_();
		   t=0;while(t<=DELAY_R){t++;}_nop_();
		   SCL=0; 
		    _nop_();_nop_();//
		  }

	void  stop()
           {                    //終止時序子模塊      
          unsigned  char  t;
          SDA=0;         //
		    _nop_();
		   SCL=0;
		   t=0;while(t<=DELAY_R){t++;}_nop_();
		   t=0;while(t<=DELAY_R){t++;} _nop_();
                 SCL=1;         //
		   t=0;while(t<=DELAY_R){t++;}_nop_();
		   t=0;while(t<=DELAY_R){t++;} _nop_();
                 SDA=1;        //
                _nop_();
		  }

	void  ack()                        //產(chǎn)生應(yīng)答位子模塊  
		 {
                  unsigned  char  t;
		    SDA=0;  
		    _nop_();               //
		    SCL=1;         //
		    _nop_();
		    t=0;while(t<=DELAY_R){t++;}_nop_();               //
		    _nop_();               //
		    SCL=0;         //
		    _nop_();
		  }
	

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩理论片中文av| 国产精品久久午夜夜伦鲁鲁| 日本欧美一区二区| 欧美日韩精品一二三区| 偷窥少妇高潮呻吟av久久免费| 欧美午夜宅男影院| 日韩专区欧美专区| 欧美精品一区二区三区高清aⅴ| 看片的网站亚洲| 久久九九国产精品| 99国产精品久久| 视频在线观看91| 精品国产一区二区三区忘忧草 | 久久久久久久久久看片| 成人国产在线观看| 亚洲国产裸拍裸体视频在线观看乱了| 欧美日韩亚洲综合一区二区三区| 日本最新不卡在线| 精品久久久久久久久久久久久久久久久 | 欧美视频第二页| 日本不卡一区二区三区| 久久久综合九色合综国产精品| 波多野结衣精品在线| 亚洲影视在线播放| 日韩精品一区二区三区中文精品 | 不卡的av在线| 亚洲bt欧美bt精品777| 欧美一级高清片| 懂色av一区二区三区免费观看| 亚洲日本va在线观看| 欧美一区二区三区日韩视频| 国产成人免费在线观看不卡| 亚洲国产一二三| 国产片一区二区| 7878成人国产在线观看| 成人永久免费视频| 午夜精品成人在线视频| 中文字幕电影一区| 欧美一级久久久| 日本二三区不卡| 国产精品一区2区| 午夜视频一区二区三区| 亚洲国产精品成人久久综合一区| 欧美专区日韩专区| 国产成人免费视频网站高清观看视频| 亚洲一区在线观看视频| 国产亚洲女人久久久久毛片| 欧美狂野另类xxxxoooo| 91网站最新网址| 国产精品一区二区在线观看不卡 | 中文字幕一区二区不卡| 欧美电影免费观看高清完整版在 | 欧美一级欧美三级在线观看| 91免费视频大全| 国产精品一级二级三级| 日本在线播放一区二区三区| 亚洲精品日韩专区silk| 国产精品麻豆欧美日韩ww| 欧美zozo另类异族| 69成人精品免费视频| 91电影在线观看| 91蝌蚪porny九色| 97久久精品人人澡人人爽| 国产精品一二三区在线| 韩国理伦片一区二区三区在线播放| 视频一区在线播放| 天天综合日日夜夜精品| 亚洲福利一区二区三区| 亚洲自拍偷拍网站| 玉米视频成人免费看| **性色生活片久久毛片| 中文字幕视频一区| 成人欧美一区二区三区小说| 国产精品视频看| 国产精品久久久久影院亚瑟| 国产日韩欧美综合一区| 国产视频一区不卡| 国产日韩精品一区二区三区在线| 久久综合久久鬼色| 精品久久99ma| 久久夜色精品一区| wwwwxxxxx欧美| 久久精品欧美一区二区三区麻豆| 久久久五月婷婷| 日本一区二区久久| 国产精品污www在线观看| 国产精品女人毛片| 亚洲理论在线观看| 午夜影院久久久| 裸体歌舞表演一区二区| 狠狠色丁香婷婷综合| 国产成人综合网| www.亚洲精品| 色婷婷国产精品| 91精品国产91热久久久做人人| 欧美一区午夜精品| 久久久久久久网| 亚洲精选一二三| 日韩国产一二三区| 国产美女精品人人做人人爽| 成人av小说网| 欧美日韩精品专区| 久久综合狠狠综合| 亚洲欧美视频在线观看视频| 日韩成人伦理电影在线观看| 久久66热re国产| 99v久久综合狠狠综合久久| 在线中文字幕不卡| 精品国产青草久久久久福利| 中文字幕一区二区三区四区| 亚洲国产乱码最新视频| 久久er精品视频| 91在线国产观看| 欧美一区二区三区人| 欧美国产精品劲爆| 性做久久久久久久免费看| 国产福利一区在线观看| 欧美中文字幕一二三区视频| 精品国产青草久久久久福利| 一区二区三区四区国产精品| 激情综合五月天| 在线亚洲精品福利网址导航| 精品国产乱码久久久久久1区2区| 伊人婷婷欧美激情| 国产成人精品影视| 欧美精品久久一区二区三区| 中文字幕不卡在线观看| 日韩综合小视频| 91色视频在线| 精品免费国产二区三区 | 日韩和欧美一区二区三区| 国产v综合v亚洲欧| 欧美日韩三级视频| ...中文天堂在线一区| 久久国产麻豆精品| 在线观看免费成人| 国产亚洲一区二区三区| 日本成人超碰在线观看| 欧美性生活大片视频| 国产精品网站导航| 激情伊人五月天久久综合| 欧美三区在线视频| 中文字幕一区二区日韩精品绯色 | 国产精品88av| 91精品国产综合久久精品图片 | 亚洲欧美激情一区二区| 国产精品1区二区.| 欧美va亚洲va| 日本免费新一区视频| 欧美体内she精高潮| 亚洲免费观看视频| 97se亚洲国产综合自在线不卡 | 91精品欧美久久久久久动漫 | 91天堂素人约啪| 久久精品视频一区二区三区| 极品销魂美女一区二区三区| 91精品国产欧美一区二区成人| 亚洲成a人在线观看| 欧美日韩中字一区| 亚洲制服丝袜一区| 欧美三级电影一区| 性做久久久久久免费观看欧美| 欧美午夜不卡在线观看免费| 亚洲精品国产一区二区精华液| 97成人超碰视| 一区二区三区欧美日韩| 欧美丝袜自拍制服另类| 亚洲第一搞黄网站| 欧美一区二区在线不卡| 精品一区二区三区欧美| 久久五月婷婷丁香社区| 国产精品自拍一区| 欧美激情艳妇裸体舞| av在线一区二区| 亚洲乱码国产乱码精品精小说 | 国产网站一区二区| 国产99久久久久| 最新国产精品久久精品| 日本久久电影网| 亚洲成va人在线观看| 日韩一本二本av| 国产不卡在线视频| 136国产福利精品导航| 欧美色老头old∨ideo| 日韩精品每日更新| 久久婷婷一区二区三区| 国产精品综合久久| **性色生活片久久毛片| 欧美精品国产精品| 久久电影网站中文字幕| 欧美国产精品专区| 欧美少妇xxx| 国内成人免费视频| 中文字幕中文乱码欧美一区二区| 欧美在线不卡一区| 奇米影视7777精品一区二区| 日本一区二区三区电影| 91官网在线观看| 国内成人自拍视频| 一区二区三区在线免费|