标题: 求18B20控制四线双极型电机正反转程序(部分程序已给) [打印本页]

作者: 此是断崖    时间: 2017-4-24 23:54
标题: 求18B20控制四线双极型电机正反转程序(部分程序已给)
//以下电机程序
#include <reg52.h>
#include <intrins.h>  
sbit MOTOA = P1^0;
sbit MOTOB = P1^1;
sbit MOTOC = P1^2;
sbit MOTOD = P1^3;


void delay(int time)
{
  int i,j;

  for(j=0; j <= time; j++)
   for(i =0 ; i <= 120; i++);
}

void main()
{
        P1 = 0x00;
        while (1)
        {                
                        MOTOA = 1;
                        MOTOB = 0;
                        MOTOC = 1;
                        MOTOD = 1;
                        delay(2);

                        MOTOA = 1;
                        MOTOB = 1;
                        MOTOC = 1;
                        MOTOD = 0;
                        delay(2);

                        MOTOA = 0;
                        MOTOB = 1;
                        MOTOC = 1;
                        MOTOD = 1;
                        delay(2);

                        MOTOA = 1;
                        MOTOB = 1;
                        MOTOC = 0;
                        MOTOD = 1;
                        delay(2);
       
        }

}

//以下温传程序
#include<reg51.h>
#include"lcd.h"
#include"temp.h"
void LcdDisplay(int);


void main()
{
        LcdInit();                         //初始化LCD1602
        LcdWriteCom(0x88);        //写地址 80表示初始地址
        LcdWriteData('C');
        while(1)
        {
                LcdDisplay(Ds18b20ReadTemp());
//                Delay1ms(1000);//1s钟刷一次
        }
}

void LcdDisplay(int temp)          //lcd显示
{

          unsigned char datas[] = {0, 0, 0, 0, 0}; //定义数组
        float tp;  
        if(temp< 0)                                //当温度值为负数
          {
                  LcdWriteCom(0x80);                //写地址 80表示初始地址
            LcdWriteData('-');                  //显示负
                temp=temp-1;
                temp=~temp;
                tp=temp;
                temp=tp*0.0625*100+0.5;         
          }
        else
          {                       
                  LcdWriteCom(0x80);                //写地址 80表示初始地址
            LcdWriteData('+');                 //显示正
                tp=temp;
                temp=tp*0.0625*100+0.5;       
                        }
        datas[0] = temp / 10000;
        datas[1] = temp % 10000 / 1000;
        datas[2] = temp % 1000 / 100;
        datas[3] = temp % 100 / 10;
        datas[4] = temp % 10;

        LcdWriteCom(0x82);                  //写地址 80表示初始地址
        LcdWriteData('0'+datas[0]); //百位

       
        LcdWriteCom(0x83);               
        LcdWriteData('0'+datas[1]); //十位

        LcdWriteCom(0x84);               
        LcdWriteData('0'+datas[2]); //个位

        LcdWriteCom(0x85);               
        LcdWriteData('.');                

        LcdWriteCom(0x86);       
        LcdWriteData('0'+datas[3]);

        LcdWriteCom(0x87);       
        LcdWriteData('0'+datas[4]);
}



作者: dengweishun123    时间: 2017-4-25 10:51
楼主请问你做过蓝牙控制电机正反转吗
作者: tomgay    时间: 2017-5-7 09:41
自己找百度原理图 用仿真文件画吧      




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1