如何给AVR单片机烧录程序
之前做项目有碰到过因为AVR单片机下载程序出错而导致程序无法正常执行。下面就教各位使用正确的方法来完整的烧录程序到单片机当中。注意此次选用的单片机是非常经典的Atmega328p,该单片机广泛用于各类项目中,同时也是开源平台Arduino的其中一款核心主控。
Arduino Nano
工具材料
USB ISP下载器
Win10/Win7 PC一台
下载软件Progisp
USB ISP
1. 将下载器接入电脑,另一端接入到板子的下载口。请注意,下载器的引脚一定要和板子上的引脚一一对应。
板子ISP接线图
2. 打开PROGISP文件夹,然后双击“progisp.exe”。
Progisp软件
软件界面
3. 芯片选择“ATmega328p”,单击右上侧“调入Flash”。
4. 弹出的对话框中选中已生成的.hex文件,再点击打开。
选中Hex文件
5. 此时下载软件中的编程方框按照下图的方式选择。
下载前设置
6. 接下来单击右下角的方框,会弹出一个新的窗口。
点击设置熔丝位
熔丝位配置选项
7. 按照下图的方式将每个框都勾选正确,然后点击右上角X退出即可。(注意,不同的单片机型号对应的熔丝位配置是不一样的,具体的配置请见具体的数据手册。)
Atmega328P的熔丝位设置
8. 然后点击软件上的“自动”按钮,下方信息框会显示正在上传程序。
烧录进行中
9. 待上传完成,本次程序烧录完成。
小5带你飞(1)—AVR单片机IO口位操作的方法(1)
闲来没事,将自己以前学习AVR单片机的一些笔记给大家整理出来,方便大家来一起学习。也争取每周能整理几篇出来。
此处我使用的单片机是AVR系列的,芯片为Atmega328p,具体资源请查看官网上的该芯片的datasheet。
好的,闲话就不说了,直接上正题,对于单片机来说,可能对io口的操作是最基本的能力了。
首先我们来看一下位的操作
按位或
其实就是置位
例如:PORTA |= 0x80;
只要有一个为1就为1了,是不是最高位置位了
按位取反
其实就是清位
例如:PORTA &= ~0x80;
两个全为1才为1 ,是不是最高位清位了
按位异或
其实就是实现位的翻转
例子:PORTA ^= 0x80
相同为0,不同为1, 是不是最高位翻转了
按位与
其实可以用来检测某一位是不是为1
例子:if(PINA & 0x80)
就可以用来检测PA.7是不是为1了
下面来看几个简单的程序例子:
哦,在写demo程序之前,可能还需要来讲一点别的,
我用的开发环境时winavr,然后使用usbasp将hex烧写进板子里面,不同的开发环境,可能使用的头文件有一些出入,后期我可能只展示一些核心代码了。
可能还要讲一下控制io的寄存器
atmega328p 这个mcu的io口都是标准的双向口,这个和51是有区别的。
在复位时,所有的端口都是高阻态,啥是高阻态,不知道可以度娘了。
每一个端口,都对应3个寄存器,分别是:DDRx PORTx PINx
来看看这三个寄存器的控制作用:
DDR : 选择引脚是输入还是输出
PORT : 当io口是输入的时候,它控制有无上拉电阻,当io口是输出的时候,它控制的输出的电平情况。
PIN :读管脚的电平
总结一下:io口初始化三部曲:
使用DDR来设置端口是输入还是输入
要是输出的话,使用PORT来设置输出的是高电平还是低电平
要是输入的话,使用PINx来读取管脚的输入值,同时可使用PORT来设置管脚是不是有上来电阻。不清楚上、下拉电阻的,以后我再出一个教程。
相关问答
在keil中怎么设置通过串口向 单片机 下载程序-ZOL问答有专门的单片机烧写软件的。那个软件的名字叫STC-ISPV391(你可以下载个更高版本的)的,你的开发板里面应该自带下载软件的啊!如果你用的下载下是USB转串口的线...
avr单片机 和51的区别?①AVR单片机(ATmega16)的时钟源(晶振、内部RC等)可以不经过分频直接提供给CPU使用,而51的CPU主频等于晶振的12分频,ATmega16外部提供16M的晶振,所以AVR单...
老师们!谁能给我说一下!怎样区分51 单片机 开发板和 AVR单片机 ...[回答]开发板可以有效的提高学习效率,缩短研发进度。打开开发板的时候,请首先看下板子的相关的配件。把MiniUSB连接到单片机开发板上。我们下载的时候,单...
avr单片机 开发板安装好驱动之后,打不开串口,设备管理器上显...固态硬盘讨论回答(3)设备坏了你好!你的驱动安装不成功,开发板是无法使用的,也许你的驱动和你的系统不兼容;你在什么地方买的开发板,直接和他们去交涉吧!驱...
AVR单片机 刚刚上电的时候未控制的I/O口将默认为高还是低电平?默认是输入状态,高低电平由管脚引出的外围电路决定。默认是输入状态,高低电平由管脚引出的外围电路决定。
什么品牌的 单片机 开发板比较好?软件简介:KeilMDKuVision4是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统c语言的语法来开发,与汇编相比,C语言在功能上...
童鞋们!请推荐! 单片机 开发板怎么使用?仪器仪表 单片机 开发专...[回答]单片机开发板是一个简单的硬件系统,和手机、MP3等设备是不一样的,如果想和电脑通讯,需要先将编好的串口程序写入单片机,然后在电脑上安装一个“串口...
单片机 芯片有哪几种?1.MCS-51系列Intel公司生产2.61单片机3.AVR单片机4.MSP430超低功耗单片机德州仪器(TI)公司生产1.MCS-51系列Intel公司生产2.61单片机3.AVR...
单片机 芯片有哪些类型?有以下七种类型:1、MCS-51系列Intel公司生产2、61单片机3、AVR单片机4、MSP430超低功耗单片机德州仪器(TI)公司生产5、PIC单片机MicroChip公司生产6、飞....
单片机 有哪些型号?型号多了去了。只能跟你说类型的。1:51结构的有Atmel的AT89CXX系列、AT89Sxx系列、AT89C20系列(20引脚);STC的所有单片机都是51结构的。还有合泰的,笙泉的...