智能车制作

 找回密码
 注册

扫一扫,访问微社区

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

关于定时和测速的问题

[复制链接]

0

主题

5

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
203
威望
181
贡献
22
兑换币
0
注册时间
2008-4-19
在线时间
0 小时
跳转到指定楼层
1#
发表于 2008-4-20 19:32:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<>#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>#include "start12.h"<BR>#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"</P><P>static speed;<BR>void&nbsp; get_speed()<BR>&nbsp;{&nbsp;&nbsp; <BR>while (TFLG2==0x80) <BR>&nbsp; TSCR1=0x00;<BR>&nbsp; speed =PACN0;<BR>&nbsp; }<BR>void Init_INT_Timer(void)<BR>&nbsp;{ <BR>TSCR2 =0x85; /* 128Hz at 16M bus clok */ /* 128Hz * 2/3 at 24m bus clock */ /* in fact it is a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; little more than it. */ <BR>TIOS =0x00; /* I/O select */ <BR>TCTL4 =0x03;<BR>TSCR1=0x80; /* TSCR1_TEN=1 //Timer Enable */ <BR>ICPAR = 0x01;<BR>DDRB=0xff; <BR>PORTB=0xff;<BR>TCNT=0x0002;<BR>TFLG2=0x00;<BR>} <BR>void main()<BR>{&nbsp; for(;;){<BR>&nbsp;&nbsp; Init_INT_Timer();<BR>&nbsp;&nbsp; get_speed() ;<BR>&nbsp;&nbsp; if ( speed ==0 ) {<BR>&nbsp;&nbsp;&nbsp; PORTB = 0x7e ;<BR>&nbsp;&nbsp;&nbsp; delay (1000);<BR>&nbsp;&nbsp; } <BR>&nbsp;&nbsp;&nbsp; if ( speed &gt;0&nbsp; &amp;&amp; speed &lt;10) {<BR>&nbsp;&nbsp;&nbsp; PORTB = 0xbd ;<BR>&nbsp;&nbsp;&nbsp; delay (1000); <BR>&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(speed&gt;9) { <BR>&nbsp;&nbsp;&nbsp; PORTB = 0xdb;<BR>&nbsp;&nbsp;&nbsp; delay (1000); <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp; }<BR>&nbsp;}<BR>每次运行后 B 口都没反应 用 hiwave 查定时计数器中数值有变化 请问我们的问题出在什么地方</P><P class=MsoNormal style="MARGIN: 0pt"><SPAN lang=EN-US><FONT size=3>#include &lt;hidef.h&gt;<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>/* common defines and macros */</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0pt"><SPAN lang=EN-US><FONT size=3>#include &lt;mc9s12dg128.h&gt;<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>/* derivative information */</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0pt"><SPAN lang=EN-US><FONT size=3>#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0pt"><SPAN lang=EN-US><?xml:namespace prefix = o ns = "urn:schemas-microsoft-comffice:office" /><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P><P class=MsoNormal style="MARGIN: 0pt"><SPAN lang=EN-US><FONT size=3><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN></FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0pt"><SPAN lang=EN-US><FONT size=3>void main(void) </FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0pt"><SPAN lang=EN-US><FONT size=3>{<SPAN style="mso-spacerun: yes">&nbsp; </SPAN></FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0"><SPAN lang=EN-US><FONT size=3>DDRB=0xff; </FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0pt"><SPAN lang=EN-US><FONT size=3><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>PORTB=0xff; </FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0pt"><SPAN lang=EN-US><FONT size=3><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>TSCR2=0x05; </FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0pt"><SPAN lang=EN-US><FONT size=3><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>TSCR1=0x80; </FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0pt"><SPAN lang=EN-US><FONT size=3><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>DDRB=0xff; </FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0pt"><SPAN lang=EN-US><FONT size=3><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>PORTB=0xff;</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0pt"><SPAN lang=EN-US><FONT size=3><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>TCNT=0x0002;</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0pt"><SPAN lang=EN-US><FONT size=3><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>if (TFLG2==0x80 )</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0pt"><SPAN lang=EN-US><FONT size=3><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>TSCR1=0x00;</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0pt"><SPAN lang=EN-US><FONT size=3><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>PORTB=0x7E;</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0pt"><SPAN lang=EN-US><FONT size=3>}</FONT></SPAN></P><P>这个在每次运行后寄存器TCNT里的值为什么每次都不一样?用单步运行时也是每次数值都不一样 这是怎么回事?</P>

0

主题

19

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
239
威望
203
贡献
30
兑换币
8
注册时间
2008-3-29
在线时间
3 小时
2#
发表于 2008-4-25 06:55:58 | 只看该作者

Re:关于定时和测速的问题

<>你把 Init_INT_Timer();<BR>放到for(;;)循环</P><P>外面再试试</P>
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

注册会员

Rank: 2

积分
123
威望
171
贡献
22
兑换币
0
注册时间
2008-5-7
在线时间
0 小时
3#
发表于 2008-5-9 00:41:19 | 只看该作者

Re:关于定时和测速的问题

还是不行啊,的继续努力了!
回复 支持 反对

使用道具 举报

0

主题

11

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
259
QQ
威望
211
贡献
42
兑换币
18
注册时间
2008-3-3
在线时间
3 小时
4#
发表于 2008-6-24 04:51:53 | 只看该作者

Re:关于定时和测速的问题

用主定时器看看,我们就用的是主定时器
回复 支持 反对

使用道具 举报

21

主题

259

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1004
威望
683
贡献
117
兑换币
0
注册时间
2012-2-1
在线时间
102 小时
5#
发表于 2012-3-3 22:20:59 | 只看该作者
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-20 22:24 , Processed in 0.128212 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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