求助:单片机中断C语言外部中断问题

【求助】跪求大神指导,关于外部中断返回问题【单片机吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:137,399贴子:
【求助】跪求大神指导,关于外部中断返回问题收藏
话说外部中断0 的返回标志是什么?刚开始数码管显示的是1234;当中断执行后数码管一直显示的是5678。可我想只是执行中断的时候显示5678,中断执行完毕后仍然显示1234。请教如何实现C语言。类似于这样的问题。要软件控制,不要硬件外部控制的。
外部中断标志是IE0由单片机自动置1和清0.。。。
#include&reg52.h&#include&intrins.h&#define uint unsigned int#define uchar unsigned charsbit
D1=P3^2;uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,};//显示0—9void delay(uint);void main(){
EA=1;//开总中断EX0=1;//开外部中断0
//设置成低电平触发方式,1为下降沿触发
P2=0while(1){ for(num=0;num&10;num++)
P0=table[num]; delay(1000);
}}}void delay(uint z){uint x,y;for(x=z;x&0;x--)for(y=112;y&0;y--);}void exter0() interrupt 0//表明是中断服务程序,序号表示第几个中断服务{ P1=0delay(1000);P1=0}这是我自己写得未完成的程序,求大神指导
#include&reg52.h&#include&intrins.h&#define uint unsigned int#define uchar unsigned charsbit D1=P3^2;uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,};//显示0—9void delay(uint);void main(){ EA=1;//开总中断EX0=1;//开外部中断0 IT0=1; //设置成下降沿触发 P2=0while(1){ for(num=0;num&10;num++){P0=table[num]; delay(1000);if(num==5) D1=0;}}void delay(uint z){uint x,y;for(x=z;x&0;x--)for(y=112;y&0;y--);}void exter0() interrupt 0//表明是中断服务程序,序号表示第几个中断服务{ P1=0delay(1000);P1=0}
登录百度帐号推荐应用21ic官方微信-->
后使用快捷导航没有帐号?
请完成以下验证码
查看: 4482|回复: 15
请教:C语言中外部中断完成后,返回到什么地方?
&&已结帖(20)
主题帖子积分
高级技术员, 积分 970, 距离下一级还需 30 积分
高级技术员, 积分 970, 距离下一级还需 30 积分
主题帖子积分
专家等级:结帖率:11%
主题帖子积分
高级技术员, 积分 970, 距离下一级还需 30 积分
高级技术员, 积分 970, 距离下一级还需 30 积分
void main(void)
& &IO_init();
& &int_init();& &
& &led=1;& && &
& &delay(50);
& &delay(50);
& & EX1=1;& &//外部中断1允许
& &while(1){
& &_nop_();& && &
请教:用c语言写外部中断的程序,按上面的写法,应该是返回在while循环中吧?但是实际中间发现中断后都是又从main函数开始(为了观察用了发光管闪烁显示,看门狗没有用),又执行了一次初始化的工作,(而初始化的工作对一些口的操作和运行时是不同的),即我并不想再去操作发光管亮,只是希望在while循环中运行,应该怎么办呢?以前用汇编,没有这个问题,现在刚学c,概念还不清晰,恳请知道的朋友给予指教,谢谢先。
满意回复+20
如果如果没有中断程序,来了中断,地址指针跑到对应的中断位置,但是没有跳转程序。就继续往下走,自然就走到用户存储区了,主函数就在这块。看看51单片机的存储 ...
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
主题帖子积分
专家等级:结帖率:97%打赏:0.00受赏:38.00
主题帖子积分
是返回while里面,这个问题汇编和C是一样的,检查你的其他地方,还有堆栈设置好了没有。
++++看NE5532教学视频,炼就工程技术研发功力++++++++++
主题帖子积分
资深技术员, 积分 383, 距离下一级还需 117 积分
资深技术员, 积分 383, 距离下一级还需 117 积分
主题帖子积分
专家等级:结帖率:0%打赏:0.00受赏:8.00
主题帖子积分
资深技术员, 积分 383, 距离下一级还需 117 积分
资深技术员, 积分 383, 距离下一级还需 117 积分
你的中断函数呢?
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
中级工程师, 积分 4707, 距离下一级还需 293 积分
中级工程师, 积分 4707, 距离下一级还需 293 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
中级工程师, 积分 4707, 距离下一级还需 293 积分
中级工程师, 积分 4707, 距离下一级还需 293 积分
是不是没有定义中断服务程序,但使能了中断,导致中断来了程序跑飞
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
技术总监, 积分 40103, 距离下一级还需 9897 积分
技术总监, 积分 40103, 距离下一级还需 9897 积分
主题帖子积分
专家等级:结帖率:3%
主题帖子积分
技术总监, 积分 40103, 距离下一级还需 9897 积分
技术总监, 积分 40103, 距离下一级还需 9897 积分
把相应的中断程序加上
当然是返回被中断的地方继续运行
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
资深技术员, 积分 383, 距离下一级还需 117 积分
资深技术员, 积分 383, 距离下一级还需 117 积分
主题帖子积分
专家等级:结帖率:0%打赏:0.00受赏:8.00
主题帖子积分
资深技术员, 积分 383, 距离下一级还需 117 积分
资深技术员, 积分 383, 距离下一级还需 117 积分
如果如果没有中断程序,来了中断,地址指针跑到对应的中断位置,但是没有跳转程序。就继续往下走,自然就走到用户存储区了,主函数就在这块。看看51单片机的存储器结构就明白了。所以说中断不要乱开。
本帖子中包含更多资源
才可以下载或查看,没有帐号?
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
实习生, 积分 33, 距离下一级还需 17 积分
实习生, 积分 33, 距离下一级还需 17 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 33, 距离下一级还需 17 积分
实习生, 积分 33, 距离下一级还需 17 积分
用仿真器跟踪一下,在中断程序打个断点,单步运行,看SP,PC等寄存器是否正常。还要注意看看是否有复位发生。
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
高级技术员, 积分 970, 距离下一级还需 30 积分
高级技术员, 积分 970, 距离下一级还需 30 积分
主题帖子积分
专家等级:结帖率:11%
主题帖子积分
高级技术员, 积分 970, 距离下一级还需 30 积分
高级技术员, 积分 970, 距离下一级还需 30 积分
是返回while里面,这个问题汇编和C是一样的,检查你的其他地方,还有堆栈设置好了没有。
NE5532 发表于
十分感谢大侠的回复。C语言里面的堆栈怎么设置?我真的不知道。汇编里面好像是设置SP的值吧。请告之。谢谢。
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
技术总监, 积分 40103, 距离下一级还需 9897 积分
技术总监, 积分 40103, 距离下一级还需 9897 积分
主题帖子积分
专家等级:结帖率:3%
主题帖子积分
技术总监, 积分 40103, 距离下一级还需 9897 积分
技术总监, 积分 40103, 距离下一级还需 9897 积分
编译器已经帮你设置堆栈了
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
初级工程师, 积分 2019, 距离下一级还需 981 积分
初级工程师, 积分 2019, 距离下一级还需 981 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
初级工程师, 积分 2019, 距离下一级还需 981 积分
初级工程师, 积分 2019, 距离下一级还需 981 积分
全部程序贴出来吧,应该是会跳到被中断处
阳光午后,沙漠漫步
主题帖子积分
资深技术员, 积分 383, 距离下一级还需 117 积分
资深技术员, 积分 383, 距离下一级还需 117 积分
主题帖子积分
专家等级:结帖率:0%打赏:0.00受赏:8.00
主题帖子积分
资深技术员, 积分 383, 距离下一级还需 117 积分
资深技术员, 积分 383, 距离下一级还需 117 积分
我说看着眼熟呢,用得着在两个论坛里都问么?哈哈
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
初级工程师, 积分 2218, 距离下一级还需 782 积分
初级工程师, 积分 2218, 距离下一级还需 782 积分
主题帖子积分
专家等级:结帖率:50%打赏:0.00受赏:60.00
主题帖子积分
初级工程师, 积分 2218, 距离下一级还需 782 积分
初级工程师, 积分 2218, 距离下一级还需 782 积分
把六楼的搞明白就可以了
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
中级技术员, 积分 280, 距离下一级还需 20 积分
中级技术员, 积分 280, 距离下一级还需 20 积分
主题帖子积分
专家等级:结帖率:68%
主题帖子积分
中级技术员, 积分 280, 距离下一级还需 20 积分
中级技术员, 积分 280, 距离下一级还需 20 积分
以前在其他平台上也遇到过,不小心把中断服务程序注释掉了,出来的问题也是莫名其妙。
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
助理工程师, 积分 1268, 距离下一级还需 732 积分
助理工程师, 积分 1268, 距离下一级还需 732 积分
主题帖子积分
专家等级:结帖率:72%
主题帖子积分
助理工程师, 积分 1268, 距离下一级还需 732 积分
助理工程师, 积分 1268, 距离下一级还需 732 积分
返回到中断发生的地方的下一条指令
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
高级技术员, 积分 970, 距离下一级还需 30 积分
高级技术员, 积分 970, 距离下一级还需 30 积分
主题帖子积分
专家等级:结帖率:11%
主题帖子积分
高级技术员, 积分 970, 距离下一级还需 30 积分
高级技术员, 积分 970, 距离下一级还需 30 积分
谢谢6楼的帮助回复。问题已经解决,确实是因为开了中断,而没有相应的中断函数存在造成的。(其实也是在修改程序时将定时中断函数屏蔽掉了而造成的)。谢谢所有朋友的回复。在此也提醒初学C语言编程的朋友,如果开了中断,一定记得要有相应的中断函数与之配套,否则将会发生不是预期的结果。
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
技术奇才奖章
人才类勋章
终身成就奖章
等级类勋章
坚毅之洋流
发帖类勋章
时间类勋章
技术领袖奖章
人才类勋章
涓涓之细流
发帖类勋章
突出贡献奖章
等级类勋章
沉静之湖泊
发帖类勋章
荣誉元老奖章
等级类勋章
社区建设奖章
等级类勋章
湍急之河流
发帖类勋章
时间类勋章
精华达人奖章
等级类勋章
技术高手奖章
人才类勋章
晶莹之水滴
发帖类勋章
时间类勋章STC89C52单片机外部中断0和外部中断1的应用
10:01:02来源: eefocus
&///////////////////////////////////////////////////////////////////////
&实现功能:& 测试和下降沿触发,因为实验板上的K3键与外部
&&&&&&&&&&&& 中断0的引脚相连,K4与的外部中断1相连,本实验要完成的测
&&& 试结果是,按下K3键时,即外部中断0触发,实验板上所以数码管上的
&&& 数加1,而按K4按下时,即外部中断1触发,数码管上的数值减1
&实验板型号:BS-XYD-C52
&实验名称:& 外部中断0和外部中断1的应用
&编写人:& 谢应东
&编写日期:& &&&&&&
&///////////////////////////////////////////////////////////////////////
#include &
&&&&&&&&&&&&&&&&&&&&
#define uchar unsigned char &//定义unsigned char 为 uchar
#define uint& unsigned int
uchar cC&&&&&&&&&&&&&&&& //记录外部中断次数的变量
sbit Duan=P2^6;&&&&&//定义数码管的段选使能端
sbit Wei =P2^7;&&&&&&& //定义数码管的位选使能端
#define Digital_tube_Wei_Enable Wei=1;&&//开启控制数码管的位选使能端
#define Digital_tube_Wei_Disable Wei=0;&&&& //关闭控制数码管的位选使能端
#define Digital_tube_Duan_Enable Duan=1;&//开启控制数码管的段选使能端
#define Digital_tube_Duan_Disable Duan=0;&//关闭控制数码管的段选使能端
#define Digital_tube_Duan P0&&& //定义数码管数据端口
uchar code Dis_table[]=&&&&& //将BCD码转换成数码管扫描码的数组
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,
&&&&&& 0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar code Dis_Position[]=&&//定义数码管位选的数组
{0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
&///////////////////////////////////////////////////////////////////////
函数名称:毫秒延时函数
函数功能:实现毫秒级的延时
参数介绍:Delay_MS: 定义需要延时的毫秒的数值
&&&&&&&&& iNumber: 记录Delay_MS的数值,以for语句实现所要求的延时
&&& iValue: 要延时毫秒所要进行的循环数值,本数值为实际测得
返回值:& 无
注意事项:本实验是在所用晶振为12M的前提下实现的毫秒延时,本函数是通过循环的形
&&&&&&&&& 式完成,所以如果改变了晶振的频率,请做相应的改变
&///////////////////////////////////////////////////////////////////////
void DelayMs(uint Delay_MS)
&uint iNumber,iV
&for(iNumber=0;iNumber<Delay_MS;iNumber++)&&& //用for语句实现单片机的延时
&&&& iValue=107;&&&&& //107这个数值是通过测定而得
&&&& while(iValue--);
&///////////////////////////////////////////////////////////////////////
函数名称:Init_INT0
函数功能:设置单片机的外部中断0和中断1,具体的设置状态都为外部低电平触发,并
&&&&&&&&& 且开总中断
参数介绍:无
返回值:& 无
注意事项:无
&///////////////////////////////////////////////////////////////////////
void Init_INT0()
&EX0=1;& &&//开启外部中断 0
&IT0=1;&&&&&&&&& //设置成低电平触发,1为下降沿触发
&EX1=1;& &&//开启外部中断 0
&IT1=1;&&&&&&&&& //设置成低电平触发,1为下降沿触发
&EA=1;&&&//开启总中断
&///////////////////////////////////////////////////////////////////////
函数名称:main
函数功能:完成外部中断0和中断1的初始化设置,然后系统完全进入等待状态,直到有
&&&&&&&&& 外部中断被触发
参数介绍:无
返回值:& 无
注意事项:无
&///////////////////////////////////////////////////////////////////////
void main()
&&& Init_INT0();&&&& //初始化外部中断0和外部中断1
&&& cCounter=0;
&Digital_tube_Wei_E&
&Digital_tube_Duan=0x00;
&Digital_tube_Wei_D
&&Digital_tube_Duan_E
&&Digital_tube_Duan=Dis_table[cCounter];&//送入要显示的cCounter的数值
&&Digital_tube_Duan_D
&///////////////////////////////////////////////////////////////////////
函数名称:Interrupt0_handler
函数功能:进入中断服务函数,当cCounter小于10时,其加1,当大于0时,加1
参数介绍:无
返回值:& 无
注意事项:关总中断和延时函数是为了消除从而产生的再次中断
&///////////////////////////////////////////////////////////////////////
void Interrupt0_handler()
&&& EA=0;&&&//首先关闭总中断,以消除按键出现的抖动所产生的干扰
&DelayMs(200);&//同样是为了消除抖动而产生新的中断
&&& if(++cCounter>=10)
&&cCounter=0;
&EA=1;&&&&&&&&&&& //恢复中断
&///////////////////////////////////////////////////////////////////////
函数名称:Interrupt1_handler
函数功能:进入中断服务函数,当cCounter大于0,其减1,小于0时,赋值为10
参数介绍:无
返回值:& 无
注意事项:关总中断和延时函数是为了消除抖动从而产生的再次中断
&///////////////////////////////////////////////////////////////////////
void Interrupt1_handler() interrupt 2
&&& EA=0;&&&//首先关闭总中断,以消除按键出现的抖动所产生的干扰
&DelayMs(200);&//同样是为了消除抖动而产生新的中断
&&& if(cCounter)
&cCounter=10;
&EA=1;&&&&&&&&&&& //恢复中断
关键字:&&&&&&
编辑:什么鱼
引用地址:
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
微信扫一扫加关注 论坛活动 E手掌握
微信扫一扫加关注
芯片资讯 锐利解读
大学堂最新课程
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
热门资源推荐
频道白皮书
何立民专栏
北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。单片机外部中断实验(附C语言程序)_文档下载
亿万文档 免费下载
当前位置: &
& 单片机外部中断实验(附C语言程序)
单片机外部中断实验(附C语言程序)
单片机外部中断实验(附c程序)
一、实验目的
掌握外部中断的C语言和汇编语言编程方法,会用外部中断解决实际应用问题。 。
二、实验内容
8051C51单片机P2.0接一个发光二极管LED1、P2.1接一个发光二极管LED2,P3.2接一个开关 、P3.3接一个开关 要求实现以下功能:
(1) 合上、P3.3断开时LED1闪烁
(2)P3.2断开、P3.3合上时LED2闪烁
(3)P3.2合上后(不断开)再合上P3.3,LED1闪烁LED2不闪烁
(4)P3.3合上后(不断开)再合上P3.2,LED2不闪烁LED1闪烁
试编写C语言和汇编语言程序
使用自然优先级 就可以
也可 XO 高级X1低级PX0=1 PX1=0
四、实验电路
五、参考程序(自己完成)
Include&reg52.h&
Sbit P2_0=P2^0;
Sbit P2_1=P2^1;
Sbit P3_2=P3^2;
Sbit P3_3=P3^3;
void delay02s(void) //延时0.2秒子程序
unsigned char i,j,k;
for(i=20;i&0;i--)
for(j=20;j&0;j--)
for(k=248;k&0;k--);
Word文档免费下载: (下载1-2页,共2页)
51单片机 利用外部中断测... 5页 免费 51单片机实验――单片机... 6页 1下载...51单片机学习08(外部中断... 16页 免费 51单片机C语言程序(二)定... 11页...单片机 C 语言程序设计 实验指导书(必修) 电子与信息工程学院 储茂祥 巩荣芬 主编 单片机 C 语言程序设计实验指导书 前 言 单片机体积小,重量轻,具有很强的灵活...51单片机培训―C语言版外部中断_信息与通信_工程科技...51单片机的5个中断源 高 打断主程序的“人”―...ET0 SETB EA 用定时器设计一个50msLED闪烁实验 ?...有关51单片机中断的形式和C语言编程格式_计算机软件及应用_IT/计算机_专业资料。...外部中断程序 ---*/ void ISR_Key(void) interrupt 0 using 1 { P1=~P1...04MCS-51单片机C语言程序设计与中断系统_工学_高等教育_教育专区。吉林大学张志成...扩展外部中断请求输入口 Page 20 吉林大学通信工程学院
4.1 中断...单片机_C语言函数_中断函数(中断服务程序)_计算机硬件及网络_IT/计算机_专业资料。c语言中的中断函数注意事项单片机_C 语言函数_中断函数(中断服务程序) 在开始写...单片机实验指导书(C语言... 50页 免费 单片机C语言程序设计实训... 62页 1...外部中断应用,中断嵌 解:电子表分为工作状态和调整状态。平时为工作状态,按键不...51单片机定时器中断程序(C语言)_工学_高等教育_教育专区。51c程序51单片机定时器中断程序(C语言) 用C语言实现的,先要定义好定时器的初值 不管你使用多大的晶振,...单片机C语言编写程序实验指导书_信息与通信_工程科技_专业资料。单片机C语言编写程序...(中断法) #include &AT89X51.H& unsigned char code dispcode[]={0x3f,...51单片机C语言中断程序定时计数器_信息与通信_工程科技_专业资料。51单片机C语言中断程序定时计数器51 单片机 C 语言中断程序 定时 计数器 语言中断 中断程序 定时/...单片机C语言程序设计实训100例_电子/电路_工程科技_...//外部中断 0 void EX0_INT() interrupt 0 { TR...在 Proteus 环境下完成 本实验时,需要安装 Virtual ...8051单片机的外部中断;一、外部中断的应用实例;采用低电平(触发)中断方式与负脉冲中断方式(下降;(1)请求中断的低电平必须保持足够长的时间,直到;(2)低电平的中断信号必须在返回主程序前撤消,否;解决这个问题的方法是,在单片机外增加一个D触发器;例6-3利用作为外部中断输入线,每按一次开关K使;(3)使用脉冲中断请求方式的硬件电路如图6-5所;ORG00
8051单片机的外部中断
一、外部中断的应用实例
采用低电平(触发)中断方式与负脉冲中断方式(下降沿触发)的过程基本相同,唯一不同的在于中断请求信号的保持与撤消。负脉冲方式将IE置1向CPU申请中断,由于没有中断请求标志位,要求中断源在中断处理程序返回主程序前,将 或 引脚的电平升为高电平,以避免重复中断。因此,在实际使用中应注意两点:
(1)请求中断的低电平必须保持足够长的时间,直到中断响应为止。
(2)低电平的中断信号必须在返回主程序前撤消,否则会产生多余的中断动作。
解决这个问题的方法是,在单片机外增加一个D触发器作为中断标志位,当中断请求发生时,置该触发器为1,当中断响应后将触发器清零。
例6-3 利用 作为外部中断输入线,每按一次开关K使P1口处的8个LED轮流点亮一次,如图4所示。(本题可作为实例演示,此程序采用的是外部中断1中的低电平触发。)
(3)使用脉冲中断请求方式的硬件电路如图6-5所示。在主程序中先将 初始化为:负脉冲、允许中断工作方式。然后将控制码01H由累加器A送入P1口,使P1.0控制的二极管发光。当用户按开关K后产生负脉冲的中断请求信号给80C51的 引脚,CPU响应中断后执行中断处理程序,使累加器A中控制码左移一位,重新送给P1口,此时P1.1控制的LED发光,而P1.0控制的LED熄灭。每按一次开关产生一次中断,使控制码左移一位,用户看到的情况是8个LED轮流发光显示。
/*起始地址*/
/*跳转到主程序*/
/*外部中断1的地址*/
/*跳转到INT执行*/
/*主程序的起始地址*/
/*将FEH送给A*/
/*外部中断1跳变沿触发方式*/
/*外部中断1开中断*/
/*CPU开中断*/
/*将A送给P0*/
/*循环等待*/
/*A循环左移*/
/*将A的数值送给P0*/
/*中断返回*/
/*程序结束*/
如果是外部中断0,则把红色字体里的1改成0 ,ORG 0013H改成ORG 0003H。
下面这个程序可以实现发光二极管向上走和向下走。
/*起始地址*/
/*跳转到主程序*/
/*外部中断0的地址*/
/*跳转到INT执行*/
/*外部中断1的地址*/
/*跳转到INTT执行*/
/*主程序的起始地址*/
/*将FEH送给A*/
/*外部中断0跳变沿触发方式*/
/*外部中断0开中断*/
/*CPU开中断*/
/*外部中断1跳变沿触发方式*/
/*外部中断1开中断*/
/*将A送给P0*/
/*循环等待*/
/*A循环左移*/
/*将A的数值送给P0*/
/*中断返回*/
/*A循环右移*/
/*将A的数值送给P0*/ /*中断返回*/ 程序结束*/
三亿文库包含各类专业文献、行业资料、高等教育、各类资格考试、应用写作文书、中学教育、8051外部中断实例(汇编语言,自己原来的程序有C语言版的)71等内容。 
 单片机C语言应用程序设计(第五版)马忠梅课后习题答案...(2)中断系统:IP、IE; 完成中断管理 (3)定时器/...12、8051 向外扩展的程序存储器和数据存储器的最大...  简单C语言程序的例子_IT/计算机_专业资料。这是一些有关于简单程序的例子 例子: #include &stdio.h& main () { tips(); /*caller*/ printf(“\n Success ...  C语言程序经典例子_电脑基础知识_IT/计算机_专业资料。供C语言初学者学习参考的C语言经典例子。计算机程序设计基础(c 语言) 习题 编程题 计算机程序设计基础(C ...  C语言初学者必懂的100个范例程序_计算机软件及应用_...(month)/*先计算某月以前月份的总天数*/ { case...程序分析:(a&b)?a:b 这是条件运算符的基本例子...  关于C语言程序设计中堆栈实现的实例_计算机软件及应用_IT/计算机_专业资料。C语言程序设计,堆栈实例关于C语言程序设计中堆栈实现的实例 // 堆栈.cpp : 定义控制台...  atmega16单片机C语言程序_电子/电路_工程科技_专业资料 暂无评价|0人阅读|0次下载|举报文档 atmega16单片机C语言程序_电子/电路_工程科技_专业资料。#include &...  B.C 语言本身没有输入输出函数 C.C 程序的每行只能写一条语句 D.在对每一个 C 程序进行编译的过程中,可发现注释 中的拼写错误 5.C 语言程序的语句如果...  C语言模糊查询程序实例_计算机软件及应用_IT/计算机_专业资料。C语言模糊查询,包括模糊查询的介绍,还有附加参考程序。下面为大家介绍字符串模糊查询的 C 语言程序编写...  c语言51单片机实例程序详解大全_电子/电路_工程科技_专业资料。【实例 1】使用...(KeyV); else //解码按键 //开中断 //启动等待 //设外部中断 1 为低...

我要回帖

更多关于 单片机中断程序 的文章

 

随机推荐