AVR128 外部中断 C程序

发布者:CrystalClear最新更新时间:2016-10-18 来源: eefocus关键字:AVR128  外部中断  C程序 手机看文章 扫描二维码
随时随地手机看文章
/*ATavr 128 功能:外部中断INT0、INT1*/

/*GCC编译器*/

#include
#include
#include

#define SET_1(a,b) a|=(1< #define CLE_0(a,b) a&=~(1<

#define uchar unsigned char
#define uint unsigned int

/*中断初始化,INT0、INT1、定义为下降沿触发*/

void int_init( void )
{
cli();
EICRA|=(1< EIMSK|=(1< sei();
}

/*端口初始化*/

void port_init()
{

DDRA=0XFF;
PORTA=0XFF;
DDRD=0X00;
PORTD=0X00;
}

/*INT0中断服务函数*/

SIGNAL(INT0_vect)
{
CLE_0(EIMSK,INT0);
PORTA=0X0F;
_delay_ms(200);
PORTA=0XFF;
SET_1(EIMSK,INT0);
}

/*INT1中断服务函数*/

SIGNAL(INT1_vect)
{
CLE_0(EIMSK,INT1);
PORTA=0XF0;
_delay_ms(200);
PORTA=0XFF;
SET_1(EIMSK,INT1);
}

/*主函数,无中断时发光二极管轮流点亮熄灭200毫秒*/

int main( void )
{
uchar i;
port_init();
int_init();
while(1)
{
for(i=0;i<8;i++)
{
PORTA=CLE_0(PORTA,i);
_delay_ms(200);
PORTA=SET_1(PORTA,i);
_delay_ms(200);
}
}
return 0;
}

关键字:AVR128  外部中断  C程序 引用地址:AVR128 外部中断 C程序

上一篇:基于Proteus仿真的AVR单片机串口程序
下一篇:AVR单片机判断脉冲宽度的方法

推荐阅读最新更新时间:2024-03-16 15:16

atmega16片上AD ICC程序
/***************************************************** File name : AD_on chip.c Chip type : ATmega16L Program type : Application Clock frequency : 4.000000 MHz Memory model : Small External SRAM size : 0 Da ta Stack size : 256 Function : 内部AD转换,数码管显示 *********************************************
[单片机]
STM32-外部中断实验
这一节,我们将向大家介绍如何使用STM32的外部输入中断。通过第1、2节的学习,我们掌握了STM32的IO口最基本的操作。这节我们将介绍作为外部中断输入口,STM32的需要做哪些设置。本节分为如下几个部分: 3.4.1 STM32外部中断简介 3.4.2 硬件设计 3.4.3 软件设计 3.4.4 下载与测试 3.4.1 STM32外部中断简介 STM32的IO口在本章第一节有详细介绍,而外部中断在第二章也有详细的阐述。这里我们将介绍如何将这两者结合起来,实现外部中断输入。 STM32的每个IO口都可以作为中断输入,这点很好用。要把IO口作为外部中断输入,有以下几个步骤: 1)初始化IO口为输入。 这一步设置你要作为外部中断输入
[单片机]
基于PIC16F72的两路交流信号AD转换(C程序)
//这是一个两路交流信号的AD转换,然后和标准比较决定输出大于标准的那一路,默认输出A路 #include p IC .h #include math.h #include stdio.h bank1 int re0 ; //定义存放 A/D 转换结果的数组,在bank0中 bank1 int re1 ; //定义存放A/D转换结果的数组,在bank1中 unsigned int i,j, k; //定义几个整型变量 double squ ,squad; //平方寄存器和平方和寄存器,squ又通用为存储其它数值 double standard; //定义双精度浮点型 int uo; //系统各I/O口初始
[单片机]
基于AVR128单纯Modbus协议实施
Modbus通信协议Modicon公司1979在发展中,适用于工业现场总线协议控制。Modbus通信系统包含芯片的节点,并与组合物可编程控制的公共传输线,它的目的是收集和监视多个节点的数据。Modbus协议采用主从模式,通信系统具有多个节点的从一台主机机监视器。最多支持从节点247个。每一个从机均有自己独立的从机地址。并且改地址可以被主机识别。 可以支持Modbus协议的通讯系统有RS-232。RS-422,RS-485等。同一时候Modbus协议具有标准、开放、免费、帧格式简单等特点而被广大project师所採用。 Modbus协议中传输数据採用ASCII和RTU两种模式。当中ASCII传输方式表示的数据通俗易懂。便于和
[单片机]
基于<font color='red'>AVR128</font>单纯Modbus协议实施
STM32配置外部中断EXTI)流程
1:配置外设GPIO端口(具体配置为请看配置GPIO流程) GPIO_Init(); 2:使能复用功能时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); 3:初始化外部中断以及配置中断映射 EXTI_InitTypeDef EXTI_InitStruct; GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource0); //中断映射 EXTI_InitStruct.EXTI_Line = EXTI_Line0; //中断线 EXTI_I
[单片机]
外部中断EXTI的配置注意事项
1,EXTI_InitTypeDef 定义于文件“stm32f10x_exti.h”: typedef struct { u32 EXTI_Line; EXTIMode_TypeDef EXTI_Mode; EXTIrigger_TypeDef EXTI_Trigger; FunctionalState EXTI_LineCmd; } EXTI_InitTypeDef; 1 2 3 4 5 6 7 2,例子: void EXTI_Configuration(void) { EXTI_InitTypeDef EXTI_InitStructure; EXTI_ClearITPendingBit(EXTI_Line2
[单片机]
单片机通用模拟串口C程序
//----------------------------------------------------------------------   // UART.C   // 通用模拟串口程序   // 资源需求:一个硬件计数器,两个I/O口   // 硬件计数器的计数时间设定为三倍波特率   // 定义的两个I/O口,用于发送和接收,分别用在receive()和transmit(char)中   // 设立了专门的接收缓冲区,用于存储接收数据   // 注意:必需根据波特率来设定定时器;   // 每次通信开始必须调用初始化函数init_uart()   //--------------------
[单片机]
PLC程序设计应用于反渗透自动控制系统
  反渗透是一种膜分离技术,反渗透膜的孔径与水分子基本一致,只有与水分子大小相仿的粒子能够通过,其他粒子或杂质被分离出去,从而使原水得到净化,工艺流程如图1所示。   随着反渗透系统设备造价和运行费用的不断降低,越来越多的行业(电力、石油、煤炭、化工等)都在使用反渗透系统生产各种工艺用脱盐水,由于反渗透系统人工方式很难保证反渗透系统的长期稳定运行,因此采用PLC作为反渗透系统的自动控制设备就变得非常必要。本文结合实际,介绍一种反渗透PLC控制系统的编程方法,用来简化系统的逻辑关系,提高PLC程序的易读性。   1 设计要点   1.1 主要控制回路   反渗透装置的高压泵进口装有低压保护开关,出口装有高压保护开关。高压泵与
[工业控制]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved