Arduino生成ATmega8的运行程序并下载

发布者:ShimmeringStar最新更新时间:2022-07-20 来源: csdn关键字:Arduino  ATmega8  运行程序  下载 手机看文章 扫描二维码
随时随地手机看文章

§01 利用Arduino生成ATmega8执行程序

  基于Arduino IDE的 Scratch完成程序的开发,借助于现在这个生态环境中越来越多积累下的软件包,的确可以加速软件的开发。满足更新的需要。


  在 利用Arduino IDE对ATMEGA8等单片机编程 测试了对于Arduino IDE增加 MinCore的软件包,使其能够对于 ATmega48~ATmega328 进行开发支持。下面通过实验测试:


通过Arduino IDE生成ATmega8的执行程序,使用自行制作的Bootloader完成ATmega8程序上传,看是否可以进行正常执行。

将Arduino IDE生成的程序自行上传之后,测试是否它也就同时具备了Arduino IDE的Bootloader的功能。这是因为在它生成的程序中,自动包含了Bootloader的功能。

1、MEGA328 Download

  MEGA328 Download是自行编写的基于串口的ISP Bootloader下载软件,可以兼容一些常见的ATmega系列的单片机。


MEGA328 Download 所在目录: D:zhuoqingwindowcbMegaBLM328_BL


▲ 图1-1 MEGA328 Download 程序界面

▲ 图1-1 MEGA328 Download 程序界面

  这个软件利用MAX3232完成从微机UART到TTL-UART的转换。它使用了单片机的 RXD,TXD,RST三根线进行下载。在下面两个博文中,分别描述了用于下载的UART-TTL 基于MAX3232模块与单片机连接方法。


基于ATMEGA8的Arduino Nano(UNO)开发板 :给出了管脚顺序为VCC,T1IN,R1OUT,T2IN,GND模块与单片机相连的方法是。

ATMEGA8 DIP-28面包板实验 :给出了专门为ATmega8-DIP-28进行程序下载的UART-TTL的小型模块,它的输出管脚为:VCC,GND,RST,TXD,RXD,可以直接与DIP-28封装的ATmega8在面包板上搭建下载界面。

▲ 图1-2 在面包板上搭建的ATmega8 下载界面

▲ 图1-2 在面包板上搭建的ATmega8 下载界面

2、Arduino IDE生成下载程序

  根据下图可以看到对于ATmega8 的PB0对应Arduino中的D8,由此编写对应的测试小程序。

▲ 图1-3 ATmega8 管脚定义

▲ 图1-3 ATmega8 管脚定义

(1)测试程序

/*

**==============================================================================

** TEST1.C:             -- by Dr. ZhuoQing, 2021-05-31

**

**==============================================================================

*/

#define ON(pin)                 digitalWrite(pin, HIGH)

#define OFF(pin)                digitalWrite(pin, LOW)

#define VAL(pin)                digitalRead(pin)

#define IN(pin)                 pinMode(pin, INPUT)

#define OUT(pin)                pinMode(pin, OUTPUT)

const int LED_PIN = 8;

//------------------------------------------------------------------------------

void setup(void) {

    pinMode(LED_PIN, OUTPUT);

}

//------------------------------------------------------------------------------

void loop(void) {

    ON(LED_PIN);

    delay(100);

    OFF(LED_PIN);

    delay(100);

}

//==============================================================================

//                END OF FILE : TEST1.C

//------------------------------------------------------------------------------


(2)生成HEX文件

  首先 选择开发板也处理器,然后再完成编译过程。然后选择“项目”中的“导出已编译的的文件”。

▲ 图1-4 选择开发板也处理器,完成编译过程

▲ 图1-4 选择开发板也处理器,完成编译过程

  在程序所在的目录中,生成了以下两个文件:


sketch_may31a.ino.with_bootloader_atmega8_16000000L.hex

sketch_may31a.ino_atmega8_16000000L.hex

(3)利用MEGA328 Download下载HEX文件

  选择 sketch_may31a.ino.with_bootloader_atmega8_16000000L.hex下载,出现下载程序错误的情况; 选择 sketch_may31a.ino_atmega8_16000000L.hex 则可以完成正常下载,程序的功能正确。

▲ 图1-5 正常下载HEX过程

▲ 图1-5 正常下载HEX过程

▲ 图1-6 下载程序之后运行的结果

▲ 图1-6 下载程序之后运行的结果

 

§02 修改CRUNPYTHON_SHIFT程序

  将CRUNPYTHON_SHIFT程序修改如下,这样便可以在TEASOFT 软件编辑器中通过 ALT+SHIFT_R允许编辑的程序,它便可以将程序拷贝到Arduino IDE,并启动生成HEX文件的过程。这与普通的拷贝运行相比,它不再去询问下载程序了。


#!/usr/local/bin/python

# -*- coding: gbk -*-

#============================================================

# CRUNTYPE.PY                  -- by Dr. ZhuoQing 2020-01-23

#

# Note:

#============================================================


from head import *



keyread = tspread()

if keyread[9] != 0: altflag = 1


#------------------------------------------------------------

ret = tspsendwindowkey('Arduino 1.8.15', "a", control=1)

if ret == 0:

    filename = tspgeteditfile().split('.')[-1]


    if filename == 'c' or filename == 'C':

        tspcopyclipboard()

        tspsendwindowkey("Arduino 1.8.15", 'v', control=1)

        tspsendwindowkey("Arduino 1.8.15", "s", control=1,alt=1)

    else:

        tspsendwindowkey("Arduino 1.8.15", 'v', control=1)

        tspsendwindowkey("Arduino 1.8.15", "s", control=1, alt=1)


    printf("Arduino.")

    printf('a')

    tspfocuswindow("TEASOFT:1")

    exit()



tspbeep(1200, 50)

tspsendwindowkey('ImageCraft', 'pm', alt=1)


#------------------------------------------------------------

#        END OF FILE : CRUNTYPE.PY

#============================================================


※ 总结讨论 ※

  利用了之前自行编辑的MEGA328下载程序软件,完成的对于普通的MEGA8的程序下载。此时,就可以不必利用Arduino IDE的下载界面完成程序的下载。而是可以通过Arduino生成HEX文件,然后在利用原来的下载调试界面完成程序的下载。


  通过修改TEASOFT配套的CRUNPYTHON_SHIFT.PY软件,可以使得在TEASOFT软件的文本编辑界面中,使用SHIFT+ALT+R命令,完成编程程序文本的拷贝,导出HEX文件的过程,再另一MEGA328的自动检查机制完成程序的自动下载过程。

关键字:Arduino  ATmega8  运行程序  下载 引用地址:Arduino生成ATmega8的运行程序并下载

上一篇:利用Arduino IDE对ATMEGA8等单片机编程
下一篇:基于ATMEGA8的Arduino Nano(UNO)开发板

推荐阅读最新更新时间:2024-11-06 12:24

基于CAN的程序下载器与通讯调试器设计
在电子产品的各种通讯方式中,CAN(Controller Area Network)总线以其高可靠性、实时性、传输距离远的特点得到广泛的应用,已经成为许多高档汽车(如奔驰、宝马等)车电系统的总线标准。于是出现了许多内部集成CAN控制器的单片机,如Atmel公司的T89C51CC0X系列单片机就是其中性价比较高的一款,它具有丰富的内部资源,支持CAN方式的在线编程。我们在使用此系列产品的过程中,针对其应用普遍但编程器较少的特点,开发了一款基于T89C51CC01CA芯片的CAN程序下载和CAN节点调试器,它既能对同类单片机进行编程,又能通过CAN总线对具有CAN通讯功能的设备进行调试。 2. 系统结构框图 2.1  系统原理框图。如图
[嵌入式]
中国iOS应用商店下载量超越美国 收入仅排第三
    据国外媒体报道, 中国超越美国成为iOS应用的最大市场可能只是时间问题,毕竟中国是拥有最多人口的国家。根据行业跟踪公司App Annie的报告,2015年第一季度中国市场的iOS应用程序下载量已经超越美国。最主要的驱动力可能来自iPhone 6和iPhone 6 Plus的大卖。   该报告表示,“2014年第四季度,在中国屏幕尺寸5到7英寸之间的智能手机出货量大概占全部智能手机出货量的60%,相比之下全球的大屏幕手机出货量占比大约40%。由于中国用户对大屏幕手机的偏好,iPhone 6的市场份额在2014年越过7%。”   “中国占据优势地位的应用主要是游戏和照片/视频应用。腾讯旗下的天天P图2015年
[手机便携]
运行于STM32的嵌入式代码程序进行加密
目的:对运行于STM32的嵌入式代码程序进行加密 编译环境:IAR Embedded System for ARM5.5 一.STM32Flash组织 STM32的Flash包括主存储器(HD版本,512KB)+信息块。信息块包括2KB的系统存储器(用于系统自举启动代码)和16字节的选项字节(8个字节数据+8个字节数据的反码)。 二、STM32读保护 STM32读保护是通过设置RDP选项字节,然后在系统重新复位加载了新的RDP选项字节后启动的。当保护字节被写入相应的值以后: ●通过从内置SRAM或FSMC执行代码访问主闪存存储器的操作,通过DMA1、DMA2、JTAG、SWV(串行线观察器)、SWD(串行线调试)
[单片机]
对<font color='red'>运行</font>于STM32的嵌入式代码<font color='red'>程序</font>进行加密
定时器中断程序-AVR STUDIO6-ATMEGA88PA
#include avr/io.h #include avr/interrupt.h unsigned int CNT = 0; void timer0_init() { TCCR0A = 0x00; //普通模式 TCCR0B = 0x00; //停止计数 TCNT0 = 0xFA; //计数初值,为了单步时能快点计数溢出,就用0xFA作初值了 TIMSK0 = 0x01; //计数溢出使能 } int main(void) { timer0_init(); TCCR0B = 0x01; //计数频率=系统时钟频率 sei(); //开启全局中断 while(1) { ;//TODO
[单片机]
双管齐下 三星GALAXY S5下载加速测试
    从2G到4G,从有线到无线,移动互联网的发展不仅仅是体现在更好的信号更稳定的 通话,同时还拥有更快速的数据交互,以此我们可以实现秒开网页进行浏览,迅速下载软件或者影片进行操作。就目前国内而言,使用移动智能手机可以通过4G也 可以通过越来越多的WIFI热点建立互联。它们两个任何一个都是当下相当主流的连接方式,用于浏览或者下载等交互。不过不知道大家想象过没有,够快的4G 再加上够快的WIFI,让两者同时运行是否合适?能不能因此得到更加快速的数据交互体验?   当然可以,这也是我们今天要说的事情。今 年二月份闪耀MWC大展的三星GALAXY S5,就首次推出了这个功能。在其当中被命名为“下载加速器/下载推进器”(英文名为 Down
[手机便携]
下载烧录后, 如何判定程序是否运行
废话少说. 记录. ------------------------------------------------------------------------------------------------------------------------------------------------ 1. 先用仿真器(JTAG/J-link)下载到板子内, 下载后, 在程序的第一行设置断点, 让它停住, 能停住, 说明仿真器没问题, 程序能执行起来了. 2. 在检查下 PC 寄存器的值是否正确. 以确定没有跑飞掉, 在指定的范围内. 3. 检查下 CPU 内部 RAM (或者外部的 SDRAM)的内容是否和下载的执
[单片机]
Atmega8实现8路键盘D触发锁存器功能
实现目的: 当管脚设定为输入时,了解如何可以编程设定上拉电阻,以达到简化硬件的目的。 如何使用软件控制取样频率及时间,达到抗干扰目的. 为了让程序运行更稳定,防止跑飞,了解如何使用看门狗. 电路、软件原理描述: 为简化代码及线路图,本实验仅使用两个输入及两个输出 . (Atmega8最大可以扩充到支持11路D触发器,修改软件即可)。Atmega8在看门狗的监护下,定期扫描PB0与PB1的取样电平。如果连续十次取样的结果都相同,视为有效的取样。如果十次取样,有一次或以上不同,视为干扰或临界状态,不予处理。本软件实现D型触发锁存器的功能: 即每按一次SW,相应的输出会翻转一次。 为了增加程序的通用性及方便日
[单片机]
用<font color='red'>Atmega8</font>实现8路键盘D触发锁存器功能
关于stm32串口下载的问题
今天在用stm32f103rct6调程序的时候,不知道怎么回事j-link不能下载了,好像还不是驱动的问题,是她彻底坏了,没办法只能用串口下载了,以前没弄过,果然碰壁了。 首先、将boot0置1,boot1置0 其次就是串口的选择问题,注意需要选择串口1进行程序的下载
[单片机]
关于stm32串口<font color='red'>下载</font>的问题
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved