单片机课程设计彩灯控制器设计Word文档格式.docx
《单片机课程设计彩灯控制器设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《单片机课程设计彩灯控制器设计Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
![单片机课程设计彩灯控制器设计Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-11/27/b7ba244d-47c9-48ee-ad6c-4ef82bd680b4/b7ba244d-47c9-48ee-ad6c-4ef82bd680b41.gif)
关键词LED灯;
键盘;
STC89C52;
集成电路芯片;
数码管
目
录
一.概述·
·
4
二.彩灯设计内容简要·
2.1彩灯设计内容·
2.2彩灯设计要求·
2.3彩灯设计原理·
2.4彩灯总体控制框图·
5
三.硬件电路设计·
3.1STC89C52单片机介绍·
3.2系统的硬件构成与功能描述·
7
四.系统软件设计·
9
4.1程序流程图·
4.2软件程序·
10
五.设计体会
六.参考文献·
16
一.概述
节日彩灯使生活中常常用到的装饰物品。
它集中地运用了单片机、LED、,自动控制等技术,是典型的基于单片机的电子产品。
本设计以STC89C52单片机为控制核心,采用模块化的设计方案,运用LED彩灯、按键、数码管等组成电路,实现彩灯在开启时满足不一样的闪亮方法。
按键可以在彩灯使用的时候选择不同的亮法,使彩灯变化多样,七段数码管可以清楚显示彩灯样式编号,易于选取操作。
随着计算机、微电子、信息技术的快速进步,智能化技术的开发速度越来越快,智能度越来越高,应用范围也得到了极大的扩展。
在海洋开发、宇宙探测、工农业生产、军事、社会服务、娱乐等各个领域。
在娱乐方面,场地的装饰离不开彩灯。
在建筑方面也采用彩灯来装饰高楼大厦。
彩灯又灵活多变的点亮方式,装饰效果非常好,特别时晚上使得高楼大厦更加漂亮。
是彩灯的应用才使得城市的夜景非常迷人。
在国内外,微控制系统主要采用单片机作为控制核心。
因此,单片机的发展将有助于简单实用电子产品的开发。
在本设计中,采用比较先进的STC89C52单片机为控制核心,它的功耗很低,功能多样,是简单电子产品开发控制元件的首选器件。
二.彩灯设计内容简要:
2.1
彩灯设计内容
1.利用单片机实现LED彩灯花式的变换
2.利用单片机实现键盘控制花式的选择
3.利用数码管显示彩灯花式的类型
4.设计并实现中断对彩灯的控制
2.2
彩灯设计要求
1.能启动、停止
2.能通过开关进行彩灯样式的选择
3.能通过数码管显示彩灯的方式
4.要体现循环、中断和色彩变化的控制功能和效果
2.3
彩灯设计原理
主控模块主要设计器件有STC89C52,8个LED灯,6个按键,一块七段数码管。
通过软件设计,使单片机P0口作为一位静态七段数码管字型码的控制口,P1口作为8个彩色LED的驱动信号输出口,P2口为按键输入口,P3.2为外部中断INT0输入口。
2.4
彩灯总体控制框图
图2.4.1彩灯总体控制框图
三.硬件电路设计:
3.1STC89C52单片机介绍
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
具有以下标准功能:
8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。
另外STC89X52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
最高运作频率35MHz,6T/12T可选。
图3.1.1STC89C52外形与引脚排列
特性:
STC89C52RC单片机;
8K字节程序存储空间;
512字节数据存储空间;
内带2K字节EEPROM存储空间;
可直接使用串口下载;
AT89S52单片机:
8K字节程序存储空间;
256字节数据存储空间;
带有2KB的EEPROM空间。
参数:
1.增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051
2.工作电压:
5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)
3.工作频率范围:
0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz
4.用户应用程序空间为8K字节
5.片上集成512字节RAM
6.通用I/O口(32个),复位后为:
P0/P1/P2/P3是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RXDP3.0,TXD/P3.1)直接下载用户程序,数秒即可完成一片
8.具有EEPROM功能
9.具有看门狗功能
10.共3个16位定时器/计数器。
即定时器T0、T1、T2
11.外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒
12.通用异步串行口(UART),还可用定时器软件实现多个UART
13.工作温度范围:
-40~+85℃(工业级)/0~75℃(商业级)
14.PDIP封装
3.2
系统的硬件构成与功能描述
控制系统硬件设计电路图如图所示:
图3.2.1控制系统硬件设计电路图
功能描述:
系统硬件设计电路主要由四部分组成:
按键复位电路、时钟震荡电路、按键电路、LED彩灯电路、数码管显示电路。
按键复位电路:
复位是单片机的初始化,其作用是使CPU中的各个部件都处于一个确定的初始状态,并从这个状态开始工作。
在接电瞬间RST端的电位与VCC相同,随着电容充电电流的减小,+5V立即加到了RST/VPD端,RST的电位逐渐下降。
时钟振荡电路:
在STC89C52的外部,XTAL1和XTAL2之间跨越晶体振荡器和微调电容,从而构成一个自激振荡器,形成时钟振荡电路。
时钟电路产生的振荡脉冲经过触发器二分频后,形成单片机的时钟脉冲信号。
按键电路:
用P2.3、P2.2、P2.1、P2.0作彩灯亮灯方式输入口,按键输入均采用低电平有效。
本设计中按键程序的就是采用查询方式,若图中的P2.0的按键按下,软件程序查询到P2.0口为低电平,跳转到该按键控制的相应彩灯亮灯方式1。
LED彩灯电路:
发光二极管与单片机的P1口相连接,其电路图如图所示。
发光二极管为共阳极,其他管脚分别接P1口的8个端口,P1.0、P1.1、P1.2、P1.3、P1.4、P1.5、P1.6、P1.7每个端口接一个彩灯,当给他们送低电平时发光二极管就会亮。
数码管显示电路:
该一位数码管为静态显示,字段接P0口,因为公共端接了二极管,电路板上的插针为三极管的基极,所以电路板上的插针接低电平(或接地),但此数码管为共阳极。
当某个键按下,软件程序就会给P0口送相应的执行码,就会在数码管上显示相应的样式编号。
四.系统软件设计:
4.1程序流程图
N
Y
NNNN
YYY
Y
Y
图4.1.1程序流程图
4.2软件程序:
#include<
reg52.h>
unsignedcharcodetable1[]={0xfc,0xeb,0x9f,0xff};
unsignedcharcodetable2[]={0xf8,0x8f,0x8f,0xf8};
unsignedcharcodetable3[]={0xe8,0xc9,0x9b,0xff};
unsignedcharcodetable4[]={0x00,0xff,0x00,0xff};
inta;
unsignedintz;
voiddelay(unsignedintz)//延时函数,z的取值为这个函数的延时ms数,如delay(200);
大约延时200ms.
{unsignedintx,y;
for(x=z;
x>
0;
x--)
for(y=110;
y>
y--);
}
voidliushuideng1()//流水灯样式1
{
P0=0xf9;
P1=table1[a];
delay(400);
a++;
if(a==4)
{
a=0;
}
voidliushuideng2()//流水灯样式2
P0=0xa4;
P1=table2[a];
voidliushuideng3()//流水灯样式3
P0=0xb0;
P1=table3[a];
delay(500);
voidliushuideng4()//流水灯样式4
P0=0x99;
P1=table4[a];
voidmain()
P3=0xfe;
P2=0xef;
while
(1)
{if(P2==0xee)//判断第一个键
{
delay(50);
//延时等待
while(P2==0xef)
{
liushuideng1();
}
}
if(P2==0xed)//判断第二个键
{
while(P2==0xef)
{
liushuideng2();
}
if(P2==0xeb)//判断第三个键
liushuideng3();
}
}
if(P2==0xe7)//判断第四个键
while(P2==0xef)
{liushuideng4();
五.设计体会:
经过努力,我们组终于完成这次彩灯的课程设计任务。
我们首先查阅了大量的书本资料,接着又上网搜集了许多有用信息,有时候为了找到一个合适的电路而苦恼,有时候又为取得一点成功而由衷的高兴。
通过课程设计,我们增强了对单片机的理解,学会查寻资料﹑比较方案,学会单片机的设计﹑计算;
进一步提高分析解决实际问题的能力,创造一个动脑动手﹑独立开展电路实验的机会,锻炼分析﹑解决程序编写问题的实际本领,真正实现由课本知识向实际能力的转化;
通过典型程序的设计与制作,加深对基本原理的了解,增强了实践能力。
这个过程中,我们花费了大量的时间和精力,同时还懂得合作精神的重要性,学会了与他人合作,不理解的就在团队里交流,这样学习才更有乐趣。
在课程设计过程中,不断调试程序和修改程序,提高了对单片机的应用能力和分析问题和解决问题的能力。
在和同学们交流的同时也明白了做任何事情都要有团结合作的精神,只有这样才能更快更好的掌握好要学习的知识。
六.参考文献:
《单片机应用技术》--张晔,王玉民,高等教育出版社,出版日期:
2006.6
《跟我学用单片机》--肖洪兵,北京航空航天大学出版社,出版日期:
2002.8
《单片机实践应用与技术》--马长林,陈怡,北京大学出版社,出版日期:
2008
《单片机高级教程第1版》--何立民,北京航空航天大学出版社,出版日期:
2001
《单片机课程设计指导》--程成,清华大学出版社,出版日期:
2009
《单片机原理与接口技术》--李朝清,北京航空航天大学出版社,出版日期:
1999