*AVR单片机外部中断INT0示例程序晶振为1 MHz
INT0最好接一个4.7K的上拉电阻,按键对地有效
没有使用延时/通信语句,所以使用内部/外部时钟都可以
每按动INT0按键一次,PD3的电平就翻转一次
本例子没有考虑太多的按键防抖动功能*/
#include
interrupt [2] void INT0_isr(void) //INT0的中断向量是2,请参考M48数据手册的48页
{
PORTD.3=~PORTD.3; //电平取反
EIFR|=1; //清除INT0中断触发标记,防止按键抖动
}
void main(void)
{
PORTD.2=1;
DDRD.2=0; //设置INT0端口为输入,上拉电阻有效
PORTD.3=0;
DDRD.3 =1; //设置PD3输出低电平,准备驱动蜂鸣器
EIMSK|=1; //打开INT0中断
EICRA|=3; //INT0上升沿触发
#asm("sei") //插入汇编语句,打开全局中断
while (1) //循环,等待中断
{
#asm("nop") //空操作的汇编代码,等待中断发生
};
}
关键字:AVR单片机 外部中断 INT0
引用地址:
AVR单片机外部中断INT0示例
推荐阅读最新更新时间:2024-03-16 15:16
STM32的“外部中断”和“事件”区别和理解
凡从事过ST MCU应用开发的人往往会遇到事件、中断事件 中断三个概念或术语。这三个概念彼此关联,有时会让人有点混淆或犯迷糊。 先拿一件生活中的事情打比方对上述三个概念做个基本的粗略理解,之后再分享一个STM32 GPIO外部中断配置案例。 比如一老师在教室里给学生们上课。课堂上的学生可能做出各种行为动作,比方做笔记、打哈气、翻书包、讲小话等,我们把这些行为统称为事件,其中有些行为老师往往只是视而不见,继续他的上课;而有些行为可能导致老师的上课中止,比方讲小话,并对学生的相关行为予以警告、批评或纠正等,然后继续上课。我们把老师因为学生的某些行为而中止授课,并产生后续动作,之后接着上课的这个过程理解为中断或中断响应。我们把可能导致老
[单片机]
STM32外部中断初始化
#include exti.h /******************************************************************************* * 函 数 名 : exti_init * 函数功能 : 外部中断2端口初始化函数 * 输 入 : 无 * 输 出 : 无 *******************************************************************************/ void exti_init() //外部中断初始化 { GPIO
[单片机]
基于AVR单片机的LED显示屏的灰度设计与实现
LED点阵块具有亮度高、发光均匀、可靠性好、拼装方便等优点,能构成各种尺寸的显示屏。目前,LED显示屏已被广泛应用于文字显示并取得了很好的效果,但是大部分仅能显示滚动的文字信息而不能显示图像,并且还存在系统复杂等缺点。本文提出了一种主从式单片机的 LED显示屏 解决方案,该设计方案利用AVR单片机自身的FLASH ROM和RAM,外部无需任何存储电路,电路结构简单。该系统实现了图像的16阶灰度显示,可广泛用于商场、车站等公共场合。 1 AVR单片机简介 AVR单片机是增强型内置FLASH的RISC(ReducedInstruction Set CPU)精简指令集高速8位单片机,硬件采用哈佛(Harward)结构,达
[单片机]
AVR单片机T1中断定时1秒程序
#include iom16v.h #include macros.h #define uchar unsigned char #define uint unsigned int uchar num=0; #pragma interrupt_handler miao:9 #pragma data:code // T/C1中断入口 void miao(void) { if(num==100) {num=0;} else {num++;} TCNT1H=0X85;//重新装载T/C1的初值 TCNT1L=0XED; } void Time1Init(void) { TCCR1B=0X04;//
[单片机]
基于AVR单片机的125 kHz简易RFID阅读器设计
0 引言 无线射频识别(Radio Frequency Identification,RFID)是利用感应、电磁场或电磁波为传输手段,完成非接触式双向通信、获取相关数据的一种自动识别技术。该技术完成识别工作时无须人工干预,易于实现自动化且不易损坏,可识别高速运动物体并可同时识别多个射频卡,操作快捷方便,已经得到了广泛的应用。 目前存在的一些读卡器,都需要读卡芯片作为基站,成本较高。本文介绍了一种采用分立元件构成的125 kHz RFID阅读器,电路结构简单,成本极低,用于读取EM4100型ID卡。 1 RFID系统的分类 RFID系统的分类方法有很多,在通常应用中都是根据频率来分,根据不同的工作频率,可将
[单片机]
基于AVR单片机和串口的SD卡读取平台的设计
O 引言 SD卡(secure digital memory card,安全数码卡)是一种基于半导体快闪记忆器的新一代记忆设备,它被广泛地于便携式装置上使用,例如数码相机、个人数码助理(PDA)和多媒体播放器等。SD卡由日本松下、东芝及美国SanDisk公司于1999年8月共同开发研制。大小犹如一张邮票的SD记忆卡,重量只有2 g,但却拥有高记忆容量、快速数据传输率、极大的移动灵活性以及很好的安全性。 本文正是通过AVR单片机经过软硬结合的设计方案,来读取SD卡上FAT32文件系统中的数据,FAT32是微软公司开发的新一代的文件系统,支持更大的存储容量和长达255个字符的文件名,也可以通过串口转USB接口芯片通过计算机来访
[单片机]
认识C51外部中断(INT0)
以下将以红外遥控解码为例讲一下C51外部中断(INT0)的编程亲身体会. 要对红外遥控信号解码那么就要使用C51外部中断,并且要设置成为负跳变沿触发方式.一般都会在主程序的开始外初始化中断(或将初始化中断程序写成函数,将这个函数放入主程序)如下: void main(void) { IT0=1;//负跳变触发 EX0=1;//开外部中断0 EA=1;//开总中断 .........//其它程序 .......... } void INT0() interrupt 0 { .......//红外信号解码程序 } 根据需要打开外部中断(EX0=1): 以上程序在开始处便打开了外部中断.从理论上是完
[单片机]
AVR单片机教程——数字输入
我们已经学习了如何使用按键和拨动开关,不知你有没有好奇 button_down 和 switch_status 等函数是如何实现的。本篇教程带你一探究竟,让我们从按键的原理开始。 在原理图中,按键的符号如下图所示: 符号很简单,就是两个触点上方有一个动片,当按下时与两个触点接触。实际上按键内部的机械结构大体上就是这样,实现的功能是,没有按下时两端断路,按下时两端短路。 还有一种画法是这样的,即电键: 就按键内部的机械结构来说,第一种更加真实,但从电路角度来看,两者没什么区别。 但是我们的开发板上的按键有4个引脚,这是怎么回事呢?其实上面两个和下面两个分别是连通的,相当于只有两个: 拨动开关,相当于单刀双掷开关: 从
[单片机]