✅作者简介:嵌入式领域优质创作者,博客专家
✨个人主页:咸鱼弟
🔥 系列专栏:单片机设计专栏
📃推荐一款求职面试、刷题神器👉注册免费刷题
本课程设计所设计的出租车计价器的主要功能有:数据的复位、白天/晚上转换、数据输出、计时计价、单价输出、路程输出数据信息。输出采用1602液晶显示屏。本电路设计的计价器不但能实现基本的计价,而且还能根据白天、黑夜、中途等待来调节单价,同时在不计价的时候还能作为时钟为司机同志提供方便。
本系统的硬件设计主要包括单片机STC89C52、数据显示部件、A44E霍尔传感器电路、DS1302时钟模块、K24C02记忆存储模块、里程计算及计价单元的设计。在硬件设计过程中,充分利用各部件的功能,实现多功能的出租车计价器设计。
它由以下部件组成:STC89C52、总金额及单价显示部件、键盘控制部件,里程计算单元,1302时钟显示模块、K24C02记忆存储模块。利用单片机丰富的IO端口,实现基本的里程计价功能和价格调节、时钟显示功能。不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级。
1.程序的查错手段
单片机的应用系统均需借助对应的开发系统(或装置)进行在线仿真,对应用系统的软,硬件进行全面地检测与调试。各种开发系统或装置均提供以下查错手段。
(1)单步执行
采用单步执行操作可对应用程序每步执行一条指令,可逐条检查这一段程序的执行过程是否符合原设计要求。可直接查出错误所在。宏单步可执行一段程序,如一步就可执行完整个循环程序段。
(2)断点设置全速运行
可在程序有疑虑的地方设置断点,从设置的起始地址开始,以全速或非全速方式向设定的断点处运行。如果这段程序无语法或逻辑上的错误,则连续运行到设置的断点处停止运行,返回监控状态。如果有错误,则在错误处停止运行,如果进入死循环或者程序跑飞,就会永不停止运行。全速断点运行为检查实时性及中断响应处理等提供了方便。
(3)显示器窗口检查
(4)实时跟踪记录
2.源程序的检测
在源程序进行调试之前,硬件系统必须基本正确,重点对源程序进行检测。
(1)对照程序流程图,先对相对独立的功能模块,子程序,中断服务程序等进行仔细地检查,然后对整个主程序按其功能划分成若干程序段进行分段检查,逐步扩大到整个程序系统。
检查时重点检查程序的逻辑功能,结构和算法,有关参量和初始值是否完善,正确,关键性指令的选择是否合理,特别是借助开发系统也较难调试正确的隐患,只有通过细心的检查加以排除。
(2)硬件系统检查。
硬件系统必须排除电源短路和碰线故障,然后空板(没有插上芯片等器件)进行上电检查各电源点是否正确,有关逻辑电平及信号是否正确。确认无误之后逐次插上芯片等器件,借助开发系统可检查出是否有硬件故障。一旦有故障时,开发系统的监控程序将出现不能正常工作的现象。故可采用此法排除硬件系统的一般性故障。
有些故障只有通过软件调试才能排除,有时还需通过软件调试修改硬件设计。
3.源程序的调试
源程序的调试一般可分为分调,联调和考机3步进行。
(1)分调
首先将基本独立的子程序调试正确,符合原设计要求,用模拟的方法将中断服务程序初调,然后将主程序按相对独立的功能程序段,遵照应用系统运行的逻辑顺序逐段进行调试。
A) 设置并输入一组符合要求的参量,启动程序段运行,观察运行情况或故障的影响及现象。
B) 对出现的问题进行仔细地分析,合理推测,借助开发系统的调试手段,逐步缩小疑点范围,直至找出问题所在进行修改。
C) 分析故障原因。
(2)联调
在分调基本完成的基础上进行联调,它将与整个系统的硬件,软件,环
境密切相关,必须联合在线调试。
调试的重点在于主程序与各功能模块程序段之间的连接处,按照整个
软件系统的执行顺序,逐个相连进行调试。