首页 AVR_mega16_简单的外中断C程序和相关寄存器解析

AVR_mega16_简单的外中断C程序和相关寄存器解析

举报
开通vip

AVR_mega16_简单的外中断C程序和相关寄存器解析 说明:1、下面的 C 程序,定义了外中断 0、外中断 1、外中断 2 三个中断,并用三个开关 作为中断源(如电路图所示),并用 LED 显示相应的状态。 2、可从程序中看到如何定义相应寄存器。 PA0/ADC040 PA1/ADC139 PA2/ADC238 PA3/ADC337 PA4/ADC436 PA5/ADC535 PA6/ADC634 PB0/XCK/T01 PB1/T12 PB2/INT2/AIN03 PB3/OC0/AIN14 PB4/SS5 PB5...

AVR_mega16_简单的外中断C程序和相关寄存器解析
说明:1、下面的 C 程序,定义了外中断 0、外中断 1、外中断 2 三个中断,并用三个开关 作为中断源(如电路图所示),并用 LED 显示相应的状态。 2、可从程序中看到如何定义相应寄存器。 PA0/ADC040 PA1/ADC139 PA2/ADC238 PA3/ADC337 PA4/ADC436 PA5/ADC535 PA6/ADC634 PB0/XCK/T01 PB1/T12 PB2/INT2/AIN03 PB3/OC0/AIN14 PB4/SS5 PB5/MOSI6 PB6/MISO7 PB7/SCK8 PA7/ADC733 RESET9 XTAL113 XTAL212 PC0/SCL 22 PC1/SDA 23 PC2/TCK 24 PC3/TMS 25 PC4/TDO 26 PC5/TDI 27 PC6/TOSC1 28 PC7/TOSC2 29 PD0/RXD 14 PD1/TXD 15 PD2/INT0 16 PD3/INT1 17 PD4/OC1B 18 PD5/OC1A 19 PD6/ICP 20 PD7/OC2 21 AVCC 30 AREF 32 +5V 外中断 #include #include int time; #pragma interrupt_handler int0:2//---中断矢量 2 #pragma interrupt_handler int1:3//---中断矢量 3 #pragma interrupt_handler int2:19//---中断矢量 19 void int0(void) {PORTA|=(1< 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 一 //MCUSR=0X40;//0#,1#外中断上升沿有效 //MCUCR=0X0F;//2#,外中断上升沿 MCUSR=0X00;//2#外中断下降沿 MCUCR=0X0A; //0#,1#外中断下降沿 GICR=0XE0;//开通 0#,1#,2#外中断 DDRA=0XC0;//設置 PA6,PA7 為輸出 SEI();//关总中断 while(1){;} } 表一 狀態寄存器 SREG bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 I T H S V N Z C 注: 1、该寄存器除 bit7 位为全局中断使能位,该位有两个特殊指令 SEI 和 CLI 用于置位和清零。 2、如果只是应用,该寄存器只需我们设置 bit7,其它的不用管。 表二 MCU 控制寄存器 MCUCR bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 SM2 SE SM1 SM0 ISC11 ISC10 ISC01 ISC00 SE:MCU休眠使能位 SM1~SM0:MCU 休眠模式选择 SM2 SM1 SM0 休眠模式 0 0 0 空闲 0 0 1 ADC 噪声抑制模式 0 1 0 掉电模式 0 1 1 省电模式 1 0 0 保留 1 0 1 保留 1 1 0 Standby(1) 模式 1 1 1 扩展Standby(1) 模式 ISC11~ISC10:外部中断 1 的中断检测方式 ISC11 ISC10 INT1中断 0 0 低电平中断 0 1 INT1 引脚上任意的逻辑电平变化都将引发中断 1 0 下降沿中断 1 1 上升沿中断 ISC01~ISC00:外部中断 0 的中断检测方式 ISC01 ISC00 INT0中断 0 0 低电平中断 0 1 INT1 引脚上任意的逻辑电平变化都将引发中断 1 0 下降沿中断 1 1 上 表三 MCU 控制与状态寄存器-MCUCSR bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 JTD ISC2 - JTRF WDRF BORF EXTRF PORF 1、Bit6为外中断2触发方式控制位,。若ISC2 写0, INT2 的下降沿激活中断。 若ISC2 写1, INT2 的上升沿激活中断。(注:INT2没有电平触发中断) 2、其它位的用途请参考其它文献。 表四 通用中断屏蔽寄存器 GICR bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 INT1 INT0 INT2 - - - IVSEL IVCE INT1:使能外部中断请求1 INT0:使能外部中断请求0 INT2:使能外部中断请求 2 表五 通用中断标志寄存器 GIFR bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 INTF1 INTF0 INTF2 - - - IVSEL IVCE INTF1:外部中断标志 INT1引脚电平发生跳变时触发中断请求,并置位相应的中断标志INTF1。如果SREG 的位I以及GICR寄存器相应的中断使能位INT1为”1”,MCU即跳转到相应的中断向量。 进入中断服务程序之后该标志自动清零。此外,标志位也可以通过写入”1” 来清零。 INTF0:外部中断标志 INT0引脚电平发生跳变时触发中断请求,并置位相应的中断标志INTF0。如果SREG 的位I以及GICR寄存器相应的中断使能位INT0为”1”,MCU即跳转到相应的中断向量。 进入中断服务程序之后该标志自动清零。此外,标志位也可以通过写入”1” 来清零。 INTF2:外部中断标志 INT2 引脚电平发生跳变时触发中断请求,并置位相应的中断标志 INTF1。如果 SREG 的位 I 以及 GICR 寄存器相应的中断使能位 INT2 为”1”,MCU 即跳转到相应的中断向量。进入 中断服务程序之后该标志自动清零。此外,标志位也可以通过写入”1” 来清零。 個人說明:本文為本人學習的筆記,有不足之處請多多包涵,還請各路大俠多多指教。
本文档为【AVR_mega16_简单的外中断C程序和相关寄存器解析】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_815621
暂无简介~
格式:pdf
大小:101KB
软件:PDF阅读器
页数:0
分类:互联网
上传时间:2011-12-13
浏览量:25