【摘要】:图6-5 指示灯显示函数6.3.2.3 主函数主函数main只需调用串口初始化函数,并在while死循环中调用指示灯显示函数,串口中断服务函数会接收计算机发来的字符,同时根据字符是否正确反馈一个字符到计算机,如图6-6所示。图6-6 主函数请读者认真阅读图6-4~图6-6,并下载验证。
由于计算机端使用“串口助手”,无需进行编程,只要合理设置STCISP中“串口助手”中相关项即可,这点在本章任务分析中有说明,不再赘述。从单片机角度,可将本任务分解成若干功能模块,见表6-5。
表6-5 本章任务模块划分
在模块2和模块3之间,都需要“接收的字符”这一变量,为此,我们可定义一个“无符号字符型”的全局变量,用来实现这两个模块之间的联系。
6.3.2.1 串口1初始化和中断服务函数
首先定义一个无符号字符型变量Char_Get,用于存储和接收字符,并供指示灯显示模块使用。读者应特别注意:RI和TI必须通过软件复位,并注意“interrupt4”,如图6-4所示。
图6-4 串口初始化与中断服务函数
6.3.2.2 指示灯显示(www.xing528.com)
本模块利用全局变量Char_Get的值,使用switch语句,实现不同字符的显示。由于Char_Get存放的是接收到的ASCII字符,可以直接使用1~8对应的ASCII码(0x31~0x38),也可以通过单引号将对应字符括起来。推荐使用更为直观的后者,编译器会自动转换成ASCII码。详细实现代码如图6-5所示。
图6-5 指示灯显示函数
6.3.2.3 主函数
主函数main只需调用串口初始化函数,并在while(1)死循环中调用指示灯显示函数,串口中断服务函数会接收计算机发来的字符,同时根据字符是否正确反馈一个字符到计算机,如图6-6所示。
图6-6 主函数
请读者认真阅读图6-4~图6-6,并下载验证。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。