毕业设计说明书(论文)
mov p1,a nop nop
mov p1,#0ddh mov a,fenmi swap a
add a,fmiao mov p1,a nop nop
mov p1,#0eeh mov a,#0b0h add a,point mov p1,a nop nop
mov p1,#0eeh mov a,meter swap a add a,fenzh mov p1,a nopnop
mov p1,#0ffh mov a,shimi swap a add a,shifn mov p1,a ret
5 系统调试
本系统的调试共分为三大部分:硬件调试,软件调试和软硬件联合调试。由于在系统设计中采用模块设计法,所以方便对各电路模块功能进行逐级测试:单片机控制模块的调试、无线遥控模块的调试、红外对管寻迹模块的调试、红外线避障模块的调试以及电机控制模块和语音控制模块的调试,最后将各模块组合后结合软件进行整体测试。
5.1硬件调试
对各个模块的功能进行调试,主要调试各模块能否实现指定的功能。 5.1.1电机控制调试
此模块调试实现的功能是结合软件共同实现,当连接单片机与电机控制芯片的I/0加上一定的电平可以实现电机左右转向,前后转向以及停止等功能,同时通过程序延时降低电机转速。如表1为电机测试记录。
表1电机测试记录
P3.4 P3.5 P3.6 P3.7 小车行驶状
态
0 1 1 0 小车向前行
21
毕业设计说明书(论文)
驶
1 0 0(1) 1 0(1) 0(1)
0 1 0(1) 0 0(1) 0(1)
0 0(1) 1 0(1) 0 0(1)
1 0(1) 0 0(1) 1 0(1)
小车向后行
驶 小车向前右
转 小车向前左
转 小车向左后
退 小车向右后
退 小车停止行
驶
5.1.2红外对管调试
寻迹对管有两个组成,所以分别调试其两路有效信号。当两对管都放置黑线之外的白色地板上时,单片机对应I/O口收到的电平都为低,输入电压为0.3V左右,当左边的红外线管进入黑线范围,对应电平变高,为4.2V左右,同时指示等红灯亮,说明要控制小车右转;当在右边时同左边情况对应,需控制左转。其中选取八次硬件测试记录如下表2:
表2寻迹硬件测试记录
测试第1第2第3第4第5第6第7第8次数 次 次 次 次 次 次 次 次 放置双管左管右管左管双管双管左管右管位置 黑线上 黑线上 黑线上 黑线上 黑线上 黑线外 黑线上 黑线上 放置3CM 2CM 2CM 3CM 5CM 2CM 7CM 4CM 距离 P2.44.314.120.324.154.210.210.120.21电压 V V V V V V V V P2.54.180.254.250.304.300.180.214.23电压 V V V V V V V V
由上表可以看出小车的寻迹红外线管只要放置在离地面4CM之内一般都可以实现信号的输出,而实际车头离地面的距离也只有2-4CM,可以实现有效控制。5.1.3 红外线避障,报警调试
此模块的检测与红外线寻迹模块基本一致,相当于一路寻迹信号,在没有障碍物时输入电压为0.9V左右,属于低电平,碰到障碍物电压跳变为4.7V左右,以此来得到单片机控制。避障数据测试记录情况如下表3:
表3 避障数据测试记录情况
测试次数 第1次 第2次 第3次 第4次 第5次 放置距离 30CM 20CM 25CM 50CM 35CM P2.7电压 0.89V 4.62V 4.62V 0.87V 0.86V 测试次数 第1次 第2次 第3次 第4次 第5次
22
毕业设计说明书(论文)
放置距离 15CM 25CM 20CM 30CM 40CM P2.7电压 4.70V 4.66V 4.65V 0.89V 0.87V
由上表可以得到,在调节确定滑变电阻后测试数据可以得到,小车的避障有效范围可以达到30CM左右,同时也可以再通过调节滑变电阻增加和减小有效距离。
5.1.4语音控制调试
果主要是得到一个触发跳变信号,经过此电路的连接,连接与单片机的74HC04的2脚在没有一定声波输入是属于高电平,电压为5V,当接收到一定声波后电压马上变为0.1V,产生了触发跳变,供单片中断口实现功能。但由于硬件的限制,此信号得到需要一个相当强的声音才可实现效。
5.2 软件调试
软件调试采用单片机仿真器WAVE6000及微机,将编好的程序进行调试,主要是检查语法错误并确认硬件完整无误。由于本系统是分模块进行程序设计的,所以调试时先分模块进行调试。如小车红外线寻迹程序,在调试时将它放在一个子程序里单独测试,看其是否能够完成预定的功能,如能,测试通过,否则,修改并反复测试直到通过。
虽然在软件的调试过程中,综合利用了设定断点、单步、跟踪等调试手段,使得调试工作更易进行。但是也出现了一定的问题,如语音程序只能实现第一次调用,电机延时没起到效果等等。通过了多次分离合并,修改测试语句以及单片机外加LED灯观察现象等方法得以解决,达到综合效果。
5.3 联合调试
各模块都调试通过之后,将各个模块连接起来与硬件结合进行联合调试。在进行联合调试时,经过反复的实验,不断的来修改参数来完善结果。使程序按照要求设计的要求进行
6 附录
6.1 程序清单 主程序
RIGHT_BLACK EQU P0.3 ; LEFT_BLACK EQU P0.4 ZHANGAI EQU P0.5
LEFT_LAMP EQU P0.0 ;左边光源 RIGHT_LAMP EQU P0.1 ;右边光源 BELL EQU P0.6 ;蜂鸣器 LED EQU P0.7 ;LED
DATA1602 EQU P1 ;1602数据端口 RS EQU P3.7 RW EQU P3.6 E EQU P3.5 IN1 EQU P2.0
IN2 EQU P2.1 ;L298N电机驱动芯片端口定义 ENA EQU P3.4 ;L298N ENA端口定义 SECBUF EQU 21H ;秒缓冲 MINBUF EQU 22H ;分缓冲
BUF EQU 20H ;0.05秒缓冲
23
毕业设计说明书(论文)
LCD1 EQU 30H LCD2 EQU 31H LCD3 EQU 32H LCD4 EQU 33H LCD5 EQU 34H
COUNTER EQU 35H ;计数次数 LENGTH EQU 36H ;周长 LICHENG EQU 37H ;里程 ORG 0000H LJMP MAIN ORG 0003H LJMP EXT0 ORG 000BH LJMP ITT0
ORG 0013H ;冲
LJMP EXT1 ORG 0100H MAIN:
MOV R0,#00H MOV LCD1,#0 MOV LCD2,#0 MOV LCD3,#11 MOV LCD4,#0 MOV LCD5,#0 MOV BUF,#0 MOV SECBUF,#0 MOV MINBUF,#0 SETB P3.5 CLR P2.0 CLR P2.1 CLR P3.4 MOV SP,#60H MOV TMOD,#11H MOV TH0,#3Ch MOV TL0,#0B0h
MOV LENGTH,#1 ;SETB EA SETB ET0 SETB ET1 SETB IT0 SETB EX0 SETB EX1 SETB TR0
外部中断1,车轮转一圈时,光电传感器发出一个脉设周长为1 24
毕业设计说明书(论文)
SETB P3.5
SETB PT0
MOV DATA1602,#00000001B ;清屏并光标复位
ACALL ENABLE ;调用写入命令子程序
MOV DATA1602,#00111000B ;设置显示8位*2行,5*7点阵 ACALL ENABLE ;调用写入命令子程序
MOV DATA1602,#00001100B ;显示开,光标开,光标允许闪烁 ACALL ENABLE ;调用写入命令子程序 MOV DATA1602,#00000110B ;文字不动光标自动右移 ACALL ENABLE ;MOV DATA1602,#86H ;ACALL ENABLE ;MOV R7,#5 ;MOV DPTR,#TAB ;MOV R0,#30H ;LCALL DISPLAY ;SETB TR0 ;SETB ENA CARFOR: LCALL MOT LJMP CARFOR LOOP: SETB P0.6 LCALL DELAY SJMP LOOP LOOP2: SETB P0.7 LCALL DELAY SJMP LOOP2 START: CLR IN1 CLR IN2 LCALL TT CLR IN2 SETB IN1 LCALL TT LCALL TT SETB TR0 SJMP START
显示子程序清单 xianshi:
mov p1,#0aah mov p1,#0cch
调用写入命令子程序 写入显示初始地址 调用写入命令子程序 设置每行显示位数 调用写入命令子程序 显示数据初始地址 调用显示程序 开定时器 25