单片机复位电路
有时候我们的代码会跑飞,这个时候基本上是一切推到重来.”推倒重来”在计算机术语上称为复位.复位需要硬件的支持,复位电路就是在单片机的复位管脚上产生一个信号,俗称复位信号.这个信号需要持续一定的时间,单片机收到该信号之后就会复位,从头执行。
复位原理:
那么复位的原理是什么, 其实很简单,复位的工作其实是把寄存器的数值加载为默认值,,即恢复到开机的状态.由于单片机在运算过程中受外界干扰造成寄存器中数据混乱不能使其正常继续执行程序(称死机)或单片机的指令不按照程序执行而指向了未知位置(俗称跑飞),这时候就需要单片机复位一下,以使程序重新开始运行.
复位电路的设计:
复位电路的原理是单片机RST引脚接收到2US以上的电平信号,只要保证电容的充放电时间大于2US,即可实现复位,所以电路中的电容值是可以改变的。如何实现呢,下面是几种常见的复位电路:
第一种,复位电路
上电瞬间,由于电容两端的电压不能发生突变,所以电容两端的电位都是VCC(此时充电电流最大,电容相当于短路),即RST是高电平,而随着VCC通过RC电路对电容充电,当电容两端的电压达到VCC时,电容相当于断路(此时电容充电电流为0,即隔直流),RST的电平为低电平,单片机正常工作。
第二种复位电路:
上电瞬间,由于电容两端的电压不能发生突变,所以电容两端的电位都是GND,即RST是低电平,而随着VCC通过RC电路对电容充电,当电容两端的电压达到VCC时,RST的电平为高电平,单片机正常工作。
手动复位电路:
手动平复位电路
该电路同时也是一个上电高电平复位电路。单片机正常工作时,如果按下按键S1,复位引脚RST得到高电平,从而实现复位。
嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!
无偿分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!某鱼上买估计至少要好几十。(点击找小助理领取)
2.atmega16单片机
今天主要给大家介绍一下ATmega16,ATmega16是基于增强的AVR RISC结构的低功耗8 位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达1 MIPS/MHz,从而可以减缓系统在功耗和处理速度之间的矛盾。
从市场角度看AVR单片机:性价比:AVR大部分型号的性价比较高,性价比表现突出的型号有:atmega48、atmega8、atmega16、atmega169P。供货方面:通用型号的AVR供货较为稳定,非常规型号的AVR样品及供货仍存在问题。市场占有率:目前,AVR的市场占有率还是不如PIC与51,但,AVR的优点使得AVR的市场占有一直在扩展,AVR的年用量也一直在上涨。
ATmega16 具有一整套的编程与系统开发工具,包括:C 语言 编译器、宏汇编、 程序调试器/ 软件仿真器、仿真器及评估板。
ATmega16引脚图ATmega16是基于增强的AVR RISC结构的低功耗8 位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。
ATmega16 AVR 内核具有丰富的指令集和32 个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC 微控制器最高至10 倍的数据吞吐率。
ATmega16 有如下特点:16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512 字节EEPROM,1K 字节SRAM,32 个通用I/O 口线,32 个通用工作寄存器,用于边界扫描的JTAG 接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/ 计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP 封装) 的ADC ,具有片内振荡器的可编程看门狗定时器,一个SPI 串行端口,以及六个可以通过软件进行选择的省电模式。
工作于空闲模式时CPU 停止工作,而USART、两线接口、A/D 转换器、SRAM、T/C、SPI 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;ADC噪声抑制模式时终止CPU和除了异步定时器与ADC以外所有I/O模块的工作,以降低ADC转换时的开关噪声;Standby模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby 模式下则允许振荡器和异步定时器继续工作。
本芯片是以Atmel高密度非易失性存储器技术生产的。片内ISP Flash允许程序存储器通过ISP串行接口,或者通用编程器进行编程,也可以通过运行于AVR 内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用Flash存储区(Application Flash Memory)。在更新应用Flash存储区时引导Flash区(Boot Flash Memory)的程序继续运行,实现了RWW 操作。通过将8位RISC CPU与系统内可编程的Flash 集成在一个芯片内, ATmega16 成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。ATmega16 具有一整套的编程与系统开发工具,包括:C语言、编译器、宏汇编、程序调试器/软件仿真器、仿真器及评估板。
有人会问,ATmega16与 stc89c52单片机有何区别,首先要明确的一点是,ATmega16其实也算是一种单片机,但是又比stc89c52更加高级,具体区别如下:
1.架构不一样,avr的执行效率高。
2.带的flash,ram,eepom大小不一样。
3.stc89c52不支持在线烧录程序,A16支持isp在线下载
4.a16内带rc振荡,atc89c52必须外接振荡电路
5.a16带的外设多,有i2c,ad,da,pwm,通道数也不少
6.a16带有usart在线调试功能。
总结就是:avr就是51基础上的改进版
无偿分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!某鱼上买估计至少要好几十。
点击这里找小助理0元领取:加微信领取资料
Arduino入门 第一节 准备工作
1、初识Arduino板
在学习的开始阶段,我们应该对开发板有一个总体的认识,才能保证后面的学习顺利进行。接下来以较为常用的UNO板为例展开介绍,图中以红色框标注了各个需要认识的部分,并标注了数字编号,下面按编号对UNO板进行介绍。
Arduino UNO板
第“1”部分
在这一部分中,板上标注的0-13引脚为数字输入及输出引脚,即可输入或输出高(1)/低(0)电平,其中0号和1号引脚分别为UART串口的RX(接收)和TX(发送);前面加了“~”的接口为PWM接口,即DA功能,通过调整脉宽开实现功率的控制;10,11,12,13号引脚也作为SPI总线接口:(10(SS),11(MOSI),12(MISO),13(SCK)),它与图中的4号位置是联通的;AREF为AD(模数转换)转换提供外部参考电压,这一项需在程序中设置,AD转换才会以外部电压为参考,默认情况下为5V。
第“2”部分
这一部分主要为电源接口,IOREF为数字输入输出端口提供参考电压,以适应外部3.3V或5V的扩展电路板;RESET为复位引脚,即在不按下第“10”部分的复位按钮的情况下可以通过外部电平控制板子复位;3.3V和5V接口可以为外部接入的电路模块提供电源输入,VIN为外部电压输入,可以通过该口为整个系统供电,输入电压5-12V。
第“3”部分
这一部分为模拟输入引脚A0-A5,即AD(模拟转数字)转换输入引脚,当A0-A4引脚不作为AD转换引脚时,也可以作为普通的数字输入输出接口使用。
第“4”部分及第“8”部分
第“8”部分为主控芯片ATmega328单片机,图中的板子为“官方”版,主控芯片为DIP-28脚封装,目前的改进型则选用了贴片型的TQFP-32脚封装(与NANO板一样,但刷如的bootloader不一样,且NANO板的多出了A6、A7两个AD引脚)。第“4”部分为主控芯片的ISP程序下载接口,即可以用ISP程序下载器对主控芯片进行程序烧写,同时,它也是主控芯片的SPI总线接口。正常情况下我们给芯片烧录程序是通过USB连接第“6”部分,而当USB转TTL芯片(第“9”部分)损坏或者芯片的bootloader损坏时程序无法烧录,则可用ISP下载器连接该接口进行程序烧录,也可以用这个接口给芯片烧录bootloader。下图为ISP下载器:
ISP下载器
第“5”部分、第“6”部分及第“9”部分
第“9”部分为USB转TTL(串口UART)的转换芯片,图中的“官方”版选用了AT MEGA16单片机作为转换芯片(MEGA16自带USB接口),在改进型中则选用了CH340替代MEGA16,因为MEGA16要作为转换芯片中,也要刷烧录相应的代码,以CH340替换后则不需要烧录代码,简化了制造流程。第“5”部分为MEGA16的ISP下载接口,而在改进型中则取消了这个接口。第“6”部分为USB接口,也就是我们要用的程序下载接口,同时它也是板子和电脑进行串口通讯的接口。它实质上连接的是第“5”部分转换芯片的USB(D+\D-)接口,转换芯片将USB数据转换后用串口(UART)发送给主控,转换芯片连接的是主控芯片的TX及RX引脚。
第“7”部分为电源输入接口,这里的“+”与VIN引脚是联通的,输入电压为5-12V。
第“10”部分为复位按键。
其他的板子:NANO及MEGA2560将在后续的课程中提及讲解。
2、初始Arduino IDE
Arduino IDE就是我们进行编程的软件平台,我们可以在网络上免费下载获取,下载到的程序包有两种,一种是需要解压安装的,而另一种则只需要解压即可。在安装或者解压文件的根目录里面,我们可以找到名为“drivers”文件夹,里面包含了一些USB转串口的驱动文件,也就是上面第“9”部分提到的转换芯片对应的驱动文件,他们要与电脑建立通讯连接需要在电脑中安装驱动。这个文件夹里包含所有“官方”板所需的驱动文件,如果使用改进型的板子,如CH340芯片,则需自行下载CH340的驱动文件。在根目录里,我们可以找到如下图的图标:
将该图标发送到桌面快捷方式,我们可以在桌面上找到图标:
双击即可进入编程界面:
界面中空白的部分就是我们编写代码的区域,每次打开或新建一个文件,我们都能看到如图中一样的“模板”。从模板中可以看到,每个程序工程包含两大部分(函数):setup和loop。这两大块是不能多也不能少的,其中setup就是“初始化”,我们把程序中只需要执行一次的初始化代码放在里面,如引脚模式配置、串口启动及波特率设置等这些操作只需要执行一次。也就是说setup里面的代码,只有复位后或是上电后执行一次,随后则进入到loop中。而loop就是“大循环”,在它里面的代码会不停地循环执行,直到断电或按下复位键。setup及loop构成了一个主程序。
在编写好程序时候,我们可点击“√”图标先进行“编译/校验”,看看程序中是否存在“语法错误”。点击“√”后,系统会弹出一个“保存”对话框,我们可以根据自己的需要设置保存的位置以及工程文件的名称,注意文件名称中不能出现汉字及标点符号。如果程序正确无误,则可以用USB线连接板和电脑,如果USB转串口驱动安装正确,我们可以在“工具”栏的下拉菜单中看到“com”口,这里要注意的是,如果在电脑上连接了多个串口设备,一定选对com口,才能烧录程序。同时,在“工具”的下拉菜单中我们还应该正确地选择好“开发板类型”,如果是用的UNO板则选择UNO板,如果是NANO则选择NANO,如果选择的版型与连接的版型不一致,程序无法烧录。以上两项都选择好后,则可以点击“√”旁边的“→”,此时系统会再次对程序进行编译校验,然后再烧录。
串口选择
开发板选择
经过以上准备,就可以进入Arduino的入门仪式:点灯仪式—点亮一个LED。
相关问答
AVR ATmega 8 单片机 下载 程序 的过程-ZOL问答(2)STK500:ATMEL最推荐的编程方式,由于采用ATMEL官方的STK500固件,使得它可烧写全系列AVR(若对固件进行升级亦可支持未来的AVR型号),烧写速度非常快,支持AVRSt...
atmega 单片机 属于什么类型?ATmega8属于美国ATMEL公司AVR高档单片机成员之一,它具有AVR高档单片机的性能,且具有低档单片机的价格,深受广大单片机用户的喜爱尤其AV...ATmega8属于美国AT...
单片机Atmega 48/88/168和 Atmega 8/ 16 区别?您好:mega168是mega88的升级版本。mega48/mega88/mega168是一个系列的,只是存储空间大小不同,在GCC上统称为megax8。Atmega8/16是同系列的,只是存储空...
mega 88 单片机 介绍?ATmega88单片机是基于增强的AVRRISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega88的数据吞吐率高达1MIPS/MHz,从...
单片机 常见的触发类型?常见的有以下几种1、传统的51系列单片机。2、STC系列的增强型单片机,是在51的基础上增强的。3、AVR系列,以ATMEL公司的ATmega16为代表。4、PIC系列单片机...
aimega是什么厂家?Atmega8属于美国ATMEL公司AVR高档单片机成员之一,它具有AVR高档单片机的性能,且具有低档单片机的价格,深受广大单片机用户的喜爱尤其AVR单片机不需购买...Atm...
单片机 可以烧录多少次?烧录时要注意些什么?能烧录多少次看的是存储器类型:一般掩膜存储器就是一次,比方义隆单片机就是。有些单片机为了自身的保护,采用了OTP(Onetimeprogram程序设了熔断,只能一次...
protues什么芯片可以产生spwm波?Protues中有很多种芯片可以产生SPWM波,其中比较常用的是ATmega16单片机和NE555定时器芯片。ATmega16单片机可以通过对IO口的编程来产生SPWM波,可调节的占空比...
uno板功能详解?uno板的功能详解Arduino/GenuinoUno是基于ATmega328P的单片机开发板。它有14个数字输入/输出引脚(其中6个可用作PWM输出),6个模拟输入脚,16MHz晶振,US...
树莓派 芯片哪国的?所有基本功能,这就是Raspb...这一基金会以提升学校计算机科学及相关学科的教育,让计算机变得有趣为宗旨。基金会期望这一款电脑无论是在发展中国家还是在发...