当前位置: 首页 > news >正文

C51--测速小车

测速小车:

测速模块:

用途:
广泛用于电机转速检测,脉冲计数,位置限位等。
高低电平:
有遮挡,输出高电平;
无遮挡,输出低电平。
接线:
VCC——正极
GND——接地
DO TTL开关信号输出
AO 此模块不起作用

测速原理和单位换算:

轮子走一圈,周长:C = 3.14 x 直径(6.5cm)
对应码盘也转一圈,码盘有20个格子,每经过一个会遮挡(高电平),一个脉冲走了3.14 x 6.5cm / 20 = 1.0205cm

定时器可以设置一秒,统计脉冲数,一个脉冲就是1cm。假设有100个脉冲,也就是100cm/s

测速数据通过串口发送到上位机:
主函数:


#include "motor.h"
#include "Delay.h"
#include "uart.h"
#include "reg52.h"
#include "time.h"sbit speedIO = P3^2;//外部中断
unsigned int speedCnt = 0;	//速度统计
extern unsigned int speed;
extern char signal;void Ex0Init()
{EX0 = 1;	//允许中断//EA = 1;	//开始总中断,在串口初始化函数已经开启IT0 = 1;	//外部中断0触发
}void main()
{Time0Init();//定时器0初始化UartInit();	//串口初始化Ex0Init();	//外部中断初始化while(1){if(signal){SendString("speed:");SendByet(speed);signal = 0;}}
}void speedHandler() interrupt 0
{speedCnt++;
}

定时器:

#include "motor.h"
#include "reg52.h"unsigned int speed;
extern unsigned int speedCnt;
char signal = 0;
char cnt = 0;void Time0Init()
{TMOD = 0x01;		//配置定时器0工作模式位16位时TL0 = 0x33;		  //给初值,定一个0.5msTH0 = 0xFE;									ET0 = 1;				//打开定时器0中断			EA = 1;					//打开总中断EATR0 = 1;		    //开始计时TF0 = 0;
}void Time0Handler() interrupt 1
{cnt++;				//统计爆表的次数TL0 = 0x33;		//重新给初值TH0 = 0xFE;if(cnt == 2000){ //爆表2000次,经过1ssignal = 1;cnt = 0;			//重新计算cntspeed = speedCnt;speedCnt = 0;//计算小车速度,1s拿speedCnt的值,	// 清零}
}
http://www.lryc.cn/news/280413.html

相关文章:

  • ORACLE报错:ORA-04091 表XXX发生了变化,触发器/函数不能读它
  • Arm LDM和STM的寻址方式
  • 网络技术基础入门全套实验-厦门微思网络CCNA实验手册
  • 【已解决】C语言实现多线程检索数据
  • 用LM Studio:2分钟在本地免费部署大语言模型,替代ChatGPT
  • C语言经典算法之直接排序算法
  • 前端开发vscode 常用插件记录
  • 基于JavaWeb+BS架构+SpringBoot+Vue基于web的多媒体素材管理系统的设计和实现
  • 常用的dom操作
  • Hotspot源码解析-第十七章-虚拟机万物创建(三)
  • Spring MVC 的RequestMapping注解
  • navicat for oracle
  • 行业分享----dbaplus174期:美团基于Orchestrator的MySQL高可用实践
  • springboot集成钉钉通知
  • 直播预告丨看零售场,如何玩转 MaaS
  • 高创新!EI论文复现+改进:聚合温度调控策略的综合能源系统/微电网/虚拟电厂多目标优化调度程序代码!
  • 详解Matlab深度学习进行波形分割
  • 如何在Windows 10/11的防火墙中禁止和允许某个应用程序,这里提供详细步骤
  • vivado 添加现有IP文件、生成IP
  • C++右值引用,右值引用与const引用的区别
  • 启英泰伦推出「离线自然说」,离线语音交互随意说,不需记忆词条
  • Vulnhub-DC1
  • 【c++笔记】总结!c++与c语言的不同之处
  • 大模型PEFT技术原理(一):BitFit、Prefix Tuning、Prompt Tuning
  • VMware vSphere运维管理手册
  • 学习笔记-mysql-各种函数的基本使用
  • DD小桔高级数分 2面挂
  • 居中面试问题
  • 网页设计-用户体验
  • docker应用:vocechat