无线遥控小车设计-(修复的).doc

无线遥控小车设计-(修复的).doc

ID:55707246

大小:1.02 MB

页数:27页

时间:2020-05-26

无线遥控小车设计-(修复的).doc_第1页
无线遥控小车设计-(修复的).doc_第2页
无线遥控小车设计-(修复的).doc_第3页
无线遥控小车设计-(修复的).doc_第4页
无线遥控小车设计-(修复的).doc_第5页
资源描述:

《无线遥控小车设计-(修复的).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、四川师范大学成都学院学生社团联合会通信协会电子工程协会第二届校园电子设计大赛报考书学生姓名伍长军班级08级汽电一班完成时间2011-4-30作品名称:无线遥控小车作品简介:遥控小车的结构体为三轮,后轮分别采用两个直流电机,前轮为自己做的一个万向轮,采用PWM技术实现小车速度和转向的控制,通过调节PWM的占空比来实现电机转速的调节。无线遥控模块可用多种方式实现,如:红外遥控,超声波遥控,无线电遥控等等。我这里采用是无线电遥控。作品名称:无线遥控小车系统设计方案:控制按键单片机按键编码无线发射无线接收按键解码单片机电机驱动电机1电机2工作原理简述

2、:控制部分主要考虑按键的设计,遥控器上的6个控制键控制遥控车的运动,分别是:前进、后退、加速、向左、向右、停止。小车通过接受遥控器发来的信号来完成相应的动作。因此无线发射和无线接收模块就要实现6通道无线遥控。无线遥控采用的是遥控编码、解码集成芯片SC2262/SC2272为核心器件。它们是使用一种CMOS工艺制造的低功耗低价位通用编解码电路,SC2262/SC2272最多可有12位(A0~A11)三态地址端管脚(悬空、接高电平、接地电平),任意组合可提供地址码,SC2262最多可有6位(D0~D5)数据端引脚,设定的地址码和数据码从引脚17串

3、行输出,可用于无线遥控发射电路。其中,发射芯片2262将载波振荡器、编译器和发射单元集成于一身,是发射电路变得非常简洁。2272是一种于2262配对的解码器,它也具有12位三态地址,共有种地址代码。只要任意选择其中一种,保证编码一致即可,因而具有很强的抗干扰能力。系统硬件原理图:发射部分原理图发射部分PCB图接收部分原理图接收部分PCB图电机控制部分原理图电机控制部分PCB图接收模块与小车实体发射模块程序及流程图:发射部分:系统开始系统初始化外部中断初始化硬件初始化等待中断按键扫描发送部分流程图中断入口计时到0.2S?计时停止发射按键控制编码

4、计时开始中断返回发送部分中断服务程序流程图发送部分程序:#include#defineucharunsignedchar#defineuintunsignedintsbitqian=P1^0;sbithou=P1^1;sbitzuo=P1^2;sbityou=P1^3;sbitzhan=P1^4;sbitting=P1^5;sbitD0=P0^0;sbitD1=P0^1;sbitD2=P0^2;sbitD3=P0^3;bitsend_flag=0;uintgvalue=0;uintsum=0;uinttime=0;uintD

5、ata[10]={0x0a,0x09,0,0,0,0,0,0,0,0x0f};voidinit_timer(void);voidInit(void);voidScanKey(void);voidsend_data(void);//主函数voidmain(){Init();while(1){ScanKey();send_data();}}//定时器初始化、数据初始化voidinit_timer(void){TMOD=0x01;TH0=0x3c;TL0=0xb0;ET0=1;TR0=1;EA=1;}voidInit(void){init_time

6、r();qian=0;hou=0;zuo=0;you=0;zhan=0;ting=0;}//按键扫描voidScanKey(void){if(qian==1){Data[2]=0x0b;gvalue=0011;}if(hou==1){Data[2]=0x0c;gvalue=0101;}if(zuo==1){Data[2]=0x0d;gvalue=0110;}if(you==1){Data[2]=0x0e;gvalue=1001;}if(zhan==1){Data[2]=0x05;gvalue=1010;}if(ting==1){Data[2]

7、=0x07;gvalue=1100;}}//发送数据帧的组装zu_data(uintgvalue){uinti=0,swei=0;for(i=6;i>=3;i--){swei=gvalue%10;Data[i]=swei;gvalue=gvalue/10;}for(i=0;i<7;i++){sum=sum+Data[i];}for(i=8;i>=7;i--){Data[i]=sum%10;sum=sum/10;}sum=0;}//发送数据voidsend_data(void){uintu;if(send_flag==1){EA=0;if(!(

8、gvalue==0)){zu_data(gvalue);if(u<10){D0=Data[u]/2;D1=Data[u]/4;D2=Data[u]/8;D3=Dat

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。