#include <iom8v.h>
#include "macros.h"
#define uchar unsigned char
#define uint unsigned int
uchar ledCode[]={0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf};
uint count=0,n=0,m=0;
void delay_1ms(void) //1ms延时函数
{
uint i;
for (i=0;i<1140;i++);
}
void delay_nms(uint n) //N ms延时函数
{
uint i=0;
for (i=0;i<n;i++)
delay_1ms();
}
//中断初始化
void interrupt_init(void)
{
MCUCR |= (1<<ISC11)|(1<<ISC00)|(1<<ISC01);//INT1下降沿触发,INT0上升沿触发
GICR |= (1<<INT0)|(1<<INT1);//使能INT0,INT1
SEI();//全局中断使能
}
//INT0中断程序
#pragma interrupt_handler int0_isr:iv_INT0
void int0_isr(void)
{
n=1;
m=0;
count++;
}
//INT1中断程序
#pragma interrupt_handler int1_isr:iv_INT1
void int1_isr(void)
{
m=1;
n=0;
count--;
}
//执行按键1对应的程序
void jian1(void)
{
PORTB = ledCode[count];
PORTC |= (1<<0);
if (count>16)
count=0;
}
//执行按键2对应的程序
void jian2(void)
{
PORTB = ledCode[count];
PORTC |= (1<<0);
if (count==0)
count=16;
}
//主函数
void main(void)
{
DDRB = 0XFF;
PORTB = 0XFF;
DDRC = 0XFF;
PORTC = 0X00;
interrupt_init();
while(1)
{
if(n==1)
jian1();
if(m==1)
jian2();
}
}
AVR_INT.rar_avr int0_avr 中断按键_avr中断按键_按键 AVR
版权申诉
13 浏览量
2022-09-23
12:59:33
上传
评论
收藏 727B RAR 举报
weixin_42651887
- 粉丝: 75
- 资源: 1万+
最新资源
- [影音娱乐]522QQ在线电视直播程序 v1.1_idcfree.rar
- 曼波整站系统(Mambors) v5.4.0_mambors5.4.0_CMS程序开发模板(使用说明+源代码+html).zip
- [其他类别]冰翎email发送类 v1.0_email.rar
- 【kk梦空间】仿淘宝海抢购页面1.zip
- 输出50个矩形脉冲_单片机C语言实例(纯C语言源代码).zip
- 大唐杯仿真.zip0005
- [其他类别]jsp+servlet+javaBean实现MVC_jspmvc.rar
- python之用递归法计算汉诺塔解决步骤
- JSP+SQL基于WEB的开放性实验管理系统设计与实现(源代码+论文+开题报告+中英文献+答辩PPT).rar
- HonoCMS 内容发布系统 v1.0_honocms_cn_CMS程序开发模板(使用说明+源代码+html).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈