本科毕业论文-基于at89c51单片机的汽车倒车测距仪的设计内容摘要:
电路 14 5 超声波汽车倒车测距仪软件设计 主程序编制及流程图 编制要点及流程图 图 为主程序流程图。 开机后先显示“ ”亮灯并发声约 ,表示开始工作。 T0 用于记录发射至接收的时间间隔 t(单位为 ms)。 初始化后,程序控制发射40KHZ 的超声波信号,发射开始立即启动定时器 T0开始计时。 发射时间为 1ms。 CPU接收回波信号后,立即产生 INT0 中断同时 T0 立即停止计数。 定时器 T0 专门用于记录 CPU 发射脉冲信号前沿至回波脉冲信号前沿之间的距离 t,由此时间可换算出障碍物的距离,并决定嘟声间隙。 可设定 T1 的定时值,用来控制嘟声间隙时间和闪烁显示时间。 考虑到汽车倒车测距精度不高,为了使计算简化,取空气中声速为 340m/s,或 34cm/ms,则障碍物距离为 d=(t*34cm/ms)/2=t*17cm/ms. 开始 初始化 发射。 T0开始计时, 延时 1ms,停止发射 显示,等待回波中断 有回波否。 、。 调信号处理子程序 图 N Y 15 主程序的编制 $ include ()。 ORG 000H LJMP MAIN。 转主程序 ORG 0003H LJMP INTO ;转外部中断 0 ORG 001BH LJMP IT1 ;转定时器 1 中断。 主程序 OGR 1000H MAIN: MOV SP,60H ;堆栈指针 MOV P1,00H ;停显示 CLR ;不发射超声波 SETB ;指示亮灯 SETB ;发嘟声 MOV 40H,02H ;显示符号“ ”进显示单元 MOV 41H,02H MOV 42H,02H MOV 32H,160 ;置显示循 环数 LCALL DIR ;调用显示子程序 MOV IP,00000001B ;置 INTO 为高优先级中断 MOV XBR2,40H ;配置弱上拉,交叉开关允许 MOV XBR1,04H ; INTO 连到 MOV OSCICN, 06H ;选用内部晶振 8MHZ MOV WDTCN, 0DEH ;禁止看门狗 MOV WDTCN, 0ADH 16 MOV TM0D, 00010001B ;置 T0,T1 定时器方式 1 MOV TH1, 0B1H ;置 T1 计时常数为 30ms,用于控制嘟声 方波脉宽 MOV TL1,0D2H SETB TR1 ;启动 T1 MOV IE,10001001B。 T1,INT0 开中断 MOV 22H,01H。 11H13H 标志位置初值 MOV 44H,0FFH ;置嘟声方波脉宽初值 255*30ms = MOV 45H, 04H ;置闪烁间隙时间 4*30ms=120ms MOV R2, 04H ;置信号计数器初值 MOV R3, 04H ;置连续无回波计数器初值 TLOOP: MOV THO, 00H ; T0 清 0 MOV TLO, 00H SETB ;开始发射 40KHZ 超声波 SETB TRO ;发射后,立即启动 T0 开始计时 LCALL, DELAY ;延时 1ms CLR ;停止发射超声波 MOV 32H, 20 ;置显示循环数 LCALL DIR ;调显示距离子程序,显示 20*3ms LCALL WORK ;调信号处理子程序 SJMP TLOOP ;返回循环 ; 中断服务程序的流程图及编制 外部中断服务程序的编制; INTO: CLR TRO ; TO 停止计数 SETB 01H ;置有回波标志 MOV A, 22H 17 RL A MOV 22H, A RETI。 图 中断服务程序流程图 显示距离子程序和延时子程序。 显示距离子程序 DIR: SETB ;百位停显示 MOV P1,40H ;输出个位段码 CLR ;个位显示 LCALL DELAY ;延时 1ms DIR1: SETB ;个位停显示 MOV P1,41H ;输出十位段码 CLR ;十位显示 LCALL DELAY ;延时 1ms DIR2: SETB ;十位停显示 MOV P1,42H ;输出百位段码 CLR ;百位显示 LCALL DELAY ;延时 1ms DJNZ 32H,DIR ;循环显示未结束则继续 ORL P2,00000111B ;到循环显示次数则停显示 RET。 延时子程序 DELAY: MOV 30H, 10 DY1: MOV 31H, 31 DY2: DJNZ 31H, DY2 INT0中断 T0停止取计数值置有回波标志 中断 返回 18 DJNZ 30H, DY1 RET。 信号处理程序 信号处理程序的编制要点 信号处理首先判断有无回波信号。 若连续 4次无回波信号,则说明车后无障碍物,或障碍物距离较远已超出最大探测距离,此时置闪烁显示“ ”并发出长嘟声。 由于 CPU 工作速度比倒车速度快的多,所以不需要每次收到信号后立即显示,收到信号可先存 起来,存满 4 个信号,连同原来显示的信号共五个信号,从中筛选一个正确信号。 考虑到人的视觉特性,若每取一个信号就更换一次显示,则显示过快,人眼接受不了,反而认为仪器不稳定。 另外,还有一个判断是否需要更换显示值的问题。 当障碍物距离小于 时,距离变化 1m 就要及时更换。 当距离在 ~1m 之间时,若新值与原显示值之差大于 5cm 则更换,否则不予更换;当距离在 1~2m 之间时,若新老值差大于 10cm 则更换;当距离在 2m以上时,若新老值差大于 20cm,则更换,否则不予更换。 不更换则返回重测。 流程图如图 : 19 开始 新距离 ? 新距离 1m? 新距离 2m? |新距离 旧距离 | 20m? |旧距离 新距离 | 10m? |旧距离 新距离 | 5m? 更换显示值 返回 N Y N Y Y Y Y N Y 图 20 空 气 中有各种干扰信号,如汽车鸣笛,排气时发出的噪声。 这些噪声中含有 40KHZ的谐波成分,被放大后可能引起显示干扰。 另外,汽车运行特别是刚启动时,电源中也有许多干扰脉冲。 因此,除在硬件电路中采取措施外,软件中还要加入抗干扰程序。 一般可根据倒车的速度和回波信号脉宽来分析,对接收的信号进行甄别,筛选出正确信号。 信号处理程序流程图 程序 WORK: JBC 01H,WORK1 ;有回波信号则转存 DJNZ R3, GORET ;无回波信号则判别“连续无回波信号”次数 MOV R3, 04H ;“连续无回波信号” 4 次则重置初值 LCALL FLASN ;调用闪烁显示子程序 GORET: RET 图 21 WORK1: MOV R3, 04H ;有回波则连续无回波计数器 R3 重置初值 DJNZ R2, WORK2 ;不 是第 4个信号。 转存第 1, 2 和 3 信号 MOV R2, 04H ;是第 4 个信号,信号计数器恢复初值 MOV 56H, TLO ;存第 4 个信号 MOV 57H, THO MOV 22H, 01H ;标志位恢复初值 LCALL TONE ;调用计算嘟声方波脉宽及输出嘟声子程序 WORK2: JB 11H,WORK21 ; 1信号标志,转存第 1个信号 JB 12H,WORK22 ; 2信号标志,转存第 2个信号 JB 13H,WORK23 ; 3信号标志,转存第 3个信号 RET WORK21:MOV 50H,TLO ;存第 1 个信号 MOV 51H, THO RET WORK22:MOV 52H,TLO ;存第 2 个信号 MOV 53H,THO RET WORK23:MOV 54H,TLO ;存第 3 个信号 MOV 55H,TNO RET 程序中有关存储器,寄存器及 标志位的内容及用途 寄存器: 32H 扫描显示循环数 40H 个位显示符寄存器 41H 十位显示符寄存器 42H 百位显示符寄存器 44H 嘟声方波脉宽值 45H 闪烁显示间隙系数 50H 1信号低 8 位 51H 1信号高 8 位 52H 2信号低 8 位 53H 2信号高 8 位 54H 3信号低 8 位 55H 3信号高 8 位 56H 4信号低 8 位 57H 4信号高 8 位 22 R2 信号计数器 R3 连续无回波计数器 标志位: 11H 1信号存储标志 12H 2信号存储标志 13H 3信号存储标志 01H 回波标志。 01H=1,有回波; 01H=0,无回波 23 结论 毕业设计是我作为学生 在学习阶段的最后一个环节,是对所学基础知识和专业知识的一种综合应用,是一种综合的再学习、再提高的过程,这一过程对学生的学习能力和独立思考及工作能力也是一个培养,同时毕业设计的水平也反映了大学教育的综合水平,因此学校十分重视毕业设计这一环节,加强了对毕业设计工作的指导 和动员教育。 在大学的学习过程中,毕业设计是一个重要的环节,是我 步入社会参与实际工作的一次极好的演示, 也是对我自学能。本科毕业论文-基于at89c51单片机的汽车倒车测距仪的设计
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。