基于单片机彩灯设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
九江职业技术学院
按
键
多
模
式
彩
灯
设
计
及
调
试
目录
一.课程设计题目............................................................ 二.课程设计任务与要求………………………………《多模式彩灯控制器》项目元件清单………………………. 三.设计过程…………………………………………….
(1)设计原理……………………………………………………………
(2)89S51单片机管脚说明……………………………………..
(3)89S51单片机复位电路简图……………………………………
(4)89S51单片机最小系统简图……………………………………
(5)硬件系统框图与说明………………………………………
(6)整体设计……………………………………………………
(7)硬件电路设计……………………………………………………...
(8)显示部分电路设计……………………………………………….
四.按键多模式彩灯实物图……………………………………….
C语言源程序代码
五.课程设计心得体会…………......................................
六.参考文献………………………………………………
一:课程设计题目
按键多模式彩灯的设计及调试
二:课程设计任务与要求:
利用89S51单片机设计彩灯,用三个按键开关K1,K2,K3组成一个独立式键盘,其中K1控制八个彩灯全亮,K2控制八个彩灯从左向右依次点亮后全亮,K3控制八个彩灯按两边向中间依次点亮。
《多模式彩灯控制器》项目元件清单
IC插座2个、单片机AT89S51 1个、晶体振荡器12MHz 1个、瓷片电容33pF2个、电解电容25V 10uF1个、电阻1kΩ1个、电阻100Ω1个、按键4个、电源指示发光二极管1个、限流电阻9个、发光二极管8个、并行口排针19个、电阻10kΩ3个、焊板1个、排线若干、焊锡丝若干、电烙铁1个;
三:设计过程
1.设计原理:
此次课程设计题目是基于单片机的彩灯设计,由课程设计的要求和任务,我采用的C语言编程,系统由AT89S51、LED 发光二极管、按键,可以实现彩灯的不同类型显示切换。其硬件电路主要有主控制器,LED显示电路,复位电路,晶振电路。系统程序的设计包括主程序的设计,中断服务程序等等。此程序直接在Keil软件编译程序,利用Proteus进行仿真调
试,方便修改程序。
2.89S51单片机管脚说明
2.3 AT89S51引脚
AT89S51引脚
VCC:供电电压:+5V
GND:接地
P0口:P0口为一个8位漏级开路双向I/O
口
P1口:P1口是一个内部提供上拉电阻的
8位双向I/O口,
P2口:P2口为一个内部上拉电阻的8位双向I/O口,
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。P3口也可作为AT89S51的一些特殊功能口,P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。
PSEN:外部程序存储器的选通信号。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
89S51单片机复位电路简图:
89S51单片机最小系统简图:
5.硬件系统框图与说明:
6.整体设计
实验总体电路构造方案比较简单,主要包括键盘控制电路(用脉冲按键开关
对电路进行控制)和显示电路(单片机控制发光二极管的显示)。
按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。AT89S52单片机是美国ATMEL 公司生产的低电压、高性能CMOS 8 位单片机,具有丰富的内部资源:4kB 闪存、128BRAM、32 根I/O 口线、2 个16 位定时/计数器、5 个向量两级中断结构、2 个全双工的串行口,具有4.25~5.50V 的电压工作范围和0~24MHz工作频率,使用AT89C52单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。
7.硬件电路设计
实验电路可划分为两个组成部分,一者为显示电路部分,主要是由8个相同的发光二极管组成,用来显示流水灯的不同显示形态,另一部分即控制电路部分,主要由脉冲按键开关组成,用以控制流水灯的不同显示状态。
8.显示部分电路设计
首先介绍显示电路部分,电路原理图如下图所示:
(1)K1控制八个彩灯全亮再灭
(2)K2控制八个彩灯先全亮再从上向下依次点亮最后全亮再灭(3)K3控制八个彩灯按上下对称依次点亮再全亮。
我们所选用的数码管是共阴极的,置1时导通,所以将单片机的P1.0~P1.7连接8个发光二级管,P3.0~P3.2分别连接K1、K2、K3三个按键开关。从上图中可以看出,如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为高电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为低电平;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。
按键多模式彩灯实物图