单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9|回复: 1
收起左侧

电机测速(有霍尔+磁钢或红外反射对管+黑白码盘做该实验)

[复制链接]
王老三111111 发表于 2019-11-10 17:03 | 显示全部楼层 |阅读模式
霍尔传感器的资料

单片机源程序如下:
  1. #include<reg52.h>
  2. unsigned int i=0;
  3. sbit P36=P3^6;
  4. unsigned char j;
  5. unsigned int kop;
  6. unsigned char a[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  7. unsigned char b[8]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
  8. void delaym(unsigned int t)
  9. { unsigned char p;             
  10. while(t--)
  11. {
  12. for(p=0; p<125; p++);               
  13. }
  14. }

  15. void main()
  16. {
  17.     EA = 1;
  18.     TH0=0x00;
  19.         TL0=0x00;
  20.         ET0=1;
  21.         ET1=1;               
  22.           TMOD = 0x15;// 打开定时器和计数器T0,因此矩形脉冲输入端接P3.4
  23.         TH1=0x3C; //50ms
  24.         TL1=0xB0;               
  25.     TR0 = 1;
  26.         TR1 = 1;
  27. while(1)
  28. {
  29.   for(j=0;j<3;j++) //显示个数
  30.   {
  31.   P0=b[j];
  32.   P2=j;
  33.   delaym(2);
  34.    }
  35.   }
  36. }
  37. timer3() interrupt 3  //定时器中断时间到,就读取计数器值
  38. { TH1=0X3C;
  39. TL1=0XB0;
  40. i++;
  41. if(i==20) //1s才进行技术脉冲值显示,即每秒更新一次速度
  42. {
  43.    kop=TH0;//计数器计入脉冲,每来一个矩形脉冲计数值加1
  44.    kop=kop<<8;
  45.    kop=kop+TL0;

  46. b[2]=a[kop/100];       //显示计数器的值即实际测得速度
  47. b[1]=a[kop%100/10];
  48. b[0]=a[kop%100%10];
  49. i=0;
  50. TH0=0;//计数器速度获取后清零,进行下次获取
  51. TL0=0;
  52. }
  53. }
复制代码

所有资料51hei提供下载:
qq_42754052-11102516-电机测速(有霍尔 磁钢或红外反射对管 黑白码盘做该实验).rar (12.08 KB, 下载次数: 0)
回复

使用道具 举报

admin 发表于 2019-11-10 21:50 | 显示全部楼层
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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