直流电机调速霍尔测速.docVIP

  • 20
  • 1
  • 约5.52千字
  • 约 5页
  • 2016-08-29 发布于重庆
  • 举报
直流电机调速霍尔测速

#includereg52.h #includeintrins.h #define uchar unsigned char #define uint unsigned int /********************************************************************** L7010r接口定义 **********************************************************************/ sbit MOTOR_A_2=P1^4; //正转 sbit MOTOR_A_1=P1^5; //反转 sbit EN_MOTOR_A =P3^4; sbit k1=P1^3; //定义k1为p1.5口 sbit k2=P1^2; //定义k2为p3.1口 sbit k3=P1^1; //定义k3为p3.2口 sbit k4=P1^0; //定义k4为p3.3口 sbit rs=P2^0; //LCD的数据/命令选择端 sbit rw=P2^1; //LCD的读写选择端 sbit lcdcs=P2^2; //LCD的使能信号端 sbit warning=P3^1; //蜂鸣器端 uchar e=0; uchar T=0; //定时标记 uchar W=0; //脉宽值 0~100 uchar A=0; //方向标记 0,1 uchar k=0; //按键标记 uchar i=0; //计数变量 uint b,z,count,zhuan,msec; //定义参数 uchar display[]={ speed= r/sec}; //定义显示参数 //sbit rs=P2^7; //LCD的数据/命令选择端 //sbit rw=P2^6; //LCD的读写选择端 //sbit lcdcs=P2^5; //LCD的使能信号端 //sbit warning=P3^1; //蜂鸣器端 uint b,z,count,zhuan,msec; //定义参数 //uchar display[]={ speed= r/sec}; //定义显示参数 void delay(uint ms); //固定函数声明 /*-----------------------毫秒延时------------------------*/ void delay(uint ms) { uint b,j; //为延时引入i,j两参数 for (j=0;jms;j++) //延时第一循环 for (b=0;b120;b++); //延时第二循环 } /********************************************************************* 定时器变量定义 **********************************************************************/ void init(void) { warning=0; //关蜂鸣器 z=0; //初始化z的值 count=0; //初始化count的值 zhuan=0; //初始化转的值 rw=0; //选择LCD写数据指令 delay(15); //延时15ms write_command(0x38); //向LCD1602写命令38H delay(5); //延时5ms write_command(0x0e); //向LCD1602写命令0EH delay(5); //延时5ms write_command(0x06); //向LCD1602写命令06H TMOD=0x0

文档评论(0)

1亿VIP精品文档

相关文档