单片机基础与Arduino应用(第2版)课件28 Avr 中断_第1页
单片机基础与Arduino应用(第2版)课件28 Avr 中断_第2页
单片机基础与Arduino应用(第2版)课件28 Avr 中断_第3页
单片机基础与Arduino应用(第2版)课件28 Avr 中断_第4页
单片机基础与Arduino应用(第2版)课件28 Avr 中断_第5页
已阅读5页,还剩5页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机之中断电子信息工程学院空天电子信息国家级实验教学示范中心空天电子信息国家级虚拟仿真实验教学中心中断的原理单片机之中断Command1主程序中断服务程序(ISR)Command2Command3Command4Command5闪灯闪灯闹钟响了(中断源)单片机之中断中断向量表定时器1的三个中断源TIMER1COMPATIMER1COMPBTIMER1OVFPC指针跳转到中断服务程序中断名称中断向量RESET中断0x0000INT00x0002INT10x0004……TIMER1

COMPA0x0016TIMER1

COMPB0x0018TIMER1OVF0x001A…单片机之中断中断向量表中断优先级RESET拥有最高优先级地址越低中断优先级越高高优先级低优先级中断名称中断向量RESET中断0x0000INT00x0002INT10x0004……TIMER1

COMPA0x0016TIMER1

COMPB0x0018TIMER1OVF0x001A…单片机之中断内部与外部中断RESET+2外部中断23内部中断(满足条件时触发)AddressLabelsCodeComments0x0000jmpRESET;ResetHandler0x0002jmpEXT_INT0;IRQ0Handler0x0004jmpEXT_INT1;IRQ1Handler0x0006jmpPCINT0;PCINT0Handler0x0008jmpPCINT1;PCINT1Handler0x000AjmpPCINT2;PCINT2Handler0x000CjmpWDT;WatchdogTimerHandler0x000EjmpTIM2_COMPA;Timer2CompareAHandler0x0010jmpTIM2_COMPB;Timer2CompareBHandler0x0012jmpTIM2_OVF;Timer2OverflowHandler0x0014jmpTIM1_CAPT;Timer1CaptureHandler0x0016jmpTIM1_COMPA;Timer1CompareAHandler0x0018jmpTIM1_COMPB;Timer1CompareBHandler0x001AjmpTIM1_OVF;Timer1OverflowHandler0x001CjmpTIM0_COMPA;Timer0CompareAHandler0x001EjmpTIM0_COMPB;Timer0CompareBHandler0x0020jmpTIM0_OVF;Timer0OverflowHandler0x0022jmpSPI_STC;SPITransferCompleteHandler0x0024jmpUSART_RXC;USART,RXCompleteHandler0x0026jmpUSART_UDRE;USART,UDREmptyHandler0x0028jmpUSART_TXC;USART,TXCompleteHandler0x002AjmpADC;ADCConversionCompleteHandler0x002CjmpEE_RDY;EEPROMReadyHandler0x002EjmpANA_COMP;AnalogComparatorHandler0x0030jmpTWI;2-wireSerialInterfaceHandler0x0032jmpSPM_RDY;StoreProgramMemoryReadyHandler;0x0033RESET:ldir16,high(RAMEND);Mainprogramstart0x0034outSPH,r16;SetStackPointertotopofRAM0x0035ldir16,low(RAMEND)0x0036outSPL,r160x0037sei;Enableinterrupts0x0038<instr>xxx............外部中断内部中断外部中断内部中断单片机之中断外部中断通过寄存器配置触发外部中断触发类型:上升沿/下降沿/低电平触发外部中断使能寄存器外部中断标志寄存器管脚电平变化中断使能寄存器管脚电平变化中断标志寄存器单片机之中断中断触发条件AddressLabelsCodeComments0x0000jmpRESET;ResetHandler0x0002jmpEXT_INT0;IRQ0Handler0x0004jmpEXT_INT1;IRQ1Handler…0x0016jmpTIM1_COMPA;Timer1CompareAHandler0x0018jmpTIM1_COMPB;Timer1CompareBHandler0x001AjmpTIM1_OVF;Timer1OverflowHandler总开关中断查询模式void

setup(){//

Serial.begin(9600);

cli();pinMode(13,

OUTPUT);

/*

9600

baud

*/

//设置定时器1为1Hz

TCCR1A

=

0;//将整个TCCR1A寄存器设置为0

TCCR1B

=

0;//将整个TCCR1B寄存器设置为0

TCNT1

=

0;//将计数器值初始化为0

uint32_t

ms

=

1000;

ms

=

1000

*

(16000

/

1024);

OCR1AH

=

((ms-1)

&

0xff00)

>>

8;//

15625

高位

OCR1AL

=

(ms-1)

&

0x00ff;

//

15625

低位

TCCR1B

|=

(1

<<

WGM12);//打开CTC模式

TCCR1B

|=

(1

<<

CS12)

|

(1

<<

CS10);//(1024倍预分频)

TIMSK1

|=

(1

<<

OCIE1A);

sei();//打开全局中断}//中断服务程序ISR(TIMER1_COMPA_vect)

{

digitalWrite(13,

flag

?

HIGH

:

LOW);

flag

=

!flag;}单片机之中断中断程序编写int

flag

=

0;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论