1.七彩探照灯

您当前位置: 首页 > 51-4WD小车 > 编程语言教学

程序下载

七彩探照灯实验.rar  点击下载

1.七彩探照灯实验(3节电池版本).zip  点击下载

七彩探照

实验一:51单片机平台-------七彩探照灯

 

1 、实验准备

image.png 

1-1  51单片机主控板

 

 

image.png 

 

    1-2七彩探照灯模块

2、实验目的

单片机上电之后,实验效果为七彩灯轮询,主要是学习51单片机的引脚端口控制和LED的使用。

 

3、实验原理

  所谓的RGB三色灯和普通的LED灯其实没有什么不同,只是在封装上,RGB灯内封装了三个LED(红,绿,蓝),通过控制三种LED亮度(256种亮度级别可选),可以混合出不同的颜色(256*256*256)。

  由电路原理图可知,本实验中采用的RGB LED灯是共阴LED,一个引脚接地,其余的三个RGB引脚分别接在51单片机最小系统板上的P4.6,P4.5,P4.4引脚上,同时每个LED灯需要串联一个220欧的电阻作为限流电阻,我们只需在51单片机主控板上控制相应的引脚为高电平,即可点亮相应的LED。

 

这里需要说明一下,我们在讲解本次实验之前会首先对重要寄存器进行一个讲解,这样是为了大家对寄存器有个初步的了解。大家并不需要记住每个寄存器的作用,而只是通过了解寄存器来对外设一些功能有个大致的了解,这样对以后的学习也很有帮助。

 

STC12C5A60S2系列单片机所有IO口(相对于以前的STC98C52来说新增了P4口和P5口)可由软件配置成如下4种工作类型:

1、准双向口/弱上拉(标准8051输出模式)

2、强推挽输出/强上拉(本次实验中采用这种模式,以增大经过LED灯的电流,增加其亮度)

2、仅为输入(高阻)

3、开漏输出

 

STC12C5A60S2系列单片机上电复位后为准双向口/弱上拉模式。2V以上时为高电平,0.8V以下时为低电平。每个IO口驱动能力均可达20mA,但整个芯片最大不得超过120mA.大家如果想要了解每个寄存器的详细使用方法,可以参考《STC12C5A60S2单片机中文参考手册》

 

下面我们就本次实验所用到的P4口的寄存器做一个简单的介绍:

P4口的地址是C0H.

image.png 

3-1 P4口的各个位地址表


P4SW寄存器设置(NA/P4.4,ALE/P4.5,EX_LVD/P4.6)三个端口的第二功能

image.png 

3-2   P4SW寄存器表

 

NA/P4.40,复位后P4SW.4=0NA/P4.4是弱上拉无任何功能。

1,通过设置P4SW.4=1,将NA/P4.4脚设置成I/O(P4.4)

ALE/P4.50,复位后P4SW.5=0ALE/P4.5脚是ALE信号,只有在用MOVX指令访问片外扩展器件时才有信号输出。

           1,通过设置P4SW.5=1,将ALE/P4.5脚设置成I/O口(P4.5)。

EX_LVD/P4.60,复位后PSW.6=0EX_LVD/P4.6是外部低压检测脚,可使用查询方式或设置成中断来检测。

            1,通过设置P4SW.6=1EX_LVD脚设置成I/O口(P4.6)。

 

本次实验中我们对于P4口的操作如此下程序所示:

image.png 

 

上面我们讲解了STC12C5A60S2系列单片机IO 口的基本理论以及本次试验所用的P4端口的一些基本知识。

下面我们来讲解我们的七彩探照灯硬件和软件设计。

 

 

4、实验步骤

4-1.看懂原理图

image.png 

 

4-1 单片机主控板电路图

 image.png

4-2  RGB LED


4-2.理解原理图

由电路原理图可以知道相应的连接电路,LED_R连接到主控板上的数字EA口,LED_G和LED_B分别接在主控板上的ALEPSEN

 

4-3.程序核心代码如下:

1、RGB七彩探照灯引脚定义

image.png 

 

 

2.七彩灯控制:

image.png 

 

3.主函数:

image.png 

通过输入参数开关来控制哪个颜色灯亮灭,从而组合不同颜色。