智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3769|回复: 4
打印 上一主题 下一主题

[编程类] 大家帮忙看下这个外部中断!或者发给我一个外部中断的例程,谢谢了!

[复制链接]

0

主题

7

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
316
威望
218
贡献
50
兑换币
24
注册时间
2009-5-8
在线时间
24 小时
跳转到指定楼层
1#
发表于 2009-5-12 18:11:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1贡献
本帖最后由 riyakiss 于 2009-5-12 20:17 编辑

下面是我的源代码,实现的就是利用外部中断IRP,以下降沿触发的方式,是B口的电平反复反向。IRQ的电平变化,我是利用将GND和PE0之间用一单刀双置开关连接。通过拨动开关,来改变PE0引脚的电平。

功能:将开关从一侧拨到另一侧时,使PE0和GND导通,产生下降沿,从而使中断触发,B口电平全部反向,但是遇到了问题:每次电平反向了两次。我用Debug调试的话,都是只反向一次,怎么回事呢?调试一句句执行语句都没有问题,但是整体运行却有问题。

下面是我的代码,功能不复杂,就是简单的外部中断,希望大家耐烦看下,能帮我解决这个问题:

注:我用的是清华的那块DG128的板子。一般做智能车的同学都有用过吧!


#include<hidef.h>
#include<mc9s12dg128.h>

void Delay();

void main(void)
{
  DDRB = 0xff;  // PTB as output
  
  PORTB = 0xff;   // LEDs off
  INTCR = 0xC0;
   
  EnableInterrupts;
  for (;;);
}



#pragma CODE_SEG NON_BANKED      //  Define Program ROM and Interrupt Vectors,in Non_Bank Area
#pragma TRAP_PROC           //  Define SegMent of Interrupt Serve Entrance


                     
void OutINT(void)        
{
DisableInterrupts;
Delay();
PORTB = ~PORTB;
Delay();
EnableInterrupts;
}

#pragma CODE_SEG DEFAULT        //  Define Program ROM and Interrupt Vectors,Return Default Area


void Delay(void)
{
  int i,j;
  for(i = 0; i<1000; i++)
  {
    for(j = 0; j<1000; j++);
  }
}

附件: 您需要 登录 才可以下载或查看,没有帐号?注册

0

主题

7

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
316
威望
218
贡献
50
兑换币
24
注册时间
2009-5-8
在线时间
24 小时
2#
 楼主| 发表于 2009-5-12 20:43:10 | 只看该作者
只能自己先顶一个了,难道没有人写过外部中断吗!!!
回复

使用道具 举报

0

主题

2

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
威望
205
贡献
44
兑换币
22
注册时间
2009-5-5
在线时间
8 小时
3#
发表于 2009-5-13 16:39:48 | 只看该作者
把开关去了,直接用导线接GND和外部中断引脚,试试看有什么结果。我用的是凌阳的61板,不过和你这个差不多的。这个开关对我来说不懂,哎,知晓的搞些简单的程序。我一点电路知识都没有啊。好在我是在程序组。
回复

使用道具 举报

0

主题

7

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
316
威望
218
贡献
50
兑换币
24
注册时间
2009-5-8
在线时间
24 小时
4#
 楼主| 发表于 2009-5-13 18:40:38 | 只看该作者
我先用过你那种方案,直接把导线连起来,但那个样子,系统会更加不稳定,想问下,你那边有类似的外部中断程序吗,要是有的话,能否给我一个参考下,万分感谢了。
回复

使用道具 举报

0

主题

7

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
250
威望
175
贡献
55
兑换币
0
注册时间
2012-2-24
在线时间
10 小时
毕业学校
广东技术师范学院
5#
发表于 2012-4-16 16:24:07 | 只看该作者
有 INTCR 这个寄存器么?编译都出错了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-28 12:09 , Processed in 0.455549 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表