当前位置:首页 > 单片机 > 单片机
[导读]1 引言随着信息产业的迅速发展,作为信息显示终端之一的LCD器件也得到了空前的发展。液晶显示器(LCD)具有显示信息丰富、功耗低、体积小、重量轻、超薄等许多其他显示器无法比拟的优点。近些年来被广泛应用于单片机控

1 引言

随着信息产业的迅速发展,作为信息显示终端之一的LCD器件也得到了空前的发展。液晶显示器(LCD)具有显示信息丰富、功耗低、体积小、重量轻、超薄等许多其他显示器无法比拟的优点。近些年来被广泛应用于单片机控制的智能仪器、仪表和低功耗电子产品中。为LCD配置驱动电路,就形成了液晶显示模块LCM(Liquid Crystal Module)。它的基本组成部件除了LCD、驱动电路外一般还有连接件、背光源等。液晶显示模块同一个系统中的其他电路一样,有简单的接口,并提供了丰富的控制显示的指令系统。为整机的开发节约了时间。AVR单片机是Atmel公司推出的具有精简指令集RISC结构的新型8位单片机。具有丰富的硬件接口。它采用低功耗、非挥发的CMOS工艺制造,内部分别集成Flash、EEPROM和SRAM三种不同性能和用途的存储器。除了可以通过SPI口和一般的编程器对AVR单片机的Flash程序存储器和EEPROM数据存储器进行编程外,大多数的AVR单片机还具有ISP在线编程和IAP在级应用编程的特点。其中一些高档的AVR单片机,例如ATmega64、ATmegal28等还具有mG接口。这些优点为使用AVR单片机开发设计和生产产品提供了极大的方便。

介绍了图像点阵式液晶模块CM320240与AVR单片机ATmega64相结合实现终端设备显示控制的一种方法。给出了硬件电路的设计以及系统软件架构的搭建,并阐述了一种树形菜单界面的设计方法。

2系统硬件设计

2.1 液晶模块CM3XPA0-7及ATmega64单片机简介

CM320240-7是一个中英文文字与绘图模式的点阵式液晶显示模块(LCM),点阵数是320*240。内建512KB的ROM字型码,可以显示中文字型、数字符号、英日欧文等字母。在文字模式中,可接受标准中文文字内码直接显示中文,而不需要进入绘图模式描述中文,可以节省许多微处理器时间,提升液晶显示中文的处理效率。ATmaga64是一款高档的AVR单片机,具有丰富的硬件资源。

(1)先进的RISC结构,130条指令,大多数指令执行时间为单个时钟周期,32个8位通用工作寄存器。全静态工作,工作于16MHz时性能高达16MIPs,只需两个时钟周期的硬件乘法器。

(2)非易失性程序和数据存储器。64K字节系统可编程Flash,具有独立锁定位的可选Boot代码区,通过片上Boot程序实现系统内编程真正的读写同时操作2K字节的EEPROM,4K字节片内SRAM,64K字节可选外部程序存储空间,可以对锁定位进行编程以实现用户程序的加密。

(3)JTAG接口(与IEEE1149.1标准兼容),符合JrI"AG标准的边界扫描功能,支持扩展的片内调试功能,可以通过JTAG接口实现Flash、EEPROM、熔丝位和锁定位的编程。

(4)外设丰富,两个具有独立预分频器和比较器功能的8位定时器/计数器。两个具有预分频器、比较功能和捕捉功能的16位定时器/计数器。具有独立振荡器的实时计数器RTC,两路8位PWM通道。8路十位ADC,面向字节的两线接口"册,与12C完全兼容。两个可编程的串行USART,可工作于主杌/从机模式的SPI串行接口。具有独立片内振荡器的可编程看门狗定时器。

(5)还具有一些特殊的处理器特点:上电复位以及可编程的掉电检测,片内经过标定的RC振荡器,软件选择时钟频率,具有六种睡眠模式。

2.2系统硬件组成

系统硬件平台主要由MCU、人机接口(液晶模块和键盘)、通信接口三部分组成,系统框图如图1所示。


图1系统硬件框图

单片机与设备主机之间使用标准的UART串口通信,硬件接13比较简单,加一片TTL到RS232的电平转换芯片即可。

键盘我们采用常用的六键小键盘,即回车、返回、上、下、左、右。由于ATmega64单片机的I/O资源比较丰富,共有53个可编程的I/O口,并且我们采用六键键盘,因此可以直接将按键连到I/O口上面。如果使用较多的按键开关,还可以使用矩阵键盘的方式以节省I/O,这里不赘述。AVR单片机的I/O端口具有上拉电阻,所以我们无需加外部上拉电阻,只需软件初始化的时候使能这些按键接口的上拉电阻即可。将每个按键的一端接地,另一端除了分别连接到PC0一PC5端口之外,还连接到一个与非门上面,与非门的输出脚连到单片机的一个外部中断上面。这样,当任意一个按键按下的时候。与非门的输出都由低变高,使单片机产生中断。所以既可以使用查询方式进行键盘操作,也可以使用中断方式,增加了设计灵活性。

CM320240-7液晶模块支持8080和6800系列的MCU,同时也提供了4一Bit或8一Bit的数据总线接口。我们这里使用的是8080方式下的8一Bit数据总线接口,8080系列MCU与6800系列的MCU最大的不同是读、写的控制信号是分开的,RD为低时进行读取动作,WR为低时进行写入动作。MCU对液晶模块的命令寄存器和DisplayRAM进行读写操作时是有一些不同的:如果是对寄存器进行读写操作,MCU必须先通过数据总线送出寄存器的地址,然后才能在数据总线上读写寄存器资料;如果是对DisplayRAM进行读写操作,MCU可以直接在数据总线上读取和写入DisplayRAM的资料。需要注意的是:初始化的时候,读写控制信号一定先置高,读写操作都禁能,否则会造成后面时序的紊乱,即使后面的读写程序正确,液晶模块也不会有任何显示。AVR单片机的IO管脚即使不用,初始化的时候也要给它一个确定的状态,否则容易出问题。

液晶模块的八位数据总线直接连到单片机的PA口上面,几个控制管脚连到单片机的普通IO上即可。值得注意的就是液晶模块对比度的控制,在LCD驱动电压输入端V0和LCD驱动电压输出端VEE之间必须接一可调电阻,阻值20K左右,用于调节液晶模块的对比度。VEE输出固定为-23V.

通过实践,当Vo输入为-18V左右的时候效果最好。我们希望平时不用的时候,液晶背光灯关闭以节省功耗,当进行键盘操作的时候唤醒。所以在液晶模块背光电源的输人端加一个开关管控制。液晶模块与ATmaga64单片机的接口电路如图2所示。


图2液晶模块接口电路

3系统软件架构

AVR单片机的软件开发使用的集成开发环境是Atmel公司提供的AVR Studio.为了能够使用C语言进行软件开发,还必须另外安装C编译器。目前有许多关于AVR的C编译器,常用的是GCC(即WINAVR)、ICC、IAR以及CodeVisionAVR等。其中GCC是公开源代码的自由软件,使用它完全不必考虑价格因素,因此无论是GCC本身还是与CCC配套的AVR编译包,其更新速度和效率都是其他开发工具所不能比拟的。用GCC编写的源程序可读性和可移植性都很高。本文所涉及到的软件开发就是利用AVR Studio和GCC.

3.1 系统软件整体框架

整个终端显控系统的功能就是为了能够显示设备内部工况,并能够设置一些参数,所以最主要的就是显控系统跟设备主机之间的数据交互以及美观舒适的人机交互界面。数据交互以及界面的切换也要配合键盘的操作。同时应当增加睡眠模式,即平时不进行操作的时候可以关闭背光灯,关掉一些模块,当用户使用键盘的时候,产生键盘中断,从睡眠模式唤醒。因此我们可以定出系统软件的基本架构,如图3所示。


图3主程序流程图

3.2树状菜单界面的软件设计

可以看出系统软件整体框架也比较简单,重点是在于如何跟设备主机进行数据交互,同时配合菜单显示,下面我们就介绍一种树状菜单界面的软件设计。这种方法将整个菜单看作一个树形结构,每个菜单界面则是菜单树上的一个节点:其父节点为当前菜单的上一级菜单,子节点为当前菜单的第一个子菜单;左右节点为当前菜单的"兄弟"菜单,也就是其上一级菜单的其余子菜单。

对每个节点进行编号,定义一个长整数D为节点号,根节点D=l,考虑到有的节点其子菜单大于10,子菜单为父菜单ID乘100再加上下级菜单在上级菜单中对应的子项ID(1,2,……),这样第1级子菜单的ID就分别为101,102,103.对应IDl01的下级ID即为10101,10102,10103……,这样,不同的按键操作对应不同的菜单节点搜索方法,即每次只需要修改全局的节点号ID即可。我们同时还可以定义几个全局变量来代表每级菜单的子菜单数、邻近菜单数以及菜单类型,这样,我们可以更加方便的在各个菜单之间切换。键盘配合菜单切换的程序流程如图4所示。


图4菜单选择程序流程

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

北京2023年9月19日 /美通社/ -- 随着科技的快速发展,我们正处在一个数据爆炸的时代。超大规模数据中心作为数据的重要存储和处理场所,其数量在不断增长,与之而来的数据量也在呈指数级增长。这不仅包括原始数据,还包括分...

关键字: 分布式 节点 软件 数据中心

(全球TMT2023年9月5日讯)在2023年华为云沙特峰会上,华为宣布,华为云利雅得节点正式开服。本次开服后,利雅得节点将成为华为云服务中东、中亚和非洲的核心节点。华为云利雅得节点通过3AZ(可用区)架构,提供了高可...

关键字: 节点 华为云 云服务 GO

沙特阿拉伯利雅得2023年9月4日 /美通社/ -- 在2023年华为云沙特峰会上,华为宣布,华为云利雅得节点正式开服,推动该国数字经济增长。 本次开服后,利雅得节点将成为华为云服务中东、中亚和非洲的核心节点,可提供创...

关键字: 华为云 节点 AI 数字化

全闪存存储的历史性时刻到来! 北京2023年8月30日 /美通社/ -- Gartner最新数据显示,2023年第一季度全球外部存储市场同比增长0.5%;其中,全闪存阵列同比增长3.6%,市场规模超过非全闪存阵列,占整...

关键字: 数据中心 数据存储 节点 机械硬盘

杭州2023年8月25日 /美通社/ -- 8月17日,以"绿色永续制造"为主题,正泰新能常务副总裁、可持续发展官黄海燕在在近期的一次公开演讲中,公布了以2028年、2035年和2050年为主要时间节...

关键字: 可持续发展 光伏组件 ROM 节点

(全球TMT2023年8月11日讯)8月9日,杭州鄂达精密机电科技有限公司的德沃克智造MES项目全面启动。鄂达精密成立于2007年,是一家专业从事高精密机电零部件设计研发、制造、销售为一体的国家级高新技术企业。鄂达精密...

关键字: 机电 节点 零部件 仓储物流

摘要:为了提高接地线工作的安全性,从接地线装拆安全检测告警出发,对基于机器视觉技术的接地线装拆安全检测告警技术进行研究,对安全检测告警软件进行了设计,利用手持终端与伺服电机实现接地线装拆安全检测的告警,通过MVC框架、以...

关键字: 接地线 软件设计 技术应用

ATmel 挪威设计中心的A先生与V先生,于97年设计出一款使用RISC指令集的8位单片机,起名为AVR。高可靠性、功能强、高速度、低功耗和低价位, 一直是衡量单片机性能的重要指标,也是单片机占领市场、赖以生存的必要条件...

关键字: AVR单片机 计算机 数据手册

AVR单片机硬件结构采取8位机与16位机的折中策略,即采用局部寄存器存堆(32个寄存器文件)和单体高速输入/输出的方案(即输入捕获寄存器、输出比较匹配寄存器及相应控制逻辑)。提高了指令执行速度(1Mips/MHz),克服...

关键字: AVR单片机 RAM 寄存器

AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU)精简指令集高速8位单片机。可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯...

关键字: AVR单片机 计算机 RAM
关闭
关闭