导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→我编的外部中

* 82719: 我编的外部中

   fish12 
fish12发表的帖子 

 我编的外部中
我是基于C8051F020单片机作的一个小外部扩展中断的例子,用过020开发版的都知道 
P1.6为一个LED P3.7为一个按件!!
我遍的程序就是用按下P3.7就会产生中断 使P1.6闪亮

#include   <c8051F020.h>  
sbit LED = P1^6;                    //P1.6  为LED灯
sbit SW = P3^7;
void PORT_INIT(void)               //端口初使话 交叉开关允许 P1.6为推完输出
{
 XBR2 = 0x40; P1MDOUT =  P1MDOUT|0x40;
}

INT7_INIT()                     //中断初始化 P3.7外部中断允许 
{
 IE = IE|0x80;
 EIE2 = EIE2|0x20;
}

void INT7() interrupt 17             //中断服务程序
{
 P3IF = P3IF&0x7f;                   //P3.7外部中断关闭 是否需要???
 int i;
 for(i=0;i  <30000;i++)                //在一段时间内 LED闪亮
 {
  LED = !LED;
  }
}

main()
{
 PORT_INIT();
 INT7_INIT();
 for(;;)                             //无限循环
 {}
}

但我调试了很多遍怎么当我按下3.7时 LED不停的闪亮 跳不出中断了怎么回事 我不是在中
断服务程序中写了for循环 只是在一段时间内循环啊???
还请各位指教 小女子感激不尽!!! 


发表时间:2005年8月25日11:09:36

  
回复该帖

本主题共有 2 帖,分页:>>>>>该主题的所有内容[2]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  82735.[详细]回
摘要:怎么没人理你,我用汇编的,稍微能看懂C,我说说用汇编的想法吧 中断程序内部不用关中断,不然下次怎么跳进去啊 还有按你的中断程序,LED要闪30000下吧 ......(145字)
- [hntgln1][794次] 2005年8月25日

[上一篇帖子]:单片机与PC机串口通讯问题,急急!!PC机送出q后能成功收到abcd,但第二次(发w)却不能成功接收
[下一篇帖子]:关于总线的速度?!小弟现在在调一块arm9的开发板,它内部是通过AHB总线与sram相连,总线频率设