霓虹灯设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
摘要 (1)
正文 (2)
1.设计目的和要求 (2)
2.设计原理 (2)
3.设计步骤 (7)
总结与致谢 (13)
参考文献 (14)
附录............................................. (15)
摘要
在生活和生产的各领域中,凡是有制动控制要求的地方都会有嵌入式的身影出现;从简单到复杂,从空中、地面带地下,凡是能想象到的地方几乎都有使用嵌入式的需求。
现在尽管嵌入式的应用已经很普遍了,但仍有许多可以用嵌入式控制而没有实现的项目,因此,嵌入式的应用大有想象和拓展空间。
嵌入式的应用有利于产品的小型化、多功能化和智能化,有助于提高劳动效率,减轻劳动强度,提高产品质量,改善劳动环境,减少能源和材料消耗,保真安全等。
但是嵌入式应用的意义绝不仅限于它的广阔范围以及所带来俄经济效益上,更重要的意义还在于: 嵌入式的应用正从根本上改变者传统的控制系统设计思想和设计方法。
从前必须有模拟电路或数字电路实现的大部分功能,现在已能使用嵌入式通过软件方法来实现了。
这种以软件取代硬件并提高系统系能的控制系统‘‘软化’’技术,称之为微控制技术。
微控制技术是一种全新的概念,是对传统控制技术的一次革命。
随着嵌入式应用的推广普及,微控制技术必将不断发展、日益完善和更加充实。
在众多的微控技术中,我选择了较为熟悉的LPC2138,由于按键硬件去抖效果逊色于软件去抖,所以我选用软件去抖,根据任务书描述的功能设计的外围资源较少,而LED电路接到I0口的方法。
总体下来软为简易,这样设计时,成功率课大大增高。
【关键词】ARM LPC2138 霓虹灯
1.设计目的和要求
本设计要求实现一个智能霓虹灯控制系统。
该系统有自动与手动控制两种方式。
在自动方式下,系统可以根据持续显示不同的霓虹灯效果,每种效果持续2分钟;在手动方式下,可以单独控制每种效果的显示,并且可以控制所有灯的亮灭。
并且所有信息都可以通过串口显示在电脑上。
2.设计原理
LPC2138简介
Philips公司的32位ARM7微控制器LPC2138具有强大的存储空间,内嵌32 KB片内静态RAM和512 KB 的Flash存储器;可以实现在系统可编程(ISP)、在应用可编程(IAP);2个8路10位A/D转换器,1个D /A转换器,转换迅速准确;引脚资源丰富,多达47个可承受5 V电压的通用I/O口;多个串行接口,包括2个16C550工业标准UART、2个高速I2C接口、SPI,以及具有缓冲作用和数据长度可变功能的SSP 协议。
LPC2138可以移植μC/0S-II操作系统,软件的可移植性好,工作可靠。
LPC2138 是基于一个支持实时仿真和嵌入式跟踪的32/16 位ARM7TDMI-STM CPU 的微控制器,并带有512 kB 的嵌入的高速Flash 存储器。
片内128 位宽度的存储器接口和独特的加速结构使32 位代码能够在最大时钟速率下运行。
对代码规模有严格控制的应用可使用16 位Thumb模式将代码规模降低超过30%,而性能的损失却很小。
由于LPC2138较小的封装和极低的功耗,多个32 位定时器,4路10位ADC或8路10位ADC,PWM 通道和46个GPIO 以及多达9 个边沿或电平触发的外部中断。
可理想地用于小型系统中,如访问控制和POS 机。
宽范围的串行通信接口和片内32kB 的SRAM 使LPC2138 非常适用于通信网关、协议转换器、软modem、声音辨别和低端成像,为它们提供巨大的缓冲区空间和强大的处理功能。
LPC2138 集成了一个512 kB 的FLASH 存储器系统。
该存储器可用作代码和数据的存储。
对FLASH 存储器的编程可通过几种方法来实现。
可通过串口进行在系统编程。
应用程序也可以在程序运行时擦除和/或编程FLASH,这样为数据存储和现场固件的升级都带来了极大的灵活性。
当使用片内bootloader 时,512kB 的Flash存储器可作用户代码使用
3.设计步骤
1.晶振电路
LPC2138ARM晶体振荡器可以使用外接晶体产生时钟,称之为“振荡模式”,硬件连接如图所示。
微控制器内部的振荡电路仅支持1~30MHZ的外部晶体。
由于芯片内部已经集成了反馈电阻,所以只需在外部连接一个晶体和电容C1、C2就可以形成基本模式的振荡。
2.复位电路
一些微控制器自己在上电时会产生复位信号,但大多数微控制器需要外部输入这个信号。
因为这个信号会使微控制器初始化为某个确定的状态,所以这个信号的稳定性和可靠性对微控制器的正常工作有重大影响。
带手动复位的复位电路如图所示。
3.电源电路
电源系统为整个系统提供能量,是整个系统工作的基础,具有极其重要的地位,但却往往被忽略。
如果电源系统处理的好,那么整个系统的故障往往减少了一大半。
设计电源电路必须考虑的因素有:输出的电压、电流和功率;输入的电压、电流;安全因素;输出波纹;电磁兼容和电磁干扰;体积限制;功耗限制;成本限制。
电源电路如图所示。
4.RS232电平转换电路设计
4.1 串口原理
串口,简单地说,就是串行收发数据的接口。
串口通信是一种异步通信方式(串口通信也有同步通信的标准,但实际应用很少),其中负责异步串行收发数据的模块叫UART(Univesal Asynchronous Receiver/Transmitter)。
由于异步通信的数据发送方和数据接收方的系统时钟不是同步的,数据通信过程中也不携带任何时钟信息,因此他的速度收到了很大限制,目前较常用的串口速率最快的也只能达到115200bit/s。
串口发送的数据都是以字节为单位的,一个字节发送的过程分为起始位、数据位和结束位三部分。
所有数据的起始位和结束位都分别是逻辑0和1。
串口通信是异步通信,因此设备两端需要一个时钟同步的过程,这在高速数据通信中往往由采用锁相环技术的时钟恢复电路来完成。
但是在低速率的串口通信中,人们设计了一种更为简单的方式实现时钟同步。
串口数据线平时的状态总是逻辑1,而设计接收方采用比线路速率高得多的时钟对数据线进行采样,一旦在线路上采到逻辑0,
则表示线路上有新的数据发送了,接收方根据事先约定好的串口速率,以自己的高速时钟计数,在每一个数据位的有效期内采样到正确的数值。
当一个字节发送完毕,为了让数据接收方有足够的准备时间接收下一个字节,因此又定义了停止位。
停止位是逻辑1,因此相当于强迫数据线回到空间状态至少一个数据周期。
4.2 串口电平
串口设备实际使用时,人们为了让它的信号可以传输的更远,并不会直接将逻辑电平放到传输线上,而是会做电平转换。
这个电平标准就是RS232标准,它规定逻辑1(也称为mark)的电平范围是
-5~-15V;逻辑0(也称为space)的电平范围是5~15V。
4.3 电平转换电路
串口信号要传输必须进行电平转换,而所有的串口芯片,包括处理器内部集成的串口模块都不会直接输出RS232电平的串口信号,因此都需要进行串口电平转换。
完成串口电平转换电路设计很简单,最简单的能进行双向通信的串口只需要3根信号线,这种串口实际使用的也最多。
5.程序设计
#include "config.h"
#define LEDCON4 0x00002000 /* P0.13引脚控制LED4,低电平点亮*/
#define LEDCON1 0x00000400 /* P0.10引脚控制LED1,低电平点亮*/ #define LEDCON2 0x00000800 /* P0.11引脚控制LED2,低电平点亮*/ #define LENCON3 0x00001000 /* P0.12引脚控制LED3,低电平点亮*/ #define BEEP 0x00000080 /* P0.7引脚控制蜂鸣器,低电平响*/ #define ALL 0x00003C80
#define LEDALL 0x00003C00
void DelayNS(uint32 dly)
{ uint32 i;
for(; dly>0; dly--)
for(i=0; i<50000; i++);
}
int main(void)
{ PINSEL0 = 0x00000000; // 设置所有管脚连接GPIO
PINSEL1 = 0x00000000;
IODIR = ALL; // 设置ALL控制口为输出
while(1) //实现循环
{
IOSET =ALL;//初始化所有的灯灭
IOSET =BEEP;//
IOCLR = LEDCON1; //低电平灯亮 DelayNS(100); //延迟时间 IOSET = LEDCON1; //高电平灯灭 DelayNS(100); //延迟时间
IOCLR = LEDCON2;
DelayNS(100);
IOSET = LEDCON2;
DelayNS(100);
IOCLR = LEDCON3;
DelayNS(100);
IOSET = LEDCON3;
DelayNS(100);
IOCLR = LEDCON4;
DelayNS(100);
IOSET = LEDCON4;
DelayNS(100);
IOCLR =ALLLED;//所有的灯亮
DelayNS(100);
IOCLR =BEEP;//蜂鸣器响 DelayNS(100);
}
return(0);
总结与致谢
本次课程设计我组的课题是基于ARM的智能霓虹灯设计,通过这次的课程设计,我了解了嵌入式系统的一些基本知识和ARM嵌入式系统的应用。
这次课程设计我们查阅了许多的相关文献和书籍,了解了许多关于嵌入式系统的应用知识,对ARM7系列的嵌入式系统芯片有了客观的认识。
课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程.”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础.在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。
在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。
学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。
通过这两周的课程设计,我对PHILIPS公司的LPC2000系列芯片有了深刻的认识,了解了LPC2138各个引脚功能,工作方式,计数/定时,I/O口,中断等的相关原理,并巩固学习嵌入式的相关内容知识。
同时也掌握了串行通信原理和RS232电平电路转换设计,能够运用LPC2000系列芯片与PC机进行RS232串行通信。
在程序调试过程中,虽然遇到了许许多多的问题,但是也学习到了ADS和Easy ARM等一些ARM嵌入式系统的应用软件。
通过这次课程设计,我能够综合运用所学知识、独立分析和解决实际问题的能力,培养了自己的创新意识和创新能力,并获得了科学研究的基础训练和培养了团队协作精神。
在这次课程设计过程中,非常感谢同学和杨健老师给我的帮助和支持,使我顺利的完成了本次课程设计。
参考文献
【1】.周立功主编;ARM嵌入式系统基础教程[M](第2版);北京:北京航空航天大学出版社;2008. 【2】.张崙编著;32位嵌入式系统硬件设计与调试[M];北京:机械工业出版社;2005. 【3】.马洪连,等编著;嵌入式系统设计教程[M];北京:电子工业出版社;2006.
【4】.王田苗主编;嵌入式系统设计与实例开发[M];北京:清华大学出版社;2003.
【5】.符意德编著;嵌入式系统设计原理及应用[M];北京:清华大学出版社;2004.
【6】.沈文斌主编;嵌入式硬件系统设计与开发实例详解[M];北京:电子工业出版社;2005. 【7】.江思敏,陈明编著;Protel电路设计教程[M](第2版);北京:清华大学出版社;2006. 【8】.罗蕾主编;嵌入式实时操作系统及应用开发[M];北京:北京航空航天大学出版社;2005. 【9】.PHILIPS公司;LPC2114/2124/2138/2212/2214 User Manual;2004.
【10】.谭浩强编著;C语言程序设计[M](第3版);北京:清华大学出版社;2005.
附录原理图
PCB图。