收藏 分销(赏)

无线遥控玩具程序.doc

上传人:xrp****65 文档编号:7664837 上传时间:2025-01-11 格式:DOC 页数:8 大小:108.50KB 下载积分:10 金币
下载 相关 举报
无线遥控玩具程序.doc_第1页
第1页 / 共8页
无线遥控玩具程序.doc_第2页
第2页 / 共8页


点击查看更多>>
资源描述
笔者从事无线遥控玩具开发工作多年,开发了很多种类的无线遥控玩具产品。总结了很多工作经验。用的绝大部分IC是TX2C(遥控)和RX2C(接收),其功能分别是:前进,后退,左转,右转。笔者利用工作的空闲时间用AT89C2051单片机编出了跟TX2C和RX2C一样的编解码程序,并成功进行了实际制作。编解码与TX2C和RX2C兼容。现将制作原理图和源程序公开给读者参考学习与制作,相信对初学者有极大的帮助,这也是笔者的心愿!其原理图如下:图2为接收部分,图3为发射部分。 读者如果想仿制的话,建议RF接收和RF发射部使用市面上成品的315MHz模块,应用起来很方便,这样可以免去调试高频部分。   下面图1是遥控前进部分编码波形:   从编码图1中看出有四个周期一样的同步脉冲,各个功能是按数据脉冲个数的不同实现功能不同的。这样编码有很强的搞干扰能力,也可以应用到其它领域遥控上面去,可以做成遥控飞机,也可以做成遥控船……这要看读者的需要应用了。 具体功能相应编码以下: 前进:同步脉冲+10个数据脉冲 后退:同步脉冲+40个数据脉冲 左转:同步脉冲+64个数据脉冲 右转:同步脉冲+58个数据脉冲 前进+左转:同步脉冲+34个数据脉冲 前进+右转:同步脉冲+28个数据脉冲 后退+左转:同步脉冲+46个数据脉冲 后退+右转:同步脉冲+52个数据脉冲 按键松开时发送2帧停止位:同步脉冲+4个数据脉冲。 接收部分收到的是反相的信号,读者在制作时要注意。 ;五功能遥控车发射程序. ;MCU:2051 ;OSC:12M ;DATE:08.05.18 ;功能: ;前进(F) ;后退(B), ;左转(L), ;右转(R). ;加速(T). ;作者:徐增钟 ;=================================================================================== KEY EQU P3 DATAOUT BIT P1.0 ;数据输出口. LED BIT P1.1 ;发射指示灯. KEYBUF EQU 70H ;键号存放单元. KEYMASK BIT 01H KEYFLAG BIT 05H ORG 0000H AJMP START ORG 000BH AJMP INTTCC ORG 0030H ;=================================================================================== CLEAR_RAM: MOV R0,#30H ;从30H单元开始. MOV R3,#127 ;清除127个单元 NEXT: MOV @R0,#00 ;清除 INC R1 ; DJNZ R3,NEXT ;127个单元清完?; RET ;================================================================================== ;程序初始化; BEGIN: MOV SP,#50H ; MOV P1,#00H ; MOV P3,#0FFH ; MOV TMOD,#01H MOV TH0,#0B1H MOV TL0,#0E0H SETB TR0 SETB EA SETB ET0 CLR KEYFLAG SETB KEYMASK RET ;=================================================================================== START: CALL CLEAR_RAM ;清除RAM CALL BEGIN ;程序初始化; LOOP: CALL KEYON ;调用KEYSCAN AJMP LOOP NOP NOP NOP AJMP START ;=================================================================================== INTTCC: MOV TH0,#0B1H MOV TL0,#0E0H SETB KEYFLAG RETI ;=================================================================================== KEYON: MOV A,KEY CJNE A,#0FFH,KEYSEND JB KEYMASK,ET SETB KEYMASK CLR LED MOV R5,#2 X2: MOV R3,#4 CALL SEND DJNZ R5,X2 SETB DATAOUT CALL DY5MS MOV P1,#00 ET: RET ;==================================================================================== KEYSEND: SETB LED CLR KEYMASK CJNE A,#0DFH,K1 MOV R3,#10 ;发送10个脉冲. AJMP SEND RET K1: CJNE A,#0EFH,K2 MOV R3,#40 ;发送40个脉冲. AJMP SEND RET K2: CJNE A,#0F7H,K3 MOV R3,#64 ;发送64个脉冲. AJMP SEND RET K3: CJNE A,#0FBH,K4 MOV R3,#58 ;发送58个脉冲. AJMP SEND RET K4: CJNE A,#0D7H,K5 MOV R3,#34 ;发送34个脉冲. AJMP SEND RET K5: CJNE A,#0DBH,K6 MOV R3,#28 ;发送28个脉冲. AJMP SEND RET K6: CJNE A,#0E7H,K7 MOV R3,#46 ;发送46个脉冲. AJMP SEND RET K7: CJNE A,#0EBH,K8 MOV R3,#52 ;发送52个脉冲. AJMP SEND K8: CJNE A,#0FFH,KEXIT KEXIT: RET ;=================================================================================== DOUT: SETB DATAOUT CALL DYMS5 CLR DATAOUT CALL DYMS5 DJNZ R3,DOUT MOV P2,#00 RET SEND: MOV R1,#04 N1: SETB DATAOUT MOV R4,#255 D1: NOP NOP NOP NOP DJNZ R4,D1 CLR DATAOUT CALL DYMS5 DJNZ R1,N1 AJMP DOUT NOP NOP AJMP START ;=================================================================================== DYMS5: MOV R6,#250 D2: DJNZ R6,D2 RET ;================================================================================== DY5MS: MOV R5,#4 D3: MOV R3,#248 DJNZ R3,$ DJNZ R5,D3 RET ;================================================================================== END 参考链接:
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服