基于单片机的LED灯光控制器的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
1.目的及意义 (1)
2.基本内容和技术方案 (2)
2.1基本内容: (2)
3系统硬件设计 (3)
3.1 主控模块电路设计 (3)
3.2 受控模块电路设计 (4)
3.3 主要元器件介绍 (4)
3.3.1 单片机AT89C51 (4)
3.3.2 LED彩灯限流电阻的确定 (6)
3.3.3 数码管结构及工作原理 (6)
4 试与仿真分析 (8)
4.1 硬件选材及电路制作 (8)
4.2 硬件调试 (8)
4.3 软件仿真结果及分析 (9)
5总结 (10)
参考文献 (11)
基于单片机的LED灯光控制器的设计
1目的及意义
1.1背景:随着计算机、微电子、信息技术的快速进步,智能化技术的开发速度越来越快 ,智能度越来越高 ,应用范围也得到了极大的扩展。
在海洋开发、宇宙探测、工农业生产、军事、社会服务、娱乐等各个领域。
在娱乐方面,场地的装饰离不开彩灯。
在建筑方面也采用彩灯来装饰高楼大厦。
彩灯又灵活多变的点亮方式,装饰效果非常好,特别时晚上使得高楼大厦更加漂亮。
是彩灯的应用才使得城市的夜景非常迷人。
节日彩灯将会在人类未来的夜晚生活成为一个个重要的景观,节日彩灯控制器的应用也会在现实生活中得到广泛的应用。
1.2意义:本设计通过对彩灯的设计,训练对电气、单片机、电子技术等内容的应用能力,掌握对电子产品设计的流程以及各种要求。
彩灯技术已广泛得在霓虹灯、广告彩灯、汽车车灯等领域中应用。
单片机的控制电路的设计是彩灯应用的一个瓶颈。
课程设计主要培养学生综合运用所学的知识与技能分析与解决问题的能力,并巩固和扩大学生的课堂知识。
通过课程设计学会查阅、使用各种专业资料和网上资源,并以严肃认真、深入研究的工作作风完成设计任务,逐步向工程技术员转变,培养学生独立完成任务的能力,体现和检验综合设计能力,大力提高大学生的技术水平,培养新一代既有理论、又有动手能力的实用性人才,以适应国际建设和发展的需要。
了解彩灯线路的基本理论,掌握单片机编程的基本设计方法和分析方法,对能够熟练地进行彩灯应用电路的设计与制作是十分必要和重要的。
中国彩灯从开始发展到现在,已有上千年的历史,发展到今天的灯会,已经是作为节日庆典的形式了.以传统节庆文化为背景,在特定的时间、地点,主题下举办,是一项综和性的群众文化活动。
分为经营性灯会和公益性(非经营性)灯会。
灯会这种特殊的造型和视觉语言,不仅仅用于灯会中观赏,还可以引入其他领域走向发展,进入人们生活的方方面面。
比如:人居环境、城市美化、亮化的点缀物;彩灯雕塑,称为灯雕,可以丰富人居环境,城市美化的艺术形式;还可以用彩灯的制作语言,巧妙结合现代广告、
招贴画、海报、商业装修,运用形色生光动,达到更为强烈的视觉效果。
彩灯不仅是过年、节庆活动的需要,它也成为城市建设、美化、亮光工程不可缺少的部分,并且以彩灯的形式,可以短、平、快、不断更新、变化,作为文化的消费,始终遵循一种归律,永远在追求变化,满足人们不断更新的精神文化审美需要。
在今后的彩灯制作和工艺流程上,由于观众品位的提升以及审美要求的不断提高、要求从事彩灯行业的设计师和能工巧匠更加专业化,会自然的形成一种与彩灯产品相关的可持续性发展的,分工更为明细的专业彩灯文化生态,从而保证彩灯的质量。
在国内外,微控制系统主要采用单片机作为控制核心。
单片机技术发展至今,掌握最先进技术的仍然是国外的几大公司。
如Intel公司发展的MCS-51系列的新一代产品,如8xC152、80C51FA/FB、80C51GA/GB、8xC451、8xC452,还包括了Philips、Siemens、ADM、Fujutsu、OKI、Harria-Metra、ATMEL等公司以80C51为核心推出的大量各具特色﹑与80C51兼容的单片机[6]。
新一代的单片机的最主要的技术特点是向外部接口电路扩展,以实现Microcomputer完善的控制功能为己任,可连接一些外部接口功能单元如A/D、PWM、PCA(可编程计数器阵列)﹑WDT(监视定时器)﹑高速I/O口、计数器的捕获/比较逻辑等。
这一代单片机中,在总线方面最重要的进展是为单片机配置了芯片间的串行总线,为单片机应用系统设计提供了更加灵活的方式。
Philips公司还为这一代单片机80C51系列8xC592单片机引入了具有较强功能的设备间网络系统总线——CAN(Controller Area Network BUS)[7]。
2基本内容和技术方案
2.1基本内容:
1.采用AT89C52单片机作为主控制器,彩灯控制器包括缺省模式和用户模式,通过键
盘可以切换模式,用户模式下可以随意设定亮灯时间和闪烁频率参数,要求每种模式下都能实时的在数码管显示出模式号,时间和频率,合理选择系统方案,简述其工作原理;
2.完成系统硬件设计,画出电路原理图;
3.完成系统软件设计,可采用C语言和汇编语言混合编程;
4.完成LED彩灯控制器的设计与制作,要求初始化后运行在缺省模式下,需要此模式
下循环运行四种以上预设的彩灯闪烁方案;
技术方案:本方案以AT89C52单片机作为主控核心,与键盘、显示等模块组成核心主控制模块。
在主控模块上设有3个按键和1位七段码LED显示器,根据用户需要可以编写若干种亮灯模式,利用其内部定时器T0实现一个基本单位时间为1 ms的定时中断,根据各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号,然后驱动各种颜色的灯亮或灭。
该方案的优点是系统体积小、功耗小、可靠性高、调节灵活、多功能、多花案、使用灵活方便。
用户模式下可以随意设定亮灯的闪烁频率参数,并且每种模式下都能实现在数码管上显示出模式号。
初始化后运行在缺省模式下,在此模式下可以循环运行9种预设的彩灯闪烁方案。
主程序中默认执行左右来回闪烁,在中断服务程序中,首先读取按键状态,然后延时10ms,再次读取按键状态。
把两次获得的按键状态比较,如果不同,就表示是抖动,退出中断;否则,就去判断是哪个按键按下。
如果是K1,就执行下一个闪烁方案;如果是K2,就执行加速;如果是K3,就执行减速。
采用置标志位的方法,即在主程序中设定两个标志位,一个闪烁模式标志位,一个闪烁速度标志位。
不断的对这两个标志进行查询:如果模式标志为状态0,就执行方案0, Mode_0;如果是状态1,就执行方案1,Mode_1,依次类推。
闪烁速度标志默认值为500,对应延时值为500ms。
而在中断服务程序中,只需要进行如下工作:去抖动,键盘识别,改变标志位。
3 统硬件设计
整个系统包括AT89C51主控模块和受控模块,即发光二极管LED。
以下就分别介绍一下这两个模块的主要功能。
3.1 主控模块电路设计
主控模块电路见【图1】。
主控模块主要设计器件有AT89C51,1个数码管显示器,3个按钮。
通过软件设计,使单片机P0和P1作为LED驱动信号输出口,P2口与三位按钮相接作为按钮输入口,P3口与二极管LED相接作为显示器的输出口。
图1主控模块硬件图
3.2 受控模块电路设计
LED板模块设计主要器件有LED彩灯(红,绿,蓝,黄)、限流电阻。
根据实际应用彩灯长度需要,可将不同数量的LED模块实现级连,组成一个完整的LED彩灯。
考虑到视觉效果,可以将不同颜色的LED混合搭配,即将LED发光管按顺序L0(红)、L1(绿)、L2(蓝)、L3(黄)、L4(红)、L5(绿)、L6(蓝)……依次均匀摆放在一条直线上。
通过软件设计的各种方案,运行起来就会具有很好的动感视觉效果。
3.3 主要元器件介绍
3.3.1 单片机AT89C51
AT89C51是主控模块的核心控制器,其芯片内含4KB ROM和128Byte RAM;系统的
振荡周期为12MHz。
AT89C51具有如下特征(Features):
①与Intel MCS-51产品兼容;
②内部含有4KB EEPROM,可重复擦写1000次;
③支持晶振频率从0Hz到24MHz;
④内部含有128*8bit的RAM;
⑤ 32位可编程的I/O线;
⑥ 2个16位的定时/计数器,
⑦ 6个中断源;
⑧可编程的串行口;
AT89C51有40个引脚,是双列直插式芯片(DIP)[8],引脚定义及功能见【图2】。
图2 AT89C51引脚图
⑴振荡电路
单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,接18、19号引脚(XTAL1和XTAL2)[9]。
AT89C51使用12MHz晶振,两电容的电容大小均为22pF。
引脚XTAL1和XTAL2见【图3】。
图3 晶振电路图4 复位电路
3.3.2 LED彩灯限流电阻的确定
设计管内LED板模块时还需注意彩灯限流电阻的确定。
限流电阻过小会导致彩灯烧坏。
红绿蓝三色灯,它们的额定电流相同,都为20mA,而额定电压有差异,红灯与黄灯为2V,绿灯与蓝灯为2.2V。
所有彩灯的正极都与+5V工作电源相连接,于是它们的限流电阻可根据如下计算得到:
红灯与黄灯:R= 错误!未找到引用源。
= 150Ω(2)
蓝灯与绿灯:R= 错误!未找到引用源。
=140Ω(3)
3.3.3 数码管结构及工作原理
数码管由七个发光二极管组成,此外,还有一个圆点型发光二极管(在图中以dp 表示),用于显示小数点。
通过七段发光二极管亮暗的不同组合,可以显示多种数字、字母以及其它符号。
数码管中的发光二极管共有两种连接方法:
图7 数码管模型及实物图
①共阴极接法:把发光二极管的阴极连在一起构成公共阴极。
使用时公共阴极接地,这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不点亮。
②共阳极接法:把发光二极管的阳极连在一起构成公共阳极。
使用时公共阳极接+5V。
这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不点亮。
本次设计显示器采用共阳极接法[14]。
为了显示数字或符号,要为显示器提供代码,因为这些代码是为显示字形的,因此称之为字形代码。
七段发光二极管,再加上一个小数点位,共计八段。
因此提供给显示器的字形代码正好一个字节。
若a、b、c、d、e、f、g、dp 8个显示段依次对应一个字节的低位到高位,即D0、D1、D2、D3、D4、D5、D6、D7,则用共阳极数码管显示十六进制数时所需的字形代码如【表4】所示[15]。
表4 共阳极数码管字形代码
字形共阳极代码字形共阳极代码字形共阳极代码
0 0xC0 6 0x82 C 0xC6
1 0xF9 7 0xF8 D 0xA1
2 0xA4 8 0x80 E 0x86
3 0xB0 9 0x90 F 0x8E
4 0x99 A 0x88 灭0xFF
调试方法:
在上电前,首先用万能表、示波器根据硬件图和印刷板电路图仔细检查其连线是否正确。
核对各元器件的型号、规格以及安装的方向是否正确。
其中重点检查电源走线,以避免电源之间短路。
单片机AT89C51是系统的核心,利用万用表检测单片机电源VCC(40脚)是否为+5V、晶振是否正常工作(可用示波器测试,也可以用万用表检测,两引脚电压一般为1.8V~2.3V之间)、复位引脚RST(复位时为高电平,工作时为低电平)。
尤其要注意单片机插座上的电位,由于单片机电源仅5V,因此如果有高电压,联机时会损坏模拟器。
4.3 软件仿真结果及分析
完成单片机系统仿真电路图设计后,即可开始仿真运行单片机绑定的程序文件,双击单片机,打开单片机属性窗口(也可以先在单片机上单击右键,再单击左键,或者选中单片机后按下(Ctrl+E组合键),在“Program Files”项中选择对应的HEX文件。
在仿真电路和程序都没有问题时,直接单击Proteus主窗口下的“运行”(Play)按钮,即可仿真运行单片机系统,在运行过程中如果希望观察内存、24C0X、温度寄存器、时钟芯片等内部数据可在运行时单击“单步”(Step)或“暂停”(Pause)按钮,然后再“调试”(Debug)菜单中打开相应设备。
如果要观察仿真电路中某些位置的电压或波形等,可向电路中添加相应的虚拟仪器,例如,电压表、示波器等。
(一个灯亮从左到右跑)程序及仿真结果:
void Mode_0(void)
{
LEDShow(0x0001<<LEDIndex);
LEDIndex = (LEDIndex+1)%16;
}
图8 仿真图
5 总结
经过一学期的学习,我对单片机的使用有了不同于以往的认识。
从书本上的理论到现实中的硬件电路制作、软件编制以及软硬件调试,难度大大地增加。
但是通过这一过程我对单片机的认识更加深刻。
这对我今后从事该方面的学习工作是一个很好的基础。
通过这次的课程设计,让我受益匪浅,让我了解和掌握了一些编程思想和对I/O口的使用和应用的条件的思考,对单片机的各个管脚功能的理解和掌握。
实现了软件和硬件的有效结合,缺一不可。
设计让我把单片机的理论知识用在实践中,实现了理论和实践相结合,从中更懂得理论的是实践的基础,实践有能检验理论的正确性,更激发了我对专业知识的渴求,这些对我以后参加工作或者继续学习都会有很大的帮助和影响。
参考文献
[1] 彭伟.单片机C语言程序设计实训100例[M].北京:电子工业出版社,2009.
[2] 楼然苗.单片机课程设计指导[M]. 北京:北京航空航天大学出版,2007.
[3] Muhammad Ali Mazidi, Janice Gillispie Mazidi and Rolin D. McKinlay. The 8051
Microcontroller and Embedded Systems [M], American: Prentice Hall, 2000.
[4] 何政.单片机原理与应用[M].上海:上海科学技术出版社, 1992.
[5] 张志宗等. 89C51 单片机控制的可编程霓虹灯控制器[J].电子技术, 1997年
第10期.。