找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2627|回复: 2
收起左侧

51单片机测量电机转速的源代码

[复制链接]
ID:331462 发表于 2018-5-16 17:38 | 显示全部楼层 |阅读模式
单片机源程序如下:
  1. #include "reg51.h"
  2. #include "intrins.h"
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. #define out P0
  6. uchar code seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x01};
  7. int i=0;
  8. //int TH00;
  9.           
  10. void main(void)
  11. {
  12.         int j;
  13.         TMOD=0x15;                 // T0方式1计数,T1方式1定时
  14.         TH0=0;                        // T0计数器清零
  15.         TL0=0;
  16.         TH1=0x3C;                // 12MHz晶振,T1定时50ms
  17.         TL1=0xB0;
  18.         TR0=1;                        // 启动T0计数器
  19.         TR1=1;                        // 启动T1
  20.         IE=0x88;                // 允许T1中断和总中断允许
  21.         while(1)
  22.         {        P2=0x00;          // 输出百位显示值
  23.                 out=seg[i/100];       
  24.                 P2=0x02;
  25.                 for(j=0;j<100;j++);
  26.                 P2=0x00;
  27.                 out=seg[i%100/10];        // 输出十位显示值
  28.                 P2=0x04;         
  29.                 for(j=0;j<100;j++);          
  30.                 P2=0x00;                                                        out=seg[i%10];        // 输出个位显示值
  31.                 P2=0x08;
  32.                 for(j=0;j<100;j++);
  33.         }                  
  34. }


  35. void Timer1_ISR() interrupt 3 // T1中断程序,产生50ms 定时
  36. {        static char j = 0;
  37.         TH1=0x3C;        // 重设定时器值,50ms 定时,12MHz 晶振
  38.         TL1=0xB0;
  39.         if(++j == 20)        // 是否中断20次,即50msx20次 = 1s
  40.         {        j=0;
  41.                 i=(TH0 << 8)|TL0;
  42. // 1s内的计数值即为电机转动速度,单位:转/秒
  43.                 TH0=0;           // T0清零
  44.                 TL0=0;         
  45.         }
  46. }

复制代码

所有资料51hei提供下载:
E1.zip (779 Bytes, 下载次数: 23)
回复

使用道具 举报

ID:338760 发表于 2018-6-16 17:13 | 显示全部楼层
找了很久了,不知道能不能用
回复

使用道具 举报

ID:437026 发表于 2018-12-6 17:08 | 显示全部楼层
老哥,接LM016L显示屏要怎么改程序啊
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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