atmege16外部中斷程序
功能:演示ATMEGA16的3個(gè)外部中斷程序
編輯環(huán)境:ICCAVR
******************************************/
#include
#include
#define uint unsigned int
#define uchar unsigned char
#define beep_0 (PORTD&=~(1<
#define beep_1 (PORTD|=(1<
//蜂鳴器響
uint count;
/*******************************************
三個(gè)外部中斷聲明,注意中斷向量號(hào)
*******************************/
#pragma interrupt_handler Exint0:2
#pragma interrupt_handler Exint1:3
#pragma interrupt_handler Exint2:19
/*************************************
系統(tǒng)延時(shí)函數(shù)
************************************/
void delay(uint ms)
{
uint i,j;
for(i=0;i
{
for(j=0;j<1140;j++);
}
}
/**************************************
端口初始化每個(gè)外部中斷端口是固定的
****************************************/
void port_init()
{
DDRA=0XFF;
PORTA=0XFF;
DDRB&=(0<
PORTB|=(1<
DDRD&=(0<
PORTD|=(1<
DDRD&=(0<
PORTD|=(1<
}
/***********************************
外部中斷初始化
*******************************/
void INT_init()
{
SREG=0X80;//打開全局中斷
GICR|=(1<
MCUCR=(1<
MCUCSR=(0<
看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人
(function(){
var bp = document.createElement('script');
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
}
else {
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();
}
/*****************************************
流水燈函數(shù)
****************************************/
void LED_1()
{
uchar i;
for(i=0;i<8;i++)
{
PORTA=~BIT(i);
delay(200);
}
}
/***********************************
LED_2函數(shù)
**********************************/
void LED_2()
{
PORTA=0X0F;
delay(500);
PORTA=0XF0;
delay(500);
}
/********************************
LED_3函數(shù)
************************************/
void LED_3()
{
PORTA=0X81;
delay(500);
PORTA=0X7E;
delay(500);
}
/************************************
外中斷0函數(shù)
**********************************/
void Exint0()
{
LED_2();
}
/**********************************
外中斷1函數(shù)
***********************************/
void Exint1()
{
LED_3();
}
/************************
外中斷2函數(shù)
***********************/
void Exint2()
{
DDRD=(1<
for(count=0;count<4;count++)
{
beep_0;delay(200);
beep_1;delay(200);
}
}
/*********************************
主函數(shù)
*********************************/
void main()
{
port_init();//端口初始化
INT_init();//中斷初始化
while(1)// 當(dāng)非0值時(shí)執(zhí)行下面函數(shù)
{
LED_1();//流水燈函數(shù)
}
}
關(guān)鍵詞:
atmege16外部中
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論