找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1249|回复: 2
打印 上一主题 下一主题
收起左侧

电机测速单片机程序问题,电机轴上装有传感器 转圈发脉冲

[复制链接]
跳转到指定楼层
楼主
本人写了一个电机测速的程序,电机轴上装有传感器,转一圈发送40个脉冲,但是1602始终显示0.
我的程序思路:用INTO和INT1控制加减速,用T0计时0.1毫秒,T1计数脉冲,看一秒收到了多少个脉冲,就测出了转速,1602的头文件已经测试过了没问题,我感觉可能是T1计数出问题,但就是找不出原因

#include <REGX52.H>
#include <lcd1602.h>
unsigned int z=50;  //???????
unsigned int counter=0;
unsigned int s=0,j=0;
sbit speed=P3^5;
sbit pwm=P1^3;
sbit k1=P3^2;
sbit k2=P3^3;
void delay(unsigned int t) //延时函数
{
  unsigned int t1;
  t1=t;
  while(t1--);
}
void Int0Init()  /配置INT0
{

IT0=1;//????????????????????
EX0=1;//??INT0???ж??????
EA=1;//?????ж?
}
void Int1Init()   /配置INT1
{

IT1=1;//????????????????????
EX1=1;//??INT1???ж??????   
}
void Timer0Init() /配置T0,计时0.1毫秒
{
TMOD=0X51; /设置TMOD
TH0=0xFF;
    TL0=0x9C;
ET0=1;//???????0?ж?????
EA=1;//?????ж?
TR0=1;//???????   
}
void Timer1Init()//配置T1,计数
{
TH1=0X00;
TL1=0x00;  
TR1=1;//???????   
}  
void dingshi() interrupt 1 //计时中断
{
  TH0=0xFF;
     TL0=0x9C;
  counter++;
  s++;
  j++;
}      
void jiasu() interrupt 0  //按键加速
{
delay(1000);
   if(k1==0)
   {
    z=z+5;
}
}
void jiansu() interrupt 2  //按键减速
{
    delay(1000);
   if(k2==0)
{
  z=z-5;
}
}
void main()
{
Timer0Init();
Timer1Init();
Int0Init();
Int1Init();
LCD1602_INT(); //1602初始化

while(1)
{  
  if(j>=100)
   {j=0;}
  
   if(j<=z)
   {pwm=1;}
   else
   {pwm=0;}//产生PWM波
  
   if(counter>=10000)//counter循环10000次,也就是10000*0.1毫秒就是1秒
   {
    counter=0;
   speed=TH1*256+TL1;
   TH1=0X00;/清零
   TL1=0x00;//清零
   }
    if (s>=10000)//??????????????????
   { s=0;   
   LCD1602_WC(0X01);/清屏
   delay(700);
   LCD1602_DISDAT(1,1,speed*1.5);//给1602返回速度
   LCD1602_DISCHAR(1,2,'r');
   LCD1602_DISCHAR(1,3,'a');
   LCD1602_DISCHAR(1,4,'d');
   LCD1602_DISCHAR(1,5,'/');
   LCD1602_DISCHAR(1,6,'m');
   LCD1602_DISCHAR(1,7,'i');
   LCD1602_DISCHAR(1,8,'n');  
  }              
}     
}


AMKHAAI7{717CP3U7{1OYRL.png (64.71 KB, 下载次数: 40)

AMKHAAI7{717CP3U7{1OYRL.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:526819 发表于 2019-5-25 22:11 | 只看该作者
找到原因了
回复

使用道具 举报

板凳
ID:373520 发表于 2019-5-30 20:16 | 只看该作者

是什么原因呢?楼主求分享 我现在也是一直在测速的时候显示0
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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