基于单片机控制的电子胸牌设计毕业论文(编辑修改稿)内容摘要:

要求也比较低。 CH340 芯片作为 USB 转红外通信采用的芯片 ,它其实是一个转接 USB 总线的芯片 ,可以完成 USB 转接串口及 USB转 IrDA 红外两大功能。 CH340 的功能如下:CH340 芯片本身内置 USB 上拉电阻, UD+及 UD应直接连接在 USB总线上。 它本身还带有电源上电复位电路,它的作用是提供时钟信号( 12MHz)给引脚 X1;一般 11 而言, 12MHz 信号由芯片的反相器发射,外围电路只需要在 X1和 X0引脚之间连接一个 12MHz 的晶体,并且分别为 X1 和 X0 引脚对地连接震荡电容。 USB转红外电路设计的结构如图 34 所示。 红外通信的基本原理是:以波长为 950 nm 的近 红外波段的红外线作为信息的载体,将二进制信号调制为若干脉冲信号。 最后驱动红外线发射元件(如红外发光二极管)发射红外信号。 红外接收端收到红外脉冲信号后,将红外信号转换为电信号,再经过放大、滤波等处理后送给解调电路进行解调,最后还原成二进制信号输出 [9]。 这种通信方式非常简单,实现串行通信,只要一根 USB 转红外的通信数据线,将 PC 机发送的点阵数据经过 USB 以红外线的方式传输给芯片,接收采用 PT1921C。 V C CG N DG N DG N D G N DV C C1234 U S B0 . 0 1 UC A PC A P2 2 PC A P2 2 PC A P4 K 7 1 2 M H Z R 2 3 218V35G N D8U D 7U D +6N O S20XI9V C C19XO104R X D3T X D1C K 02A C TY?C H 3 4 0 图 34 USB 转红外电路 12 第 4 章 软件设计 部分 PC 机 软件 部分 VB 软件介绍 Visual Basic(简称 VB)是 Microsoft 公司开发的一种通用的基于对象的程序设计语言。 专业人员可以用 Visual Basic 实现其它任何 Windows 编辑语言的功能,而初学者只要掌握几个关键词就可以建立实用的应用程序 [10]。 VB简单易学,通用性强,用途广泛。 VB 具有如下特点: 1)面向对象的程序设计的基本概念 对象 将 代码 及其数据整合在一起 , 看 作 是 1个单位。 对象 的范围很广,能够将一个完整的 应用程序 当成 1个对象 ,也能够把对象当成其一个部分。 2)事件 驱动 的概念 此驱动在工作的时候 ,代码 的工作不按一定的规律执行 , 它是根据 不 一样 的驱动 事件 去执行其相应的 的代码。 3) Active 技术 的概念 Active 技术 在其本身的 OLE 技术 基础上又有所发展 ,可方便地使用标准的 Active 部件 ,调用标准的接口 ,实现特定的功能 [11]。 该系统设计选择应用 MSm控件,它的处理方式及其属性见表 41和 42。 表 41 MSm 属性 属性 功能 CommPort 设 置 或 返 回 串 行 端 口 号, 其 取 值 范 围 为 1 ~ 99, 缺 省 是 1。 SetTing 对串行输入或者输出进行特定的 设 置。 PortOpen 控制 串 行 端 口 的开和闭, 格 式 为 :={TRUE|FALSE}。 13 Input 该 属 性 表 示 从 接 收 缓 冲 区 移 走 一 串 字 符 Output 向 发 送 缓 冲 区 传 送 一 字 符 串。 表 42 MSm 处理 处理方式 性 质 事件驱动 OnComm 事件 控制管理事件或者错误 查询 根据 CommEvent 属性 对 事件 及其 错误 进行辨别 4) MSComm 工作的步骤 ① 连接 MSComm 与串口 ,初始化端口号码及其 CommPort。 ② 设置通信协议及其他传输特性。 ③ 将通信端口打开 ,设 PortOpen 属性为 True,开始进行通信。 ④ 数据的输入和输出,利 用 Input 及 Output 实现。 ⑤ PortOpen 调整为 Flase。 PC 机控制界面 PC 机主控界需要完成的是命令的输入。 我们可以从图 中看到界面由四条输入汉字的文本框构成 ,但需要显示汉字的大小需要符合单片机的存储空间的大小,不能太大。 其他的控制设置也 能够 通过 看 图 得出。 如图 41 所示。 图 41 上位 机控制 系统 界面 14 显示 内容的 提取 PC 机软件部分控制系统的核心是将进行显示的汉字转化为点阵数 据。 点阵汉字中 ,每个汉字的字模都有 其比较 固定字节数 目。 汉字 采用什么样 的格式, 就会采用相应的 汉字字库 ,为了 能够使消 耗 的功率 最少 ,此次 设计 将 采用 HZK12 字库 ,它的点阵数量最少,需要点亮的汉字点阵数量就会减少。 VB 提取汉字点阵数据首先要做到的一点是是否是汉字作出一个判断。 假如是汉字 ,那么依据汉字的区位码就能计算出汉字在字库中的相应位置 ,然后提取该汉字的点阵数据( 24字节) ,将其存入等待串口发送的动态数组。 如果是英文字符 ,可以利用一样的方法提取该字符的点阵数据。 程序流程图如下 : 15 打开H Z K 1 2 字库判断输入是否汉字转换为A S C 码转换出区位码计算在字库中的位置取出2 4 字节数据完成字模计算位置取出点阵数据(1 6 字节)是否 图 42 提取汉字点阵数据的流程图 下位机软件 设计 部分 LPC922 是 下位机 设计 的主 要 部分 ,LPC922 程序设计 的工作是接收 由 PC 机 传输 的数据 ,并对 LED 显示屏 进行控制。 程序设计 包括: 中断服务 程序,主程序。 主程序设计 主程序需要完成初始化程序的各个模块以及按照要求调用 相对应的 子程序。 工作时单片机按照上位机的指令工作。 其程序流程图如图 43 所示。 16 LED 显示程序设计 本系统设计的最重要部分是显示单元 ,因为如果显示效果的不好那么电子胸牌的使用效果也会不好。 其中包括利用各种动态显示(如上下移显示、左右移显示和固定显示等),完成不同的效果显示。 (1)固定显示方式 此方式只要把内容读取出来即可。 因此要将信息完整地固定显示出来,只需单片机将收到的点阵数据存储在 FLASH ROM 中 ,存储方式是按行存储,然后将行数据送到列并对行上电 ,重复以上操作直至 12 行完成 ,这样要显示的信息就可以完整地固定的显示出来。 但由于本设计是小型 LED,所以对显示内容要进行大小的控制。 (2)左右移的显示方式 左移动是控制列的,因此控制左移显示就会变得麻烦一点。 左右移动显示时,为了使显示稳定、画面不会有跳动的感觉,需逐列定速进行移动。 因为左右移动需行扫描不断地进行 ,所以将需要显示的列数据依次送入 ,这时候对应的列会亮起来 ,因此列数据是到显示屏的方式是逐位移动。 (3)上下移显示方式 和固定显示效果相比,上移显示效果有很多相似地方 ,不同的只是在进行行扫描时 ,下一行数据连续向上一行传送 ,在对行点亮时从底下一行开始不断重复直至所有行结束。 而在初始数据时 ,要多加一行零数据 ,当然它不会显示,工作时下一行的数据传送给上一行直至 12 行被显示完;下移和上移显示不同的就是行点亮开始从最上面一行至最下面一 行结束 ,数据的选择是按照这样的方式:将第i1 行的数据赋值给第 i 行 ,直至 12 行被扫描完。 17 开始初始化是否有按键按下按1 次按2 次按3 次按4 次按5 次是否按6 次返回循环显示显示第一条显示第二条显示第三条显示第四条处理显示数据送显示数据默认显示NYNY 图 43 主程序流程图 PC 机与单片机串行通信程序设计 计算机有一种不同于并行口的的一种标准接口 ,即串行口,它的不同之处它的数据及控制信息是逐位地串行地传送下去。 以下是串行口的通信接口标准简介 : 目前广泛应用于 PC 机与通信工业中的一种接口是 RS232。 RS232 采取不平衡的单端通信传输方式 ,接收端和发送端是相对于地的数据信号。 RS232 是不 18 稳定的信号 ,工作时 ,发送设备送出 5V~ 15V 的正电平 ,没有数据传送时 ,线上TTL。 单片机串行通信特点 P89LPC922 单片机的 UART 具有四种操作模式,见表 43。 表 43 P89LPC922 操作模式 模式 0 移位时钟通过 TXD 输出。 RXD 控制 串行数据 的进入和输出。 一 次 进出以八 位 为单位。 模式 1 RXD 引 脚 负责 接收 ,TXD 引 脚 负责 发送,一次为 10位数据 :起始位 是一个 ,暂 停位 也是一个,数据位则是八个。 模式 2 RXD 引 脚 负责 接收 ,TXD 引 脚 负责 发送,一次为 11 位数据 :起始位是一个 ,数据位 则 是八个 ,以及 1个可 以 编程的第九位和 1个停止位。 当发送数据的时候 ,第九个数据位置 1或 0。 模式 3 RXD 引 脚 负责 接收 ,TXD 引 脚 负责 发送 ,一次 11位数据 :起始位 是一个 ,数据位 则是八个 ,以及 1个 能够 编程的第九位和 1 个停止位。 P89LPC922 串行通信 接收上位机信号后,单片机产生中断 ,进入中断后采用查询的方式接收上位机传送的点阵数据。 进入接收中断时 ,以防显示屏出现错误,先关闭显示屏 ,然后将接收到的数据放在接收缓冲区 ,并将它存储于 Flash ROM 中的扇区里。 IAPLite 能够进行 程序擦除编程 ,即在不影响该页其他字节的情况下,经过一次操作就可以擦除和编程一页内的一个或多个字节。 在微控制器的固件控制 19 下,实现 IAPLite 功能 ,擦除和编程未加密扇区,需使用 1个内部 16/64 字节页和 4 个 SFR 寄存器。 这些 SFR 见表 44。 表 44 SFR 及其属性 FMCON 写 操作的时候是 命令寄存器。 读 操作的时候是 状态寄存器;写入 的时候 清零状态。 FMDATA 数据 被接收过来,然后存 进页寄存器。 FMADRH,FMADRL 指示程序存储器的页或者页寄存器的字节地址。 程序中擦除字节有如下的具体操作步骤: 1)向 FMCON 中写入 LOAD 命令 (00H)。 2)向 FMADRH、 FMADRL 写入页寄存器内的地址。 3)向 FMDATA 写入要编程的数据。 4)除了连续字节,向 FMADRL 写入将进行编程的下个字节的地址。 所有被编程过的字节必须在同一页。 5)向 FMDATA 写入将编程到的下一字节数据。 6) 写操作重复进行 ,一直到所需要的数据都被存储在页寄存器中。 7)将擦除编程命令 (68H)写入 FMCON ,将擦除 编程周期启动。 8)检查状态通过读 FMCON 来进行。 假如操作被终止 ,经过 LOAD 命令重新来启动操作。 VB 串口通信 该系统利用 VB 编写程序。 串口程序 的初始化 如下 : =1 If = False Then = True 20 = 9600,N,8,1 End if = 0 = 0 当 PC 与单片机成功连接后,就可以向单片机发送字模数据了 ,单片机的存储器的大小和下位机程序决定发送字模数据的大小。 下面是软件 部分的运行 在的 图示 , 图 45。 图 44 上位机界面 通信协议 它是指双方在通信过程中需要达成一致且必须共同遵守的一种协定。 本设计制定的通信协议 : 串行波特率 =9600 b/s,选择通信方式 1。 21 表 45 通信协议 数据传送方式 接口协议是 RS232,发送和接收方式是半双工。 通信方式 异步通信方式 ,传送数据的单位是字节 ,异步通信中规定数据帧的格式要严格,因为发送方和接收方使用的是各自本身的时钟。 数据帧格式 一帧数据是 10位 ,包括一位起始位 ,一位停。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。