基于ATMEGA8的Arduino Nano(UNO)开发板

简 介: 测试是否可以应用Arduino对其进行编程开发。实验证明,利用Arduino的 IDE无法对于MEGA进行ISP下载Bootloader。同时在后面的测试中,也没有能够利用原来的Bootloader完成对MEGA8的程序下载。具体原因不详。

后来经过对原来的MEGA328 Bootloader程序进行改进,可以进行正常的下载程序了。

关键词 MEGA8ArduinoISP

  为什么想使用Arduino IDE对于ATMEGA8进行编程,在 Programming ATmega8 Using Arduino IDE - Arduino Project Hub 给出了如下的理由:

  • Using a cheaper AVR microcontroller
  • Require an AVR microcontroller with more or even less pins than ATmega328
  • You have all kinds of AVR except ATmega328 😄

  需要说明的是,本文下面虽然没有能够直接利用Arduino对MEGA8进行编程,但在上面的网文中给出了正确的设置方式。

 

§01 计 Arduino实验板


   从0 开始 DIY你的Arduino UNO 测试了基于ATMEGA328制作的ARduino UNO开发板的过程。手边有比较多的ATMEGA8的芯片,下面通过实验过程验证:

  • 是否可以使用相同的方式获得基于MEGA8的Arduino UNO,或者Nano的开发板;
  • 是否运用Arduino所产生的HEX,通过传统的下载程序完成对于ATMEGA8程序的更新预下载。

▲ 图0-1 Arduino管脚功能定义

▲ 图0-1 Arduino管脚功能定义

1、实验电路设计1

(1)管脚功能定义

  下图是在 Grove Beginner Kits基础实验 Arduino 给出的关于Arduino UNO的数字与模拟接口定义。设计ATMEGA8测试板,也根据下面这种定义协议安排对应的管脚输出。

▲ 图1-1 Arduino 数字接口管脚定义

▲ 图1-1 Arduino 数字接口管脚定义

▲ 图1-2 Arduino模拟接口关键;yi560
▲ 图1-2 Arduino模拟接口关键;yi560

(2)设计原理图

▲ 图1-3 测试板的原理图设计

▲ 图1-3 测试板的原理图设计

【表1 测试板PIO功能定义】

PIN1PIN2PIN3PIN4PIN5PIN6PIN7PIN8PIN9PIN10PIN11PIN12
+5VGNDRXDTXDRSTD2D3D4D5D6A0A1
(3)制作PCB

▲ 图1-4 快速制版铺设的PCB以及焊接后的PCB

▲ 图1-4 快速制版铺设的PCB以及焊接后的PCB

2、初步调试

  由于焊接的是已经设置了Bootloader的ATMEGA8,所以焊接之后,它便可以在16MHz工作了。

   工作测试:
工作电压:+5V
工作电流:20.3mA
晶振频率:16MHz

▲ 图1-5 测量OSC1的波形

▲ 图1-5 测量OSC1的波形

3、下载Bootloader

▲ 图1-6 利用Arduino IDE 下载Bootloader

▲ 图1-6 利用Arduino IDE 下载Bootloader

▲ 图1-7 下载过程中出现的错误提示

▲ 图1-7 下载过程中出现的错误提示

  通过上面的测试,可以看到利用Arduino IDE下载Bootloader是无法进行的

 

§02 用MAX232下载程序


  接利用已经上载的MEGA8的自行设计的Bootloader,使用普通的のMAX3232接口即可。

1、下载接口定义

【表2 下载MAX3232与MEGA8测试版连接】

管脚PIN1PIN2PIN3PIN4PIN5
MAX3232VCC11129GND
功能定义VCCT1INR1OUTT2INGND
连接MEGA8VCCTXDRXDRSTGND
测试电路PIN1PIN4PIN3PIN5PIN2

▲ 图2-1 下载MAX232接口

▲ 图2-1 下载MAX232接口

2、连接MAX3232与测试MEGA8

  在面包板上连接下载模块与测试MEGA8电路板。

▲ 图2-2 在面包板上连接下载模块与测试测试版

▲ 图2-2 在面包板上连接下载模块与测试MEGA8电路板

3、下载结果

  使用上述电路,利用MEGA328BOOTLOADER无法下载。经过更换MEGA8MCU,也无法下载程序。

▲ 图2-2 下载程序出现错误

▲ 图2-2 下载程序出现错误

 

§03 ATMEGA8 DIP-28


   ATMEGA8 DIP-28面包板实验 给出了在面包板上搭建基于ATMEGA8-DIP28的实验电路。

▲ 图3-1 AT DIP-28管脚功能定义

▲ 图3-1 ATMEGA8DIP-28管脚功能定义

1、搭建实验电路板

  参考下面的连接方式在面包板上搭建实验电路板。

▲ 图3-2 识别AT 管脚对其的标志点

▲ 图3-2 识别ATMEGA8管脚对其的标志点

2、下载结果

  很可惜,在面包板上搭建的MEGA8依然无法下载。

▲ 图3-3 搭建的的实验电路板

▲ 图3-3 搭建的MEGA8的实验电路板

 

验总结 ※


  知道为什么,这次实验中,搭建的电路板、面包板各种版本都没有能够完成下载程序。

  这样对于利用有Arduino生成的HEX进而进行对MEGA8编程的测试也就无法进行测试了。

※ 补充说明

  对于MEGA328Bootloader进行调试,将MEGA8BL.CPP中 BLEnterBootloader(void)中的最后进行修改。将如来的BLReceChar() 修改成 ReceCharL()便课程正常下载了。

    if(ReceCharL(&ucChar, PORT1, 10)) {
        return 1;
    }
//    if(BLReceChar(&ucChar)) {
//        return 1;
//    }

▲ 图3-4 正常下载的过程

▲ 图3-4 正常下载的过程

D:\zhuoqing\window\cb\MegaBL\M328_BL

  测试了对于Arduino编译出的HEX文件,但是MEGA8中运行不正确。

※ 补充说明1:

  在博文 利用Arduino IDE对ATMEGA8等单片机编程 实验中,经过参考网络上的给出的说明已经能够正确安装Arduino IDE中的软件包并进行正确的下载程序了。


■ 相关文献链接:

● 相关图表链接:


  1. 基于MEGA8的Arduno的测试版的AD工程文件:AD\Test\2021\ZYK\TestMega8Nano.SchDoc ↩︎

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
产品特性 • 高性能、低功耗的 8 位AVR® 微处理器 • 先进的RISC 结构 – 130 条指令 – 大多数指令执行时间为单个时钟周期 – 32个8 位通用工作寄存器 – 全静态工作 – 工作于16 MHz 时性能高达16 MIPS – 只需两个时钟周期的硬件乘法器 • 非易失性程序和数据存储器 – 8K 字节的系统内可编程Flash 擦写寿命: 10,000 次 – 具有独立锁定位的可选Boot 代码区 通过片上Boot 程序实现系统内编程 真正的同时读写操作 – 512 字节的EEPROM 擦写寿命: 100,000 次 – 1K字节的片内SRAM – 可以对锁定位进行编程以实现用户程序的加密 • 外设特点 – 两个具有独立预分频器8 位定时器/ 计数器, 其中之一有比较功能 – 一个具有预分频器、比较功能和捕捉功能的16 位定时器/ 计数器 – 具有独立振荡器的实时计数器RTC – 三通道PWM – TQFP与MLF 封装的8 路ADC 8 路10 位ADC – PDIP封装的6 路ADC 8 路10 位ADC – 面向字节的两线接口 – 两个可编程的串行USART – 可工作于主机/ 从机模式的SPI 串行接口 – 具有独立片内振荡器的可编程看门狗定时器 – 片内模拟比较器 • 特殊的处理器特点 – 上电复位以及可编程的掉电检测 – 片内经过标定的RC 振荡器 – 片内/ 片外中断源 – 5种睡眠模式: 空闲模式、ADC 噪声抑制模式、省电模式、掉电模式及Standby 模式 • I/O 和封装 – 23个可编程的I/O 口 – 28引脚PDIP 封装,32 引脚TQFP 封装,32 引脚MLF 封装 • 工作电压 – 2.7 - 5.5V (ATmega8L) – 4.5 - 5.5V (ATmega8) • 速度等级 – 0 - 8 MHz (ATmega8L) – 0 - 16 MHz (ATmega8) • 4 Mhz 时功耗, 3V, 25°C – 工作模式: 3.6 mA – 空闲模式: 1.0 mA – 掉电模式: 0.5 μA

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卓晴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值