2.3跑马灯(课件)- 高二《单片机应用技术(C语言 第二版)》同步教学(劳动版)
2023-07-14
|
22页
|
113人阅读
|
11人下载
普通
内容正文:
在实际应用中,不仅需要实现对端口某一位的控制,还需要实现对一个端口(8位)输出信号的同时控制,例如在机电控制中,常需要对多个指示灯或多台设备同时进行开关控制。
本任务的内容是控制8只LED,具体控制要求如下:
1.按顺序将8只LED轮流点亮,然后重复进行。
2.每只LED点亮的时间为1 s,1 s后切换到下一只LED点亮。
任务提出
任务三 跑马灯
本任务要实现8只LED的点亮或熄灭控制,因此整个系统的硬件结构应该是在单片机最小系统之上增加8只LED的控制电路。这8只LED接在单片机的任一端口,都能实现控制效果,需要注意的是不同端口由于内部结构有所不同,外接的驱动电路也会有所区别。
任务分析
任务中要求LED轮流点亮,因此单片机硬件电路只要能保证控制LED点亮或熄灭即可,由程序控制LED的点亮时间和顺序。控制8只LED的单片机应用电路的硬件系统框图如图所示。
单片机控制8只LED的系统框图
8只LED依次点亮,就是对单片机的每一个引脚依次输出低电平。对整个端口而言,每次一只引脚输出低电平,其余的7个引脚都输出高电平。每只LED点亮1 s,就是要求输出低电平后,调用延时函数实现1 s时间的延时,再以同样方式点亮下一只LED。
为了验证程序设计效果,用Keil软件对程序进行编译,并将编译程序与Proteus联调,以对设计效果进行功能验证。
一、C51的位运算规则
C51语言能对运算对象按位进行操作,位运算是指按位对变量进行运算,但并不改变参与运算的变量的值。如果要求按位改变变量的值,则要利用相应的赋值运算。C51中位运算符只能对整数进行操作,不能对浮点数进行操作。
相关知识
1.按位与运算
按位与运算符“&”是双目运算符。其功能是参与运算的两数各对应的二进制位相与。
2.按位或运算
按位或运算符“ |”是双目运算符。
3.按位异或运算
按位异或运算符“ ^”是双目运算符。
4.求反运算
求反运算符~为单目运算符,其功能是对参与运算的数的各二进制位按位求反。
5.左移运算
左移运算符“<<”是双目运算符。
6.右移运算
右移运算符“>>”是双目运算符。
二、C51的条件语句
1.基本条件语句if
if语句说明如下:
(1)条件表达式的值不等于零,即为真。
(2)如果条件为真,将执行{}中的语句组,否则不会执行语句组。
2.if-else语句
if-else语句说明如下:
(1)条件表达式的值只要不等于零,即为真。
(2)如果条件为真,执行语句组1,否则执行语句组2。
(3)“语句组1”和“语句组2”只能执行其中一个。
3.if-else-if语句
if-else-if语句说明如下:
(1)else不能单独使用,总是和它前面最近的if配对。
(2)如果情况太多,且条件均为某表达式的值的判别,可以用switch语句选择。
(3)所有条件“表达式”的值只要不等于零,即为真。
三、端口的定义及应用
MCS-51单片机的4个8位并行口,也是单片机内部特殊寄存器(SFR)中的P0、P1、P2、P3,它们有自己对应的地址,如P0的地址为0x80。使用sfr命令可以定义MCS-51的各个特殊功能寄存器,其格式为:
sfr名称=特殊功能寄存器地址
一、硬件设计
本任务是用单片机实现8只LED不断地点亮和熄灭,每只LED的亮灭状态不同,只能通过不同的单片机引脚驱动。和前面的任务类似,可选择单片机的32个可编程驱动的IO引脚中的任意8个来驱动。在本任务中,选择P2口的8个引脚分别对应驱动8只LED,因端口的下拉能力较强,故采用下拉的方式驱动LED,具体电路如图所示。
任务实施
流水灯的控制电路原理图
在图中,VD1~VD8是8只LED,每只LED的阳极接5 V电源,阴极通过限流电阻接到单片机端口。当单片机引脚输出低电平时,LED将流过电流并点亮;当单片机引脚输出高电平时,LED两端均为高电平,没有电流流过,LED不会被点亮。
单片机的P2端口的8个引脚可以通过程序独立驱动,所以8只LED可以任意为点亮或熄灭的组合。
二、软件设计
由任务分析可知,本任务的目标就是要完成重复执行8只LED单独点亮1 s的过程。如图所示。
移位点亮LED流程图
由于单片机可以整个端口同时驱动,也可按引脚单独驱动,因此能够实现任务目标的程序较多,这里以三种程序控制实现任务目标。可以看到,不同的程序可以实现同样的目标,在阅读时应注意三个程序中主函数的异同。
1.引脚顺序控制
按照任务要求,需要对单片机一个端口的8个引脚轮流输出低电平。按前面任务的方式,应首先对8个引脚定义名称,这里以led0~led7分别对控制8只LED的引脚进行命名,程序中对每只引脚进行位控制,可以实现这8个引脚的电平控制。
端口顺序点亮LED流程图
2.端口顺序控制
单片机的P0、P1、P2、P3是
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。