这段时间搞了个arduino玩,感觉买的板子不过瘾,照着网上的教程折腾Arduino最小系统,过程非常曲折,现将部分内容总结记录下来,以备日后查阅。

参考文章:Arduino 1.0——让最小系统更简单

最小系统的电路连接方法可参照参考文章内容,这里只讲实际操作,确保你跟着做就能成功,理论知识请各位自己百度学习。我这里使用的芯片是Atmega8A-PU,用的是8M的外部晶振,没有使用教程里的方法下载程序,用的是直接修改芯片熔丝的方式让芯片支持外部晶振。

经本人测试,芯片内部本来就自带晶振,就算不接外部晶振,只要接通电源,芯片一样能够正常运行,我觉得这才是真正意义上的最小系统,但是貌似芯片默认的内部晶振频率是1M,程序运行起来,时间会变得很慢,程序中延迟1s,实际运行结果会延迟好几秒,可通过修改熔丝的方式将内部晶振最高设置成8M(这里设置只针对Atmega8A-PU芯片,其它型号芯片没试过)。

下面说一下整个过程:

首先连接电路,参考文章中使用的是USBtinyISP,我这里使用的是淘宝淘的免驱USBISP,接线方式是一样的,按照文章内的针脚连接线路,我这里使用了一块面包板,线路接好后如(图1-1)所示:

【USBISP烧写器】

【图1-1】

然后我们到智峰科技下载一个叫progisp的软件,我这里下载的是最新的1.72版本,下载地址:progisp 1.72,安装完毕后,打开progisp,如(图1-2)所示。

【图1-2】

接上USBISP设备后,系统将自动设别设备,图中(2)位置灰色图标会点亮,说明设备正确识别,在图(1)位置选择所用的芯片,这里使用的Atmega8A,然后点击图(3)位置按钮,弹出熔丝编辑对话框,如(图1-3)所示。

【图1-3】

点击三个"读出"按钮,可读出当前芯片的熔丝设置,点击"向导方式",弹出向导对话框,如(图1-4)。

【图1-4】

里面是熔丝设置向导,可通过直接勾选选项来设置熔丝,其它选项我们先不做说明,先看看晶振相关的选项,我们可以看到芯片默认是使用"内部RC振荡器(1MHz)",如果我们想要使用8M的内部晶振,我们可以选择"内部RC振荡器(8HMz)"选项,我们会发现,随着你勾选不同的选项,下面的低位值会做相应的改变,8A的芯片貌似最高也就只能支持8M的振荡器,不论是内部的还是外部的。如果选择了内部8MHz的振荡器选项,发现芯片通上电后,仍旧无需外接振荡器也能正常使用,而且之前的时间不准的问题得到改善,但是否精确,这里我也没有去做测试。这次我们的任务是让我们的芯片支持外部的8M振荡器,经测试,要选择第一个"外部晶振(3.0-MHz)",如图(1-5)所示。

【默认内部1MHz的RC振荡器】

【内部8MHz的RC振荡器】

【图1-5】

或者在位配置方式对话框,按照(图1-6)所示配置,配置完毕后,点击"写入"按钮,将熔丝设置写到芯片中,这里一定要确保配置准确无误后才可点击写入按钮,否则可能造成芯片锁死,写入完毕后,由于还没有外接晶振,所有此时再次读取芯片熔丝可能会弹出如(图1-7)提示。

【图1-6】

【图1-7】

此时我们将外部晶振和电容接到芯片上,如(图1-8),再次读取熔丝,数据读取正常,说明熔丝位写入正确,外部熔丝正常工作。

【图1-8】

然后就可以按照参考文章里面的测试案例去测试芯片是否工作正常了,注意参考文章里使用的的arduino软件版本,本人亲测必须使用1.0的旧版本,高版本的软件刷写会报错,不知道是所有人都这样还是只有我是这样。

注意:直接修改熔丝位会造成芯片锁死,本人之前就不小心把芯片锁死了,解锁方法虽然有很多种,但是都比较麻烦,最简单的就是使用高压并行编辑器进行解锁,淘宝有卖,也可以自己做,如果喜欢自己折腾可参照<<实战ArduinoUNO制作高压编程器恢复Atmega8熔丝>>自己做一个,本人亲测,效果不错,妈妈再也不用担心我锁芯片了~~~

欢迎各位加群254267969,共同交流学习~

让Atmega8A-PU 支持外部晶振的熔丝设置相关推荐

  1. stm32不使用外部晶振管脚怎么处理_外部晶体振荡器被旁路的原理和原因

    单片机的外部晶振稳定,受温度,湿度等环境因素影响比内部振荡器小,精度比较高.而且当设计需要降低功耗时,比如说便携式仪表等,就需要外设晶振,因为内部振荡器不能根据需要停止,而外部晶振可以适时停止,从而进 ...

  2. STM32 F103 外部晶振8M改为12M

    stm32 实现外部晶振变换有2种方法: 第一种修改系统库函数: 第一步,打开stm32f10x.h,将  #define HSE_VALUE    ((uint32_t)8000000)  修改为: ...

  3. stm32不使用外部晶振管脚怎么处理_stm32103如果不用32k晶振,那引脚是悬空还是接地?...

    如果使用内部RC振荡器而不使用外部晶振,请按照下面方法处理: 1)对于100脚或144脚的产品,OSC_IN应接地,OSC_OUT应悬空. 2)对于少于100脚的产品,有2种接法: 2.1)OSC_I ...

  4. 单片机外部晶振-XTAL和EXTAL引脚

    文章目录 1 单片机外部晶振-XTAL和EXTAL引脚 1.1 有源晶振 1.2 无源晶振 1.3 问答时间 - 传送门 ==>> AutoSAR实战系列300讲「糖果Autosar」总目 ...

  5. stm32启用内部晶振(stm32设置外部晶振)

    STM32中的晶振电路有什么作用 stm32  有两个可接入的外部晶振,自己内部也有低俗的晶振.举个例子,手册也有说明低速主要给RTC使用了,高速是给一些外设及内核提供时钟元,内部的主要是给看门狗用或 ...

  6. STM32F105、107RB使用外部晶振8M时配置外设时钟为72M

    转发:STM32F105RBT6使用外部晶振8M时配置外设时钟为36M_yunke120的博客-CSDN博客 STM32F105.107属于互联型芯片在stm官方库文件设置中默认外接晶振为25MHZ, ...

  7. STM32F030 RTC内部晶振/外部晶振/闹钟

    [一]RTC初始化函数,用宏定义设置内部/外部晶振,使用主频晶振8MHz,外部RTC晶振32.768KHz. /******************************************** ...

  8. stc8实用外部晶振程序

    stc8实用外部晶振程序@ stc8实用外部晶振程序(这里写自`#include "stc8f.h" #include "intrins.h" //测试工作频率 ...

  9. stm32F103采用内部晶振8MHz时钟和外部晶振初始化代码

    使用HSE配置系统时钟(stm32F10x 系列 外部晶振一般为4M–25MHz,具体见芯片手册) 首先需要复位RCC寄存器! 使能HSE 判断HSE是否启动成功 使能预取指 设置FLASH等待周期 ...

最新文章

  1. 推荐一款最好的服务器备份软件
  2. mysql的字符集设置为什么_为什么Mysql默认的字符集都是latin1
  3. 搅动金融科技的人工智能,能否颠覆支付格局?
  4. C++_系列自学课程_第_9_课_C语言风格字符串_《C++ Primer 第四版》
  5. PHP (20140505)
  6. 用户注意到用户计算机中千兆位网卡,为何你电脑上的千兆网卡跑不到千兆?
  7. mysql sql优化入门_Mysql入门SQL 语句优化方法30例
  8. c# Winform应用程序开发规范
  9. 每天早上喝一杯豆浆不吃饭,一个月后会是什么反应?
  10. Error generating final archive: Debug certificate expired on的解决办法
  11. AndroidManifest.xml 注意事项
  12. Java毕设项目水果网店管理系统(java+VUE+Mybatis+Maven+Mysql)
  13. 【Unity】UI面板:倒计时器
  14. 《BPF( 伯克利数据包过滤器 ) Performance Tools》 第二章 技术背景
  15. 循环彩灯c语言程序,PLC彩灯实例,一个简单的顺序控制
  16. Windows xp开机时不显示用户名导致无法登录的错误处理方法
  17. 输入快递单号查询不到物流怎么办
  18. javac错误: 找不到符号或程序包XXX不存在
  19. 手指静脉图像采集终端的设计和实现
  20. 美团2021校招笔试题 最优二叉树II

热门文章

  1. win10电脑找不到WLAN的解决方法(不显示附近wifi)
  2. 上映半个月,微博热搜近10次,长歌行的魅力到底在哪 ?
  3. 【转帖】赤壁之战,曹操大败只因缺了Service Mesh
  4. 如何破解Win7的电脑登录密码?
  5. js里如何将字符串转成正则表达式
  6. 不懂代码如何制作公司网站—壹间网络
  7. 国内外IoT系统介绍
  8. 再一次和新同事们谈谈看法
  9. 人脑能用计算机算法吗,电脑到人脑,计算机必不可少的4大思维
  10. 传奇链改游戏开发(传奇复古MIC)链游市场分析全面测评