软件设计
系统主程序流程图如下图所示,
遥控启停车走八字路线流程图如下图所示,
手动控制流程图如下图所示,
超声波避障流程图如下图所示。
遥控启停车程序清单如下所示:
HAL |
BIT |
P1.4 |
TR |
BlT |
P1.6 |
TL |
BlT |
P1.5 |
GO |
8lT |
P1.7 |
ZO |
BIT |
PO.3 |
Z1 |
BIT |
PO.4 |
Z2 |
BIT |
PO.5 |
JJ BIT PO 6:
/*光电校准开关*/
L_DATA BIT PO 0:
/*LED控制位*/
CLK_4 BIT PO.1
CLK_3 BIT PO.2
BO BIT P1.3
B1 BIT P1,2
B2 8IT P1.1
L6 BIT P1.0:
/*红灯*/
L7 BIT P3 0:
/*绿灯*/
SF BIT P3 4:
/*写字开关*/
CSB BIT PO.7:
/*超声波*/
Z_D BIT P3.3;
/*中断口1*/
;********************************
; ORG 0000H
LJMP MAIN
ORG 0003H
LJMP lNTO
ORG 0013H
LJMP INT1
;****************"
主函数部分,
;P1.4,P1.5,P1.6,P1.7
;***********************
0RG 0030H
MAIN:0RL P1,#OFH
CLR SF
MOV INT1ZD,#OAH
LCALL DELAY5
;********************
M_AIN:CLR ZO;
MAfN1111:LJMP MAIN1
HAL.T1 2_04:LJ M P HALT
;********************************
;********************************
LCALL FASHE
MOV R6.#0AH
DJNZ R6.$
MOV B,A
MOV A,1NT1 ZD
JZ INTTTT1
MOV A.B
SETB EA
********************************
END
系统测试测
量仪器卷尺、秒表、COS5040ch型双踪示波器、WYK-30282型直流稳压电源、SG1640B多功能函数信号发生器。
系统测试红外遥控指令时,测试的遥控距离为O-3m,经测试,成功,测试遥控语音模块时共测试前进、正8字、反8字、停止四条语音命令,经测试均成功完成;测试遥控按键复用功能时,遥控发射器部分共分4个按键,可实现如下3种状态转换。
(1)自动模式测试按键、测试功能及测试状态如表1所示。
(2)手动模式:测试按键、测试功能及测试状态如表2所示。
(3)走数字模式测试按键、测试功能及测试状态如表3所不。
(4)状态切换:系统默认为自动模式,非自动模式时,先按“键4”再按“键1”,回到自动模式,欲切换到其他状态必须先转换到自动模式,如表4所示。
当遥控车走正8字、反8字、数字“3”、“4”时,应能正常显示行走轨迹,经测试,显示正常。小车启动后,单片机开始计时,由数码管即时显示,四种行走轨迹的实验结果如表5、表6、表7、表8所示。
遥控车的里程统计功能测试结果如表9所示,经测试,系统正常工作。
本文的设计基于完备的软、硬件系统,很好地实现了小车语音遥控、自动行驶、自动避障、里程统计并发出指示信息等功能。
测试按键 |
|
按键1 |
避障功能 |
测试成功 |
按键2 |
正8字 |
测试成功 |
按键3 |
反8字 |
测试成功 |
按键4 |
停止 |
测试成功 |
先按“键4”、再按“键2” |
后退 |
测试成功 |
表1
测试按键 |
测试功能 |
测试状态 |
按键1 |
前进 |
测试成功 |
按键2 |
左转 |
测试成功 |
按键3 |
右转 |
测试成功 |
按键4 |
停止 |
测试成功 |
先按“键4”、再按“键2” |
后退 |
测试成功 |
表2
测试按键 |
测试功能 |
测试状态 |
按键1 |
“10”字 |
测试成功 |
按键2 |
“3”字 |
测试成功 |
按键3 |
“4”字 |
测试成功 |
按键4 |
停止 |
测试成功 |
表3
试按键 |
测试功能 |
测试状态 |
先按“键4”、再按 |
自动模式切换到手 |
测试成功 |
“键1” |
动模式 |
先按“键4”、再按 |
自动模式切换到走 |
测试成功 |
“键3” |
数字模式 |
表4
正8字行驶时间(s) |
36 |
37 |
秒表计时(s) |
37 |
37 |
表5
测试序号 |
1 |
2 |
3 |
反8字行驶时间(s) |
45 |
43 |
45 |
秒表计时(s) |
46 |
45 |
44 |
表6
测试序号 |
1 |
2 |
3 |
数字“3”行驶日寸间(s) |
58 |
59 |
59 |
秒表计时(s) |
60 |
60 |
62 |
表7
测试序号 |
1 2 |
3 |
数字“4”行驶时间(s) |
42 |
41 |
41 |
秒表计时(s) |
42 |
41 |
41 |
表8
显示里程cm |
476 |
468 |
470 |
实际里程cm |
450 |
447 |
457 |
表9