atmega48电平变化中断总结

atmega48电平变化中断总结

ID:21943763

大小:88.50 KB

页数:5页

时间:2018-10-25

atmega48电平变化中断总结_第1页
atmega48电平变化中断总结_第2页
atmega48电平变化中断总结_第3页
atmega48电平变化中断总结_第4页
atmega48电平变化中断总结_第5页
资源描述:

《atmega48电平变化中断总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Atmega48电平变化中断一、寄存器说明外部电平变化中断通过引脚PCINT23..0触发。只耍使能了中断,即使引脚PCINT23..0配置为输出,只要电T发生了合适的变化,屮断也会触发。这个特点可以川來产生软件屮断。只要使能,PCINT23..16引脚上的电平变化将触发外部中断PCI2(中断服务程序中,中断向量名用PCINT2),PCINT14..8引脚上的电平变化将触发外部中断PCI1(中断服务程序中,中断向量名用PCINT1),PCINT7..0将触发外部巾断PCIO(中断服务程序中,中断向M名用PC1NT0)。PCMSK2、PCMSK1与PCM

2、SKO寄存器则用来检测是哪个引脚上的电平发生了变化。1、Atmega48引脚电平变化屮断控制寄存器——PCICR,例程屮PCICR

3、=2,即PCIE1=1,段使能:PCIE1=1,使能PCINT8-PCTNT16外部电甲变化屮断。B7B6B5B4B3B2B1B0—————PCIE2PC1E1PC1E0位PCHE2、PCIE1和FCIEO分别为引脚电平变化屮断使能2、引脚电平变化屮断使能1和引脚电平变化中断使能0。当SREG的位I置1,且PCIE2、PCIE1、PCIE0置1,使能的PCINT23〜PCINT16、PCINT14〜PCINT8、PCINT

4、7〜0引脚上的任付电平变化都会引起中断。相应的引脚电平变化屮断请求分别由PCI2、PCI1、PCI0屮断叫量执行(屮断服务程序屮,屮断h'dfi名用PC1NT2、PCINT1、PClNT0)oPCINT23〜PC1NT16、PCINT14〜PC1NT8、PC1NT7〜0引脚可以通过PCMSK2、PCMSK1、PCMSKO寄存器单独使能。2、Atmega48引脚电T•变化屮断标志寄存器——PC1FRB7B6B5B4B3B2B1B0—————PCIF2PCIF1PCIFO位PCIF2、PC1F1和PC1F0分别为引脚电T•变化中断标志2、标志1和标志0。当

5、引脚PCINT23〜PCINT16、PCINT14〜PCINT8、PCINT7〜0上屯平变化触发中断谘求吋,PCIF2、PCIF1、PCIFO置1。如果SREG寄存器中的I位与PCICR寄存器中的位PCIE2、PCIE1、PCIEO置1,MCU将会跳转到相应的中断句量。当中断程序执行时,该标志被清除。该位也讨通过写逻辑1來淸除。3、Atmega48引脚电T变化屏蔽寄存器——PCMSK2、PCMSKI、PCMSKO,例程中PCMSK1

6、=1,位使能:PCMSK1

7、=1,使能PCINT8,或写为PCMSK1=(1«PCINT8);位B7B6B5B4B3B2

8、B1B0PCMSK2PCINT23PCINT22PCINT21PCINT20PCINT19PCINT18PCINT17PCINT16PCMSK1—PCINT14PC1NT13PCINT12PCINT11PCINT10PC1NT9PCINT8PCMSK0PCINT7FCINT6PCINT5PCINT4PCINT3PCINT2PCINT1PCINT0PCMSK2中的每一位决定PCINT23〜16中相应的I/O引脚电平变化屮断是否使能,如果PCINT23〜16与PCICR上的PCIE2位置位,则相应的引脚电平变化十断使能;如果PCINT23-16淸0,则相应

9、的引脚电平变化中断禁用。同理PCMSK1中的每一位决走PCINT14〜8中相应的I/O引脚电平变化中断是否使能,PCMSK0中的每一位决定PCINT7〜0中相应的I/O引脚电平变化中断是否使能。二、实现功能说明实现电T变化屮断,需以卜*儿个环节(以PC0/PCINT8引脚为例):1、开相应中断•先使能相应段:PCICR的第1位,即PCIE1置1,使能PCINT14〜PCINT8•再使能相应位:PCMSK1的第1位,即PCINT8置1,使能PCINT8•再开全局中断:SREG的第I位置1,使能全局中断2、设H相应引脚为输入,上拉电阻有效在主程序中进行如下

10、设置:•DDRC=0xfc;//PC0设置为输入•PORTC=0x03;PC0内部上拉冇效3、编写中断服务程序屮断不足C语言的一•部分,中断的实现足由编译器实现的。所以,不同版本的编译器的屮断的写法有很大的不同;即便同样是WinAVR,不同版本中的巾断向M也都足略有区别的!•如果使用GCC-AVR的中断操作,必须包括久•文件interrupt.h,即:include

11、err叩t.h。•屮断函数格式现在官方推荐的巾断书写格式就有一种:ISR(INTERRUPT_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。