课程设计说明书-基于arm的-图形点阵lcd菜单设计.doc
《课程设计说明书-基于arm的-图形点阵lcd菜单设计.doc》由会员分享,可在线阅读,更多相关《课程设计说明书-基于arm的-图形点阵lcd菜单设计.doc(27页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、编号: 课程设计说明书(信息系统综合实训课程设计) 题 目: 图形点阵LCD菜单设计 院 (系): 信息与通信学院 专 业: 电子信息工程 学生姓名: 学 号: 指导教师: 2016年 1月2日摘 要目前图形点阵液晶显示模块广泛用于各式各样的电子设备,人机界面越来越直观形象,对于大多数用户来说,显示界面的友好与否,将直接影响到其产品的使用。人机交互界面设计的目标是实现菜单窗口界面,用户可以在菜单方式下进行人机交互。菜单响应用户的选择,根据用户的选择运行程序,实现相应的功能。同时友好的人机界面使得电子设备更加易于维护。本文在新唐Cortex-M0开发板设计了一种能实现四级深度的菜单,硬件部分由C
2、ortex-M0主控芯片、12864LCD和3*3的矩阵键盘组成,通过软件部分循环扫描按键,并统计按下的按键,根据不同的需求在LCD上显示各种图片和文字。图片和文字通过用取模软件进行取模可以转换成在LCD上显示所要求的格式。通过将12864LCD看成一个平面坐标的形式,可以把大小合适的图片及文字放置到液晶屏合适的位置上。基于此,我们实现了具有菜单查找、菜单返回、屏蔽错按等基本功能的四级深度的菜单设计。关键词:菜单,Cortex-M0,LCDAbstractThe graphic dot matrix LCD module are widely used in all kinds of elec
3、tronic equipment, man-machine interface is more and more intuitive image, for most users, display of friendly interface or not, will directly affect the use of its products. The human-computer interaction interface design goal is to achieve the menu window interface, users can be human-computer inte
4、raction in the menu mode. In response to user menu choice, according to the users choice to run the program, realize the corresponding function. At the same time, friendly man-machine interface makes the device more easy to maintain.In this paper, Nuvoton Cortex-M0 development board is designed to a
5、chieve a depth of four menu, the hardware part by the Cortex-M0 main chip, 12864LCD and 3 * 3 matrix keyboard composition, part of the cycle by the software to scan button, and statistics press the button, depending on the needs of a variety of images and text displayed on the LCD. Pictures and text
6、 can be converted into modulo displayed on the LCD by performing the required format using modulo software. By plane coordinates 12864LCD as a form, you can put the right size of pictures and text is placed to the appropriate location on the LCD screen. Based on this, we have realized the find menu,
7、 the menu returns, shielding the wrong press and other basic functions of four depth of menu design.Keywords: menu,Cortex-M0,LCD 目 录引言11 系统硬件设计总体框图12 各部分电路分析12.1 液晶显示部分12.1.1 LCD12864简介12.2 矩阵键盘模块42.3 NUC140控制器简介42.3.1 ARM Cortex-M0内核53软件设计63.1程序设计思路63.2 NUC140主程序流程图73.3键盘扫描程序流程图74.总结8谢辞10参考文献11附 录1
8、2引言自20世纪80年代后期开始,随着LCD12864液晶显示屏制造技术的不断完善,在国外得到了广泛的应用。在我国改革开放之后,特别是进入90年代国民经济的高速增长,对公众场合发布信息的需求日益强烈。而LCD12864液晶显示屏作为信息传播的一种重要手段,已经成为城市信息现代化建设的标志,LCD12864显示屏随着社会经济的不断进步,以及LCD显示屏制造技术的完善,人们对LCD12864显示屏的认识将会越来越深入,其应用领域将会越来越广,LCD12864显示屏经多年的开发、研制、生产,其技术目前已经成熟。现在各种广告牌不再是白底黑字了,也不再是单一的非电产品,而是用上了丰富多彩的LED电子产品
9、,为城市的增添了一道靓丽的风景。而且它采用低电压扫描驱动,具有耗电少、使用寿命长、成本低、发光效率高、故障少、视角大、可视距离远、可靠耐用、组态灵活、安全、响应时间短、绿色环保、控制灵活、色彩丰富以及对室内外环境适应能力强等特点。近年来LCD12864显示屏市场得到了迅猛的发展,已经广泛应用到银行、邮电、税务、机场、车站、证券市场及其它交易市场、医院、电力、海关、体育场等需要进行多种公告、宣传的场合。本文介绍一种在ARM嵌入式平台上实现的LCD 多级菜单的方法,由于C 语言的结构性和模块化,采用C 语言编写的程序容易阅读和维护,还有很好的可移植性,该方法已成功应用在煤矿安全监测设备上。因此,学
10、习LCD12864显示屏系统原理与工程技术很有必要。通过设计一个可显示汉字、英文、图形、动画的128*64液晶显示电路来学习和熟悉LCD的使用。1 系统硬件设计总体框图此次的设计是基于ARM Cortex-M0嵌入式平台实现的图形点阵LCD12864嵌套多级菜单的电路,采用新唐科技有限公司的Cortex-M0为主控芯片的NUC140系列开发板,显示模块采用蓝屏、带字库的12864液晶,采用键盘扫描作为输入控制,本设计框图如图1.1所示12864液晶显示模块ARM控制芯片Cortex-M03*3的矩阵键盘模块图1.1总电路框图2 各部分电路分析2.1 液晶显示部分2.1.1LED12864简介带
11、中文字库的128*64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块。其显示分辨率为12864, 内置8192个16*16点汉字和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字。也可完成图形显示。低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块,电路如图2.1所示。图2.1 液晶电路一、显示RAM1、文本显
12、示RAM(DDRAM) 文本显示RAM提供8个4行的汉字空间,当写入文本显示RAM时,可以分别显示CGROM、HCGROM与CGRAM的字型;ST7920A可以显示三种字型 ,分别是半宽的HCGROM字型、CGRAM字型及中文CGROM字型。三种字型的选择,由在DDRAM中写入的编码选择,各种字型详细编码如下: 显示半宽字型 :将一位字节写入DDRAM中,范围为02H-7FH的编码; 显示CGRAM字型:将两字节编码写入DDRAM中,总共有0000H,0002H,0004H,0006H四种编码; 显示中文字形:将两字节编码写入DDRAMK ,范围为A1A0H-F7FFH(GB码)或A140H-
13、D75FH(BIG5码)的编码。2、绘图RAM(GDRAM) 绘图显示RAM提供64*32个位元组的记忆空间,最多可以控制256*64点的二维绘图缓冲空间,在更改绘图RAM时,先连续写入水平与垂直的坐标值,再写入两个8位元的资料到绘图RAM,而地址计数器(AC)会自动加一:在写入绘图RAM的期间,绘图显示必须关闭,整个写入绘图RAM的步骤如下:关闭绘图显示功能,先垂直的坐标(Y)写入绘图RAM地址,将D15-D8写入到RAM中,将D7-D0写入到RAM中。二、指令说明IR为指令寄存器(Instruction Register,简称IR),负责存储MCU要写给LCD的指令码,当RS及RW引脚信号
14、为0且Enable引脚信号由1变为0时,D0D7引脚上的数据便会存入到IR寄存器中。DR为数据寄存器(Data Register,简称DR),它们负责存储微机要写到CGRAM或DDRAM的数据,或者存储MCU要从CGRAM或DDRAM读出的数据。因此,可将DR视为一个数据缓冲区,当RS及RW引脚信号为1且Enable引脚信号由1变为0时,读取数据;当RS引脚信号为1,RW引脚信号为0且Enable引脚信号由1变为0时,存入数据。BF为忙碌信号(Busy Flag,简称BF),当BF为1时,不接收微机送来的数据或指令;当BR为0时,接收外部数据或指令,所以,在写数据或指令到LCD之前,必须查看B
15、F是否为0。AC为地址计数器(Address Counter,简称AC),负责计数写入读出CGRAM或DDRAM的数据地址,AC依照MCU对LCD的设置值而自动修改它本身的内容。游标或显示移位控制000001S/CR/LX设定游标的移动与显示的移位控制位;这个指令不改变DDRAM 的内容,功能:设定00001DLXREXXDL=0/1:4/8位数据RE=1: 扩充指令操作RE=0:基本指令操作。三、汉字显示原理带中文字库的12864每屏可显示4行8列共32个1616点阵的汉字,每个显示RAM可显示1个中文字符或2个168点阵全高ASCII码字符,即每屏最多可实现32个中文字符或64个ASCII
16、码字符的显示。带中文字库的12864内部提供1282字节的字符显示RAM缓冲区(DDRAM)。字符显示是通过将字符显示编码写入该字符显示RAM实现的。根据写入内容的不同,可分别在液晶屏上显示CGROM(中文字库)、HCGROM(ASCII码字库)及CGRAM(自定义字形)的内容。三种不同字符/字型的选择编码范围为:00000006H(其代码分别是0000、0002、0004、0006共4个)显示自定义字型,02H7FH显示半宽ASCII码字符,A1A0HF7FFH显示8192种GB2312中文字库字形。字符显示RAM在液晶模块中的地址80H9FH。字符显示的RAM的地址与32个字符显示区域有着
17、一一对应的关系,其对应关系如下表2.1所示表2.1 显示坐标四、图形显示原理先设垂直地址再设水平地址(连续写入两个字节的资料来完成垂直与水平的坐标地址),垂直地址范围 AC5、AC4、AC3、AC2、AC1、AC0,水平地址范围 AC3、AC2、AC1、AC0绘图RAM的地址计数器(AC)只会对水平地址(X 轴)自动加一,当水平地址=0FH时会重新设为00H但并不会对垂直地址做进位自动加一,故当连续写入多笔资料时,程序需自行判断垂直地址是否需重新设定,GDRAM的坐标地址与资料排列顺序如图2.2所示。图2.2 显示结构2.2 矩阵键盘模块本次设计的四级嵌套菜单应用的是新唐NUC140系列开发板
18、上的3*3矩阵键盘模块来操作实现的,3*3矩阵键盘模块有利于对系统很好的控制,其电路图如图2.4所示。图2.3 3*3矩阵键盘电路图2.3 NUC140控制器简介一、概述 NuMicro NUC100系列是32位的内嵌ARM Cortex-M0核的微控制器 ,适用于工业控制和需要丰富的通信接口的应用领域,Cortex-M0是ARM最新的32位嵌入式处理器,拥有与传统8051单片机之匹敌的价格优势。NuMicro NUC100 系列包括NUC100, NUC120, NUC130和NUC140 。 NuMicro NUC140 Connectivity Line 带全速USB 2.0 和 CAN
19、功能,内嵌Cortex-M0内核,最高可运行至50 MHz,内建32K/64K/128K字节的Flash存储器,以及4K/8K/16K字节SRAM,4K字节用于存储ISP引导代码的ROM,和4K字节的数据 Flash 存储器。另外还有丰富的外设,如定时器,看门狗定时器,RTC,PDMA,UART,SPI, I2C,I2S,PWM 定时器,GPIO,LIN,CAN,PS/2,USB 2.0 FS 设备,12位ADC,模拟比较器,低电压复位控制和欠压检测功能。如表2.2为不同的NuMicro NUC100系列处理器所支持的接口列表。表2.2 所支持的接口列表二、特性该器件的功能依赖于产品线和他们的
20、子系统产品。1、NuMicro NUC140 特征 Connectivity Line 内核 ARM Cortex-M0 内核最高运行 50 MHz 一个 24-位系统定时器 支持低功耗睡眠模式 单周期32位硬件乘法器 嵌套向量中断控制器(NVIC)用于控制32个中断源,每个中断源可设置为4个优先级 支持串行线调试(SWD)带2个观察点/4个断点2.3.1ARM Cortex-M0内核Cortex-M0处理器是32位可配置的多级流水线RISC处理器。它有 AMBA、AHB-Lite 接口和嵌套向量中断控制器(NVIC),具有可选的硬件调试功能,可以执行Thumb指令,并与其它Cortex-M系
21、列兼容。支持两种模式-Thread 模式与 Handler 模式。异常时系统进入 Handler 模式。从Handler 模式返回时,执行异常返回。复位时系统进入Thread 模式。Thread 模式也可由异常返回时进入。 图 2.4为处理器的功能图。图2.4 功能框图设备提供:1、低门数处理器特征: 1)ARMv6-M Thumb 指令集;2)Thumb-2 技术;3)ARMv6-M 兼容 24-bit SysTick 定时器; 4)32-bit 硬件乘法器; 5)系统接口支持小端(little-endian)数据访问; 6)准确而及时的中断处理能力; 7)加载、存储多个数据和多周期乘法指令
22、可被终止然后重新开始从而实现快速中断 处理;8)C 应用程序二进制接口的异常兼容模式(C-ABI)。这个 ARMv6-M 的模式允许用 户使用纯C函数实现中断处理; 9)使用中断唤醒(WFI)与事件唤醒(WFE)指令进入低功耗的休眠模式,或者从中断退出休眠模式。2、NVIC 特征: 1)32 个外部中断,每个中断具有4级优先级; 2)专用的不可屏蔽中断(NMI); 3)同时支持电平和脉冲中断触发; 4)中断唤醒控制器(WIC),支持极低功耗休眠模式。3、调试支持: 1)四个硬件断点 2) 两个观察点; 3)用于非侵入式代码分析的程序计数采样寄存器(PCSR); 4)单步和向量捕获能力。4、总线
23、接口: 1)提供简单的集成到所有系统外设和存储器的单一32位 AMBA-3 ABH-Lite 系统接口;2)支持DAP (Debug Access Port) 的单一32位的从机端口。3 软件设计3.1 程序设计思路本次课程设计重点在软件部分,下面简单介绍一下设计思路:我们定义两个变量num1和num2,给它们赋初值为1,然后调用系统函数ScanKey();;统计按下的按键,如果是1,num1加1,如果是2,则num2加1。根据num1和num2的组合显示对应的图片。难点在如何实现返回上一级,我们是定义当按下3时,根据当前num1和num2的值调节num1与num2的大小,这样就可以和之前的根
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 说明书 基于 arm 图形 点阵 lcd 菜单 设计
限制150内