首页 理论教育 模块化编程:指示灯显示和串口初始化

模块化编程:指示灯显示和串口初始化

时间:2023-06-28 理论教育 版权反馈
【摘要】:图6-5 指示灯显示函数6.3.2.3 主函数主函数main只需调用串口初始化函数,并在while死循环中调用指示灯显示函数,串口中断服务函数会接收计算机发来的字符,同时根据字符是否正确反馈一个字符到计算机,如图6-6所示。图6-6 主函数请读者认真阅读图6-4~图6-6,并下载验证。

模块化编程:指示灯显示和串口初始化

由于计算机端使用“串口助手”,无需进行编程,只要合理设置STCISP中“串口助手”中相关项即可,这点在本章任务分析中有说明,不再赘述。从单片机角度,可将本任务分解成若干功能模块,见表6-5。

表6-5 本章任务模块划分

978-7-111-55685-5-Chapter06-12.jpg

在模块2和模块3之间,都需要“接收的字符”这一变量,为此,我们可定义一个“无符号字符型”的全局变量,用来实现这两个模块之间的联系。

6.3.2.1 串口1初始化和中断服务函数

首先定义一个无符号字符型变量Char_Get,用于存储和接收字符,并供指示灯显示模块使用。读者应特别注意:RI和TI必须通过软件复位,并注意“interrupt4”,如图6-4所示。

978-7-111-55685-5-Chapter06-13.jpg

图6-4 串口初始化与中断服务函数

6.3.2.2 指示灯显示(www.xing528.com)

本模块利用全局变量Char_Get的值,使用switch语句,实现不同字符的显示。由于Char_Get存放的是接收到的ASCII字符,可以直接使用1~8对应的ASCII码(0x31~0x38),也可以通过单引号将对应字符括起来。推荐使用更为直观的后者,编译器会自动转换成ASCII码。详细实现代码如图6-5所示。

978-7-111-55685-5-Chapter06-14.jpg

图6-5 指示灯显示函数

6.3.2.3 主函数

主函数main只需调用串口初始化函数,并在while(1)死循环中调用指示灯显示函数,串口中断服务函数会接收计算机发来的字符,同时根据字符是否正确反馈一个字符到计算机,如图6-6所示。

978-7-111-55685-5-Chapter06-15.jpg

图6-6 主函数

请读者认真阅读图6-4~图6-6,并下载验证。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈