日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機51到AVR程序的移植

          單片機51到AVR程序的移植

          作者: 時間:2016-11-21 來源:網(wǎng)絡(luò) 收藏
          將 C51 向 ICCAVR的轉(zhuǎn)換進(jìn)行一次總結(jié)
          1、 頭文件
          對C51中定義寄存器的頭文件如 reg51.h at89x51.h等替換成相應(yīng)的 AVR頭文件 如 io8515.h io2313.h等
          2、 中斷處理函數(shù)
          在 C51 中以 interrupt 關(guān)鍵字來說明某一個函數(shù)為中斷處理函數(shù) 在 ICCVAR 中可采用#pragma interrupt_handler預(yù)處理命令在程序開始處聲明 具體用法如下:
          #pragma interrupt_handler <中斷處理函數(shù)名> <中斷向量號>
          注意 對原 C51 源程序中的 interrupt 和 using關(guān)鍵字應(yīng)當(dāng)刪除
          3 、對 C51 中的 bit 和 sbit 數(shù)據(jù)類型的處理
          在 ICCAVR中不支持 bit 和 sbit數(shù)據(jù)類型 對這兩種類型可用 unsigned char來代替對有關(guān)位運算用標(biāo)準(zhǔn) C 的位運算功能進(jìn)行處理 也可采取在線匯編處理
          4 、對中斷系統(tǒng) 定時器初始化
          需重新根據(jù)相應(yīng)控制寄存器的功能給其賦值 方法與 C51 相同 具體如下對 MCS51中 TMOD TCON的處理改為對 AVR的 TCCR0 TCCR1A TCCR1B TIFR的處理
          對 MCS51 中 IE IP的處理改為對 AVR中 GIMSK TIMSK MCUCR SREG
          的處理對 MCS51 中 IE IP的處理改為對 AVR中 GIMSK TIMSK MCUCR SREG的處理
          5 將原 C51中有關(guān)對看門狗電路 外部 EEPROM的處理改為對 AVR芯片內(nèi)部看門狗電路 內(nèi)部 EEPROM的處理
          6 、對 MCS51UART 的初始化改為對 UCR和 UBRR和被始化
          7、 如果使用片外 SRAM 應(yīng)當(dāng)對 MCUCR初始化如果有引腳作為輸出引腳使應(yīng)當(dāng)對其方向寄存器進(jìn)行初始化
          8、 對 C51中符合 ANSI標(biāo)準(zhǔn)的 C語言 原則上不需要進(jìn)行修改 除非為了程序結(jié)構(gòu)的優(yōu)化


          關(guān)鍵詞: 單片機51AVR程序移

          評論


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

          關(guān)閉