本科生毕业论文
中断开始 RI=1? N Y 接收串口数据 N 起始位‘S’ Y 接收起始位后33位数据 N 接收到第34位? Y 将第2位起的32 位数据发回PC机 中断返回
图4-6 通信程序流程图
所有软件编写完成后都必须经过编译才能被单片机识别使用。为了减小软件的修改和优化难度,先把各子程序写为一个可单独执行的完整程序。各子程序编译没有错误后再输入单片机进行验证,这两项都通过后再将所有的程序整合到一起形成一个完整的程序再进行编译和验证。详细程序见附录2。
25
本科生毕业论文
第5章 系统调试
硬件制作和软件编写过后,得出实物如图5-1所示。实物完成后必须对其进行调试,检查设计功能是否实现了。软件硬件完成后开始进行调试。调试可分为硬件调试,软件调试和系统联合调试。
图5-1 实物图
5.1 系统硬件部分调试方法
硬件调试主要是调试各部分的焊接是否合格和各芯片的输出输入电压是否符合设计要求,最后测试各硬件部分能否完成设计功能。因此把硬件调试按照以下四部分分步来进行:
(1)测试所有焊点是否有短路和虚焊的现象存在;
(2)通电测试所有硬件芯片的输入输出电压是否在设计要求的范围内; (3)测试ISP下栽线的功能是否能够实现; (4)测试串口系统的通信功能是否能够实现。
由于最重要的显示系统功能的测试需要软件配合所以在硬件调试部分只测试单片机复位电平,功能部分测试放在系统联合调试部分来完成。
26
本科生毕业论文
5.1.1 短路与虚焊检测
检测工具为万用表,使用万用表的短路报警功能,逐个测试相临的两个焊点检测是否短路。按照电路图检测需要连接的两点是否短路来检测是否已经连接上,以此来检测虚焊的情况。检测和修改完成后为下一步通电检测排除了短路的危险和由于虚焊引起检测结果不真实的麻烦。 5.1.2 上电测试
由于系统测试时是采用USB电源为系统电源,所以电源输入都为5V。显示系统中单片机、译码器,锁存器,驱动电路的电源电压均要求为5V所以可同时直接接入。
上电后首先观察电路是否有过热,异味,冒烟的现象出现。经过观察,没有这些现象出现。然后测试各器件的电源,接地及一些电平应该固定的端口的电压。测试的结果为:各器件电源端在4.3V~4.8V之间满足器件的电源电压要求,单片机端口在未接负载时端口电压为4.5V。 5.1.3 串口调试
串口部分的作用为单片机与PC机之间通信,要检查硬件是否正常工作可以采用将MAX232芯片的单片机端输出口与输入口直接相连的办法来测试。具体电路图如图5-2所示,将MAX232的第10端和第9端直接短接。功能上表示将单片机的输出口与输入口直接相连,单片机收到数据的同时就将数据发送回PC机。如果发
【19】送的数据能够被接收则证明串口通信部分的硬件是正常的。将串口与电脑COM1
相接,通过串口调试助手发送不同位数的数据再在把发送的数据与接收数据相比较。
VCCC1104C2104P3.1 TX11101291513455C1+C1-C2+C2-T1INT2INR1OUTR2OUTGNDVDDVCC216104VCCT1OUTT2OUTR1INR2INVEE147138C461041627384951C31110P3.0 RXMAX232ACPED Connector 9
图5-2 串口硬件调试
27
本科生毕业论文
5.2 系统软件调试方法
由于已经进行了硬件调试,所以软件调试主要是软件编译和将各功能块程序分别写入以验证其功能的可实现性。在进行功能调试前必须用KEIL C对所有程序进行编译,编译成功生产可执行的.hex后方可进行功能测试。
其中测试串口程序的功能是否完善不但要连接单片机系统还要借助串口调试工具。串口调试工具选用的是串口调试助手,其功能是按照设定的串口、波特率向单片机发送数据和接收单片机向PC机发送的数据。并且能把发送和接收的数据内容显示在状态栏内。因此只要设定PC机向单片机发送的内容和单片机向PC机发送的内容就可以通过串口调试助手验证串口通信是否准确,是否满足功能要求。
串口程序的设计为:设定波特率位9600,以0XAA为起始标志位,单片机接收自起始标志位后的32位十六进制数再发送会PC机。测试程序时设定波特率为9600,选择串口1,无校验,8位数据。PC机向单片机发送的内容为aa 11223344556677889900aabbccddeeff11223344556677889900aabbccddeeff。PC机收到的数据为 11 22 33 44 55 66 77 88 99 00 AA BB CC DD EE FF 11 22 33 44 55 66 77 88 99 00 AA BB CC DD EE FF。测试表明串口程序和串口电路实现了设计目的。再进行数次不同数据的发送,接收到的数据也验证了设计要求的实现。
图5-3 串口调试图
28