历史上的今天
返回首页

历史上的今天

今天是:2025年03月30日(星期日)

正在发生

2020年03月30日 | Arduino - 最小系统(基于ATMEGA8-16PU)

2020-03-30 来源:eefocus

【基础介绍篇】

材料准备:

ATMEGA8-16PU 单片机。

直接通过ISP编程器进行程序下载,所以不需要烧录Bootloader。

(可选)USB ISP 编程器(如果没有编程器,则用Nano制作下载器,并用芯片出厂默认熔丝参数进行编译下载即可)。

(可选)16M晶振一个,22pF陶瓷电容两个(如果使用外部晶振,则9、10针接外部晶振两脚,并各串联22pF电容后接地)。

(可选)0.1uF 去耦电容一个(实际应用中,要在VCC与GND之间加个去耦电容:VCC←→电容←→GND)。

ATMEGA8-16PU 单片机针脚图示

 

这里写图片描述

这里写图片描述

参考资料

http://www.geek-workshop.com/thread-25004-1-1.html

http://aguegu.net/?p=420

http://www.geek-workshop.com/thread-1647-1-1.html

http://blog.csdn.net/ki1381/article/details/53189218

http://www.51hei.com/arduino/4164.html

http://www.guokr.com/post/452562/

http://tieba.baidu.com/p/2426030974

【熔丝烧录篇】

说明

1、如果使用出厂默认设置,则跳过此篇。 

2、如果不熔丝,则在程序下载时,要按照出厂默认值设置开发板。 

3、关于正确配置AVR熔丝位,参考文章:https://www.eeworld.com.cn/mcu/article_24377.html


ATmega8-16PU 熔丝出厂默认值

ATmega8-16PU熔丝出厂默认值为:低位值E1,高位值D9,扩展位0。


选项如下:


使用内部RC振荡器1MHz ,起动时间6CK+65ms

使能ISP编程

BOOT区大小1024Words

无加密(没有使能存储器保护特性)

SPM和LPM对应用区的访问没有限制

允许SPM/LPM指令访问bootloader区

不启用掉电检测


ISP接线

image.png?imageView2/2/w/550

这里写图片描述

熔丝烧录

这里写图片描述

根据ISP接线图,接好单片机和烧录器。

打开PROGISP程序,选择ATmega8。

点击“…”按钮,进入烧录界面。

选择“向导模式”(我个人比较喜欢这个模式,可以直观的调整各个值)。

设置好各选项。

如果使用内部RC振荡器,最佳配置为:低位值E4,高位值DB,扩展位0。选项如下:

使能ISP编程

Boot区大小512Words

内部RC振荡器8MHz;起动时间 6CK+65Ms

无加密(没有使能存储器保护特性)

SPM和LPM对应用区的访问没有限制

允许SPM/LPM指令访问bootloader区

不启用掉电检测

如果使用外部晶振(16M),最佳配置为:低位值DF,高位值CA,扩展位0。

点击“写入”,熔丝烧录完毕。


熔丝烧录注意事项

如果不是直接使用Arduino串口下载程序(我们使用ISP编程器或Nano下载器),就不用烧录bootloader,那么Boot区大小也就无关紧要。

关于CKOPT:

使用外部晶振时:CKOPT控制振荡器电路的震荡幅度为满幅振荡还是半幅震荡。开启时(CKOPT=0)为全幅震荡,此时功耗增加,抗干扰能力增强。不开启时(CKOPT=1),功耗低,抗干扰能力弱。如果不开启,系统时钟频率最高到8M,如果要求系统时钟频率较高(大于8M)或对抗干扰能力要求高,就需要开启。当系统时钟频率低于2M时,建议关闭此项(CKOPT=1),可以减少电流消耗。

使用内部RC振荡器时:CKOPT选项不需要开启。


【程序下载篇】

准备工具

1、开发板管理器中加入对ATmega8单片机的支持 

2、下载方法一:Arduino+USB ISP烧写器+PORGISP烧写软件 

3、下载方法二:Arduino+使用Nano制作的下载器


开发板管理器中加入ATmega8

1、打开Arduino IDE


2、菜单中选择“文件”→“首选项”,选择“附加开发板管理地址”按钮。

这里写图片描述

3、添加网址:

https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json

这里写图片描述

4、打开“开发板管理器”,搜索“ATmega8”,选择版本,安装:

这里写图片描述

5、另一种方法:从网上下载Arduino ATmega8的支持文件,并按提示安装。


下载方法一:Arduino+USB ISP烧写器+PORGISP烧写软件

一、Arduino:

这里写图片描述

1、菜单“工具 ”→ “开发板”:选择 “ATmega8r”。 

2、菜单“工具 ”→ “BOD” :选择 “Disabled”。 

3、菜单“工具 ”→ “Clock”:如果使用外部晶振,选择 “16 MHz external”。如果使用内部RC振荡器,选择“8 MHz internal”。如果没有进行熔丝设置,则选择“1 MHz internal”。 

4、菜单“工具 ”→ “Compiler LTO” :选择 “Disabled”。 

5、菜单“项目 ”→ “导出已编译的二进制文件”。


二、USB ISP烧写器:

正确连接ATmega8单片机(参考熔丝烧录接法),并接入电脑。


三、PORGISP:

1、选择单片机为ATmega8。 

2、菜单“文件 ”→ “调入flash”,选择Arduino中导出的二进制文件。 

3、菜单“命令”→ “擦除”。 

4、菜单“命令”→ “写入flash”。 

5、菜单“命令”→ “校验flash”,校验成功后,即可接上设备看看运行效果了。


下载方法二:Arduino+使用Nano制作的下载器

一、使用Nano制作下载器:

1、将Nano接入电脑,打开Arduino,选择开发板为Nano,选择端口号(Nano的端口号,之后作为ISP下载ATmega8程序时也用这个端口号)。


2、打开示例文件:ArduinoISP

这里写图片描述

3、将示例文件编译上传,下载器制作完毕。


二、将ATmega8单片机连接到Nano下载器:

ATmega8 Pin 1 接 NanoPin 10(作为RESET接口,注意这里接的不是Nano的RST)

ATmega8 Pin 7 接 Nano 5V

ATmega8 Pin 8 接 Nano GND

ATmega8 Pin 17 接 NanoPin 11(作为MOSI接口)

ATmega8 Pin 18 接 NanoPin 12(作为MISO接口)

ATmega8 Pin 19 接 NanoPin 13(作为SCK接口)

三、在Arduino中下载(上传)程序:

  这里写图片描述 

1、菜单“工具 ”→ “开发板”:选择 “ATmega8”。 

2、菜单“工具 ”→ “BOD” :选择 “Disabled”。 

3、菜单“工具 ”→ “Clock”:如果使用外部晶振,选择 “16 MHz external”。如果使用内部RC振荡器,选择“8 MHz internal”。如果没有进行熔丝设置,则选择“1 MHz internal”。 

4、菜单“工具 ”→ “Compiler LTO” :选择 “Disabled”。 

5、菜单“工具 ”→ “端口” :选择 Nano 所在端口。 

6、菜单“工具 ”→ “编程器”:选择“Arduino as ISP”。

这里写图片描述

7、菜单“项目 ”→“使用编程器上传” 

8、下载(上传)完毕,OK,可以在ATmega8上接入设备试试效果了,HoHo~~。

推荐阅读

史海拾趣

First Switchtech公司的发展小趣事

面对日益激烈的全球竞争,First Switchtech公司(或类似公司)制定了积极的国际化战略。公司首先在欧洲市场设立了分支机构,通过深入了解当地市场需求和文化背景,成功推出了符合欧洲标准的电子开关产品。随后,公司进一步拓展北美、亚洲等市场,通过本地化生产和营销策略,实现了全球市场的覆盖。这一过程中,公司不仅提升了品牌知名度,还积累了丰富的国际市场运营经验。

ETC2公司的发展小趣事

ETC2公司深知服务对于企业的重要性,因此不断优化服务体系以提升竞争力。他们建立了完善的客户服务体系,为用户提供24小时在线客服支持,确保用户在使用过程中遇到问题能够及时得到解决。此外,ETC2公司还定期举办用户培训活动,帮助用户更好地了解和使用ETC设备。这些举措不仅提高了用户的满意度和忠诚度,也为ETC2公司赢得了更多的市场份额。

厦门法拉(faratronic)公司的发展小趣事

在追求商业成功的同时,FMI公司也积极履行社会责任,致力于环保和可持续发展。公司制定了一系列环保计划和程序,以确保在所有业务运营中保持环保意识。FMI的产品从设计到生产都遵循环保原则,采用环保材料和工艺,减少对环境的影响。此外,公司还积极参与行业内的环保活动,推动整个电子行业的绿色发展。这种负责任的企业形象为FMI赢得了社会的广泛赞誉和尊重。

CHONGQING PINGYANG ELECTRONICS CO.,LTD.公司的发展小趣事

2005年,重庆平洋电子有限公司迎来了一个重要的合作机会。经过严格的筛选和谈判,公司与海尔集团达成了先期采购协议,成为海尔集团在重庆市唯一一家免第三方认证的企业。这一合作不仅为公司带来了稳定的订单和收益,还进一步提升了公司的品牌影响力和市场竞争力。

ALPS公司的发展小趣事

在技术创新的基础上,重庆平洋电子有限公司积极拓展市场,不断提升品牌影响力。公司积极参与国内外各种电子展览和交流活动,与多家知名企业建立了战略合作关系。同时,公司还注重产品质量和售后服务,赢得了客户的信任和好评。随着品牌知名度的提升,公司的市场份额也逐年增长。

ASC Capacitors公司的发展小趣事

ASC Capacitors的创始人,凭借对电子行业的深厚情感和对电容技术的独到见解,于XXXX年创立了这家公司。他们深知电容在电子行业中的重要性,因此立志要打造一家专业制造高质量电容器的企业。从最初的几间厂房和几名员工,ASC Capacitors凭借坚韧不拔的精神和对技术的执着追求,逐渐在电子行业中崭露头角。

问答坊 | AI 解惑

太阳跟踪电原理

本电路可用在太阳能热水器、太阳能电池等自动跟踪太阳地设备设施上。稍加改动可用于其他的跟踪。本电路是本人精心设计的,PCB和软件暂不上传。若用商业使用,请通知我。xliu001@163.com 否则,属于侵权。(在专利申请中) …

查看全部问答>

神奇的光圈

神奇的光圈                                                 Magic Laser aperture http://www.lotusinvention.c ...…

查看全部问答>

请教:串口,并口,USB,PCI 哪个的相应速度最快?谢谢!

请教: 我发送的数据量不是很大,需要的是响应速度快 如 PC 向单片机端发数据,希望 单片机端快速响应 单片机端向 PC 端发数据,PC 端快速响应 串口,并口,USB,PCI 哪种最好啊 USB 怎么样? 比串口快,还是慢呢? 稳定不? 谢谢!…

查看全部问答>

小人刚接到一个项目,做一个Vxwork的IO驱动,有几点不是很明白,那位大虾能给解释下,不胜感激

一直做Linux驱动,Vxwork也做过一点,但IO驱动一直不是很明白,最近接手一个日本的XXX(没记住名字...)芯片开发,要用Vxwork,而且芯片API很简单,这片子本来不适用Vxwork,但客户要求,没办法了。 芯片本身定义了一个SIO东东的,提供对应寄存器配 ...…

查看全部问答>

[高手进来]C#调用vs2005 vc++ 智能设备编写的dll 出现的问题 急

vc++的“MFCDes.dll”导出函数 __declspec (dllexport)  bool DesGo(char *Out,char *In,long datalen,const char *Key,int keylen,bool Type = 0) 在c#中调用 DllImport(\"MFCDes.dll\", SetLastError = true)] public static exte ...…

查看全部问答>

LM3S8962是否支持linux下gdb调试开发?

有没有人用过? 就是那个LM3S8962开发板.…

查看全部问答>

电子看门狗

本帖最后由 jameswangsynnex 于 2015-3-3 20:03 编辑 如图所示为电子看门狗电路。它具有普通狗看守家门的本领。每当有人进入大门内10米监视区域,它就会发出逼真的狗叫声。这种叫声能维持10秒钟,如果此人不离开,电子看门狗便会一直叫下去 …

查看全部问答>

给位帮帮忙啊,有谁能给我个IAR软件啊,WIN7能用的

真的急用啊,网上找了很久了,实在没办法了,有的可以给我发到758626139@qq.com邮箱,先谢过了,还有破解注册机…

查看全部问答>

干燥除尘设备加热预热高频机

目前,很多厂家在生产干燥设备、储热设备、预热设备、换热器等时,还多用传统加热方式。而无论你所选用的是油气加热、氧气乙炔加热、液化气加热,煤炭加热、电炉加热、电烘箱加热等方式。都比感应式加热技术耗能多、效率低,且有的还存在环保问题 ...…

查看全部问答>

测试驱动开发:XP,敏捷方法的基础

不多说太多,测试,尤其是自动测试,对于高效创建软件,意义是非常重大的。 如何构筑测试? java有junit,C也不落后,C下有Unity,C++下有CppTest。 C下其实还有CUTest,CTest...... 而在这里,我把宝全押在 Unity下,因为我手头唯一能找到的比较 ...…

查看全部问答>