基于单片机电机转速检测测速报警设计-学习笔记

功能:

本设计中,我采用了AT89C51单片机,芯片工作电压约为5V左右,从

左到右我设计的依次是电容滤波的三相桥式不可控整流电路,直流电机H桥驱动电路,中间穿插了电压、电流检测,转速和温度检测。

其中我比较详细的制作了转速检测报警电路,主要通过AD0809进行模数转换显示数码管上,可以设置报警上下限;另外一个就是直流电机PWM调速,通过示波器观察波形和转速变化。

 

		  #include<reg52.h>
		  #include<intrins.h>	  
		  #include<stdio.h>
		  #define uchar unsigned char
		  #define uint unsigned int
		  unsigned int temp;
		  unsigned char getdata;
		  unsigned char d;
		  unsigned char DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};	 //共阴数码管的段选0~9显示
		  unsigned char DSY_IDX[]={0xF7,0xFB,0xFD,0xFE};	  //共阴数码管的低四位的位选
		  unsigned char Temperature[]={0,0,0,0}; //定义把采集到的转速数据个位十位百位千位放到该数组。该数组初值为0;
		  sbit ST=P2^5;	//AD0809转换启动信号与地址所存允许引脚注意:在使用时ALE和STRT信号引脚连在一起
		  sbit OE=P2^7;	  //AD0808输出允许信号
		  sbit E0C=P2^6;	//ADC0808转换结束信号引脚
		  sbit CLK=P2^4;	//ADC0808的时钟引脚
		  sbit H_LED=P3^0;	//转速超过1600时的灯光指示
		  sbit L_LED=P3^1;	//转速低于400时的灯光指示
		  sbit SPK=P3^7;	//转速超过1600和低于400时的蜂鸣器报警
		  bit Flag0;
		  bit Flag1;
		  unsigned int cnta;
		  unsigned int cntb;

  

 

posted @ 2021-03-11 09:20  MCU创新DIY  阅读(229)  评论(0)    收藏  举报