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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? x50451.c

?? X5045讀寫程序:包括看門狗功能
?? C
字號:
/*-------------------             x5045.c         ----------------------------*/
/*-------------------  使用AT89C2051模擬SPI總線程序   ------------------------*/
/*---------- 從機器件為X5045,看門狗、復位芯片、自帶4Kbit EEPROM存儲器 -------*/
/*-----------------    Name:lilac         Time:2006.7.22         ----------------*/

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

sbit  SCK     =P3^2;    // SPI協(xié)議串行時鐘
sbit  MOSI    =P3^3;    // SPI協(xié)議主機輸出從機輸入
sbit  MISO    =P3^4;    // SPI協(xié)議主機輸入從機輸出
sbit  WCS     =P3^5;    // 喂狗信號、從機選擇
sbit  DI      =P1^3;    // LED數(shù)碼管顯示串行數(shù)據(jù)
sbit  CLK1    =P1^2;    // LED數(shù)碼管顯示串行時鐘
sbit  PWR_OK  =P1^6;    // 正確上電復位指示
sbit  CTRL    =P1^7;    // LED數(shù)碼管顯示開關控制


#define  unchar  unsigned char
#define  unint   unsigned int

#define  WREN         0x06         // 置位WEL標識位指令
#define  WRDI  	      0x04         // 清零WEL標識位指令
#define  RDSR         0x05         // 讀狀態(tài)寄存器指令
#define  WRSR         0x01         // 寫狀態(tài)寄存器指令
#define  READ_UPPER   0x0b         // 讀4Kbit EEPROM的一半高地址存儲器指令
#define  READ_LOWER   0x03         // 讀4Kbit EEPROM的一半低地址存儲器指令
#define  WRITE_UPPER  0x0a         // 寫4Kbit EEPROM的一半高地址存儲器指令
#define  WRITE_LOWER  0x02         // 寫4Kbit EEPROM的一半低地址存儲器指令
#define  PROTECT_ALL  0x0c         // 對4Kbit EEPROM全部寫保護,看門狗溢出時間為1.4秒
#define  PROTECT_HALF 0x08         // 對4Kbit EEPROM地址空間0x100-0x1FF寫保護,看門狗溢出時間為1.4秒
#define  PROTECT_QUAR 0x04         // 對4Kbit EEPROM地址空間0x180-0x1FF寫保護,看門狗溢出時間為1.4秒
#define  NO_PROTECT   0x00         // 對4Kbit EEPROM全部不寫保護,看門狗溢出時間為1.4秒

#define  delaynop()   { _nop_(); _nop_(); };              // 時間延時

unchar   code  ledseg[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};  // 共陰極顯示段碼



/*  ------------------  x5045操作函數(shù)部分  -----------------    */

void delay2ms(unsigned int delay)     // 延時程序由Delay參數(shù)確定延遲時間
{
    unsigned int i;
    for(;delay>0;delay--)
     {
	     for(i=0;i<124;i++)
                ;
     }
}

void write_wel(unchar instr)           // 對WEL寄存器的置位和復位操作
{
    unchar n=8;
    WCS=0;
    SCK=1;
    while(n--)
    {
       SCK=0;
       if((instr & 0x80)==0x80)
          MOSI=1;
       else
          MOSI=0;
       instr=instr<<1;
       SCK=1;
    }
    WCS=1;
}


void send_byte(unchar da)              // 向從機發(fā)送一個字節(jié)的數(shù)據(jù)
{
    unchar n=8;                        // 向SDA上發(fā)送一數(shù)據(jù)字節(jié),共八位
    SCK = 1 ;                          // 時鐘置高
    while(n--)
    {
        SCK = 0 ;                      // 時鐘置低
        if((da & 0x80) == 0x80)        // 若要發(fā)送的數(shù)據(jù)最高位為1則發(fā)送位1
            MOSI = 1;                  // 傳送位1
	else
	    MOSI = 0;                  // 否則傳送位0
	da = da <<1;                   // 數(shù)據(jù)左移一位
        SCK = 1 ;                      // 時鐘置高
    }
}


unchar receive_byte()              // 從數(shù)據(jù)線接收一個字節(jié)的數(shù)據(jù)
{
    unchar n=8;                    // 從MISO線上讀取一上數(shù)據(jù)字節(jié),共八位
    unchar tmp;
    SCK = 1;                       // 時鐘為高
    MISO=1;
    while(n--)
    {
        SCK = 0;                   // 時鐘為低
	tmp = tmp <<1;             // 左移一位
	if(MISO == 1)
	    tmp = tmp | 0x01;      // 若接收到的位為1,則數(shù)據(jù)的最后一位置1
	else
	    tmp = tmp & 0xfe;      // 否則數(shù)據(jù)的最后一位置0
	SCK =1;
        MISO=1;
    }
    return(tmp);
}

void  write_char(unchar instr,unchar addr,unchar da)      // 對指定地址的存儲器空間的寫操作
{
    WCS=0;                     // 選擇從機
    send_byte(instr);
    send_byte(addr);
    send_byte(da);
    WCS=1;
    delay2ms(3);              // 延時6ms,內部存儲器寫周期
}


void  write_string(unchar  instr,unchar addr,unchar *da)   // 連續(xù)16字節(jié)寫EEPROM存儲器模式
{
    unchar tmp;
    unchar i;
    WCS=0;                               // 選擇從機
    send_byte(instr);
    send_byte(addr);
    for(i=0;i<16;i++)
      {
         tmp=da[i];
         send_byte(tmp);
      }
    WCS=1;                              // 從機選擇線置位,結束數(shù)據(jù)傳送
    delay2ms(3);                        // 延時6ms,內部存儲器寫周期
}

unchar  read_char(unchar instr,unchar addr)        // 從指定地址的存儲空間讀取一個字節(jié)的數(shù)據(jù)
{
    unchar tmp=0;
    WCS = 0;                                       // 選擇從機
    send_byte(instr);
    send_byte(addr);
    tmp = receive_byte();
    WCS=1;                                          // 從機選擇線置位,結束數(shù)據(jù)傳送
    return tmp;
}

void  read_string(unchar instr,unchar addr,unchar *da)     // 連續(xù)16字節(jié)讀EEPROM存儲器模式
{
    unchar tmp;
    unchar i;
    WCS = 0;                            //選擇從機
    send_byte(instr);
    send_byte(addr);
    tmp=0;
    for(i=0;i<16;i++)
    {
        tmp = receive_byte();
        da[i]=tmp;
    }
    WCS=1;                              // 從機選擇線置位,結束數(shù)據(jù)傳送
}

unchar  read_sr(unchar instr)       // 讀狀態(tài)寄存器
{
    unchar tmp;
    WCS = 0;                        // 選擇從機
    send_byte(instr);
    tmp=0;
    tmp = receive_byte();
    WCS=1;
    return   tmp;                   // 返回狀態(tài)寄存器的值
}

void  write_sr(unchar instr,unchar da)
{
    WCS = 0;                   // 選擇從機
    send_byte(instr);
    send_byte(da);
    WCS=1;                     // 從機選擇線置位,結束數(shù)據(jù)傳送
    delay2ms(3);
}

void softdog()                 // 產生喂狗信號
{
    WCS=1;
    _nop_();
    WCS=0;
    _nop_();
    WCS=1;
}

void  clear_mem(unchar be,unchar end)     // 一定地址空間的存儲器清零
{
   for(;be<=end;be++)
   {
      write_wel(WREN);
      WCS=0;                              // 選擇從機
      send_byte(WRITE_LOWER);
      send_byte(be);
      send_byte(0);
      WCS=1;
      delay2ms(3);                       // 延時6ms,內部存儲器寫周期
      softdog();
    }
}



/* ----------------------   測試程序部分   -----------------------------  */

void  main(void)
{
      unchar  data da1=76;
      unchar  code trydata[]={1,2,3,4,5,6,7,8,9,80,70,60,50,40,30,20};
      unchar  data buf[17]={0};
      unchar  rs;
      unchar  i;
      PWR_OK=0;
      CTRL=1;
      to_bcd(rs,showbuf);
      txdbyte(showbuf[1]);
      txdbyte(showbuf[0]);
      CTRL=0;
      write_wel(WREN);
      write_char(WRITE_LOWER,0x50,da1);
      rs =0;
      rs = read_char(READ_LOWER,0x50);
      CTRL=1;
      to_bcd(rs,showbuf);
      txdbyte(showbuf[1]);
      txdbyte(showbuf[0]);
      CTRL=0;
      delay2ms(200);
      softdog();

      write_wel(WREN);
      write_sr(WRSR,NO_PROTECT);
      rs=0;
      rs=read_sr(RDSR);
      CTRL=1;
      to_bcd(rs,showbuf);
      txdbyte(showbuf[1]);
      txdbyte(showbuf[0]);
      CTRL=0;
      delay2ms(200);

      write_wel(WREN);
      write_string(WRITE_LOWER,0x00,trydata);
      read_string(READ_LOWER,0x00,buf);
      while(1)
      {
         for(i=0;i<16;i++)
           {
             CTRL=1;
             to_bcd(buf[i],showbuf);
             txdbyte(showbuf[1]);
             txdbyte(showbuf[0]);
             CTRL=0;
             delay2ms(200);
             softdog();
           }
       }
}

/*
       unchar addr;
       unchar tmp;
       for(addr=0;addr<128;addr++)
        {
             tmp=0;
             tmp = read_char(READ_LOWER,addr);
             CTRL=1;
             to_bcd(tmp,showbuf);
             txdbyte(showbuf[1]);
             txdbyte(showbuf[0]);
             CTRL=0;
             PWR_OK=0;
             delay2ms(100);
             PWR_OK=1;
             delay2ms(100);
             softdog();
        }
       PWR_OK=0;
       delay2ms(400);
       PWR_OK=1;
       softdog();
       clear_mem(0x00,0x80);
       while(1)
       {
         for(addr=0;addr<128;addr++)
           {
             tmp=0;
             tmp = read_char(READ_LOWER,addr);
             CTRL=1;
             to_bcd(tmp,showbuf);
             txdbyte(showbuf[1]);
             txdbyte(showbuf[0]);
             CTRL=0;
             PWR_OK=0;
             delay2ms(100);
             PWR_OK=1;
             delay2ms(100);
             softdog();
           }
       }
}
*/







?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
奇米777欧美一区二区| 日韩三级中文字幕| 在线成人免费观看| 国产欧美中文在线| 午夜精品久久久久影视| 国产一区二区导航在线播放| 欧美日韩视频一区二区| 欧美激情一区三区| 久久精品国产澳门| 欧美二区乱c少妇| 亚洲麻豆国产自偷在线| 粉嫩aⅴ一区二区三区四区 | 91美女在线看| 久久亚洲综合色一区二区三区| 亚洲精品视频观看| 成人a免费在线看| 久久久综合九色合综国产精品| 日韩精品成人一区二区三区| 日本乱码高清不卡字幕| 国产精品视频线看| 国产精品夜夜嗨| 久久久久成人黄色影片| 激情另类小说区图片区视频区| 欧美日韩一区二区在线观看视频| 亚洲色大成网站www久久九九| 国产成人精品aa毛片| 国产人伦精品一区二区| 国产精品996| 日韩精品在线看片z| 毛片av中文字幕一区二区| 欧美精品一卡两卡| 日一区二区三区| 91精品久久久久久久91蜜桃| 视频在线观看一区| 日韩免费观看高清完整版| 视频一区视频二区中文| 91精品久久久久久蜜臀| 日本欧美肥老太交大片| 日韩欧美一级二级| 狠狠色狠狠色综合系列| 欧美经典一区二区| 不卡视频一二三| 亚洲黄色录像片| 91.成人天堂一区| 色综合色狠狠综合色| 国产精品国产精品国产专区不蜜| 99综合影院在线| 亚洲综合另类小说| 日韩欧美在线不卡| 国产成人精品午夜视频免费| 亚洲欧洲日韩综合一区二区| 色系网站成人免费| 日韩国产精品久久久| 久久在线观看免费| 不卡的av在线播放| 五月综合激情婷婷六月色窝| 精品国产免费一区二区三区香蕉| 国产sm精品调教视频网站| 亚洲欧美乱综合| 欧美猛男超大videosgay| 久久成人免费日本黄色| 中文在线一区二区| 欧美日本国产视频| 国产激情一区二区三区| 一区二区成人在线| 亚洲精品一区二区三区在线观看| 成人黄色综合网站| 日韩精品一级二级 | 日韩欧美一区二区久久婷婷| 国产精品12区| 国产精品美女久久久久av爽李琼 | 成人黄色小视频| 亚洲国产精品自拍| 久久精品在线免费观看| 色老汉一区二区三区| 蜜臀精品久久久久久蜜臀| 亚洲欧洲日产国码二区| 日韩欧美一区二区三区在线| 色噜噜狠狠色综合中国| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲综合偷拍欧美一区色| 久久婷婷综合激情| 精品视频在线免费观看| 国产成人99久久亚洲综合精品| 丝袜国产日韩另类美女| 亚洲少妇30p| 国产亚洲精品久| 制服.丝袜.亚洲.中文.综合| 99re66热这里只有精品3直播| 日本人妖一区二区| 亚洲国产精品久久一线不卡| 中文字幕av一区二区三区| 欧美一区二区不卡视频| 日本高清不卡aⅴ免费网站| 国产精品自拍网站| 美女性感视频久久| 亚洲午夜日本在线观看| 亚洲欧美日韩系列| 欧美激情艳妇裸体舞| 久久久精品综合| 日韩欧美激情在线| 日韩一区二区免费高清| 欧美日韩一区中文字幕| 欧美制服丝袜第一页| 91视频www| 日本久久电影网| 一本色道a无线码一区v| 99久久99久久精品国产片果冻| 国产1区2区3区精品美女| 国产在线精品免费| 韩国精品一区二区| 国产一区在线观看视频| 精品一区二区三区视频| 久久电影网电视剧免费观看| 久久精品999| 久久99精品久久久久婷婷| 九九视频精品免费| 激情丁香综合五月| 九九在线精品视频| 国产成人鲁色资源国产91色综| 国产乱子伦一区二区三区国色天香 | 青草国产精品久久久久久| 婷婷综合久久一区二区三区| 日本vs亚洲vs韩国一区三区二区| 天天综合网 天天综合色| 免费观看在线色综合| 精品在线视频一区| 成人理论电影网| 91看片淫黄大片一级| 欧美三日本三级三级在线播放| 欧美午夜理伦三级在线观看| 欧美精品黑人性xxxx| 欧美电影免费观看完整版| 久久精品欧美一区二区三区麻豆 | 亚洲午夜三级在线| 蜜臀av性久久久久蜜臀aⅴ| 国内精品伊人久久久久av一坑| 高清av一区二区| 在线看国产一区| 日韩一区二区三区在线视频| 久久久久久久综合色一本| 国产精品欧美久久久久无广告| 一区二区三区精密机械公司| 日韩电影免费在线看| 国产麻豆一精品一av一免费| 99久久亚洲一区二区三区青草 | 不卡视频一二三| 欧美精品三级在线观看| 国产亚洲综合在线| 亚洲欧美另类久久久精品| 免费在线观看日韩欧美| 成人高清视频在线观看| 欧美日韩mp4| 国产精品国产馆在线真实露脸| 亚洲午夜羞羞片| 国产69精品久久久久毛片| 欧美日韩免费电影| 国产精品色在线| 日韩va亚洲va欧美va久久| 成人avav影音| 日韩一区二区三区在线观看| 亚洲美女偷拍久久| 国产传媒日韩欧美成人| 一区二区三区高清不卡| 久草中文综合在线| 91福利视频网站| 国产情人综合久久777777| 性久久久久久久久久久久| 99久久伊人网影院| 精品国产伦一区二区三区观看体验| 曰韩精品一区二区| 波多野结衣一区二区三区| 欧美一区二区二区| 亚洲成av人片观看| 成人av网址在线| 欧美精品一区视频| 日韩国产欧美在线视频| 在线观看成人免费视频| 国产精品国产三级国产aⅴ无密码| 美女视频免费一区| 欧美日韩不卡一区二区| 一区二区免费视频| 成人黄页在线观看| 国产女同互慰高潮91漫画| 精品一区二区综合| 欧美一区二区在线观看| 亚洲福利视频三区| 一本大道av一区二区在线播放| 国产精品青草久久| 国产**成人网毛片九色| 久久久不卡网国产精品二区| 激情综合亚洲精品| 精品国产91洋老外米糕| 久久精品国产精品亚洲红杏| 日韩一区二区电影| 国产在线麻豆精品观看| 精品国产三级电影在线观看| 国产一区在线观看视频| 国产色爱av资源综合区| 成人永久aaa|