实验一:51单片机平台-------七彩探照灯
1 、实验准备
图1-1 51单片机主控板
图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.
表3-1 P4口的各个位地址表
由P4SW寄存器设置(NA/P4.4,ALE/P4.5,EX_LVD/P4.6)三个端口的第二功能
表3-2 P4SW寄存器表
NA/P4.4: 0,复位后P4SW.4=0,NA/P4.4是弱上拉无任何功能。
1,通过设置P4SW.4=1,将NA/P4.4脚设置成I/O口(P4.4)。
ALE/P4.5: 0,复位后P4SW.5=0,ALE/P4.5脚是ALE信号,只有在用MOVX指令访问片外扩展器件时才有信号输出。
1,通过设置P4SW.5=1,将ALE/P4.5脚设置成I/O口(P4.5)。
EX_LVD/P4.6: 0,复位后PSW.6=0,EX_LVD/P4.6是外部低压检测脚,可使用查询方式或设置成中断来检测。
1,通过设置P4SW.6=1将EX_LVD脚设置成I/O口(P4.6)。
本次实验中我们对于P4口的操作如此下程序所示:
上面我们讲解了STC12C5A60S2系列单片机IO 口的基本理论以及本次试验所用的P4端口的一些基本知识。
下面我们来讲解我们的七彩探照灯硬件和软件设计。
4、实验步骤
4-1.看懂原理图
图4-1 单片机主控板电路图
图4-2 RGB LED灯
4-2.理解原理图
由电路原理图可以知道相应的连接电路,LED_R连接到主控板上的数字EA口,LED_G和LED_B分别接在主控板上的ALE和PSEN。
4-3.程序核心代码如下:
1、RGB七彩探照灯引脚定义:
2.七彩灯控制:
3.主函数:
通过输入参数开关来控制哪个颜色灯亮灭,从而组合不同颜色。