小R科技-WIFI机器人网·机器人创意工作室

 找回密码
 立即注册
查看: 6497|回复: 8

求大侠帮我看看这个用DB120wifi控制一个灯亮的程序 在下感激不尽

[复制链接]
发表于 2013-2-27 19:56:33 | 显示全部楼层 |阅读模式
我上位机的前指令是FF02FF  
#include <reg52.h>
#include <intrins.h>unsigned char tmp;unsigned char Tempdatatable[3],a;
unsigned int URTAReceivedCount=0;
void send_char(unsigned char txd);
main()
{TMOD = 0x20; // 定时器1工作于8位自动重载模式, 用于产生波特率
TH1 = 0xFD; // 波特率9600
TL1 = 0xFD;
SCON = 0x50; // 设定串行口工作方式
PCON &= 0xef; // 波特率不倍增
TR1 = 1; // 启动定时器1
  ES = 1;    //开串口中断   
EA = 1;     //开总中断
while(1)
{ switch(Tempdatatable[1])
{        case 0x02:             //  如果收到的第二个数据为02那么就一个灯亮     
P1=0x02;  }   } }
void  serial() interrupt 4    //串口中断函数  
{    unsigned char temp;
ES=0;   
RI=0;
temp=SBUF;  
if(temp==0XFF && URTAReceivedCount<1)
{      Tempdatatable[0]==0XFF;             //将收到的数组装入数组,然后判断是否为FF02FF  URTAReceivedCount++;  }  
if( URTAReceivedCount=1)
{      Tempdatatable[1]=temp; URTAReceivedCount++;                   }                                             
   if(URTAReceivedCount==2)
{   Tempdatatable[0]=0XFF;     Tempdatatable[2]=0XFF;                           
     URTAReceivedCount=0;     }
  temp="";
  ES=1;   }
回复

使用道具 举报

发表于 2013-2-27 22:59:06 | 显示全部楼层
#include<reg52.h>
#include<math.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uint i=0,j,URTAReceivedCount=0,n=1;
uchar data Tempdatatable[2];//数据包
sbit led=P2^7;
void Delay_1ms(uint i)//1ms延时
{
uchar x,j;
for(j=0;j<i;j++)
for(x=0;x<=148;x++);
}

void Com_Int(void) interrupt 4
{
uchar temp;
ES=0; //关串口中断
    RI=0; //软件清除接收中断
temp=SBUF;
   if(temp==0XFF && URTAReceivedCount<3)
  {
   
  Tempdatatable[0]==0XFF;  //包头
  URTAReceivedCount++;
  }
  else
  {
     Tempdatatable[n]=temp;
   n++;   
  }

  if(URTAReceivedCount==2)//包尾
  {
   Tempdatatable[0]=0XFF;
   Tempdatatable[2]=0XFF;
             n=1;
     URTAReceivedCount=0;  //组包完毕
             temp="";
  
  }

ES=1;//开串口中断
}

void main()         //程序入口
{   
     Delay_1ms(200);
         TMOD = 0x20;
     PCON = 0x80;
     SCON = 0x50;   
     TH1 = 0xfA;    //设置波特率 9600
     TL1 = 0xfA;
     TR1 = 1;  //启动定时器1
  
  ET1 =0;
  ES = 1;  //开串口中断
  PS=1;                 //设计串行口中断优先级
  EA = 1;  //开总中断
IT0=0;
EX0=1;
      
   
  while(1)
  {
   if(Tempdatatable[0]==0XFF && Tempdatatable[2]==0XFF)
      {
           switch(Tempdatatable[1])      
             {
                   case 0X02:           
                                    led=0;
                                        P1=0x02;
                                        break;                    
                                default :  TR0=0;TR2=0;
                                        break;                                          
            
                          }

            
         
      }
  }
}
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-28 08:52:54 | 显示全部楼层
栤雨.bat 发表于 2013-2-27 22:59
#include
#include
#include

你好  大哥  这个程序在你wifi那边试过成功了吧?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-28 09:16:04 | 显示全部楼层
栤雨.bat 发表于 2013-2-27 22:59
#include
#include
#include

大侠  我用你的程序是P2.2这个灯一直在亮 请问是怎么回事呢?
回复 支持 反对

使用道具 举报

发表于 2013-2-28 10:00:49 | 显示全部楼层
你的led接到P1^1应该没问题。
回复 支持 反对

使用道具 举报

发表于 2013-2-28 10:45:18 | 显示全部楼层
Lyricalstyle 发表于 2013-2-28 08:52
你好  大哥  这个程序在你wifi那边试过成功了吧?

测试成功的,你可以取反P1口看看
回复 支持 反对

使用道具 举报

发表于 2013-2-28 10:48:48 | 显示全部楼层
Lyricalstyle 发表于 2013-2-28 09:16
大侠  我用你的程序是P2.2这个灯一直在亮 请问是怎么回事呢?

P2^7,不是2.2, LED=1;或者LED=0;   ,我试过的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-28 11:39:49 | 显示全部楼层
栤雨.bat 发表于 2013-2-28 10:48
P2^7,不是2.2, LED=1;或者LED=0;   ,我试过的。

奇怪了  我的P2口全亮了  而且按一下W没反应   灯一直在亮  我可以加下你的QQ吗?5555我搞了一个月还没弄出来,好悲催
回复 支持 反对

使用道具 举报

发表于 2013-2-28 11:47:30 | 显示全部楼层
Lyricalstyle 发表于 2013-2-28 11:39
奇怪了  我的P2口全亮了  而且按一下W没反应   灯一直在亮  我可以加下你的QQ吗?5555我搞了一个月还没弄 ...

你加过的;测试的时候把接在单片机RX,TX上其他的东西都扯掉,只接DB120,接灯都不行,不然单片机会接收不到上位机发送数据。或者用串口助手,用串口测试,不用DB120。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

新品特惠推荐上一条 /2 下一条

QQ|QQ技术咨询1|QQ技术咨询2|商务合作微信1:xiaorgeek001|商务合作微信2:XiaoRGEEK|诚聘英才|Archiver|手机版|小R科技-WIFI机器人网·机器人创意工作室 ( 粤ICP备15000788号-6 )

GMT+8, 2024-5-15 19:23 , Processed in 1.149911 second(s), 18 queries .

Powered by XiaoR GEEK X3.4

© 2014-2021 XiaoR GEEK

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