设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
关于void exint0(void) interrupt
返回列表
发新帖
关于void exint0(void) interrupt
[复制链接]
11
|
1
|
2011-8-24 20:26:36
|
显示全部楼层
|
阅读模式
#include "common.h"我如果设置ie=0x85,同时打开中断int0和int1,如果int0中断发生,就自动执行void exint0(void) interrupt 0,如果int1中断发生就自动执行void exint1(void) interrupt 1,对吗?#define INT0_PORTXBYTE[0x0000] /*外部中断74LS348地址*/uchar int0_status;/*中断状态*/bit int0_flag;/*中断标记*//******** main 函数 *********/void main (void) {initUart(); /* 初始化串口 */ int0_flag=0;/*设置中断0标记*/ TCON=0x55;/* 电平触发外部中断 */ IE=0x85;
/*打开外中断int0,int1*/ do {
if (int0_flag) { /*如果有中断*/
switch (int0_status){ /*根据中断源分支*/
case 0:
P1=0x1;
IE=0x84;
break;
case 1:
P1=0x2;
IE=0x84;
break;
case 2:
P1=0x4;
IE=0x84;
break;
case 3:
P1=0x8;
IE=0x84;
break;
case 4:
P1=0x10;
IE=0x84;
break;
case 5:
P1=0x20;
IE=0x84;
break;
case 6:
P1=0x40;
IE=0x84;
break;
case 7:
P1=0x80;
IE=0x84;
break;
default:break; } int0_flag=0; /*清中断0标记*/
}
}while(TRUE);}/***********中断0服务程序***************/void exint0(void) interrupt 0{ IE=0x84;
/*关中断0
int0_flag=1; /*设置中断0标记*/ /*读取外部中断源输入,并屏蔽高5位*/
int0_status=~INT0_PORT & 0x07; IE=0x84;
/*} void exint1(void) interrupt 1{}
回复
使用道具
举报
千问
|
2011-8-24 20:26:36
|
显示全部楼层
这个写法有问题吧。。void timer(void) interrupt 1 using 1{}timer:函数名称interrupt 1: 定时器中断0;using 1:R0~R7为第二组寄存器;希望能帮到你...
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行