桁车无线自动遥控装置的设计资料.docVIP

  • 4
  • 0
  • 约5.16千字
  • 约 20页
  • 2016-05-08 发布于湖北
  • 举报
附录 附录A1无线遥控发射电路 附录A1 无线遥控发射电路 附录A2无线遥控接收电路 附录A2无线遥控接收电路 附录A3 电机驱动电路 图附录A3直流电机驱动电路 A4 发射端PCB 发射部分PCB图 A5接收端PCB 接收部分PCB图 A6电机控制部分原理图 电机控制部分PCB图 A6 程序清单 发送部分程序: #includereg51.h #includePTR2000.h #define uchar unsigned char #define uint unsigned int sbit dong=P1^0; sbit xi=P1^1; sbit nan=P1^2; sbit bei=P1^3; sbit sheng=P1^4; sbit jiang=P1^5; sbit ting=P1^6; sbit kai=P1^7; sbit D0=P2^0; main (); bit send_flag=0; uint gvalue=0; uint sum=0; uint time=0; uint Data[10]={0x0a,0x09,0,0,0,0,0,0,0,0x0f}; void init_timer(void); void Init(void); void ScanKey(void); void send_data(void); //主函数 void main() { Init(); while(1) { ScanKey(); send_data(); } } // 定时器初始化、数据初始化 void init_timer(void) { TMOD=0x01; TH0=0x3c; TL0=0xb0; ET0=1; TR0=1; EA=1; } void Init(void) { init_timer(); dong=0; xi=0; nan=0; bei=0; sheng=0; jiang=0; ting=0; kai=0; } //按键扫描 void ScanKey(void) { if(dong==1) { Data[2]=0x0b; gvalue=0011; } if(xi==1) { Data[2]=0x0c; gvalue=0101; } if(nan==1) { Data[2]=0x0d; gvalue=0110; } if(bei==1) { Data[2]=0x0e; gvalue=1001; } if(sheng==1) { Data[2]=0x05; gvalue=1010; } if(jiang==1) { Data[2]=0x07; gvalue=1100; } if(ting==1) { Data[2]=0x0a; gvalue=1010; } if(kai==1) { Data[2]=0x09; gvalue=1010; } } //发送数据帧的组装 zu_data(uint gvalue) { uint i=0,swei=0; for(i=6;i=3;i--) { swei=gvalue%10; Data[i]=swei; gvalue=gvalue/10; } for(i=0;i7;i++) { sum=sum+Data[i]; } for(i=8;i=7;i--) { Data[i]=sum%10; sum=sum/10; } sum=0; } //发送数据 void send_data(void) { uint u; if(send_flag==1) { EA=0; if(!(gvalue==0)) { zu_data(gvalue); if(u10) { D0=Data[u]/2; Ds=Data[u]/4; D1=Data[u]/8; D2=Data[u]/16; D3=Data[u]/32; u++; } else { u=0; gvalue=0; } } send_flag=0; EA=1; } } //定时中断 void timer_0() interrupt 1 { TH0=0x3c; TL0=0xb0; time++; if(time==4) { time=0; send_flag=1; } } 接收部分程序: #includereg51.h #includeptr2000.h #define u

文档评论(0)

1亿VIP精品文档

相关文档