107014036 秦昌丽 基于ARM控制的小车显示系统.docx
- 文档编号:12741329
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:51
- 大小:1.08MB
107014036 秦昌丽 基于ARM控制的小车显示系统.docx
《107014036 秦昌丽 基于ARM控制的小车显示系统.docx》由会员分享,可在线阅读,更多相关《107014036 秦昌丽 基于ARM控制的小车显示系统.docx(51页珍藏版)》请在冰豆网上搜索。
107014036秦昌丽基于ARM控制的小车显示系统
分类号:
TN873单位代码:
107
密级:
一般学号:
1070207014036
本科毕业论文(设计)
题目:
基于ARM控制的
小车显示系统
专业:
电子信息工程
姓名:
秦昌丽
指导教师:
张栋
职称:
工程师
答辩日期:
二〇一一年六月五日
基于ARM控制的小车显示系统
摘要:
显示系统是小车系统的重要组成部分,本文介绍了一种基于ARM微控制器(LM3S811主控芯片)与12864LCD显示模块构成,通过串行方式连接小车显示系统,应用C语言编程,通过软件控制,使系统得以实现。
该系统可以实现小车各种功能的显示,另外此系统可以支持图形库及自定义字符的显示,对于外部传感器所采集到的数据,通过主控芯片进行读取、处理、传送,使数据得以显示。
此外,显示系统不仅可以用于小车功能的显示,而且在广泛的社会服务等行业推广应用,诸如公交车的站牌显示系统、矿井的监测显示系统等等,具有较强的现实意义。
最终实验表明,此次软硬件设计合理,功能基本可以实现,并可供以后的显示类设计参考使用。
关键词:
LM3S811;12864LCD;显示系统。
AcardisplaysystembasedontheARMmicrocontroller
Abstract:
Displaysystemisanimportantpartofcarsystem.Inthispaper,akindofcardisplaysystem,whichisconsistofARMmicrocontroller(LM3S811maincontrolchip)and12864LCD,andconnectedbytheserialinterface,iscontrolledbythesoftwarewhichprogramedbytheClanguage.Thesystemcanrealizecar’svariousdisplayfunction,andcansupportothergraphicslibrariesandcustomcharacterdisplay.Externalsensordata,collectedbythemasterchipwhichdealwithreading,processing,transmitting,canbeshowbythedisplaysystem.Inaddition,displaysystemnotonlycanbeusedtodisplaycarfunction,alsocanbeusedtoawiderangeofapplications,suchasthebusstopdisplaysystem,minemonitoringdisplaysystem,etc.Itiswithstrongpracticalsignificance.Finally,experimentsshowthatthesoftwareandhardwaredesignisreasonable,andbasicfunctionscanberealized,thisdesigncanbereferenceinlaterdesign.
Keyword:
LM3S811;12864LCD;Displaysystem
1绪论
目前,科学技术处于不断的发展当中,电子产品日益更新,已经成为我们生活中必不可少的一部分,不论是日常生活还是工业应用等等,都已经与电子技术紧密的联系在一起。
从瓦特发明蒸汽机开始,世界技术已经进入到了一个新的时期,伴随着第一台计算机的出世,科学技术就有了一个飞跃,伴随着科学技术的提高,而显示技术也应用广泛起来,从而提高了人民的生活水平。
而今,随着信息社会的发展,在工业应用方面,显示系统也已经广泛的应用于各个领域。
诸如温度检测的显示系统、智能仪表的显示系统等服务于社会的各行各业。
在主控硬件开发方面,ARM微控制器已被广泛应用。
ARM(AdvancedRISCMachines)微处理器是Acorn计算机有限公司面向低预算市场设计的第一款RISC微处理器,更早称作AcornRISCMachine。
ARM处理器本身是32位设计,但也配备16位指令集。
一般来讲,比等价32位代码节省达35%,却能保留32位系统的所有优势,具有很高的性价比。
ARM处理器是一种性能高、成本低的微处理器,具有很高的实用性,ARM的Jazelle技术使Java加速得到比基于软件的Java虚拟机(JVM)高得多的性能,和同等的非Java加速核相比功耗降低80%。
同时ARM处理器的CPU功能上增加DSP指令集提供增强的16位和32位算术运算能力,提高了性能和灵活性。
而且ARM还提供两个前沿特性来辅助带深嵌入处理器的高集成SoC器件的调试,它们是嵌入式ICE-RT逻辑和嵌入式跟踪宏核(ETMS)系列。
由于一系列的优点使得ARM微处理器具有很高的市场占有率,使得ARM处理器得以被广泛的应用于生活和科研中[1]。
在软件开发方面,IAR软件是一款主流的开发集成环境软件,其中IAR为所有ARM开发者带来很大的益处,IARSystems为所有使用ARMMCU的开发者提供了业界最领先的集成开发环境:
IAREmbeddedWorkbenchforARM;它支持很多知名公司的微处理器。
它带有高度优化的C/C++编译器和先进的C-SPY调试器。
此外,JTAG硬件调试工具IARJ-Link也帮助成千上万的开发者解决了在使用ARMMCU进行开发过程中的许多问题,使得用户能够在IAREmbeddedWorkbenchforARM软件中进行全面的开发和调试。
全球很多著名的公司都在使用IARSYSTEMS提供的开发工具,用以开发最前沿的科技产品,从手机应用系统到航天航空、消费电子及工业制造等等[2]。
目前的显示系统,在各个领域都有广泛的应用,尤其是在一些公共场合,像室外液晶显示,机场航班动态信息显示,证券交易、金融信息显示港口、车站旅客引导信息显示,体育场馆信息显示道路交通信息显示,调度指挥中心信息显示,电力调度、车辆动态跟踪、车辆调度管理,邮政、电信、商场购物中心等服务领域的业务宣传及信息显示,这些足以证明,显示系统在我们当今的生活中变得越来越重要。
图1整体框图
2系统设计
2.1整体设计
本设计是以德州仪器半导体技术有限公司LM3S811为主控芯片,12864LCD为显示模块及其他外围电路共同工作,实现对欢迎词及外部数据的实时显示。
首先,控制器从传感器采集到各参数的数据,数据经过初步处理,在液晶上分为4行同步显示出来。
由于主控芯片可以工作在中断方式,如果有串行中断到来,控制器会利用中断与主控制芯片进行通信,把数据传送到显示器,实现了数据的实时显示。
2.2显示模块选择
1602液晶显示器采用5×7点阵,可以显示2行,每行16个字。
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:
阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”[3]。
12864LCD显示器(LCD)具有功耗低、体积小、重量轻、超薄等,其它显示器无法比拟的优点,近年来被广泛用于单片机控制和微控制器控制的智能仪器、仪表和低功耗电子产品中。
LCD主要分为段位式LCD、字符式LCD和点阵式LCD三种,其中段位式LCD和字符式LCD只能用于字符和数字的简单的显示,而不能满足图形曲线和汉字显示的要求,在很多方面有很大的弊端;而点阵式LCD不仅可以显示字符、数字,还可以显示各种图形、曲线和汉字,像12864TH点阵式液晶显示模块就可以显示汉字、图片,还可以显示自定义字符,是1602所不具有的功能[4]。
由于本设计需要显示汉字、图形等,用1602显示模块及其他简易的显示器已经不能满足本设计的需求,因此本文选用了12864(128×64)LCD显示器,它是128(列)64(行)点阵的LCD显示模块。
在该系统中,通过LM3S811微控制器输入输出接口,利用C语言编程控制输入输出端口的高低电平,根据时序,以实现对LCD的控制,使得所需显示的数据以及功能得以在LCD显示模块上显示。
3硬件设计
3.1元件的创建
由于在Protel[5]画图时库中没有找到LM3S811和12864的元件,因此在画原理图的过程中,自己创建了元件如图2:
图2LM3S811原理图
图2为LM3S811元件,在创建的过程中,把管脚标识放在外面,影响原理图的连接及效果,如果要把管脚标识放在里面,需要对管脚的属性进行调整,在protel里面的操作为:
点击Place选择Pins,双击放置的管脚,根据管脚需要的标识改动name,管教的标号number,再根据上下左右需要选择Orientatic(如左边管脚选择180°,右边0°,上下分别为90°和270°),最终得到了LM3S811元件如图。
希望能给以后的元件制作带来一些借鉴。
图3则是12864元件图,共有20个引脚,经历了LM3S811的创建,此12864就方便了很多,其引脚功能后面有描述。
图312864原理图
3.2主控芯片LM3S811
LM3S811有48个引脚,其大部分引脚具有复用功能,如LM3S811用作JTAG的五个管脚,同时也可以作为GPIO使用,这是LM3S811的一个缺点,但同时也是它的一个优点,由于JTAG被用来下载(烧写)程序使用,再用作GPIO可能会使得芯片锁死,这是它的缺点;但同时,它有防锁死的措施,如果使用者细心加上防锁死程序,或者在不需要使用太多GPIO的情况下,可以尽量不用这五个管脚,如果需要,那么在加上防锁死程序后,就有五个GPIO管脚可以复用,这是它的一大优点。
在LM3S811中,有很多功能模块,比如串口,可以应用在调试过程中,一个USB虚拟串口和一个实际串口,通过串口调试器的调试,在电脑上可以看到输入输出的结果,同时对照硬件的工作情况,可以更直观得到运行结果。
在本设计中,定时器是必不可少的一部分,因为在小车的运动中,需要显示其运动总时间。
LM3S811支持多种定时模式,主要有以下三种,32-位定时器模式、16-位定时器模式、16-位输入捕获模式。
LM3S811的功能模块很多,其中主要有JTAG、UART(串口)、PWM(脉冲宽度调制)、Timer(定时器)、ADC(模数转换)等等,在LM3S811的DATASHEET里面有详细解释。
本设计主要使用GPIO端口为主,通过模拟同步串行时序来对显示模块进行控制。
3.2.1LM3S811申请
在设计的过程中,通过LM3S811的熟悉,同时也了解了其生产厂家Ti公司的情况,该公司提供给大学生免费的LM3S811芯片,登录,进行信息注册,得到公司的认可后,进行登录,再对样片进行选择,通过审核,公司就会发货给我们。
公司发货给我的通知单:
图4LM3S811申请图
3.2.2GPIO(通用输入\输出端口)
LM3S811[6]中有五个GPIO端口,分别为PORTA、PORTB、PORTC、PORTD及PORTE。
其中各个端口所拥有的引脚数不相同,PE口具有两个引脚,在不作通用输入输出用时,此两个引脚作为脉冲编码调制使用,而PA口有六个管脚,在不作为GPIO使用时,它是作为SSI和UART两个功能模块使用的。
在LM3S811芯片的引脚中,很多都具有复用功能,这也是的芯片的可用性有了很大的提高。
在作为通用输入输出端口时,其中的PB7及PC0—PC3一般不要使用,因为此五个引脚通常是用于JTAG的,它是用作烧写程序的,一旦被使用,可能芯片在执行命令时会出现无法估计的错误,导致把芯片锁死,无法再次使用。
3.3显示模块12864LCD
本设计使用的是TH12864显示模块,如图3所示。
TH12864液晶显示模块是128×64点阵的汉字图形型液晶显示模块,可显示中文汉字及字符,且内含图形库,可显示自定义字符,内置国标GB2312码简体中文字库(16×16点阵)、128个字符(8×16点阵)及64×256点阵显示RAM(GDRAM)。
与外部CPU接口采用并行或串行两种控制方式。
其中TH12864的供电电源有3.3V和5V的,在本设计中使用的是3.3V。
其引脚说明如下[7]:
在本小车显示系统的设计中共使用了6条12864管脚与LM3S811进行连接,其12864
表112864引脚说明
引脚
名称
方向
说明
1
VSS
-
GND(0V)
2
VDD
-
SupplyVoltageForLogic(+3.3V)
3
V0
-
SupplyVoltageForLCD
4
RS(CS)
0
H:
DataL:
InstructionCode
5
R/W(SID)
0
H:
ReadL:
Write
6
E(SCLK)
0
EnableSignal
7-14
DB0-DB7
|
数据0-数据7
15
PSB
0
H:
ParallelModeL:
SerialMode
16
NC
-
空脚
17
/RST
0
Resetsignal低电平有效
18
NC
-
空脚
19
LEDA
-
背光电源正极(LED+3.3V)
20
LEDK
-
背光电源负极(LED-0V)
的引脚为1、2、4、5、6、15,其中1、2两条分别是接地和电源(3.3V);4引脚在串行状态下为12864的芯片选择端,控制12864到底是使用还是禁止,高电平有效,并行状态下为12864的数据、命令选择端,高电平为数据端,低电平为命令端;5引脚在串行状态下12864的数据传送端,并行状态下为读写控制端,高电平读,低电平写;6引脚串行状态下为12864的同步时钟引脚,并行状态下为信号使能端;15引脚为设置12864为并行还是串行模式,高电平为并行,低电平为串行,在本设计中使用串行模式,低电平有效。
3.4供电部分
图5电源原理图
图5是TLV1117供电电源的原理图,由于常用稳压电源为5V,而LM3S811主控芯片与12864显示模块所需的供电电压为3.3V,所以需要供电电源对电压进行转换,以匹配两者所需的不同电压值。
通过TLV1117给芯片供电,使得电路得以正常运行。
3.5其他外设
LED:
图6是发光二极管与主控芯片的连接,发光二极管作为LM3S811的一个外围设备,在设计调试的过程中起着很重要的作用,在给LM3S811的36引脚(PWM5)高电平的时候,发光二极管导通,开始发光,在36引脚为低电平时截止,二极管熄灭。
发光二极管在调试程序的时候起着很重要的作用,在没有完成显示系统的连接时,可以根据LED的闪光来调试程序。
需要注意的是:
需要将JP3的跳线接上,保证硬件电路的接通,很多人容易忽略这一点。
图6LED原理图图7按键原理图
按键:
图7按键与LM3S811的连接,在LM3S811中,按键是必不可少的一部分,按键可以作为防锁死和普通的按键使用。
由于LM3S811的JTAG管脚可以与GPIO复用,所以可能导致JTAG的五个管脚被作为GPIO使用,致使程序跑死后,下一次无法继续使用该芯片,所以有了防锁死程序,在这种情况下,锁死了以后需要进行解锁,就可以按下按键,使得JTAG处于等待中,进而可以继续使用。
另外,此按键在作为JTAG使用完后,可以作为普通按键使用,比如在时间程序中,按下键以后开始计时,再次按键,则停止计时。
此按键与LM3S811连接时,在按键无效时,43(PB5)引脚为高电平时,按键处于断开状态;在按键有效时,43引脚为低电平时,按键导通。
3.6芯片连接
本设计使用德州仪器有限公司的LM3S811控制芯片作为控制器,该控制器有功能很齐全的调试解决方案,内部有串行线JTAG调试端口(SWJ-DP)、Flash修补和断点(FPB)单元,用于实现断点操作、数据观察点和触发(DWT)单元,用于执行观察点、触发源和系统性能分析、仪表跟踪宏单元(ITM)用于支持printf型调试、跟踪端口接口单元(TPIU)用作跟踪端口分析仪的桥接[8]。
TH12864液晶显示器与外部CPU接口有两种控制方式,本设计采用的是串行方式,因此利用控制器的GPIOB端口作为与TH12864连接的接口,用PB2与12864的4(12864的串行片选端)引脚进行连接,对显示模块是否工作进行选择;PB4与12864的5(串行数据传输端)引脚进行连接;PB6控制时钟,与12864的6引脚进行连接,控制12864传输每个字符为多少个脉冲;12864的第15引脚为选择串行或者是并行工作方式,与主控芯片LM3S811的地线进行连接,使其置为低电平,为串行工作方式。
另外,主控芯片可以从外部传感器获得数据,通过LM3S811的控制读取,处理,传送,最终可以同内部数据一样得以在显示模块上显示出来。
LM3S811与TH12864的接线如图8所示。
图8LM3S811与12864连接图
与此同时,12864显示模块的3、18、19、20引脚也在显示系统中起着很重要的作用,其中19、20引脚分别为12864模块的背光电源正负极,19引脚连接到LM3S811的电源,20引脚接地,使得显示模块得以亮起来。
图9为芯片连接框图。
4软件设计
4.1IAR软件
IAR是全球领先的嵌入式系统开发工具和服务供应商。
IARSystems成立于1983年,到目前为止,已经有27年的历史,它所提供的产品和服务涉及到嵌入式系统的设计、开发和测试的每一个阶段,包括带有C/C++的编译器和调试器的集成开发环境、实时操作系统、硬件仿真器等。
IARSystems公司总部在北欧的瑞典,在美国、日本、巴西、中国等国家设有分公司,他最著名的、被广泛应用的产品是C编译器-IAREmbeddedWorkbench,它支持很多知名公司的微处理器。
全球很多著名的公司都在使用IARSYSTEMS提供的开发工具,用以开发最前沿的科技产品,从手机应用系统到航天航空、消费电子及工业制造等等。
2003年6月,IARSystems传入中国,在中国成立办事处;2007年5月,成立了爱亚软件技术咨询(上海)有限公司,加强了对中国办事处及部分东亚国家的产品销售和技术支持,至此,国内开始正式引用该软件[9]。
4.1.1IAR的下载
(1)登陆IAR公司的网站:
。
(2)点击“下载”,出现下载版本选择界面如图11所示,由于IAREWARM试用版有:
30天功能无限制版本、32K代码限制版本,32K代码限制版的优点是在使用时间上无限制。
点击ARM一栏32K限制版,出现软件下载确认页面点击左下角的“continue”,出现注册信息页面,输入注册信息。
注意需在“Chipmanufacture”中选择“Texsasinstruments”
图10EWARM下载版本选择
(3)填完全部选项后,点击“SubmitRegistion”,会出现注册成功的页面如图11:
图11注册成功页面提示
(4)稍过一会,可收到IAR系统发出的确认邮件,点击页面中的链接,在弹出的页面中,获得IAR提供的试用版序列号和密钥,如图12,点击页面中的“Downloadfrom”中的链接便可下载安装程序。
图12EWARM提供的序列号及密钥
4.1.2IAR安装
(1)下载完IAR开发软件,找到安装文件,双击安装程序“EWARM-KS-WEB-5501”,启动安装。
(2)在安装页面中,点击InstallIAREmbeddedworkbench,开始安装。
在安装过程中,需要输入试用版序列号和密钥在下载过程中得到,输入完成后,点击Next继续安装。
(3)安装完成后,点击Finish,结束安装。
4.1.3IAR文件的创建、使用
(1)先创建一个工程文件目录,用来存放工作区文件、工程文件及源文件[10]。
以时间显示为例,存放于D:
\qcl\shijian目录下。
(2)启动IAREWARM
(3)创建“shijian”项目
打开IAREWARM,在工作区内新建项目:
1)点击“project”,选择“Creatnewproject”。
2)默认选择ARM和Emptyproject,创建一个基于ARM得空项目。
3)保存项目,设置其名称为shijian.ewp。
(4)创建文件组
项目创建完成后,在项目中添加三个文件组lib、src、startup,用于存放不同类型的源文件。
1)右击项目名称,点击“add”,选择“addgroup”,在弹出的addgroup对话框中输入文件组的名称,如图13:
图13添加文件组名称
2)向文件组中添加文件,右击文件组名,单击“add”,选择“addfiles”,添加所需文件,比如lib文件组中的driverlib.a,是任何一个项目中必不可少的,路径为:
C:
\stellarisWare\driverlib\ewarm\Exe。
如图14:
图14添加文件driverlib.a
另一个必不可少的文件为startup_ewarm.c,需添加在startup文件组下,其路径为C:
\stellarisWare\boards\ek-lm3s9b92\hello。
此文件需复制到新项目的文件夹下,再添加到startup文件组
3)在本例中,直接向源程序添加“shijian.c”及其它程序,添加完成后,如图15所示:
图15项目主页面
(5)项目属性设置
在完成前两步之后,对项目进行设置,右击“shijian-Debug”,弹出如图16窗口:
图16项目属性设置窗口
1)通用选项设置
点击GeneralOptions选项,在Target选项下,点击Device,在右侧选择TexasInsruments、LM3S811。
2)C/C++编译器设置
点击Preprocessor选项卡,添加Include文件目录,如图17所示:
添加C:
\stellarisWare\driverlib、C:
\stellarisWare\inc等。
图17C/C++Compiler设置
3)OutputConverter设置
在Output选项卡中,勾中Generaladditionaloutput,在outputformat里选择binary,再勾中overridedefault。
这样在编译时会自动生成二进制文件shijian.bin,方便下载。
4)Linker选项设置
勾中overridedefault,在选择添加D:
\qcl\shiji
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 107014036 秦昌丽 基于ARM控制的小车显示系统 基于 ARM 控制 小车 显示 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)