基于嵌入式系统的LCD广告牌设计.docx
《基于嵌入式系统的LCD广告牌设计.docx》由会员分享,可在线阅读,更多相关《基于嵌入式系统的LCD广告牌设计.docx(24页珍藏版)》请在冰豆网上搜索。
电子信息工程学院
《嵌入式原理》课程考核
设计报告
题目:
基于嵌入式系统的LCD广告牌设计
专业班级:
2014物联网工程2班
姓名:
王一中
学号:
时间:
2016.11~2016.12
成绩:
完成日期:
2016年12月20日
基于嵌入式系统的LCD广告牌设计
1.设计目的与要求
大街上绚丽多彩的液晶广告牌已经融入到我们生活中了,本学期学习了《嵌入式系统原理与应用》后,要求设计一个基于嵌入式系统的LCD1602广告牌,该设计要能满足以下要求:
(1).在ARM7—LPC2103核心板上设计一个LCD广告牌,能显示常见一些字符;
(2).采用LCD1602液晶屏,要求能够滚动显示字符;
(3).在LCD1602液晶屏上电后第一行显示“Hello!
”,第二行显示“Smilence_L”。
之后从第一行左侧滚动移入“0123456789ABCDEFGHIGKLMN”,第二行左侧滚动移入“ABCDEFGHIJKLMN987654321”,然后从右侧滚动移出。
(4).要求LCD1602液晶屏两行同时滚动显示,显示完后延时一段时间,能够循环显示。
2.设计内容
2.设计内容
(1)硬件电路设计及描述,画出电路原理图;
(2)确定元器件及型号;
(3)软件设计流程及描述;(重点内容)
(4)源程序代码(有注释);
(5)进行电路模拟仿真;
3.编写设计报告
写出设计的全过程,附录中有图纸及源代码,有心得体会。
4.答辩
在规定时间内,完成叙述并回答问题。
目录
摘要 1
1引言 1
2总体设计方案 1
2.1设计思路 1
2.2程序流程图 3
3开发环境 3
4设计原理分析 4
4.1LPC2103简介 4
4.2LCD1602显示电路 7
5系统测试 9
6总结与体会 10
参考文献 12
附录1:
电路图 13
附录2:
源代码设计 14
基于嵌入式系统的LCD广告牌设计
摘要:
随着科技的发展,ARM在社会各个方面的应用越来越广。
ARM芯片广泛应用于无线产品、PDA、GPS、网络、消费电子产品、STB及智能卡。
LPC2103是PHILIPS公司生产的基于ARM7TDMI的RISC微处理器,工作频率可达70MHZ。
液晶显示是嵌入式系统中反映系统输入/输出的人机交互界面,液晶显示以其微功耗、体积小、显示内容丰富、模块化,接口电路简单等诸多优点得到广泛应用。
我们在看重高性价比的情况下,利用LPC2103的通用I/O口来控制液晶显示屏的软硬件方法,实现了与LCD控制模块一样的功能。
关键词:
嵌入式系统、LCD、GPIO、数据传输。
1引言
嵌入式系统是嵌入到对象体系中的专用计算机系统。
以嵌入式计算机为核心的嵌入式系统是继IT网络技术之后,又一个新的技术发展方向。
本文以LPC2103为控制核心介绍和设计了一款基于的ARM嵌入式系统的LCD显示系统。
该系统在功耗、体积、集成度、成本等都有较好的优势,具有一定的实用意义。
由于LCD液晶显示器具有功耗低、体积小、重量轻、超薄等诸多其他显示器无法比拟的优点已广泛应用于各种智能型仪表和低功耗电子产品中。
液晶显示器分为笔段式、字符点阵式和图形点阵式三种。
前两种可显示数字、字符和符号等,而图形点阵式液晶显示器还可以显示汉字和任意图形,达到图文并茂的效果。
其应用已越来越广泛。
本文以液晶显示器1602为例介绍了液晶显示器的基本原理及在ARM嵌入式系统下的程序设计。
2总体设计方案
2.1设计思路
LCD1602广告牌设计采用ARM7微处理器为核心,采用RAM和UART分别存储和传输数据,实现了LPC2103与LCD1602之间的数据传输。
首先进行lpc2103进行管脚配置,通过管脚连接模块PINSEL0,PINSEL1设置管脚连接GPIO,但要先进行复位,复位值为0x00000000。
设置管脚方向IODIR,也就是输入或者输出,其中对应为1表示输出,为0表示输入。
设置高低电平,相关寄存器采用IOSET/IOCLR,IOSET表示让引脚输出1,IOCLR表示让引脚输出0。
完成LPC2103管脚的配置后,才可以对它进行操作。
液晶屏在LPC2103的控制下进行显示,需要先向液晶屏写入一些显示设置命令,然后再写入显示数据。
向液晶屏写入显示设置命令时,先将管脚RS清0。
当设置完成后,需要使管脚RS置1以写入显示数据。
同时,R/W也接入低电平,数据从液晶屏的管脚DB0-DB7写入。
当管脚RS和R/W设置好后,执行对管脚E清零,就会在管脚E上形成一个由高到低的跳变,这个跳变使得命令或显示数据从数据总线DB0-DB7进入液晶屏。
在进行程序设计时,对液晶屏的操作设计到写数据和写命令的操作,我们可以将写数据、写命令以及液晶屏显示做成一个函数。
我们将要显示的字符存储在数据中,对液晶屏执行初始化操作后,通过调用这些函数,来完成LCD的显示。
2.1.1LCD广告牌显示流程
LCD1602液晶屏广告牌显示流程图如下
开机
初始化
显示“Hello!
Smilence_L”
上下两行同时显示
滚动显示
循环滚动显示
2.2程序流程图
LCD广告牌设计程序流程图
开始
检测是否繁忙
液晶屏初始化
ARM微控制器管脚配置
是
写数据
否
写命令
循
环
显
示
3开发环境
1.硬件:
PC机一台,畅学ARM7—LPC2103核心板一块;
2.软件:
WINDOWS10系统,KEILUVISION4、PROTEUS7.8、LAUNCHLPC210X_ISP开发环境。
4设计原理分析
4.1LPC2103简介
LPC2103是基于一个支持实时仿真的32位ARM7的TDMI-SCPU的微控制器,并带有32kB嵌入的高速Flash存储器。
128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。
对中断服务程序和DSP算法中性能要求严格的应用,这增加的性能比在Thumb模式下的性能超出多达30%。
对代码规模有严格控制的应用,使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小。
较小的封装和很低的功耗使LPC2103特别适用于访问控制和POS机等小型应用中;由于内置了宽范围的串行通信接口(范围从多个UART、SPI和SSP到两条I2C总线)和8kB的片内SRAM,它们也非常适合于通信网关和协议转换器。
高级性能还使这些器件适合用作数学协处理器。
多个32位和16位定时器、1个改良的10位ADC、所有定时器上输出匹配的PWM特性、以及具有多达13个边沿或电平触发的外部中断管脚的32条高速GPIO线,使这些微控制器特别适用于工业控制和医疗系统中。
(1).特性
32位ARM7TDMI-S微控制器,超小LQFP48封装。
8kB的片内静态RAM和8kB/16kB/32kB的片内Flash程序存储器。
128位宽度接口/加速器可实现高达70MHz工作频率。
通过片内boot装载程序实现在系统/在应用编程(ISP/IAP)。
单个Flash扇区或整片擦除时间为100ms。
256字节编程时间为1ms。
嵌入式ICERT通过片内RealMonitor软件提供实时调试。
10位A/D转换器提供8路模拟输入(每个通道的转换时间低至2.44us),以及特定的结果寄存器来最大限度地减少中断开销。
2个32位定时器/外部事件计数器(带7路捕获和7路比较通道)。
2个16位定时器/外部事件计数器(带3路捕获和7路比较通道)。
低功耗实时时钟(RTC)具有独立的电源和特定的32kHz时钟输入。
多个串行接口,包括2个UART(16C550)、2个高速I2C总线(400kbit/s)、SPI和具有缓冲作用和数据长度可变功能的SSP。
向量中断控制器(VIC),可配置优先级和向量地址。
多达32个通用I/O口(可承受5V电压)。
多达13个边沿或电平触发的外部中断管脚。
通过一个可编程的片内PLL(100us的设置时间)可实现最大为70MHz的CPU操作频率,其具有10MHz~25MHz的输入频率。
片内集成振荡器与外部晶体的操作频率范围为1~25MHz。
低功耗模式包括空闲模式、掉电模式和带有效RTC的掉电模式。
可通过个别使能/禁止外围功能和外围时钟分频来优化额外功耗。
通过外部中断或RTC将处理器从掉电模式中唤醒。
(2).结构简介
LPC2103包含一个支持仿真的ARM7TDMI-SCPU,片内存储器控制器接口的ARM7局部总线,中断控制器接口的AMBA先进高性能总线(AHB)和连接片内外设功能的ARM外设总线(APB,ARMAMBA先进外设总线的兼容超集)。
LPC2103将ARM7TDMI-S处理器配置为小端字节顺序。
AHB外设分配了2M字节的地址范围,它位于4G字节ARM存储器空间的最顶端。
每个AHB外设都在AHB地址空间内分配了16k字节的地址空间。
LPC2103的外设功能(中断控制器除外)都连接到APB总线。
AHB到APB的桥将APB总线与AHB总线相连。
APB外设也分配了2M字节的地址范围,从3.5G字节地址点开始。
每个APB外设在APB地址空间内都分配了16k字节地址空间。
(3).LPC2103存储器系统
片内Flash存储器系统:
LPC2103含有32kBFlash存储器系统。
该存储器可用作代码和数据的存储。
对FLASH存储器的编程可通过几种方法来实现:
使用内置的串JTAG接口、使用在系统编程(ISP)和UART、使用在应用编程(IAP)功能、使用IAP功能的应用程序也可以在应用程序运行时对Flash进行擦除和/或编程。
片内静态RAM(SRAM):
片内静态RAM(SRAM)可用作代码和/或数据的存储,它支持32位的访问。
LPC2103含有8kB的静态RAM。
LPC2103SRAM可作为一个字节寻址的存储器访问。
对存储器进行字和半字访问时将忽略地址对准,并访问被寻址的自然对准值(因此,对存储器进行字访问时将忽略地址位0和1,半字访问时将忽略地址位0)。
因此,有效的读写操作要求半字数据访问的地址线0为0(地址以0、2、4、6、8、A、C和E结尾),字数据访问的地址线0和1都为0地址(以0、4、8和C结尾)。
该原则同样用于片外和片内存储器。
SRAM控制器包含一个回写缓冲区,它用于防止CPU在连续的写操作时停止运行。
回写缓冲区总是保存着软件发送到SRAM的最后一个字节。
该数据只有在软件请求下一次写操作时才写入SRAM(数据只有在软件执行另外一次写操作时被写入SRAM)。
如果发生芯片复位,实际的SRAM内容将不会反映最近一次的写请求(即:
在一次“热”芯片复位后,SRAM不会反映最后一次写入的内容)。
任何在复位后检查SRAM内容的程序都必须注意这一点。
通过对一个单元执行两次相同的写操作可保证复位后数据的写入。
或者,也可通过在进入空闲