智能车制作

 找回密码
 注册

扫一扫,访问微社区

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

急求欧姆龙测速程序

[复制链接]

13

主题

56

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2513
威望
279
贡献
2130
兑换币
0
注册时间
2010-12-29
在线时间
52 小时
跳转到指定楼层
1#
发表于 2011-5-29 22:17:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
谁有欧姆龙测速的程序啊,我们的自己写的程序不知怎的捕捉不到脉冲,想借大家的程序试试 发到676356489@qq.com,非常感谢

8

主题

84

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
448
QQ
威望
336
贡献
68
兑换币
2
注册时间
2010-11-7
在线时间
22 小时
2#
发表于 2011-5-30 19:21:58 | 只看该作者
麻烦也给我发一下把1018421427@qq.com,谢谢!
回复 支持 反对

使用道具 举报

5

主题

36

帖子

0

精华

高级会员

Rank: 4

积分
602
威望
369
贡献
155
兑换币
69
注册时间
2012-3-28
在线时间
40 小时
3#
发表于 2012-6-6 16:53:18 | 只看该作者
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
237
威望
134
贡献
59
兑换币
78
注册时间
2012-12-1
在线时间
22 小时
4#
发表于 2013-3-22 22:16:10 | 只看该作者
回复 支持 反对

使用道具 举报

3

主题

63

帖子

0

精华

高级会员

Rank: 4

积分
535
威望
330
贡献
137
兑换币
135
注册时间
2011-8-30
在线时间
34 小时
5#
发表于 2013-3-29 22:29:12 | 只看该作者
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
#include<MC9S12XS128.h>
        //该程序统计5秒内转了多少圈
word num;
uchar flag,ch;

void pll_init()  //超频24MHz   F_bus=12Mhz
{  
    REFDV=3;
   SYNR=2;
   while(CRGFLG_LOCK==0);
   CLKSEL=0x80;
}

void PIT_init() {
  
      PITCFLMT=0X81;
      PITFLT=0X01;
      PITCE=0X01;
      PITMUX=0X0E;
      PITINTE=0X01;
      PITMTLD0=239;   //100ms定时
      PITLD0=0X1388;   
}
void PA_init() {
  
PACTL=0X50;//开启脉冲累加功能,上升沿计数,输入时钟为PA预分频时钟脉冲累加溢出中断使能,输入中断使能
PACNT=0x0000;//清零
TCTL3=0X40;
TIE=0X00;
TIOS=0X00;
}
void sci_init() {
      
       SCI0BDH=0X00;
       SCI0BDL=0X9c;  //波特率4800
       SCI0CR1=0X00; //8位模式无奇偶校验
       SCI0CR2=0X2C; // 发送允许,接受中断            
   }
   
   //接收函数
unsigned char SCI_READ() {
   
    if(SCI0SR1_RDRF==1) {
      
            SCI0SR1_RDRF=1;
            return (SCI0DRL);
    }
  }
  
   //发送函数
unsigned char SCI_WRITE(unsigned char n) {
      
      while(!(SCI0SR1_TDRE));
        
          SCI0DRH=0;
          SCI0DRL=n;
      
  }

void main(void) {
  
     pll_init();
     PIT_init();
     PA_init();
     sci_init();
  
EnableInterrupts;

  for(;;) {
  
   
  } /* loop forever */
  /* please make sure that you never leave main */
}
#pragma CODE_SEG NON_BANKED
void interrupt 66 PIT0() {
   
   flag++;
   if(flag==50) {
   
   flag=0;
   num=PACNT;
   ch=num/200;
   SCI_WRITE(ch);
   PACNT=0X0000;
   }
    PITTF=0X01;
  
}
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-1 12:36 , Processed in 0.124352 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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