📄 mian._c
字号:
/****************************************Copyright (c)**************************************************
** ADEmbed Development Co.,LTD.
** http://www.adembed.com
**--------------File Info-------------------------------------------------------------------------------
** File name: main.c
** Last modified Date: 2008-12-13
** Last Version: 1.0
** Descriptions: INT0 Test.
**
**------------------------------------------------------------------------------------------------------
** Created by: junbolu
** Created date: 2008-12-13
** Version: 1.0
** Descriptions:
**
**------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Descriptions:
**
**------------------------------------------------------------------------------------------------------
**ICC-AVR application builder : 2008-12-13
**Target : M16
**Crystal: 7.3728Mhz
**PD2--->K0 PD7--->Sound_EN
**描述:按下K0后会产生一个下降沿中断,中断处理程序将蜂鸣器使能1s。
** 最简单的下降沿中断程序。
*******************************************************************************************************/
#include <iom16v.h>
#include <macros.h>
void Delay_us(unsigned int time)
{
while(time--);
}
void Delay_ms(unsigned int time)
{
while(time--)
{
Delay_us(1000);
}
}
void INT0_Init()
{
GIFR |=0X40; //清楚标志位
//MCUCR|=0X03; //上升沿触发中断
MCUCR|=0X02;MCUCR&=~0X01; //下降沿触发中断
GICR |=0X40; //使能外部中断0
}
#pragma interrupt_handler int0_isr:2
void int0_isr(void)
{
PORTD&=~0X80; //低电平驱动
Delay_ms(1000); //延时1s
PORTD|=0X80; //高电平暂停
}
void main(void)
{
//蜂鸣器端口初始化
DDRD |=0x80; //设置PD7为输出
PORTD|=0x80; //设置PD7为高电平
//按键0端口初始化
DDRD &=~0x04; //设置PD2为输入
PORTD|=0x04; //设置PD2为上拉
INT0_Init(); //TART初始化
SEI(); //全局中断使能
while(1)
{
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -