<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于X5045的看門狗電路及51讀寫x5045存儲器的程序

          基于X5045的看門狗電路及51讀寫x5045存儲器的程序

          作者: 時間:2012-08-03 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/171073.htm

          void wren_cmd()
          {

          CS = 0;
          outbyt(WREN); // 傳送寫入使能指令
          CS = 1;
          }

          void wrdi_cmd()
          {
          CS = 0;
          outbyt(WRDI); // 傳送寫入禁止指令
          CS = 1;
          }

          unsigned char rdsr_cmd()
          {
          unsigned char status;
          CS = 0;
          outbyt(RDSR); // 傳送狀態(tài)寄存器讀取指令
          status = inbyt(); // 讀取狀態(tài)寄存
          CS = 1;
          return status;
          }
          void wip_poll()
          {
          unsigned char i; // 設(shè)置最大的查詢次數(shù)

          //// 如果WIP位為'1'并且未達(dá)到最大查詢次數(shù), 則繼續(xù)查詢
          //// 如果WIP位為'0', 則寫入周期完成, 返回
          for(i = 0; i MAX_POLL; i++)
          {
          if(rdsr_cmd() 0x01) // 讀取狀態(tài)寄存器
          {
          continue;
          }
          return;
          }
          }

          void wrsr_cmd()
          {
          CS = 0;
          outbyt(WRSR); // 傳送狀態(tài)寄存器寫入指令
          outbyt(STATUS_REG); // 傳送要寫入的數(shù)據(jù)
          CS = 1;
          wip_poll(); // 檢測寫入進(jìn)度
          }

          void byte_write(unsigned int addr,unsigned char dat)
          {
          wren_cmd();
          CS = 0;
          if(addr 0x100)
          outbyt(WRITE | 0x08); //傳送寫入指令和地址最高位1
          else
          outbyt(WRITE); // 傳送寫入指令和地址最高位0
          outbyt(addr); // 傳送地址低字節(jié)
          outbyt(dat); // 傳送數(shù)據(jù)字節(jié)

          CS = 1;
          wip_poll(); // 檢測寫入進(jìn)度
          }
          unsigned char byte_read(unsigned int addr)
          {
          unsigned char read_data;
          CS = 0;
          if(addr 0x100)
          outbyt(READ | 0x08);// 傳送讀取指令和地址最高位1
          else
          outbyt(READ); // 傳送讀取指令和地址最高位0

          outbyt(addr); // 傳送地址低字節(jié)

          read_data = inbyt(); // 讀取字節(jié)
          CS = 1;
          return read_data;
          }
          void rst_wdog()
          {
          CS = 0;
          _nop_();_nop_();
          CS = 1;
          }
          void init_serialcomm(void)
          { TMOD = 0x21; // 定時器1工作于8位自動重載模式, 用于產(chǎn)生波特率
          // 定時器0工作于16位模式, 用于定時

          TH1 = 0xFD; // 波特率9600
          TL1 = 0xFD;
          SCON = 0x50; // 設(shè)定串行口工作方式
          PCON = 0xef; // 波特率不倍增
          TR1 = 1; // 啟動定時器1
          }

          DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY




          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();