桁车无线自动遥控装置的设计2技术方案.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
附录 附录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精品文档

相关文档