基于51单片机的四花样彩灯课程设计报告全解Word下载.docx
《基于51单片机的四花样彩灯课程设计报告全解Word下载.docx》由会员分享,可在线阅读,更多相关《基于51单片机的四花样彩灯课程设计报告全解Word下载.docx(13页珍藏版)》请在冰豆网上搜索。
![基于51单片机的四花样彩灯课程设计报告全解Word下载.docx](https://file1.bdocx.com/fileroot1/2022-10/26/ab0e8684-4d11-46e6-99c7-06353b5b7293/ab0e8684-4d11-46e6-99c7-06353b5b72931.gif)
在本部分中需要进行屏幕汉字的编写、屏幕坐标的设定和与硬件的结合部分。
在查阅资料和进行与同学探讨后,屏幕汉字的编写使用的是字母驱动软件,屏幕坐标的设定包括几个小部分,分别由uVision4进行编写,与硬件在进行引脚设定后需要反复调试。
本次课设系统主要分为四个功能模块,一.5110液晶显示器驱动设计及用5110显示屏显示,二.基于51单片机的电子琴设计,三.基于51单片机的花样彩灯设计,四.基于51单片机的串口通信设计,我主要写了花样彩灯这个功能,该功能用单片机8951结合LED制作了一种新型的LED彩灯控制系统的设计方法,以AT89C51单片机作为主控核心,与按键、显示器等较少的辅助硬件电路相结合,利用软件实现对LED彩灯进行控制。
本系统具有体积小、硬件少、电路结构简单及容易操作等优点。
关键字:
LED彩灯;
AT89C51单片机;
模块设计
2、系统设计
2.1设计任务与要求
2.1.1设计任务
(1)设计一个基于单片机的花样彩灯;
(2)在设计过程中,选择1~2个单元电路使用仿真软件(例如Proteus等)进行仿真调试;
(3)用计算机绘制所有的电路图。
2.1.2设计要求
(1)设计一个花样彩灯。
(2)彩灯至少有7种工作模式。
(3)当按下按键后,模式可以复位。
2.2方案的选择与论证
2.2.1总体设计方案
方案一:
采用各类数字电路来组成键盘控制系统,进行信号处理,如选用CPLD等可编程逻辑器件。
本方案电路复杂,灵活性不高,效率低,不利于系统的扩展,对信号处理比较困难。
方案二:
过单片机控制二极管的闪烁,通过中断来改变模式同时串行输出数码管。
P0,P1口接16个二极管,P3口接扩展板的数码显示接口。
该方案简单,易于设计和控制。
3、系统硬件设计
按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。
AT-89C51单片机是美国ATMEL公司生产的低电压、高性能CMOS8位单片机,具有丰富的内部资源:
4kB闪存、128BRAM、32根I/O口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.25~5.50V的电压工作范围和0~24MHz工作频率,使用AT-89C51单片机时无须外扩存储器。
因此,本彩灯控制系统实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。
其具体硬件组成如图1所示。
图1彩灯硬件原理图
从图1中可以看出,如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;
相反,如果要让接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;
同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭的方法同LED1。
因此,要实现彩灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做彩灯了。
在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“彩灯”效果了。
3.1控制器模块
本系统控制器芯片采用AT89C51单片机,其管脚图如图3所示。
D8-D6:
数据输入线。
RESET:
复位端口。
T0,T1:
计数器端口外部计数脉冲输入线。
XTAL1,XTAL2:
时钟电路。
VCC:
供电电压。
GND:
接地。
图389C51功能说明图
AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51具有以下特性:
与MCS-51兼容,4K字节可编程闪烁存储器,寿命:
1000写/擦循环,数据保留时间:
10年,全静态工作:
0Hz-24MHz,三级程序存储器锁定,128×
8位内部RAM,32可编程I/O线,两个16位定时器/计数器,5个中断源,可编程串行通道,低功耗的闲置和掉电模式、片内振荡器和时钟电路。
3.2按键模块
采用如下所示电路来实现控制花样彩灯的复位,按下开关,单片机复位,花样彩灯按模式一闪烁。
图
电源电路有三端稳压器7805和电容组成,外部电池供电,BAT接7V左右的电压,稳压输出5V的电压。
电源电路如图4所示。
图4.电源电路
3.3LED显示模块
LED显示电路由单片机89S52的P0口,P2口与发光二极管相连,高电平二极管发光。
LED显示电路如图2所示。
图2.LED显示电路
3.4硬件元件清单
系统元器件清单见表2。
表2系统元器件清单
器件
数量
AT89C51
1
晶振器
LED
8
排阻(4.7k)
电容(30pF)
2
电阻(100k)
电容(10uF)
开关
4、软件设计
本系统程序包括主程序、键盘扫描子程序、发送键码子程序、发送数据子程序、接收命令子程序等。
主程序用于系统初始化,子程序调度等。
键盘扫描子程序用于扫描键盘状态,将被按键的位置号存入缓冲器中。
发送键码子程序用于将缓冲区键的接通码或断开码发送给单片机接口。
发送数据子程序用于将数据发给单片机接口。
接收命令子程序用于接收单片机接口发来的键盘命令。
4.1主程序设计
程序流程图:
中断程序:
主程序:
4.2编译器简介
软件编译采用KEILC51软件,KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C来开发,体会更加深刻。
KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
4.3结果
先按复位键,系统初始化,然后8个LED开始按照要求闪烁,分别按下列模块点亮:
模块1:
向右单向闪烁,只有一个灯亮
模块2:
向左单向闪烁,只有一个灯亮
模块3:
交替闪一个
模块4:
交替闪两个
模块5:
交替闪三个
模块6:
交替闪四个
模块7:
全亮
4.4系统调试
在调试过程中主要是对程序的修改,特别是延时子程序。
开始延时较短时,当按下开关时,LED开始闪烁。
如果延时较长则LED闪烁更慢。
通过修改程序,将延时调到适中,系统正常工作。
4.5误差分析
设定预设值后,记录模式一的数据,每次送出的数据是不同,具体的数据如下表1所示:
表一
P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1
P1.0
说明
L8
L7
L6
L5
L4
L3
L2
L1
L1亮
L2亮
0
L3亮
L4亮
L5亮
L6亮
L7亮
L8亮
后面几种模式的实验结果基本和理论值一样,没什么误差。
5、总结
该设计是以AT-89C51单片机为主控芯片,与发光二极管、晶振电路、复位电路和电源电路组成,通过程序控制彩灯流水花样。
本文所给程序实现的功能比较简单,旨在抛砖引玉,可以在此基础上扩展成更复杂的彩灯控制,比如键盘控制流水花样、控制流水灯显示数字或图案等等。
通过花样彩灯的制作,给我最大的体会是对一个程序整体的把握和控制,只有将子程序有效的结合起来,才能完成设计的目的。
另外,在程序的调试过程中,我也遇到了很多意想不到的困难,在老师的帮助和自己的不懈努力下,我对伟福这款仿真软件有了更深的认识,将困难一一克服,使程序编译成功,仿真实现。
参考文献
[1]李维缇,郭强.液晶显示器件应用技术[M].北京:
北京邮电学院出版社,1993
[2]内藏T6963C控制器点阵图形式液晶显示模块使用手册[J].南京国显电子公司
[3]赖麒文.8051单片机C语言彻底应用[M].北京:
科学出版社,2002
[4]何立民,张俊谟.单片机中级教程原理与应用[M].北京:
航空航天大学出版社,1999.
[5]陈明荧.8051单片机课程设计实训教材[M].北京:
清华大学出版社,2003.
[6]赵志海.液晶显示器及其应用[J].国际光电与显示.2001.
[7]永胜.LCD模块用电源电路[J].电讯技术,1995.
[8]范志新.液晶器件工艺基础[M].北京:
北京邮电大学出版社,2000.
[9]杨泽民,刘培兴等.液晶显示器原理与应用[J].大连东显电子有限公司
[10]李锦飞.点阵式液晶显示器图形程序设计[J].电子技术应用,1993
[11]刘复华.8098单片机及其应用系统设计[M].北京:
清华大学出版社,1992
[12]高传善.接口与通信[M].上海:
复旦大学出版社,1989
[13]李振亭.点阵图形式液晶显示控制器T6963C的应用[J].电子技术应用,1994
[14]张毅刚、刘杰主编.《MCS-51单片机原理及应用》[M].黑龙江:
哈尔滨工业大学出版社,2004.6,第1版.
[15]马忠梅等.单片机的C语言应用程序设计.北京:
北京航空航天大学出版社,2001
[16]王建校.51系列单片机及C51程序设计[M].北京:
[17]何立明.《单片机实验与实践教程
(二)》[M].北京:
北京航空航天大学出版社,2001.6.
[18]康华光主编.电子技术基础〔M〕,第4版.北京:
高等教育出版社,1999
附录:
程序清单
模式一:
voidled1()//led左移
{unsigned