基于labview的pc机与单片机串口通信内容摘要:

CON。  使用串口中断方式时,开 CPU和中断源 —— 写 IE 寄存器。 本设计设定定时 器 T1 工作在模式 2,串行口工作于方式 3。 PC 机通信的设计 MSC0MM 控件不需要用户对通讯底层进行操作。 它有事件驱动通讯和查询通讯两种方式。 本设计中采用事件驱动方式,即接收缓冲区每接受规定字符数产生一次 MSCOMM— OnC0Mm 事件,发送时设置不产生该事件。 输入显示程序设计 设计中 使用 7 段 LED 数码管显示发送或接收到数据;使用 4 6 的矩阵式键盘 发送数据。 程序可分为三个模块。 错误 !未找到引用源。 键输入模块:扫描键盘、读取 一次键盘并将键值存入键值缓冲单元。 错误 !未找到引用源。 显示模块:将显示单元的内容在显示器上动态显示。 错误 !未找到引用源。 主程序:调用键输入模块和显示模块。 键盘扫描中,向 列扫描码地址逐列输出低电平,然后从行码地址读回。 如果有键按下,则相应行的地址应为低,如果无键按下,由于上拉的作用,行码为高。 这样就可以通过输出的列码和读取的行码来判断按下的是什么键了,由于在建的闭合和断开过程中有一个抖动期,抖动时间长短和开关的机械特性有关,一般为5~ 10ms,为了保证 CPU 对键的闭合做一 次且仅一次的处理,在编程时要有一定的延时,本设计设定了 30ms 的延时来防止按键抖动。 程序框图如下: 主程序框图 读键输入子程序框图 N Y Y N N Y 开始 键值转换为显示数据 读取键值 显示缓冲区初始化 LED 显示 有键输入。 开始 输出列扫描信号 读入行信号 初始化地址参数 列扫描信号复位 返回 查表得键码 等待按键释放 按照行列计算键值 返回 该列有键输入。 6 列扫描完。 LED 显示流程图 否 是 单片机收发程序 开始 关所有位显示 初始化显示参数 位选通信号移位 输出 段码数据 取显示数据 延时 输出位选通信号 指向下一个显示数据 返回 8 位完成。 单片机发送数据流程图 单片机接收数据流程图 否 是 PC 机收发程序 主程序开始 在 PC机屏幕上显示按下的字符 读接收寄存器内容 串行口初始化 向 PC机发送字符 单片机小键盘按下 设定波特率 LED 初始化 LCD 显示按下的字符 返回 主程序开始 串行口初始化 LED 初始化 开中断 清接收中断标志 R1 接收 PC机发来数据 开中断,恢复现场 返回 保护现场 接受正确 PC 机发送数据流程图 PC 机接收数据流程图 否 否 是 是 硬件连接 串口初始化 在文本框中显示数据 等待控制命令 串口初始化 打开串口接收数 据 接收数据的事件触发 数据在 LED数码管上显示 打开串口发送数据 等待控制命令 发送数据的事件触发 显示正确 显示正确 图一: 图二: 图三: 第 四 章 利用 LabVIEW实现 PC 与单片机串口通信任务 VI 程序 启动 NI LabVIEW 程序,选择新建( New)选项中的 VI项,建立一个新 VI 程序。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。