基于DSP和单片机通信的液晶显示设计方案
引脚外设功能
GpioMuxReg s. GPGMUX. bit. SCIT XDB_GPIOG4 = 1;/ / 设置SCI??TX 引脚外设功能EDIS;
ScibRegs. SCICCR. all = 0x07; / / 1 位停止位, 无奇偶校验,8 位字符长度, 使用空闲线模式协议
ScibRegs. SCICTL1. all = 0x 03;/ / 使能发送和接收缓冲
ScibRegs. SCICTL2. all= 0x 02;/ / 使能RXRDY 中断, 禁止T XRDY 中断
ScibRegs. SCIPRI. all = 0x0000;/ / 禁止接收错误中断和休眠模式
ScibRegs. SCIH BAUD= 0x01;/ / LSPCLK = 37. 5 MH z, 波特率设为9 600 b/ s
ScibRegs. SCILBAUD = 0xE1; ??
ScibRegs. SCICTL1. all = 0x 0023;/ / 重新使能SCI
51 单片机串口初始化程序如下:
TMOD= 0x 21;/ / 定时器1 工作在方式2, 用于产生0 串口的波特率
SCON= 0x 50;/ / 串行口0 工作在方式1, 允许接收, 清标志位
TH 0= 0xfd; / / 晶振12 MH z, 设置波特率为9 600 b/ s
TH 1= 0xfd; PS= 1; / / 串口中断优先
PCON| = 0x 00; / / 波特率不加倍
TR1= 1;
在本设计中, 采用自己规定的通信协议, 首先DSP发送出握手信号, C51 收到握手信号后, 进入中断子程序, 判断握手信号是否正确, 若正确才握手成功, 开始接收数据包, 接收完成后对数据进行和校验, 正确后刷新液晶的显示数据存储区; 若错误则放弃本次数据, 并将接收数据存储区清零, 等待下一次通信。其程序流程图如图3 所示。
图3 DSP 和单片机的通信程序流程图
DSP 向单片机的定时发送程序如下:
ScibRegs. SCITXBUF = Sci_VarRx [ i] ;/ / 将数据包写入发送缓冲区
i+ + ; / / 依次发送数据包
if( i= = 12) i= 0; / / 重新计数
IER | = M_INT1; / / 清除中断标志位
EINT;
PieCtr lReg s. PIEACK. all = PIEACK_GROUP1;
51 单片机串口中断服务程序如下:
Rx0_Buffer[ Rx0_Ptr] = SBUF; / / 读取数据到接收数组
RI= 0; / / 清除接收标志位
Rx0_Ptr+ + ; / / 计数加1
Rx_flag= 1;
1. 4 单片机与液晶和键盘的接口
系统采用的是D6128× 4 图形点阵液晶显示器, 它主要由行驱动器/ 列驱动器及128×64 全点阵液晶显示器组成, 既可以完成图形显示, 也可以显示8×4 个( 16×16 点阵) 汉字。单片机与液晶模块和键盘的接口电路如图4所示。
图4 单片机与液晶和键盘的接口电路
单片机与液晶之间通过8 位数据线进行并口通信,将DSP 传来的实时数据传输到液晶显示器进行实时显示。对液晶驱动器的控制具体是通过各个内部寄存器和标志位的操作实现的, 单片机写入不同的控制字就能让液晶执行各种不同的功能。DG12864 是点阵型液晶, 它主要通过对点阵中各点的亮灭来显示不同的内容, 通过取模软件可以方便地获得汉字和英文符号等的字模, 将程序中所要用到的字模存储在特定的文件中,在程序中根据所要显示的内容调用相应的字模, 最终通过并口传输到液晶驱动器的显示RAM 区中实现显示。
图5 展示了系统实际运行时的界面
2 结 语
本文设计了TMS320F2812 和MCS51 单片机的串行异步通信接口, 并通过单片机实现驱动液晶的实时显示和键盘设置功能。经过实验, 证明本方案能够高效准确地实现了上述功能, 而且其硬件简单、操作方便。目前这种方案已经可靠地应用于智能充电器的人机界面模块中。
TMS320F2812 DSP MCS51单片机 液晶显示 相关文章:
- 基于DSP的无刷直流电机调速系统(06-01)
- TMS320F2812在多段液压机械无极变速器中的应用(11-10)
- 基于TMS320F2812的数字化三相变频电源的研制(01-15)
- 基于DSP的高精度数字频率计的设计(02-03)
- 基于TMS320F2812的分布式温度采集记录仪的设计与实现(11-29)
- 基于TMS320F2812的矢量变频调速系统研究(01-15)