单片机彩灯控制器的设计报告书.docx
- 文档编号:702022
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:19
- 大小:194.30KB
单片机彩灯控制器的设计报告书.docx
《单片机彩灯控制器的设计报告书.docx》由会员分享,可在线阅读,更多相关《单片机彩灯控制器的设计报告书.docx(19页珍藏版)》请在冰点文库上搜索。
单片机彩灯控制器的设计报告书
目录
1前言…………………………………………………………………………………1
2LED控制器方案选择………………………………………………………………3
3工作原理…………………………………………………………………………5
4硬件电路设计……………………………………………………………………6
4.1直流稳压电源…………………………………………………………6
4.2单片机最小系统…………………………………………………………7
4.3按键控制电路……………………………………………………………8
4.4LED显示电路……………………………………………………………9
5软件设计…………………………………………………………………………10
6系统调试………………………………………………………………………12
7设计总结………………………………………………………………………13
8参考文献………………………………………………………………………14
附录………………………………………………………………………………15
附录1原理图…………………………………………………………………15
附录2PCB排版………………………………………………………………16
附录3程序……………………………………………………………………17
附录4元件清单……………………………………………………………20
1前言
本市电彩灯控制器使用220v的交流电源电源,采用变压器将220v的高压电转化为9v的低压直流电对单片机供电,通过单片机电路的控制实现彩灯彩灯的花样变化及对彩灯花样切换的控制。
其主要以AT-89C51单片机为控制中心,再加上MAC97A6、S9013、按键、数码管、电阻、电容这些器件组成一个彩灯控制电路,操作简单,接通电源即可工作。
具有电路结构简单、操作容易、硬件少、等特点。
下面主要我们针对我们设计的彩灯控制器的功能、原理、设计思路、调试等方面做了个系统的介绍。
2彩灯控制器系统方案的选择
彩灯控制器大致可分为两种方案实现。
一种是利用电子电路装置控制,另一种是采用单片机控制。
方案一:
根据设计任务要求介绍的彩灯控制电路的基本组成,可以确定彩灯控制器应由振荡电路、计数/时序分配电路、移位位寄存器和彩灯显示五部分组成。
其框图如图1-1所示。
方案二:
本方案主要是通过对基于单片机的多控制、多闪烁方式的LED彩灯循环系统的设计,来达到本设计的要求。
其硬件构成框图如图1-2所示,以单片机为核心控制,由单片机最小系统(时钟电路、复位电路、电源)、按键控制电路、LED发光二极管和9V直流电源电路和供市电彩灯工作的220V交流电源组成组成。
图1-2 单片机彩灯循环控制系统硬件框图
此设计方案中单片机的P2.0到P2.4口接8路按键控制电路,实现彩灯花型的切换功能;单片机上的P1和P3口接十六路市电彩灯电路,显示彩灯循环情况。
结合设计任务书比较以上两种方案可知:
利用电子电路装置控制,其电路不很复杂,制作相对较容易点,成本也相对较低,但可调性差,亮灯模式少而且样式单调,达不到设计任务要求或实现困难。
采用单片机控制其优点是电路集成度高,工作原理简单,清晰明了,自定义编程,控制的图案花样多,移植性好等。
综上,显然方案二各方面优越于方案一,以及为了体现专业优势,本次设计采用第二种方案。
3工作原理
下图为彩灯控制器的基本原理图,如图3-1所示,以单片机为控制中心,在将单片机芯片装上之前就把程序写入到芯片中。
,当电源接通知后,按下S1,单片机的电路复位,此时若按下S2,则为自动交替花样循环;若按下S2则手动控制,再在S3~S9六种不同的花样中选择一种中花样。
同时数码显示管会显示出我们是采用的手动选择还是自动循环及所选用的是花样几。
这都是由单片机根据我们选择的情况而调用相应的程序。
最后再通过9031的开关作用及MAC97A6双向可控硅的的控制,实现彩灯模块花样的变化。
图3-1硬件原理图
4硬件电路设计
4.1直流稳压电源
对于一个完整的电子设计来讲,首要问题就是为整个系统提供电源供电模块,电源电路的稳定可靠是系统平稳运行的前提和基础。
电子设备除用电池供电外,还采用市电(交流电网)供电。
通过变压、整流、滤波和稳压后,得到稳定的直流电。
直流稳压电源是电子设备的重要组成部分!
本项目直流稳压电源为+9V。
如图4-1所示:
直流稳压电源的制作一般有3种制作形式,分别是分立元件构成的稳压电源、线性集成稳压电源和开关稳压电源。
下图稳压电源采用的是三端集成稳压器下图稳压电源采用的是三端集成稳压器7805构成的正9V直流电源。
图4-1直流电源电路
4.2单片机最小系统
要使单片机工作起来,最基本的电路的构成由单片机、时钟电路、复位电路等组成。
单片机最小系统如图4-2所示。
时钟电路:
本系统采用单片机内部方式产生时钟信号,用于外接一个12MHz石英晶体振荡器和2个30pF微调电容,构成稳定的的自激振荡器,其发出的脉冲直接送入内部的时钟电路。
复位电路:
确定单片机工作的起始状态,完成单片机的启动过程。
单片机系统的复位方式有上电自动复位和手动按键复位。
本设计采用方式为上电自动复位功能。
电路如下图所示。
图4-2单片机最小系统
4.3 按键控制电路
按键控制电路(如图4-3所示)是由8个按键开关构成的。
他们分别接在单片机AT89C51的P2.0接口到P2.5口,D3,D4用于显示所选为手动花样切换还是自动花样切换,按键S4~S9为手动时的花样选择键,数码显示管则将花样变化的方式几显示出来,由于P0口得电流过小,不足以驱动数码显示管,所以加上拉电阻,使数码显示管能正常的显示。
当下一键时,单片机会根据所按下的键调用相应的程序来实现高低电平的转换,从而使数码管显示按键信息及实现对彩灯的控制。
图4-3 按键控制电路
4.4 LED显示电路
市电彩灯显示电路(如图4-4所示),是由16个25W市电彩灯、32个电阻、及9013和MAC97A6构成的电路。
9013起开关作用,为使市电彩灯能正常工作,在J1口接入220V的交流电源。
9013的基极对应的接到单片机的P0及P3端口。
通过软件编程对P0及P3口输出高低电平来实现不同的闪烁花型。
图4-4LED显示电路
5软件设计
单片机的应用系统由硬件和软件组成,上述硬件原理图搭建完成上电之后,我们还不能看到多控制、多闪烁方式的LED灯系统循环点亮的现象,我们还需要编写程序控制单片机管脚电平的高低变化,来实现市电彩灯的明灭。
软件编程是多控制、多闪烁方式市电彩灯灯系统中的一个重要的组成部分,是本设计的重点和难点。
下面,我将阐述多控制、多闪烁方式的LED灯系统是如何实现6种不同的花样变化的。
本设计是以单片机AT89S52为核心控制16个LED的6种不同的花样的变换。
硬件电路如图附录1所示,16个LED相当于分别接在单片机的P3.0-P3.7及P1.0~P1.7接口上,当端口输出“1”时,9031相当于开关处于导通状态,使LED通电。
当输出“0”时,LED灯熄灭。
由于使用汇编语言写程十分的杂,所以我们采用了C语言来设计程序。
程序启动时跳转到键盘判断模块程序中,,循环检测直到有按键按下的时候,程序转去相对应按键的彩灯显示的花型模块。
具体程序流程如图5-1(按键扫描流程)和图5-2(主程序流程)所示。
图5-1按键扫描流程
图5-2主程序流程
6系统调试
(1)调试工具:
万用表
9V直流电源
(2)调试环境:
地点:
实验室
室温:
20℃
(3)测试过程:
当我们把硬件焊接等工序完成之后便开始进行测试,首先是测试了位于单片机之前的部分,在电源一接近的地方就出现了短路的情况,但我们仔细检查,不关是元件在焊接还是电路线都没出现问题,最后在老师的帮助下才知道是元件的正负极接反,待重接之后我们又继续进行检测,通电之后又发现数码显示管有一线始终没亮过,在我的观察下发现有短线的情况,在补接之后,单片机的前部分测试完毕。
然后我们把我们编写的程序写入单片机,将单片机接入电路进行测试,通电之后有关单片机的所有部分都没有工作,然后在老师的帮助下将整个程序进行修改,调试。
当最终程序确定下来之后,我们便进行最后的测试,我们把电路板与我们最先设计的市电彩灯连接好,通电,此时就有几个市电彩灯不亮,然后我们检查彩灯,发现彩灯也没问题,询问老师才知道有可能是我们的三极管的驱动不够。
在第二次通电是,由于有一彩灯短路,在此彩灯接入电路的过程中由于短路使与其相接的三极管被烧毁。
于是我们又从新换元件,测电路,在最后,我们考虑到安全与成本问题,觉得采用LED代替市电彩灯。
刚开始我们在电源部分使用的是桥式整流,因只有一个变压器,为了使桥堆不能短路,只能用直流电源进行调试。
最后我们将其改为半波整流,可直接使用变压器将220V的市电转化为9V交流电使用,是我们的调试更为方便。
最后通电测试,测试结果与预计结果完全相符合,调试结束。
7设计总结
经过努力,我们组终于完成这次数字彩灯的课程设计任务。
我们首先查阅了大量的书本资料,接着又上网搜集了许多有用信息。
但最终还是在学院老师的指导下将方案的大致方向确定了下来。
方案确定下来之后我们便开始计算一些器件的参数。
当最终的方案设计出来以后,我们便又请教了学院的几位老师,他们的一个小小指点就给我们很大启示和灵感,不管是对我们的原理图的设计还是程序方面都提出了许多有价值的建议,在此对个位老师特别是辅导老师苏扬表示热烈感谢。
由于每一步都是我们自己亲自做过的,所以通过这次课程设计,我们增强了对单片机的理解,;进一步提高分析解决实际问题的能力,创造一个动脑动手﹑独立开展电路实验的机会,锻炼分析﹑解决程序编写问题的实际本领,真正实现由课本知识向实际能力的转化;通过典型程序的设计与制作,加深对基本原理的了解,增强了实践能力。
由于我们的能力和水平有限,实验过程过于简陋,实验经验尚浅,错误之处在所难免,恳请老师加以纠正,以后不断学习改进!
8参考文献
[1] 周国运.单片机原理及应用.北京:
中国水利水电出版社,2009
[2] 陈梓城.模拟电子技术基础.北京:
高等教育出版社,2007
[3] 陈正义.单片机控制实习[M].北京:
人民邮电出版社,2006
[4]姚富安等.实用电子实际基础[M]。
北京:
理工大出版社,2008
9附录
附录一:
附件二:
PCB
附录三:
程序
#include
#defineucharunsignedchar
ucharcodeleddisplay[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f};
ucharcodeledp1[6][8]={0XFF,0X00,0XFF,0X00,0XFF,0X00,0XFF,0X00,
0X0F,0X88,0XF0,0X44,0X00,0X22,0X00,0X11,
0X01,0X12,0X24,0X48,0X80,0X00,0X00,0xFF,
0X7F,0XC8,0X7F,0XC8,0X7F,0XC8,0X7F,0XC8,
0X48,0XA4,0X12,0X01,0X12,0XA4,0X48,0XFF,
0X9F,0X60,0X9F,0X60,0X9F,0X60,0X9F,0X60};
ucharcodeledp3[6][8]={0XFF,0X00,0XFF,0X00,0XFF,0X00,0XFF,0X00,
0X00,0X88,0X00,0X44,0X0F,0X22,0XF0,0X11,
0X00,0X00,0X01,0X12,0X24,0X48,0X80,0xFF,
0X13,0XFE,0X13,0XFE,0X13,0XFE,0X13,0XFE,
0X12,0X25,0X48,0X80,0X48,0X25,0X12,0XFF,
0XF9,0X06,0XF9,0X06,0XF9,0X06,0XF9,0X06,};
voiddelay(void)//10ms延时
{unsignedchari,j;
for(j=200;j>0;j--)
for(i=250;i>0;i--);}
voiddelay_ms(unsignedintk)//10ms延时
{unsignedchari,j;
while(k--)
{for(j=200;j>0;j--)
for(i=250;i>0;i--);}}
unsignedcharkeyscan(void)
{unsignedcharkey=0xff;
P2=0X03;
if((P2&0X03)!
=0X03)
{delay();
P2=0X03;
if((P2&0X03)!
=0X03)
{P2=0XFB;
switch(P2)
{case0xf9:
key=0;break;
case0xfa:
key=7;break;}
P2=0XF7;
switch(P2)
{case0xf5:
key=1;break;
case0xf6:
key=2;break;}
P2=0Xef;
switch(P2)
{case0xed:
key=3;break;
case0xee:
key=4;break;}
P2=0Xdf;
switch(P2)
{case0xdd:
key=5;break;
case0xde:
key=6;break;}
P2=0X03;
while((P2&0X03)!
=0X03);
returnkey;}}
returnkey;}
voidauto_lam_display(void)
{unsignedchari,j;
for(i=0;i<6;i++)
{for(j=0;j<8;j++)
{P1=ledp1[i][j];
P3=ledp3[i][j];
delay_ms(5);}}}
voidlamp_display(unsignedcharcnt)
{unsignedchari=0;
for(i=0;i<8;i++)
{P1=ledp1[cnt-1][i];
P3=ledp3[cnt-1][i];
delay_ms(5);}}
main()
{unsignedcharkey,key_temp=0xff,flag=0;
P0=0x73;//上电初始化显示P
while
(1)
{key=keyscan();
if(key==0)
{flag=1;
P0=0X76;//手动显示H}
if(key==7)
{flag=2;
P0=0X67;//自动显示q
auto_lam_display();}
if(flag==1)
{if((key>0)&&(key<7))
{P0=leddisplay[key];
lamp_display(key);}}}}
附录4
元件清单
元件
型号
数量
封装
电阻
560
3
AXIAL0.4
680
16
AXIAL0.4
1K
16
AXIAL0.4
2.4K
16
AXIAL0.4
10K
1
AXIAL0.4
9脚排阻
560*8
1
SIP9
电容
33p
2
RAD0.2
0.1u
3
RAD0.2
10u
3
RB.2/.4
1000u
1
RB.2/.4
二极管
1N4007
1
RAD0.2
LED
3
RB.1/.2
LED
16
RB.1/.2
1位共阴数码管
1
7-SEG
晶体振荡器
12M
1
XTAL1
单片机
89S52
1
DIP40
变压器
220V~9V变压器
1
三极管
9013NPN
16
TO-92A
双向可控硅
MAC97A6
16
TO-92A
双孔插头
1
SIP2
按键开关
SW-PB
9
SW
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 彩灯 控制器 设计 报告书