Atmega16中断.ppt_第1页
Atmega16中断.ppt_第2页
Atmega16中断.ppt_第3页
Atmega16中断.ppt_第4页
Atmega16中断.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

知识评审和新课的引进,c语言的控制流? 单片机开发程序的一般结构和程序执行顺序是什么? c语言中函数的定义和调用规则是什么? 当我们在做什么的时候,电话或者门铃响的时候,我们会怎么应对呢?外部中断和应用、中断原理ATmage16的外部中断外部中断应用、中断原理、单片机中断的概念中断的功能中断源中断的检测和中断的响应条件CPU对中断的ATmega16的中断顺序单片机中断的概念,中断是执行正常程序的计算机,因为有必要马上进行处理的情况,所以CPU暂停当前正在执行的操作,执行中断服务程序,执行完成后,再次执行原始程序中断的功能、中断技术可以在单片机上实现很多功能。 主要是实现单片机与低速外围设备的协作,因为很多外围设备的速度很慢,不能与单片机直接交换数据,所以必须采用中断功能来调整单片机和外围设备的速度。 当单片机在程序执行中进行数据的输入输出操作时,单片机首先向外围设备发出命令,然后单片机继续执行程序,在外围设备准备交换数据后,单片机开始执行程序。 单片机暂时中止正在执行的程序,执行中断服务程序的数据输入输出程序,数据交换完成后,单片机再次继续执行原来的程序.的程序。 由此可见,中断技术实现了单片机和外围设备的速度协同工作,提高了单片机的工作效率,也提高了数据交换的效率。实时控制功能是指,单片机实时完成控制对象的测量、计算、分析和控制,使控制对象保持良好的工作状态,满足系统的使用要求。 单片机的中断技术是单片机实现实时控制功能的必然要求,因为控制参数随时都可以向计算机发出中断请求,以完成数据的即时处理. cn 10201763402 aa说明书5/12页在实现故障的时机,计算机在运行中经常突然发生意想不到的故障。 例如硬件故障、运算错误、程序故障等。 如果有中断技术,计算机可以立即发现这些故障,自己处理。 要实现人际关系,想介入运行的计算机的话,必须从键盘发出中断请求,得到机器的许可后再进行。 通过中断技术,人可以随时与人取得联系,无需停止处理后重新启动。中断源,外部中断AT90LS8535单片机的外部中断请求由外围设备发出。 外围设备可以通过向PD2和PD3施加低电平、下降沿脉冲或者上升沿脉冲来触发该中断。 定时器/定时器中断定时器/定时器中断发生在单片机内部的3个定时器/定时器上,某定时器/定时器的计数值溢出时,输出比较器一致时,或者发生输入捕获事件串行端口中断串行端口中断是为了发送接收串行数据而设置的。 串行端口在每次接收到串行数据帧时,设置对应的状态比特。 如果此时允许这种类型的中断,则单片机的响应应该中断. 模拟数字转换完成中断AT90LS8535单片机的模拟数字转换完成中断识别单片机内部的模拟数字转换器。 当完成模拟/数字转换器的模拟/数字转换和数据更新时,ADIF被设置为“1”,并且当ADIE(ADC中断启用位)和全局中断启用位都为“1”时,响应中断。 EEPROM中断EEPROM中断是为AT90LS8535单片机内部的EEPROM写入动作而设定的,EEPROM准备就绪,EERIE(EEPROM中断使能准备)和全局中断使能模拟比较器中断模拟比较器中断在单片机的模拟比较器的输出变化时,该变化可以是上升沿、下降沿、电平变化中的任一种,用户可以通过其控制寄存器和状态寄存器(ACSR )设定另外,设定中断的检测和中断的响应条件、中断请求触发来设定中断屏蔽触发是因为开放的CPU在当前的命令结束后响应于中断,设定中断请求触发,各中断源能够输出中断请求信号,保持该信号并设定CPU 此外,设置了中断掩码触发,并且在实际的应用系统中,由各自的中断掩码触发来确定是否存在很多中断源并且各个中断源的中断请求能够被发送到CPU。 中断请求仅在该触发器为1时发送到CPU。 中断总是开放的,CPU内部有中断许可触发。 CPU仅在1的情况下能响应中断。0的情况下,即使有中断请求,CPU也不响应。 该触发的状态可以用指令设定,称为总中断开关。 另外,CPU在当前的指令结束后对中断进行应答,有中断的情况下,即使外围设备有中断请求,CPU也不立即响应,仅在正在执行的指令被执行到最后的机器周期的最后的状态时,CPU采样中断请求信号线。 有中断请求时,将内部的中断闩锁设定为1,下一个设备周期进入中断周期,执行中断服务程序。对CPU的中断的响应、现场保护中断服务程序的现场恢复、单片机检测到外围设备或内部的中断请求后,执行特定的操作,执行中断服务程序,中断服务完成后,单片机详细的中断处理过程是现场保护,中断服务程序的执行会破坏单片机内的一些寄存器的内容,所以在中断服务程序完成后,为了不影响原程序的执行,可以使用单片机。 中断服务程序、中断服务程序是处理中断的子程序.中断服务程序是处理中断的子程序。 现场恢复,中断服务程序完成后,为了把单片机恢复为主程序,单片机必须把现场保护时保存的内容从堆栈中弹出到适当的寄存器中,即现场恢复。 5.2ATmega16的外部中断,5.2.1外部中断源5.2.2外部中断源的控制,5.2.1外部中断源ATmega16有三个外部中断源,分别对应于PD2、PD3、PB2。 状态寄存器(SREG)通用中断控制寄存器(GICR)MCU控制寄存器(MCUCR)MCU控制和状态寄存器(MCUCSR)通用中断标志寄存器(GIFR )由ATmega16的外部中断用户保持关于外部中断的控制寄存器有:状态寄存器SREG、位7(I ) :全局中断使能位6位0 :与中断无关,在c语言编程时由系统管理,通用中断控制寄存器GICR MCU控制寄存器的低位4位用于选择INT0、INT1的中触发方式、MCU控制和状态寄存器MCUCSR、位6 :外部中断INT2的中断触发方式控制位。 is2设为“0”时,INT2端子上的一个下降沿触发中断,is2设为“1”时,INT2端子上的一个上升沿触发中断。 通用中断标志寄存器GIFR,5.3外部中断应用程序,CVAVR编译器的中断操作: CVAVR的c编译器,支持通过c源程序直接开发中断程序。 当用户使用此功能时,在中断中断服务子程序的定义之前,必须向编译器通知中断操作“中断”语句。 使用interrupt语句定义中断服务子程序的格式是interrupt中断矢量号或中断矢量号的宏定义voidler(void )。 中断函数名称是用户定义的中断服务子程序的名称,中断向量号表示中断的类型。例如,interrupt 2 void int _0(void )interrupt ext _ int0 void int _0(void )例子1 :打开int0、INT1,启动int0,触发中断,建立INT1 ,# includevoidmain (void ) ddrd.2=0; DDRD.3=0; GICR=0 xc0; MCUCR=0b00001011; GIFR=0 xc0; SREG=0 x80; while(1) ,例2 :编程的实现:接通电源时不显示LED,发生INT0时LED显示“0”,发生INT1后,LED显示“1”,编程构想:打开INT0、INT1,设定为边缘触发方式中断服务程序interrupt ext _ int0 void int0(void ) 端口=0x3f; 中断 ext _ int1 void int1(void ) 端口=0x 06; 、用中断法实现主题要求,INT0发生后,现在LED为“0”,INT1发生后,现在LED为“1”,voidmain(void)DDRD.2=0; PORTD.2=1; DDRD.3=0; PORTD.3=1; DDRB=0 xff; DDRD.0=1; GICR=0 xc0; MCUCR=0b00001010; GIFR=0 xc0; SREG=0 x80; while(1) ,用中断法实现主题要求,voidmain(void)DDRD.2=0; PORTD.2=1; DDRD.3=0; PORTD.3=1; DDRB=0 xff; DDRD.0=1; MCUCR=0b00001010; GIFR=0 xc0; while(1)if(GIFR,通过查询法实现主题请求,查询INT1的标记位,如果有位置则在LED上显示“1”,清除标记位,查询INT0的标记位,如果有位置则在LED上显示“0” 中断响应速度快要进行相关处理,需要定义中断服务程序。 不需要软清除中断标志位检索法的特征:不需要打开中断的“总开关”和“分离开关”由于标志位的检测延迟,不定义响应速度慢的服务中断程序,进行相关的处理需要软件清除中断标志位(“1”写零),应用课题:设计用于对INT0的中断次数进行计数的程序,并设计voidmain(void)DDRD.2=0; DDRC=0 xff; GICR=0 x40; MCUCR=0b00000010; GIFR=0 x40; SREG=0 x80; while (1) 端口.2=! PORTC.2; delay_ms(500) 、主程序、INT0的中断服务程序:interrupt ext _ int0 void int0(void ) x; 显示函数(); ,课程总结:ATmega16的外部中断用户是可编程的。 该外部中断的控制寄存器包括状态寄存器(SREG )公共中断控制寄存器(GICR)MCU控制寄存器(MC

温馨提示

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

评论

0/150

提交评论