霓虹灯设计.docx
- 文档编号:2614430
- 上传时间:2022-11-03
- 格式:DOCX
- 页数:17
- 大小:1.11MB
霓虹灯设计.docx
《霓虹灯设计.docx》由会员分享,可在线阅读,更多相关《霓虹灯设计.docx(17页珍藏版)》请在冰豆网上搜索。
山东建筑大学课程设计说明书
目录
摘要.....................................................................1
正文.....................................................................2
1.设计目的和要求.......................................................2
2.设计原理.............................................................2
3.设计步骤.............................................................7
总结与致谢...............................................................13
参考文献.................................................................14
附录.....................................................................15
摘要
在生活和生产的各领域中,凡是有制动控制要求的地方都会有嵌入式的身影出现;从简单到复杂,从空中、地面带地下,凡是能想象到的地方几乎都有使用嵌入式的需求。
现在尽管嵌入式的应用已经很普遍了,但仍有许多可以用嵌入式控制而没有实现的项目,因此,嵌入式的应用大有想象和拓展空间。
嵌入式的应用有利于产品的小型化、多功能化和智能化,有助于提高劳动效率,减轻劳动强度,提高产品质量,改善劳动环境,减少能源和材料消耗,保真安全等。
但是嵌入式应用的意义绝不仅限于它的广阔范围以及所带来俄经济效益上,更重要的意义还在于:
嵌入式的应用正从根本上改变者传统的控制系统设计思想和设计方法。
从前必须有模拟电路或数字电路实现的大部分功能,现在已能使用嵌入式通过软件方法来实现了。
这种以软件取代硬件并提高系统系能的控制系统‘‘软化’’技术,称之为微控制技术。
微控制技术是一种全新的概念,是对传统控制技术的一次革命。
随着嵌入式应用的推广普及,微控制技术必将不断发展、日益完善和更加充实。
在众多的微控技术中,我选择了较为熟悉的LPC2138,由于按键硬件去抖效果逊色于软件去抖,所以我选用软件去抖,根据任务书描述的功能设计的外围资源较少,而LED电路接到I0口的方法。
总体下来软为简易,这样设计时,成功率课大大增高。
【关键词】ARMLPC2138霓虹灯
1.设计目的和要求
本设计要求实现一个智能霓虹灯控制系统。
该系统有自动与手动控制两种方式。
在自动方式下,系统可以根据持续显示不同的霓虹灯效果,每种效果持续2分钟;在手动方式下,可以单独控制每种效果的显示,并且可以控制所有灯的亮灭。
并且所有信息都可以通过串口显示在电脑上。
2.设计原理
LPC2138简介
Philips公司的32位ARM7微控制器LPC2138具有强大的存储空间,内嵌32KB片内静态RAM和512KB的Flash存储器;可以实现在系统可编程(ISP)、在应用可编程(IAP);2个8路10位A/D转换器,1个D/A转换器,转换迅速准确;引脚资源丰富,多达47个可承受5V电压的通用I/O口;多个串行接口,包括2个16C550工业标准UART、2个高速I2C接口、SPI,以及具有缓冲作用和数据长度可变功能的SSP协议。
LPC2138可以移植μC/0S-II操作系统,软件的可移植性好,工作可靠。
LPC2138是基于一个支持实时仿真和嵌入式跟踪的32/16位ARM7TDMI-STMCPU的微控制器,并带有512kB的嵌入的高速Flash存储器。
片内128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。
对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小。
由于LPC2138较小的封装和极低的功耗,多个32位定时器,4路10位ADC或8路10位ADC,PWM通道和46个GPIO以及多达9个边沿或电平触发的外部中断。
可理想地用于小型系统中,如访问控制和POS机。
宽范围的串行通信接口和片内32kB的SRAM使LPC2138非常适用于通信网关、协议转换器、软modem、声音辨别和低端成像,为它们提供巨大的缓冲区空间和强大的处理功能。
LPC2138集成了一个512kB的FLASH存储器系统。
该存储器可用作代码和数据的存储。
对FLASH存储器的编程可通过几种方法来实现。
可通过串口进行在系统编程。
应用程序也可以在程序运行时擦除和/或编程FLASH,这样为数据存储和现场固件的升级都带来了极大的灵活性。
当使用片内bootloader时,512kB的Flash存储器可作用户代码使用
3.设计步骤
1.晶振电路
LPC2138ARM晶体振荡器可以使用外接晶体产生时钟,称之为“振荡模式”,硬件连接如图所示。
微控制器内部的振荡电路仅支持1~30MHZ的外部晶体。
由于芯片内部已经集成了反馈电阻,所以只需在外部连接一个晶体和电容C1、C2就可以形成基本模式的振荡。
2.复位电路
一些微控制器自己在上电时会产生复位信号,但大多数微控制器需要外部输入这个信号。
因为这个信号会使微控制器初始化为某个确定的状态,所以这个信号的稳定性和可靠性对微控制器的正常工作有重大影响。
带手动复位的复位电路如图所示。
3.电源电路
电源系统为整个系统提供能量,是整个系统工作的基础,具有极其重要的地位,但却往往被忽略。
如果电源系统处理的好,那么整个系统的故障往往减少了一大半。
设计电源电路必须考虑的因素有:
输出的电压、电流和功率;输入的电压、电流;安全因素;输出波纹;电磁兼容和电磁干扰;体积限制;功耗限制;成本限制。
电源电路如图所示。
4.RS232电平转换电路设计
4.1串口原理
串口,简单地说,就是串行收发数据的接口。
串口通信是一种异步通信方式(串口通信也有同步通信的标准,但实际应用很少),其中负责异步串行收发数据的模块叫UART(UnivesalAsynchronousReceiver/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,低电平点亮*/
#defineLEDCON10x00000400/*P0.10引脚控制LED1,低电平点亮*/
#defineLEDCON20x00000800/*P0.11引脚控制LED2,低电平点亮*/
#defineLENCON30x00001000/*P0.12引脚控制LED3,低电平点亮*/
#defineBEEP0x00000080/*P0.7引脚控制蜂鸣器,低电平响*/
#defineALL0x00003C80
#defineLEDALL0x00003C00
voidDelayNS(uint32dly)
{uint32i;
for(;dly>0;dly--)
for(i=0;i<50000;i++);
}
intmain(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系列的嵌入式系统芯片有了客观的认识。
课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程.”千里之行始于足下”,通过这次课程设
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 霓虹灯 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)