智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 6506|回复: 10
打印 上一主题 下一主题

利用脉冲捕捉进行脉冲计数

[复制链接]

0

主题

2

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
223
QQ
威望
191
贡献
30
兑换币
10
注册时间
2008-2-25
在线时间
1 小时
跳转到指定楼层
1#
发表于 2008-3-31 17:57:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<>请问:利用脉冲捕捉进行脉冲计数,为什么我输入一个脉冲后进入中断,但是没有显示计数器中的值变化,而且程序停止执行?</P><P>程序大致如下:</P><P>#include &lt;hidef.h&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* common defines and macros */<BR>#include &lt;mc9s12dg128.h&gt;&nbsp;&nbsp;&nbsp;&nbsp; /* derivative information */<BR>#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"<BR>unsigned char pulsecnt;<BR>void main(void)<BR>{DDRB=0XFF;&nbsp;&nbsp; //设置端口B为输出<BR>&nbsp;PORTB=0XFF; //初始化端口B<BR>&nbsp;asm {<BR>&nbsp; SEI<BR>&nbsp;};<BR>&nbsp;TIOS=0X00;<BR>&nbsp;TSCR1=0X80;<BR>&nbsp;TSCR2=0X01;<BR>&nbsp;TCTL4=0X02;<BR>&nbsp;TIE=0X01;<BR>&nbsp;TFLG1=0X01;<BR>&nbsp;DLYCT=0X01;<BR>&nbsp;pulsecnt=0x00;<BR>&nbsp;</P><P>&nbsp;for(;;) { asm {<BR>&nbsp; CLI<BR>&nbsp;};}</P><P>}</P><P>#pragma CODE_SEG_NEAR_SEG NON_BANKED<BR>void interrupt IC0_ISR(void) <BR>{<BR>asm{SEI<BR>};<BR>pulsecnt++;<BR>TFLG1=0X01;<BR>PORTB=~pulsecnt;<BR>&nbsp;<BR>}<BR>#pragma CODE_SEG DEFAULT</P><P>&nbsp;</P><P>&nbsp;</P>

0

主题

10

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
242
威望
202
贡献
34
兑换币
10
注册时间
2008-4-17
在线时间
3 小时
2#
发表于 2008-4-17 15:12:00 | 只看该作者

Re:利用脉冲捕捉进行脉冲计数

<>me too!</P><P>???????????????????????????????</P>
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
432
威望
300
贡献
106
兑换币
84
注册时间
2008-2-27
在线时间
13 小时
3#
发表于 2008-4-20 00:33:52 | 只看该作者

Re:利用脉冲捕捉进行脉冲计数

<><FONT style="BACKGROUND-COLOR: #cce8cf">好像输入变化低于总线频率的64分频就不能用样</FONT></P><P><FONT style="BACKGROUND-COLOR: #cce8cf"></FONT>&nbsp;</P><P><FONT style="BACKGROUND-COLOR: #cce8cf"></FONT>&nbsp;</P>
回复 支持 反对

使用道具 举报

0

主题

14

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
237
威望
201
贡献
32
兑换币
10
注册时间
2008-5-27
在线时间
2 小时
4#
发表于 2008-5-27 23:42:15 | 只看该作者

Re:Re:利用脉冲捕捉进行脉冲计数

<>ha ?太慢了不行?&nbsp; 。。。。总线频率 的1/64? PLL以后的那个也算么?</P><P>&nbsp;</P><P>&nbsp;</P>
回复 支持 反对

使用道具 举报

0

主题

14

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
237
威望
201
贡献
32
兑换币
10
注册时间
2008-5-27
在线时间
2 小时
5#
发表于 2008-5-28 02:34:06 | 只看该作者

Re:利用脉冲捕捉进行脉冲计数

<>#pragma CODE_SEG_NEAR_SEG NON_BANKED<BR>void interrupt IC0_ISR(void) <BR></P><P>最后的这里我改成 void interrupt 8 timer(void) </P><P>之后,就能运行了。。。</P><P>不知那个 IC0_ISR 是哪里定义的。。。</P>
回复 支持 反对

使用道具 举报

0

主题

16

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
235
威望
213
贡献
22
兑换币
0
注册时间
2008-7-29
在线时间
0 小时
6#
发表于 2008-8-20 16:58:41 | 只看该作者

Re:利用脉冲捕捉进行脉冲计数

为什么在中断程序前面一定要加上<>#pragma CODE_SEG_NEAR_SEG NON_BANKED<BR>#pragma CODE_SEG DEFAULT</P><P>这两句话呢?谢谢。</P>
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

注册会员

Rank: 2

积分
199
威望
177
贡献
22
兑换币
0
注册时间
2008-9-15
在线时间
0 小时
7#
发表于 2008-10-16 05:33:19 | 只看该作者

Re:利用脉冲捕捉进行脉冲计数

&nbsp;DLYCT=0X01;是什么用处?
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
234
威望
198
贡献
32
兑换币
10
注册时间
2008-9-30
在线时间
2 小时
8#
发表于 2008-11-14 05:37:10 | 只看该作者

Re:Re:利用脉冲捕捉进行脉冲计数

参考《HCS12微控制器原理与应用》 王威 等主编 北京航空航天大学出版社 P135~136
回复 支持 反对

使用道具 举报

6

主题

185

帖子

0

精华

高级会员

Rank: 4

积分
963
威望
435
贡献
438
兑换币
0
注册时间
2010-1-11
在线时间
45 小时
9#
发表于 2010-4-6 20:51:52 | 只看该作者
进入中断要加向量号吧!
回复 支持 反对

使用道具 举报

6

主题

185

帖子

0

精华

高级会员

Rank: 4

积分
963
威望
435
贡献
438
兑换币
0
注册时间
2010-1-11
在线时间
45 小时
10#
发表于 2010-4-6 21:18:32 | 只看该作者
只是用到普通的输入捕捉通道吧!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 19:40 , Processed in 0.251733 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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