找回密码
 注册
关于网站域名变更的通知
查看: 278|回复: 3
打印 上一主题 下一主题

人机交互中英文显示系统的设计

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-11-17 13:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
1 引言+ e: S/ X4 Q& N# |
信号源作为一种基本电子设备无论是在教学、科研还是在工程技术保障中,都有着广泛的使用。随着科学技术的发展和DDS技术的成熟,基于DDS的任意波信号发生器已成为信号源的主流。目前DDS任意波信号发生器广泛使用中文液晶显示器已成为一个趋势。" k& u+ K0 a- Q" G

7 [7 z$ z% O$ W9 g. A, @* b本文以Hynix公司生产的HMS30C7202工业级处理器作为控制器,以矩阵键盘作为输入设备,以AMPIRE公司生产的AM-320240LTNQW-00H TFT LCD显示屏作为显示输出设备,研究设计了相应的硬件电路与显示驱动程序,在此基础上完成了人机交互中英文显示系统的设计。, {2 r+ N8 l6 {1 z# p
2 显示系统总体方案设计- H8 X5 k4 F: o9 b
显示系统由硬件和软件两部分构成,如图1、图2所示。
; _/ F% ?: o; g* Q5 [  H
# M$ L; I8 K( M: h9 A

: K: A1 R- [9 |: O% J$ s硬件部分以HMS30C7202微处理器为核心,FLASH和SDRAM作为存储设备,从矩阵键盘接受输入,并在LCD上显示相应内容,同时通过UART与DDS信号源进行通讯。存储系统中的FLASH用来固化程序及保存波形数据和系统参数;SDRAM是系统上电正常运行后的代码和数据载体。2 |7 y$ p' v$ P0 X9 h
软件部分又可分成底层驱动程序和上层控制程序两部分。底层驱动包括设置系统模式和时钟,初始化存储器,代码拷贝,初始化LCD控制器,中断控制器和UART控制器等。上层控制程序不断查询是否有键按下。若有键按下,则执行相应的任务,LCD显示相应内容;同时若需要,通过UART向DDS信号源发出控制命令- r$ G8 x) \) o3 K
3 lcd驱动电路组成' q7 O' l8 ]/ \# U8 Z8 ]
HMS30C7202本身集成LCD控制器,支持STN和tftlcd液晶屏。AM-320240LTNQW-00H TFT LCD显示屏接口共有54个引脚,它和LCD控制器的连接方法如图3所示。7 T* N6 o& F2 i) b) o& f

2 L9 v8 B1 k/ b4 软件系统设计
+ F; t% o% `& a6 f' n" L' C( qDDS任意波信号发生器人机交互系统中的LCD显示包括汉字和字符的显示、位图的显示以及窗口的显示。
& N) d! i$ }" Q& h, `6 j5 I4.1 汉字和字符的显示
" r6 O& N; _. C6 y& U: S0 S& V; ~! \由于标准字库太大,而DDS任意波信号发生器LCD显示的字符只占很少的一部分,因此需要自己制作一个字库。结合LCD显示屏的大小,汉字字符采用16*16点阵,英文字符和数字采用12*24点阵。为了软件操作上的方便,汉字字库和英文字库相互独立。汉字字模和英文字模的定义如下。
! t8 R( t4 b& d0 }3 z
7 }  |, Y. I: a7 y& ~! t6 j' D/ Q+ u
所有汉字字模数据构成数组HZFONT DDSHZTable[],所有英文和数字的字模数据构成数组YWFONT DDSENTable[],这就是DDS任意波信号发生器自己的字库。显示时,首先找到当前要显示的字符在字库中的位置,然后通过显示算法将字符在LCD 上显示出来。1 Q4 U3 a- \8 g
4.2 位图的显示
$ a7 F  I$ d/ b: d9 v7 n1 S位图的显示用于DDS任意波信号发生器显示开机画面或波形图像。其实现方法是将开机画面对应的位图图像转化成320*240格式的数据,放在数组constchargImage_hello[153600]中,然后将数组起始地址直接赋给LCD显存开始地址就行了。当显示比LCD画面小的位图时,则要定位该位图在LCD屏中的显示位置,然后通过一定的算法显示出位图图像。
8 n" R: Q  p  M' E: h1 X$ R4.3 窗口的显示
6 z& g% M, E& ]7 G' U& a' ?DDS任意波信号发生器窗口的显示内容如图4所示。窗口大致分三个区,一区为左上角的波形显示及说明区,用来显示各种波形或操作提示信息;二区为右边和下边的功能菜单区,用来设置参数和进行波形调制;三区为中部的参数菜单显示区,用于显示波形和调制参数。2 p( u" h; [; @" q6 I

+ x5 t4 I$ T# l- x3 j  o为了有效管理窗口显示,给窗口定义了结构体。
! A6 Y- B; Q* C. T  V1 T! O
) n1 @$ E4 x0 _9 g
菜单分两种,一种是功能菜单,如图4中的频率菜单、调制菜单。这种菜单只要求显示菜单名,则对应Menu结构体中的ParaFlag=0。另一种菜单为参数菜单,见图4中的参数菜单显示区。每个参数菜单有一个参数名和一个参数值,则对应Menu结构体中的ParaFlag=1,Text指向参数名字符串,pData指向参数值字符串。4 [- X" _2 H, V/ u
4.4 键值处理及LCD显示模块/ w- e. I3 |* B5 o
DDS任意波信号发生器的上层控制程序的主体就是键值处理及LCD显示模块,其软件流程图如图5所示。它主要完成三方面的功能。(1)按了不同的波形键。由于各种波形的形状、参数种类和个数不尽相同,当按了波形键且和上一次按的波形键不一样时,LCD要刷屏并显示当前波形窗口。(2)按了设置参数键。这一般用来修改波形参数或系统参数。LCD必须提供编辑框或选择框,动态显示键盘输入的数字和单位。对一些需要保存的参数,则还要将这些数据保存在FLASH中。(3)按了输出键。LCD不需要修改显示画面,HMS30C7202通过串口向DDS信号源发送命令控制字。
2 T& e" [$ e! q6 @( [+ m
2 l  y# C# j* ], S+ u6 ^
另外为了提高LCD的换屏速度,在换屏显示时并不是更新所有内容,而是只有当前操作修改了哪些参数,LCD才更新显示哪一块内容。
; D& [9 Y, \6 r5 结论' x0 M8 B2 u) f8 r3 R
本文设计的DDS任意波信号发生器人机交互系统已在实际硬件环境中调试通过。LCD显示画面简洁,操作简单直观。同时若要修改菜单内容,调整菜单显示位置,只需修改窗口结构体变量的值,无需修改程序代码,软件系统易于扩展和移植。
5 Y7 Y/ i4 i: m本文作者创新点:采用先进的HMS30C7202 ARM处理器和高性能的M-320240LTNQW-00H TFT液晶屏,设计了一个DDS任意波信号发生器的人机交互系统。该系统实现方法简单,操作简便,界面显示直观,且易于移植和扩展。: L; R* R7 b+ L9 f0 J& H& k

该用户从未签到

2#
发表于 2021-11-17 14:16 | 只看该作者
基于DDS的任意波信号发生器已成为信号源的主流

该用户从未签到

3#
发表于 2021-11-17 14:16 | 只看该作者
存储系统中的FLASH用来固化程序及保存波形数据和系统参数

该用户从未签到

4#
发表于 2021-11-17 14:16 | 只看该作者
  位图的显示用于DDS任意波信号发生器显示开机画面或波形图像
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-9-11 06:15 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表