ATmega16最小系统
- 格式:docx
- 大小:1.97 MB
- 文档页数:32
1.概述本单片机小系统板为一单元实验板,使用一颗基于A VR构架的A Tmega16单片机。
A Tmega16有16KB的程序存储空间,1KB内部SRAM,512B内置EEPROM。
外部共有32个GPIO,一路USART,一路主从SPI,一路I2C,两个8位定时器,一个16位定时器,4通道PWM输出,8路10位AD输入。
还有各种丰富的管脚中断和不同的时钟可供使用。
2.硬件说明1.本单片机小系统板的电源输入电压为DC 2.7--5V,科创课程实验建议使用DC 5V。
2.小系统板上的P1为下载口,可供程序烧录、eeprom数据读写、熔断丝设置。
3.小系统板上的接插件PB、PC、PD分别对应A Tmega16芯片引脚的PB、PC、PD口。
PB、PC、PD口是八位数据端口,可作为通用IO口,也可用作第二功能使用,具体请参见datasheet的相关部分。
4.小系统板上的接插件PA的1-5脚分别连接A Tmega16芯片PA口的PA0-PA4,PA0-PA4是AD转换的模拟电压输入端口,也可作为通用IO口使用。
5.小系统板上的接插件PA的9脚连接A Tmega16芯片的V ref ,10脚接地。
A Tmega16有一个标称值为2.56V的内部基准源,每颗芯片的实际值会有所不同。
6.A Tmega16 PA口的PA5-PA7作为串行数据输出到小系统板上的74HC595上,有二片74HC595驱动4位数码管和4个LED灯。
小系统板上的P2作为串行数据输出总线,可级联74HC595。
7.小系统板上的四个按钮SW1-4分别连接在A Tmega16芯片PC4-7。
按钮RST为复位键。
3.开发环境推荐的入门开发环境为A VR studio 4 + WinA VR,即使用Atmel的免费IDE A VR studio 4和基于gcc的WinA VR编译器。
软件安装这两个软件的安装非常简单,双击之后一路回车即可。
官方下载地址:A VR studio 4:/dyn/products/tools_card.asp?tool_id=2725WinA VR:/projects/winavr/files/课程FTP://202.120.39.248也会提供软件包。
AVR基本硬件线路设计与分析(ATmega16功能小板)基本的AVR硬件线路,包括以下几部分:1。
复位线路2。
晶振线路3。
AD转换滤波线路4。
ISP下载接口5。
JTAG仿真接口6。
电源下面以本网站推荐的AVR入门芯片 ATmega16L-8AI 分析上述基本线路。
(-8AI表示8M频率的TQFP贴片封装,工业级,更详细的型号含义资料,请参考:AVR芯片入门知识)复位线路的设计Mega16已经内置了上电复位设计。
并且在熔丝位里,可以控制复位时的额外时间,故AVR外部的复位线路在上电时,可以设计得很简单:直接拉一只10K的电阻到VCC即可(R0)。
为了可靠,再加上一只0.1uF的电容(C0)以消除干扰、杂波。
D3(1N4148)的作用有两个:作用一是将复位输入的最高电压钳在Vcc+0.5V 左右,另一作用是系统断电时,将R0(10K)电阻短路,让C0快速放电,让下一次来电时,能产生有效的复位。
当AVR在工作时,按下S0开关时,复位脚变成低电平,触发AVR芯片复位。
重要说明:实际应用时,如果你不需要复位按钮,复位脚可以不接任何的零件,AVR芯片也能稳定工作。
即这部分不需要任何的外围零件。
晶振电路的设计Mega16已经内置RC振荡线路,可以产生1M、2M、4M、8M的振荡频率。
不过,内置的毕竟是RC振荡,在一些要求较高的场合,比如要与RS232通信需要比较精确的波特率时,建议使用外部的晶振线路。
早期的90S系列,晶振两端均需要接22pF左右的电容。
Mega系列实际使用时,这两只小电容不接也能正常工作。
不过为了线路的规范化,我们仍建议接上。
重要说明:实际应用时,如果你不需要太高精度的频率,可以使用内部RC振荡。
即这部分不需要任何的外围零件。
AD转换滤波线路的设计为减小AD转换的电源干扰,Mega16芯片有独立的AD电源供电。
官方文档推荐在VCC串上一只10uH 的电感(L1),然后接一只0.1uF的电容到地(C3)。
测控技术与仪器论文专业:测控技术与仪器基于PID的液位调节器设计摘要PID控制器主要适用于基本线性和动态特性不随时间变化的系统,它是一个在工业控制应用中常见的反馈回路部件。
PID液位调节器是基于PID控制器原理的、可以根据历史数据和差别的出现率来调整输入值的装置。
它可以使系统更加准确,更加稳定的控制液位。
通过数学方法证明,在其他控制方法导致系统有稳定误差或过程反复的情况下,一个PID反馈回路却可以保持系统的稳定。
因此,PID液位调节器广泛应用于工业生产和日常生活之中。
作为重要的被控量之一的液位,其控制系统引人关注。
本文设计了液位调节系统,该系统以ATmega16L单片机作为控制核心,实现液位自动调节和液位显示。
设计液位控制系统操作方便、性能良好,能够对液位进行有效的控制。
本文还详细的给出了部分相关的硬件电路图和软件流程图,并编制了C语言程序。
关键词:AVR单片机;PID调节器;液位控制ABSTRACTPID controller mainly suitable for basic linear and dynamic characteristics of the system does not change over time, it is a common in application in industrial control feedback loop components. And other simple control operations according to different PID adjustor, historical data and the difference between the rate to adjust the input value, can make the system more accurate, more stable. Through mathematical methods in other control methods, cause the system has stable error or process repeated instances, a PID feedback loop can keep the system stability. Therefore, PID control widely used in industrial production and daily life.As one of the important accused of quantity, the control system of the level of attention. This paper designs a level system, the system to ATmega16L microcontroller asthe core to realize automatic adjustment and level shows level. Design level control system, convenient operation, good performance, and can effectively control level. The paper also gives a detailed parts related hardware circuit and software flow chart, and the C programming language.Key words:AVR microcontroller; The PID regulator; Liquid level control目录1 绪论.................................. 错误!未定义书签。
单片机最小系统脱机电路原理一、前言单片机最小系统脱机电路是指将单片机从计算机上拆下来,通过外部电路实现单片机的工作。
这种方式可以实现对单片机的独立编程和调试,具有很高的灵活性和可靠性。
本文将详细介绍单片机最小系统脱机电路的原理和实现方法。
二、硬件组成单片机最小系统脱机电路包括以下硬件组成:1. 单片机芯片:选择常用的AT89C51或ATmega16等型号。
2. 时钟电路:用于提供系统时钟信号,常用的有晶振和RC振荡器两种。
3. 外部存储器:用于存储程序代码和数据,常用的有EPROM、FLASH、RAM等。
4. 电源模块:提供稳定可靠的直流电源,保证整个系统正常工作。
5. 外设接口模块:包括串口、并口、LCD显示屏等接口模块,用于与外部设备进行通信或数据交换。
6. 调试接口模块:包括ISP下载接口和仿真调试接口两种,用于烧录程序代码和进行仿真调试。
三、时钟电路设计时钟信号是单片机运行的基础,它控制着单片机内部各个模块的工作节奏。
常用的时钟电路有晶振和RC振荡器两种。
1. 晶振时钟电路晶振时钟电路是一种稳定性高、精度高的时钟源,适用于对时间精度要求较高的场合。
其原理是利用石英晶体在机械应力下产生的压电效应来产生稳定的频率信号,再通过放大器等电路将其转换为方波信号。
晶振时钟电路包括晶体、放大器和负载电容三部分。
其中,晶体是整个电路的核心部件,常见的有4MHz、8MHz、12MHz等不同频率的晶体。
2. RC振荡器时钟电路RC振荡器时钟电路是一种简单、经济、易于实现的时钟源,适用于对时间精度要求不高的场合。
其原理是利用RC网络产生周期性变化的信号,并通过滤波和放大等技术将其转换为方波信号。
RC振荡器时钟电路包括RC网络、比较器和放大器三部分。
其中,RC 网络由一个固定值的电阻和一个可变值的电容组成,可根据需要调节频率。
四、外部存储器设计外部存储器是单片机最小系统的重要组成部分,它决定了单片机能否正常运行和存储程序代码和数据的容量。
智能小车的制作摘要智能小车控制系统选用A VR-ATMEGA16单片机为控制核心,通过光电编码器对小车速度进行检测,将速度反馈给单片机,由单片机对小车驱动直流电机进行转速控制,从而控制小车的速度并且通过控制PWM脉冲占空比对小车的速度进行调节。
采用红外线对管对小车运行路线进行检测保证小车延预定路线行驶。
经多次测试调整,实际测试中甲车和乙车分别从起点标志线开始,在行车道各正常行驶一圈,甲、乙两车按预定轨道位置同时起动,乙车通过超车标志线后在超车实现超车功能,并先于甲车到达终点标志线,即第一圈实现乙车超过甲车。
实现了基本要求和部分发挥部分。
关键词单片机A VR-ATMEGA16;红外线对管;车速检测;L298驱动1 方案确定智能小车控制系统选用A VR-ATMEGA16单片机为控制核心,通过光电编码器对小车速度进行检测,将速度反馈给单片机,由单片机对小车驱动直流电机进行转速控制,从而控制小车的速度并且通过控制PWM脉冲占空比对小车的速度进行调节。
当按键按下时,启动小车运行,小车运行过程中由装在车身的红外线对管,检测起始标志线、转弯标志线、超车标志线,将检测到的信号后送给单片机,由单片机控制L298驱动左右轮的电机,来控制电机进行转弯、加速、减速、超车区超车等功能。
光电编码器测出两轮电机的转速,送回给单片机来调整小车的行进速度。
2 单元电路设计2.1 最小系统电路最小系统选用A VR-ATMEGA16,主要用于对各个模块进行控制,以保证每个模块正常运行,此模块为整个系统的控制核心,通过IO口对接受和发送数据,来实现控制,包括控制PWM波的占空比来控制电机的转速,光电编码器将测得的电机转速送回单片机,红外线对管检测的信息送回单片机,来控制小车按要求进行。
2.2 电机驱动电路设计过程,由于主控芯片上没有自带的PWM控制器,通过设计硬件电路和软件产生PWM波对电机进行控制。
首先芯片通过PWM信号开启关闭通道,电路的有效值功率P如式1所示,只要控制占空比就可改变电机的驱动功率,由单片机的模块发出不同占空比的信号来控制行进电机,按照要求转动。
AVR ATmega16 V2.5 最小系统板使用说明开发板简介:A VR ATmega16 最小系统板是A VR与虚拟仪器()开发的供新手学习和开发的功能板,历经多次改版,精益求精,现已经是一块非常稳定和完善的开发小板,目前版本V esion2.5。
开发板的资源:1、复位电路,采用经典的复位线路,稳定可靠。
2、晶振电路,板上带7.3728M晶振,可以产生标准波特率,方便串口通讯;预留一个晶振接口,可以通过跳线接其他晶振。
3、电源稳压电路,可接受输入电压范围是7~12V。
4、AD转换滤波线路,稳定的AD参考电压源,可以使你的AD转换结果更准确。
要使用外部参考电压做AD转换时,请将JP1短接,此时AREF与外部参考电压连接。
注意:JP1短接后,不可使能内部参考电压,否则芯片内部会短路。
5、ISP下载接口,标准的10 Pin下载接口,用于ISP/TK500方式下载,接口定义如下:6、JTAG下载接口,标准的10 Pin下载接口,可以通过JTAG仿真器方便的进行7、串口(USART)电路使用串口的时候,需要连接跳线JP2,当1和2连接,3和4连接的时候处于PC与单片机通讯状态,当1和3连接,2和4不连接的时候,MAX232处于自发自收的状态,串口调试助手发什么数据,就能返回什么数据。
8、方便的IO口扩展,开发板下面有两旁插针,可以直接插在万用板上,使用方便;开发板右侧有两排插针,可通过杜邦线方便的连接,引脚定义如下:VCC GNDA VCC GNDAREF RESTXTAL1 XTAL2PB0 PB1PB2 PB3PB4 PB5PB6 PB7PD(0~7)PA(0~7)PC(0~7)使用说明:1、拿到开发板后,请检查跳线的位置,如果使用外部晶振,晶振的跳线一定要接。
2、给开发板供电7~12V,就可以开始使用了,用下载线或者仿真器给它写程序。
3、ISP下载接口的使用:/start/guide_jtag_download.html4、JTAG在线调试:/start/guide_avr_studio_debug_quick_start.html5、熔丝位的使用,除了特殊应用之外,拿到新的芯片之后只需要更改一个选项,及选中熔丝位Ext. Crystal/Resonator Medium Freq的最后一个即可,请参考,熔丝位快速注意事项:1、跳线的连接一定要正确,晶振选择跳线Y1/Y2,AD转换参考电压源选择JP1,串口通讯跳线JP2,电源供电电压选择JP3。
AVR单片机ATmega16最小系统电路图
编辑:D z3w.C o m文章来源:网络我们无意侵犯您的权益,如有侵犯
请[联系我们]
下面以本网站推荐的A V R入门芯片A T m e g a16L-8A I分析A V R单片机最小系统基本电路。
(-8A I表示8M频率的T Q F P贴片封装,工业级)
1.复位线路
2.晶振线路
3.A D转换滤波线路
4.I S P下载接口
5.J T A G仿真接口
6.电源
点击查看各部分原理分析
提示:点击图片看原图
M e g a16开发板外观图
我们将此设计图,制作成了以下的M e g a16功能小板。
以后我们网站的所有新手入门范例,及应用范例,大部分会以这块小板作为实验板。
正面图:晶振可以使用螺丝固定的方法更换,方便做实验,并达到一定
的可靠性。
V C C,G N D均有一测试针。
底部图:为了方便实验,我们将这块小板的输出脚,按直插A T m e g a16的管脚排列定义。
为防止不小心掉到地上导致插针折断,加装了一只40脚的圆孔I C座做保护。
如果不小心折断,可以方便地更换圆孔I C座。
基于ATmega16 单片机的微型气象探测系统设计-设计应用摘要:设计了一种便携式低功耗微型气象探测系统,该系统以低功耗ATmega16单片机作为控制部件,采用温湿度传感器、气压传感器以及光强度传感器,进行温度、湿度、气压和光照强度的测量;通过12864液晶、时钟芯片和E2PROM实现数据的显示、存储和查询。
实验测试结果表明该微型气象探测系统的测量精度达到了普通气象测量要求,稳定性高。
由于该气象探测系统具有微型化、低功耗、实时化和便携式等特点,因而特别适用于小区域的气象监测。
0引言气候变化使得我国干旱,洪涝等自然灾害更加严重,提高我国的气象探测能力,有助于增强我国灾害预警和人工影响天气能力。
因此,气象要素测量系统开发研究具有重要的意义。
目前很多地区气象要素的测量大多依靠当地天气预报,然而天气预报地域范围较广,无法到小区域的气候测量。
而搭建气象台成本较高,性价比低,因此设计一种微型化,便携式的综合气象探测系统就显得十分必要。
针对以上问题本文设计了一种便携式气象探测系统,该气象检测系统可以有效地测量小区域的温度、湿度、气压、光照强度等气象参数,精度可达到普通气象测量要求,还有显示、存储、回溯查询的功能,具有低功耗、微型化、便携式、低成本的特点,适应于各种小区域的气象测量,具有一定的实用价值。
1系统设计和工作原理本气象测量系统以低功耗AVR单片机ATmega16作为控制部件,如图1所示,由温度测量模块、湿度测量模块、气压测量模块、光照强度测量模块、时钟芯片、E2PROM、液晶显示和独立按键等模块组成。
通过各个传感器将温度、湿度、气压、光强度转化为电信号,利用单片机处理后得到测量数据,并在液晶上显示。
通过E2PROM和独立按键实现数据的存储和查询。
按下存储键,储存各个测量数据和时钟芯片得到的当前时间;按下查询键,查询以前存储的测量数据。
同时该系统还具有自动测量功能,自动测量时,关闭液晶,测得数据每30min存入E2PROM。
目录第一章概述第二章单片机最小系统及编译、下载软件的使用2.1.1 单片机最小系统2.1.2 编译软件2.2.1 下载软件Progisp的使用第三章熟悉ATmega16的片上资源3.1.1 会看芯片数据手册的重要性3.1.2 中断3.1.3定时器/计数器的基本结构及工作原理3.1.4 PWM3.2外部中断3.3 USART3.4.1 A/D转换模块3.5 EEPROM第四章ATmega16实际应用4.1 外接按键4.2 驱动数码管4.3 液晶显示屏12864的使用4.4 基于DS18B20的温度测量4.5 基于PWM的直流电机调速4.6 步进电机的使用4.7 舵机的使用4.8 超声波测距及其应用倒车雷达4.9 基于JZ863的无线串口通信4.10 单片机与计算机间的通信第五章第二章单片机最小系统及编译、下载软件的使用2.1.1 单片机最小系统能让单片机工作的有最基本元器件构成的系统称为单片机最小系统。
单片机最小系统通常包括:电源(+5V)复位电路:启动后让单片机从初始状态执行程序振荡电路:单片机是一种时序电路,必须施加脉冲信号才能工作。
Mega16内部有RC 震荡电路但相比外部的晶体震荡电路还是不够准确,另外它也可以使用外部晶振工作,两者之间的切换通过熔丝位(以后会讲)来选择在其内部有一个时钟产生电路只要接上两个电容和一个晶振即可正常工作。
ATmega16 单片机最小系统的硬件电路图如下:如图所示为ATmega16最小系统电路图,图中标有相同代号的引脚表示连接在一起。
图中ISP 和JTAG为ATmega16的两种下载方式各自的引脚接口,ISP用于在线下载程序比较方便快捷,所用下载软件为progisp ;JTAG是在线仿真接口通过仿真器连接单片机进行程序的下载和仿真,所用软件为AVR Studio ;通常我门使用ISP下载就已经足够了,并且方便快捷很稳定好用,下载器也便宜;JTAG在需要仿真的时候用,它可以看见单片机各个引脚的输出值和输入值等,但JTAG实际定使用中不稳定有时候很容易出错电脑不识别下不进去程序等问题,个人偏好使用ISP.说明:此最小系统电路图中只画出了最简单的应用电路——流水灯,和最基本的能让单片机正常工作的外围电路及下载程序所必须的ISP和JTAG接口,如果你想焊一个电路板出来自己使用,其他的外围电路可以在日后使用当中自己再往上焊。
2.1.2 编译软件AVR单片机的编译软件有GCC AVR和ICC AVR等,通常使用较多的是ICC AVR,也比较好用,本书以ICC AVR6.31版本为例介绍编译软件的使用。
编译步骤如下:1.新建一个工程启动ICC AVR,界面如图2-1-1所示。
然后新建一个项目,选择Project项再选则New菜单项,则打开界面如图2-1-2所示。
图2-1-1 ICCAVR主界面图2-1-2注:新安装的软件由于为建立过工程和文件界面与图2-1-1中所示不完全相同为了自己使用方便在保存工程时最好单独新建一个文件夹。
接下来”文件名(N):”文本框中输入项目名称,保存为.prj格式。
本书中此处保存为ATmega16.然后点击如图2-1-1中的File选项再选择New,界面此时会变为如图2-1-3所示2.新建一个C程序图2-1-3此时编写一个最简单的和前面最小系统版配套的C程序,如图2-1-4所示,程序如下/////////////////////////////////////////////////////////////////// AVR ATmega16 流水灯C程序//// 环境:ICC AVR 6.31 //// 日期:2011/09/14 //////////////////////////////////////////////////////////////////#include <iom16v.h> //包含单片机型号头文件#include <macros.h> //包含"位"操作头文件void delay(void) //自定义延时函数{unsigned char i,j;for(i=0;i<255;i++)for(j=0;j<10;j++);}void cpu_init(void) //单片机初始化函数{PORTA = 0x00; //PA口输出值都定义为0DDRA = 0x00; //PA口输出允许关PORTB = 0x00; //PB口输出值都定义为0DDRB = 0x00; //PB口输出允许关PORTC = 0x00; //PC口输出值都定义为0DDRC = 0x00; //PC口输出允许关PORTD = 0x00; //PD口输出值都定义为0DDRD = 0x00; //PD口输出允许关}void main(void){cpu_init(); //初始化单片机while(1){PORTA=0X00; /*点亮led灯,由最小系统的外部电路决定单片机输出低电平时流水灯点亮*/DDRA=0XFF; /*允许输出,此时PORTA的赋值才有效,这事AVR比51高级的地方*///由于其他端口没有接外围设备先不用定义delay();DDRA=0X00; //关闭led灯delay();}}/*****************************************************************************/ /* 另外最好先定义PORTX的值再给DDRX赋值,因为如果先打开DDRX允许,则PORTX*/ /*中原来的的值会输出,再给PORTX赋值的话其实在这段时间内*/ /* 该端口已经有输出值但不是你后来设定的PORTX的数值,如DDRA=0XFF;PORTA=0XFF;*/ /*和PORTA=0XFF;DDRA=0XFF;两条看似一样的语句在有*/ /* 写地方作用结果就会不一样,在有些控制要求严格的地方容易出现错误,即使我们平*/ /*时使用没出现错误我们平时做事也要有一个严谨的态度*/ /*****************************************************************************/图2-1-4接下来单击图中磁盘符号保存,界面如图2-1-5所示图2-1-5输入你要保存的文件名,注意文件名结尾必须是.c格式,本书中命名为2-1-2.c ,接下来点击保存即可。
界面变为如图2-1-6所示图2-1-63.添加C程序到工程接下来要把文件添加进你刚才创建的工程里去,右键点击如图2-1-6中所示右面Project下ATmega16工程下的File文件夹选择Add File(s)选项,会弹出一个对话框界面变为如图2_1_7所示图2-1-7此时打开你开始创建的C程序保存的文件夹,选择你刚才创建的程序点击打开即可,这事程序成功的添加到工程里的File文件夹里。
如下图2-1-8所示图2-1-8接下来右键点击File文件夹下的2-1-2.c文件选择options…选项,弹出界面如图2-1-9所示图2-1-9选项按图2-1-9中选择即可,另外Compiler选项按图2-2-0选择即可接下来全点击ok,这时新建工程,为工程添加文件等工作都已完成。
4.编译如果c程序没有错误点击编译按钮就会生成16进制的HEX文件。
界面如图2-2-1所示图2-2-1如果有错误则通过提示修改你的程序修改完再次编译直至通过为止。
2.2.1 ISP下载软件Progisp的使用1.芯片选择打开下载器页面如下图2-2-2所示在选择芯片的地方选择ATmega16即可。
2.熔丝位的配置如果你想选择片外的晶振和使能ISP或关闭JTAG等功能则要在下载软件里配置好熔丝位然后写入到单片机里面去,由于我们使用ISP下载程序,所以我们要在熔丝位里面关闭JTAG,否则JTAG所对应的PC口的几个I/O引脚口会失去I/O的作用,即使你给它定义了数值并且也允许它输出了它也不会有任何输出值。
接下来我门讲解怎么进行熔丝位的设置:首先,点开图2-2-2中下载软件主界面左半面的向导方式选项,这时界面会如图2-2-3所示,我们可以看见软件默认的是使用内部RC振荡器,我们要使用外部8MHZ的晶体振荡器所以我们把页面向下拉动我们会看见如图2-2-4图中所示的选项“外部晶振(3.0---MHZ)启动时间…”鼠标点其前面的小方框里即可,这时我们选择了使用片外的3MHZ以上的晶振,下面还有“使能JTAG接口(JTAGEN=0)和使能ISP编程(SPIEN=0)”两个选项,我们把前一个使能JTAG接口的那个给它去掉,如图2-2-5所示,但注意ISP那个千万不能去掉因为我们要用ISP下载程序进单片机,至于其他的选项可以不管。
接下来,我们要把刚才设置的熔丝位写进单片机,在图2-2-5配置熔丝位的向导方式下面有“读出默认写入”三个选项,并且主界面右下方有一个“编程熔丝位选项”,在“编程熔丝位选项”前面的方框内打勾,再点击左面三个选项中的“写入”,这时你刚才设置的熔丝位就都生效了。
如果没有其他需要,以后就不用再设置熔丝位了,所以“编程熔丝位选项”前面的勾可以去掉了,因为我们没必要每次下载都烧写熔丝位,那样会很费单片机的。
图2-2-2 下载软件主界面图2-2-3图2-2-4图2-2-53.下载程序到单片机点击“调入FLASH”,界面如图2-2-6所示(并不一定和书上所示的完全一样)找到你开始ICC AVR里面建立的保存C程序的文件夹,点击和你所建立的文件名一样的以HEX结尾的16进制文件,如图2-2-7所示,再单击打开后界面如图2-2-8所示,接下来点击“自动”程序就会被下载到单片机里面去了。
如果你的程序是与前面书中给的单片机最小系统相配套的流水灯程序,并且你的板子的硬件电路接法和书中所给的最小系统的硬件电路一样,那么PA口所接的8个流水灯会亮灭、亮灭的闪烁。
图2-2-6图2-2-7图2-2-8第三章熟悉ATmega16的片上资源3.1.1学会看芯片数据手册的重要性3.1.2中断ATmega16常用片上资源有定时器、PWM、外部中断、SPI总线、两线串行接口TWI、EEPROM、USART、模拟比较器、ADC转换、IEEE(JTAG)边界扫描等。
我们先来学习定时器。
中断是单片机实时地处理内部或外部事件的一种内部机制。
当某种内部或外部事件发生时,单片机将暂停正在执行的事件去执行中断函数里所对应的程序,执行完中断后再继续执行原来的事件。
ATmega16内部有多个中断源每个中断源都能引起中断。
其中断向量如下表3-1-2所示,表中每个中断向量都有一个向量号,这些向量号代表对应的中断源,在C语言程序里这些向量号代表相应的中断源,在编写中断函数时要使用到。