OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6154|回复: 3

有没人用STC写过PELCO-D协议485通信啊,帮我看看程序,多谢!

[复制链接]

126

主题

820

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1683
金钱
1683
注册时间
2012-10-28
在线时间
62 小时
发表于 2013-8-17 16:15:46 | 显示全部楼层 |阅读模式
 多谢了!麻烦看下.
#include <reg52.h>
#include<stdio.h>
#include<INTRINS.H>

#define Uchar unsigned char
#define Uint  unsigned int
//sfr P4= 0xc0;
//sfr P4SW =0Xfe;
sbit  LEFTEND=P2^2;//水平方向到达终点        为0是到了位置
sbit  RIGHTEND=P2^3;//水平方向到达终点
sbit  UPEND=P2^0;//向上走到了终点
sbit  DOWNEND=P2^1;//向下走到了终点

sbit  M1Switch=P0^0;   //为0是工作
sbit  M2Switch=P0^1;
sbit  M3Switch=P0^2;   //为0是工作
sbit  M4Switch=P0^3;
sbit  J1Switch=P0^4;   //为0是工作
sbit  J2Switch=P0^5;        // 为0是工作
sbit  B2 = P1^2;   //遥控器输入   0工作
sbit  B3 = P1^3;   //遥控器输入   0工作
sbit  B1 = P1^1;   //遥控器输入   0工作
sbit  B0 = P1^0;   //遥控器输入         0工作
sbit  RX  = P3^0;
sbit  TX  = P3^1;

Uchar right, left, up, down;
Uchar   SHUIPINGPOINTER;
Uchar SHUZHIPOINTER;
Uchar P0BUF;
Uint  ZIJIANNUM=800;//
Uint  RIGHTNUM;//自检时用来计算右转了几步
Uint  DOWNNUM;//自检时用来计下转了几步
Uint  SHUIPINGNUM;//水平方向所走的步数
Uint  SHUZHINUM;//竖直方向所走的步数
Uint  SHUIPINGSET;//水平方向应该走到的位置
Uint  SHUZHISET;//竖直方向应该走到的位置
Uint  SHUIPINGTOTALNUM;//5800
Uint  SHUZHITOTALNUM;//2200
Uchar  header_D;



Uchar Pelco_D[7] = {0,0,0,0,0,0,0};

void Delay(Uint Num)        //延时
{
    Uchar i,j;
    while(--Num)
    for(j=0;j<2;j++)
        for(i=0;i<4;i++);
}






  void main()
{
  Uchar a;
  1=0Xff;        //所有的繼電器不工作
  2=0XFF;
  3=0X00;
  0=0X00;
   SCON = 0x50;      //REN=1允许串行接受状态,串口工作模式1                             
        TMOD|= 0x20;      //定时器工作方式2                    
        PCON|= 0x80;                                                         
        TH1 = 0xfa;        //波特率9600、数据位8、停止位1。效验位无 (11.0592M)
    TL1 = 0xfa;         
        TR1  = 1;                                                            
        ES   = 1;        //开串口中断                  
        EA   = 1;        // 开总中断







  while(1)
  {
              0=0X00;
        a=P1&0X0F;
       
   if(  elco_D[2]==0X00&&Pelco_D[3]==0X0B&&Pelco_D[4]==0X00&&Pelco_D[5]==0X02&&Pelco_D[6]==0X0E)         //右转
          {  
   //灯光 FF  01  00  0B  00  02  0E  
            //FF  01  00  09  00  02  0C
                    J2Switch = 1;
                    Delay(5);
                 if(  Pelco_D[2]==0X00&&Pelco_D[3]==0X09&&Pelco_D[4]==0X00&&Pelco_D[5]==0X02&&Pelco_D[6]==0X0C)//停止工作
                     {
                                               J2Switch = 0;
                               }
           }
   if(  Pelco_D[2]==0X00&&Pelco_D[3]==0X04&&Pelco_D[4]==0X3F&&Pelco_D[5]==0X00&&Pelco_D[6]==0X04)         //右转
          {  
                        M1Switch = 1;
                        M2Switch = 0;
                        Delay(5);
                   if(  Pelco_D[2]==0X00&&Pelco_D[3]==0X00&&Pelco_D[4]==0X00&&Pelco_D[5]==0X00&&Pelco_D[6]==0X01)//不工作
                     {
                                            M1Switch = 0;
                                       M2Switch = 0;
                         }
             //FF  01  00  04  3F  00  44   
             //FF  01  00  00  00  00  01
           }
  }
}

void ser_int (void) interrupt 4 using 1
{
  Uchar i;
if(RI == 1)        //RI接受中断标志
{
  for (i = 0; i<7; i++)//接收7次
    {
      Pelco_D= SBUF;
          Delay(1);
          if(i>=7)i=0;      
    }
        RI = 0; //清除RI接受中断标志

}
}


用485控制马达和灯,怎么控制啊,用的派尔高协议,头大啊.多谢了........
坚持学习!就能成功!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2013-8-17 17:24:42 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

126

主题

820

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1683
金钱
1683
注册时间
2012-10-28
在线时间
62 小时
 楼主| 发表于 2013-8-19 07:43:58 | 显示全部楼层
帮忙啊
回复 支持 反对

使用道具 举报

头像被屏蔽

6168

主题

7036

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
19705
金钱
19705
注册时间
2012-12-27
在线时间
25 小时
发表于 2013-8-19 10:03:50 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 17:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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