彩灯控制系统设计(翟兵兵)

上传人:j****9 文档编号:47042832 上传时间:2018-06-29 格式:DOC 页数:6 大小:178.50KB
返回 下载 相关 举报
彩灯控制系统设计(翟兵兵)_第1页
第1页 / 共6页
彩灯控制系统设计(翟兵兵)_第2页
第2页 / 共6页
彩灯控制系统设计(翟兵兵)_第3页
第3页 / 共6页
彩灯控制系统设计(翟兵兵)_第4页
第4页 / 共6页
彩灯控制系统设计(翟兵兵)_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《彩灯控制系统设计(翟兵兵)》由会员分享,可在线阅读,更多相关《彩灯控制系统设计(翟兵兵)(6页珍藏版)》请在金锄头文库上搜索。

1、目目 录录任务一:一只任务一:一只 LEDLED 灯闪烁灯闪烁一、任务目标 1二、任务分析 1 三、任务实施 1、硬件电路设计 1 、软件程序设计 21、程序流程图 22、源程序 2 2任务二:跑马灯任务二:跑马灯一、任务目标 2二、任务分析 2 三、任务实施 3、硬件电路设计 3、软件程序设计 31、程序流程图 32、源程序 4任务三:任意变化的彩灯任务三:任意变化的彩灯一、任务目标 4二、任务分析 4三、任务实施 4、硬件电路设计 4、软件程序设计 51、程序流程图 52、源程序 5 1任务一:一只任务一:一只 LEDLED 灯闪烁灯闪烁一、任务目标一、任务目标1)理解单片机控制彩灯电路的

2、设计原理; 2)理解程序对彩灯的控制原理; 3)理解延时程序的工作原理; 4)会将单片机端口与彩灯电路正确地连接; 5)能编写简单的彩灯控制程序二、任务分析二、任务分析本次任务是要用单片机实现一只 LED 彩灯按 1Hz 的频率闪烁。就是要求在 1s 内,让彩灯亮 0.5s,熄灭 0.5s。前面已经分析过,就是让单片机端口的某一位 每隔 0.5s 改变一次输出电平。这里有两件事要做,一个是选用单片机的某一个 端口,用接线连接到彩灯的连接插座上。另一个是要使单片机产生一个 1Hz 的 频率脉冲信号,从 P2 口的某一位输出,去控制发光二极管。P2 口可控制一只 发光二极管的闪烁。为了能设计出发光

3、二极管以 1Hz 的频率闪烁,这就要求单片机输出的频率为 1Hz 的脉冲信号,实际上就是在端口上周期出现高电频和低电频,输出 1Hz 的 方波,则是其高、低电平各 0.5s。单片机重复地实现高低电平这个过程用框图 表示出来。一般来说,在进行程序设计时,首先分析要实现的任务,编写程序设计的思 路和确定程序实现任务的方法,并用框图表示出来,这就是所谓的程序框图设 计。然后根据框图编写具体程序即可,从而完成一只 LED 灯闪烁的任务目标。三、任务实施三、任务实施、硬件电路设计、硬件电路设计XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.

4、2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51C2 30pfC3 30pfX1CRYSTALR1220D1LED-yell

5、owR410kC110uF2、软件程序设计、软件程序设计1、程序流程图开开始始输输出出低低电电平平延延时时0.5s输输出出高高电电平平延延时时0.5s2、源程序如下: #include“reg51.h“ #define uchar unsigned char sbit light=P20; void delay05s(void) unsigned char i,j,k;for(i=5;i0;i-)for(j=250;j0;j-)for(k=250;k0;k-); void main(void) while(1)light=0;delay05s();light=1;delay05s(); 任务二

6、:跑马灯任务二:跑马灯一、任务目标一、任务目标所谓的跑马灯,让彩灯从左到右依次点亮。为了演示跑马灯的 效果,学会它的硬件连接以及其对应的原理图。二、任务分析二、任务分析为了完成跑马灯 LED 依次点亮的任务目标,就是要求 P2 口从 P2.0P2.7 依次 输出低电平,其余引脚都输出高电平。从输出的具体的数,据来看,第一个 LED 点亮需要的输出数据,是对应于 P2.0 的位为 0,其余位为 1,组合为一个字节时,对应的二进制从高到低为:1111 1110,即十六进制数 0xFE;同理,第二个 LED 点亮对应的数为:1111 1101, 即十六进制数 0xFD。依次类推,逐次点亮 LED 所

7、对应的数:1111 1110、1111 1101、1111 1011、1111 0111、1110 1111、1101 1111、1011 1111、0111 1111.3从这些数据上可以看出一个规律,就是这些数据中的二进制 0 的位置依次往 左移动了一位。在 C51 中,要直接实现数据的这种的这种计算式不容易的,如 果将数据的所有二进制位取反后,数据就变成了: 0x01、0x02、0x04、0x08、0x10、0x20、0x40、0x80,也就是后一个数在前一 个数的基础上乘以一个 2.数据前面的分析,实现任务的思路是:程序开始时,给某一个变量赋初始值 0x01,并从端口输出变量的反码,等待

8、一段时间后,让变量的值乘以 2,再次 输出反码并延时,直到所有数据输出完毕,再次重复整个过程。根据思路得出 程序框图,最终完成跑马灯的设计。三、任务实施三、任务实施、硬件电路设计、硬件电路设计外部电路设计图如下:XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT11

9、3P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51X1 CRYSTALC1 30pfC2 30pFR1220R2220R3220R4220R5220R6220R7220R8220D1LED-YELLOW D2LED-YELLOWD3LED-YELLOWD4LED-YELLOWD5LED-YELLOWD7LED-YELLOW D8LED-YELLOWD6LED-YELLOWR910kC310uF、软件

10、程序设计软件程序设计 1、程序流程图4开开始始设设置置显显示示变变量量初初始始值值,定定 义义显显示示循循环环控控制制变变量量延延时时0.5s显显示示变变量量左左移移一一位位i0;i-)for(j=250;j0;j-)for(k=250;k0;k-); void main(void)while(1)light=0;delay05s();light=1;delay05s();任务三:任意变化的彩灯任务三:任意变化的彩灯一、任务目标一、任务目标按时间依次让彩灯显示出规定的花样,但其对应于控制的显示数据之间没有 规律,不能通过计算的方式得到。并能明白其采用的电路图以及对应的原理图。二、任务分析二、任

11、务分析由于本次任务是按时间变化依次控制彩灯亮、灭,可以采用与跑马灯类似的 思路来完成程序框图,但显示花样所对应的数据的变化不一定有规律,不能采 用变量直接计算的方式实现前后数据的变化,因而我们可以采用一种很重要的 程序设计方法-查表法。将彩灯显示的图案所对应的端口输出数据依次编写为一张数据表,表中的每 个数据为 0 的位表示对应的彩灯亮,数据位 1 的位表示对应的彩灯灭。将这张 数据表放在程序中,以数据的形式存储,在使用时依次读出数据中的元素就得 到了需要的数据,实现了数据的无规律变化,并且数据存储的数据可以较多, 能实现的花样变化也可以比较复杂。在 C51 中要进行复杂的计算,也可以采用5数

12、据组的方式来实现,比如:一个周期正弦值的计算,也可以先将这些列在表 中,需要是查表读出,这就是查表法。将用于点亮彩灯的数据放在数据组中,让程序依次多出这组中的数据,并将 数据送到端口,控制彩灯的点亮就实现了任意规律变化彩灯控制。假如设有 N 个数据,当程序段读完 N 个数据后,又从头开始读数。从而控制本次的任意变 化的彩灯的控制。三、任务实施三、任务实施、硬件电路设计、硬件电路设计外部电路图设计如下:XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/

13、AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51X1 CRYSTALC1 30pfC2 30pFR1220R2220R3220 R4220R5220R6220R7220R8220D1LED-YELLOW D2LED-YELLOWD3LED-YELLOWD4LED-YELLOWD5LED-YELLOWD7LED-YELLOW D8LED-YELLOWD6LED-YELLOWR910kC310uF、软件程序设计软件程序设计 1、程序流程图 亮亮亮亮亮亮0.5S亮亮亮亮P2亮亮LED亮I0;i-)for(j=250;j0;j-)for(k=250;k0;k-); void main(void)uchar i;while(1)for(i=0;i8;i+)P2=dispcodei;delay05s();

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号