<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> Arduino >> 瀏覽文章

        ATmega128開發板轉為Arduino

        作者:佚名   來源:本站原創   點擊數:  更新時間:2014年04月03日   【字體:

        還在讀書的時候,一次課程設計用到了ATmega128的片子,感覺還不錯。后來玩單片機就收藏了兩塊mega128的核心板。在玩Arduino以后,一直想把這兩塊閑置多年mega128的板子也用起來。趁著過年這幾天比較閑,簡單搞了一下。

        一、制作屬于ATmega128bootloader

              源代碼需要在Arduino IDE自帶的通用bootloader修改幾處,當然也可以直接使用已經編譯好的boot_mega128.hex文件。
         
        二、硬件連接
        用杜邦線連接USBtinyISP JP1ISP6)和開發板的ISP接口(暫時只測試了 USBtinyISP)。
         
        三、Arduino開發環境設置
        參考: 
        進入Arduino IDE目錄
        修改 /hardware/arduino/boards.txt 1.0.5在該路徑下)
        在最后添加:
        ###############################################################
        atmega128A.name=Custom ATmega 128A_8MHz
         
        atmega128A.upload.using=avrispmkii
         
        atmega128A.upload.maximum_size=126976
         
        atmega128A.bootloader.low_fuses=0xFF
         
        atmega128A.bootloader.high_fuses=0xCA
         
        atmega128A.bootloader.extended_fuses=0xFF
         
        atmega128A.bootloader.path=mega128
         
        atmega128A.bootloader.file=boot_mega128.hex
         
        atmega128A.bootloader.unlock_bits=0x3F
         
        atmega128A.bootloader.lock_bits=0x0F
         
        atmega128A.build.mcu=atmega128
         
        atmega128A.build.f_cpu=8000000L
         
        atmega128A.build.core=arduino
         
        atmega128A.build.variant=mega128
         
        ##############################################################
         
        設置后可在Arduino IDE 菜單“工具”—> “板卡下看到對應的“Custom ATmega 128A_8MHz”選項。 
         

         
        三、設置Arduino引腳定義
        /hardware/arduino/variants文件夾下新建一個文件夾mega128
        mega128里面新建一個pins_arduino.h,內容略,可根據實際開發板資源調整。
        目前所用atmega128arduino pin mapping 定義如下:
         
        arduino io
        主芯片 IO 口
        外部資源 1
        外部資源 2
        外部資源 3
        外部資源 4
        0
        PA0/A/D0
        流水燈(D1)
        數碼管(位 1)
        LCD1602(D0)
        LCD12864(D0)
        1
        PA1
        流水燈(D2)
        數碼管(位 2)
        LCD1602(D1)
        LCD12864(D1)
        2
        PA2
        流水燈(D3)
        數碼管(位 3)
        LCD1602(D2)
        LCD12864(D2)
        3
        PA3
        流水燈(D4)
        數碼管(位 4)
        LCD1602(D3)
        LCD12864(D3)
        4
        PA4
        流水燈(D5)
        數碼管(位 5)
        LCD1602(D4)
        LCD12864(D4)
        5
        PA5
        流水燈(D6)
        數碼管(位 6)
        LCD1602(D5)
        LCD12864(D5)
        6
        PA6
        流水燈(D7)
        數碼管(位 7)
        LCD1602(D6)
        LCD12864(D6)
        7
        PA7
        流水燈(D8)
        數碼管(位 8)
        LCD1602(D7)
        LCD12864(D7)
        8
        PB0/SS
        步進電機
         
         
         
        9
        PB1/SCK
        步進電機
         
         
         
        10
        PB2/MOSI
        步進電機
         
         
         
        11
        PB3/MISO
        步進電機
         
         
         
        12
        PB4/OC0
        直流電機
        PWM(D9)
         
         
        13
        PB5/OC1A
        LCD1602(RS)
        LCD12864(RS)
         
         
        14
        PB6/OC1B
        LCD1602(RW)
        LCD12864
         
         
        15
        PB7/OC1C
        LCD1602(EN)
        (RW)
         
         
        16
        PC0/A8
        數碼管(段 A)
        LCD12864(EN)
         
         
        17
        PC1
        數碼管(段 B)
         
         
         
        18
        PC2
        數碼管(段 C)
         
         
         
        19
        PC3
        數碼管(段 D)
         
         
         
        20
        PC4
        數碼管(段 E)
         
         
         
        21
        PC5
        數碼管(段 F)
         
         
         
        22
        PC6
        數碼管(段 G)
         
         
         
        23
        PC7
        數碼管(段 dp)
         
         
         
        24
        PD0/SCL/INT0
        矩陣鍵盤(行 1)
        按鍵 K17
        AT24C02(SCL)
         
        25
        PD1/SDA/INT1
        矩陣鍵盤(行 2)
        按鍵 K18
        AT24C02(SDA)
         
        26
        PD2/RXD1/INT2
        矩陣鍵盤(行 3)
        按鍵 K110
        PSII(DAT)
        紅外線接收
        27
        PD3/TXD1/INT3
        矩陣鍵盤(行 4)
        按鍵 K20
        PSII(CLK)
         
        28
        PD4/ICP1
        矩陣鍵盤(列 1)
         
         
         
        29
        PD5/XCK1
        矩陣鍵盤(列 2)
         
         
         
        30
        PD6/T1
        矩陣鍵盤(列 3)
         
         
         
        31
        PD7/T2
        矩陣鍵盤(列 4)
         
         
         
        32
        PE0/RXD0/PDI
        串口(RXD)
         
         
         
        33
        PE1/TXD0/PDO
        串口(TXD)
         
         
         
        34
        PE2/XCK0/AIN0
        DS1302(SCLK)
         
         
         
        35
        PE3/OC3A/AIN1
        DS1302(I/0)
         
         
         
        36
        PE4/OC3B/INT4
        DS1302(RST)
         
         
         
        37
        PE5/OC3C/INT5
        空閑
         
         
         
        38
        PE6/T3/INT6
        DS18B20
         
         
         
        39
        PE7/ICP3/INT7
        蜂鳴器
         
         
         
        40
        PF0/ADC0
        ADC 輸入
         
         
         
        41
        PF1/ADC1
        數碼管段選鎖存
         
         
         
        42
        PF2
        數碼管位選鎖存
         
         
         
        43
        PF3
        流水燈鎖存
         
         
         
        44
        PF4
        JTAG(TCK)
         
         
         
        45
        PF5
        JTAG(TMS)
         
         
         
        46
        PF6
        JTAG(TDO)
         
         
         
        47
        PF7
        JTAG(TDI)
         
         
         
        48
        PG0/WR
        空閑
         
         
         
        49
        PG1/RD
        空閑
         
         
         
        50
        PG2/ALE
        空閑
         
         
         
        51
        PG3/TOSC2
        空閑
         
         
         
        52
        PG4/TOSC2
        空閑
         
         
         
        引腳定義參考開發板為博科電子的BK-AVR128,實物圖片如下:
         
         
         
        實際手里用的是這塊:
         
         
         
        通過Arduino IDE 把準備好的 bootloader 寫入mega128。使用 USBtinyISP 好處是不需要選擇連接端口,直接寫就行了。
        寫好bootloader以后,你的單片機開發板就變為 Arduino 了。雖然官方的FAQ里仍然強調 Arduino “只是一塊AVR開發板”…… 
         
        四、
        測試
            測試程序:  
        int ledPin =12;
        void setup() {
          // put your setup code here, to run once:
          pinMode(ledPin,OUTPUT);
        }
        void loop() {
          // put your main code here, to run repeatedly:
          digitalWrite(ledPin,HIGH);
          delay(1000);
          digitalWrite(ledPin,LOW);
          delay(1000); 
        }
        點擊  ,下載完成后則在開發板上有一個led開始閃爍。程序中 ledPin 12定義的是PB4 引腳,需要在對應引腳上接一個LED才能看到閃爍。
        好吧,現在可以用ATmega18A開始Arduino的玩弄時間了。

        PS: avrdude 真心不會用,avrdude-GUI 也不會!
        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮