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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 讀寫EEPROM(利用數(shù)碼管觀察)

          讀寫EEPROM(利用數(shù)碼管觀察)

          作者: 時(shí)間:2016-11-20 來(lái)源:網(wǎng)絡(luò) 收藏
          #include
          #include

          #define uchar unsigned char
          #define uint unsigned int
          #define ON_138 PORTC|=BIT(PC7) //使能74138
          #define OFF_138 PORTC&=~BIT(PC7)

          const uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//顯示的段碼值
          uchar buffer[]={0,0,0};//存放待顯示的數(shù)據(jù)的段碼

          //函數(shù)名;Send_Buffer
          //輸入:待數(shù)碼管顯示的數(shù)據(jù)
          //輸出:無(wú)
          //描述:將顯示的數(shù)據(jù)譯碼

          void Send_Buffer(uchar data)
          {
          buffer[0]=table[data/100];
          data=data0;
          buffer[1]=table[data/10];
          data=data;
          buffer[2]=table[data];
          }

          //函數(shù)名;Display
          //輸入:待顯示的位置和段碼值,site--[0,2]
          //輸出:無(wú)
          //描述:在指定位置顯示指定數(shù)據(jù)

          void Display(uchar site,uchar data)
          {
          if(site==0)
          {
          PORTA=0X00;
          PORTB=data;
          }
          if(site==1)
          {
          PORTA=0X01;
          PORTB=data;
          }
          if(site==2)
          {
          PORTA=0X02;
          PORTB=data;
          }
          }

          //函數(shù)名;delay_ms
          //輸入:無(wú)
          //輸出:無(wú)
          //描述:延時(shí)1ms

          void delay_ms(uint ms)
          {
          uint i,j;
          for(i=0;i for(j=0;j<564;j++);
          }

          //函數(shù)名;Read_Eeprom
          //輸入:EEPROM的地址add--[0--512],讀EEPROM的大小size[0--512],讀出的數(shù)據(jù)存放緩沖區(qū)P_buf
          //輸出:無(wú)
          //描述:讀EEPROM指定地址開(kāi)始的指定大小的存儲(chǔ)區(qū)域

          void Read_Eeprom(uint add,uchar size,uchar *P_buf)
          {
          while(size--)
          {
          while(EECR&=BIT(EEWE));
          EEAR=add++;
          EECR|=BIT(EERE);
          *P_buf++=EEDR;
          }
          }

          //函數(shù)名;Write_Eepro
          //輸入:EEPROM的地址add--[0--512],寫EEPROM的大小size[0--512],待寫數(shù)據(jù)的緩沖區(qū)P_buf
          //輸出:無(wú)
          //描述:寫EEPROM指定地址開(kāi)始的指定大小的存儲(chǔ)區(qū)域

          void Write_Eeprom(uint add,uchar size,uchar *P_buf)
          {
          while(size--)
          {
          while(EECR&=BIT(EEWE));
          EEAR=add++;
          EEDR=*P_buf++;
          EECR|=BIT(EEMWE);
          EECR|=BIT(EEWE);
          }
          }

          void main(void)
          {
          uchar temp[1];
          DDRA=0XFF;
          PORTA=0X00;
          DDRB=0XFF;
          PORTB=0X00;
          DDRC=0XFF;
          PORTC=0X00;
          ON_138;
          Read_Eeprom(0x0001,1,temp);
          Send_Buffer(temp[0]);
          temp[0]++;
          Write_Eeprom(0x0001,1,temp);
          while(1)
          {
          Display(0,buffer[0]);
          delay_ms(3);
          Display(1,buffer[1]);
          delay_ms(3);
          Display(2,buffer[2]);
          delay_ms(3);
          }
          }


          關(guān)鍵詞: 讀寫EEPROM數(shù)碼

          評(píng)論


          技術(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); })();