51单片机使用槽型光耦测速模块

目录

【测速模块】

模块资料

接线

使用说明

【单片机程序】


【测速模块】

模块资料

我使用的是窄体的槽型光耦测速模块,如下图所示:

接线

1、VCC接电源正极3.3V-5V

2、GND接电源负极

3、D0(TTL开关信号输出)接单片机外部中断

4、A0无效

使用说明

1、模块槽中无遮挡时,接收管导通,模块DO输出低电平,遮挡时,DO输出高电平;

2、DO输出接口可以与单片机10口直接相连,检测传感器是否有遮档,如用电机码盘则可检测电机的转速。

3、模块DO可与继电器相连,组成限位开关等功能,也可以与有源蜂鸣器模块相连,组成报警器。


【单片机程序】

我使用的是传统的89C51单片机,外部晶振为11.0592M。以下程序仅提供思路,省去无关的定义内容等等,仅供参考。

/*定时器0中断号1*/
void Time0() interrupt 1
{	
	TH0 = 0xDC;					//11.0592M晶振下装入10ms初值
	TL0 = 0x00;
	time++;
	
	if(time == 100)
	{
		Wheel_Speed = ( Angular_N / 20 ) * 2 * 3.5 * 3.14 ;	//获取1s内中断计数的值num,并进行数值处理  (中断数值/20*直径*3.14为1s内移动距离)
		time = 0;	
		Angular_N = 0;
	}
}

/*外部中断0初始化*/
void Int0Init()
{
	IT0 = 1;				//跳变沿出发方式(下降沿)
	EX0 = 1;				//打开INT0的中断允许
	EA = 1;					//打开总中断	
}

/*外部中断0的中断函数*/
void Int0()	interrupt 0		
{
	Angular_N++;		
}

 

 

 

 

 

 

  • 23
    点赞
  • 152
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值