求stc89stc90c52rc中文资料控制8个RGB灯的程序,带呼吸灯的效果

君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
基于STC89C52单片机的LED彩灯控制
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口  单片机是单片微型计算机(Single- Mrocomputer)的简称,是一种将中央处理器CPU随机RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动、脉宽电路、模拟多路转换器、转换器等电路)采用超大规模技术集成到一块硅片上构成的微型计算机系统。
作为主控制器,采用光电耦合器
  耦合器是在微波系统中,能够将一路微波功率按比例分配成几路的元件。耦合器的作用是将信号不均匀地分成几分(称为主干端和耦合端,也有的称为直通端和耦合端),主要包括: 定向耦合器、功率分配器以及各种微波分支器件。 这些元器件一般都是线性多端口互易网络, 因此可用微波网络理论进行分析 。
进行信号转换,用市场上采购的食人鱼LED灯条改装成八组LED扫描灯。能够产生拖尾和呼吸等效果,还可以进行底盘灯和无线遥控等功能的扩展。
  0 引言
  LED产业的迅猛发展给照明和装饰都带来了不小的冲击,特别是LED与汽车的结合更是当前的热门话题。汽车中的阅读灯、示宽灯、刹车灯,甚至照明大灯都渐渐出现了LED的身影。当然作为装饰用的仪表灯,扫描灯和底盘灯也不甘落后,本文介绍了一种LED扫描灯的设计和制作。
  1 系统构成
  本系统由灯条、汽车中网扫描灯控制器构成。控制器中又包含逻辑控制(单片机最小系统)部分、供电部分、电源驱动部分和电路延时部分。具体框图如图1所示。
图1 系统框图
  2 线路设计
  图2是本设计的逻辑控制部分,采用经典的单片机最小系统,型号为STC89C52RC,STC系列的单片机最方便的是只留出P3.0及P3.1的引脚,就可以通过任何一实验板的串口电路将程序下载到单片机中,方便以后作品的修改和升级,也为调试提供了便利。
  需要注意的是单片机的31脚一定要接高,不然单片机不会读片内的存储器
  存储器是用来存储程序和数据的部件,有了存储器,计算机才有记忆功能,才能保证正常工作。它根据控制器指定的位置存进和取出信息。
,造成单片机不能工作。这里选用40脚的单片机虽然有点体积过大,但引脚用插针引出方便日后功能的扩展。
图2 逻辑控制部
  图3是本设计的电源部分,因为涉及到给高亮LED灯条和单片机分别供电,电源需要12V和5V两种输出。
  汽车蓄电池
  电池是一种能量转化与储存的装置,它通过反映将化学能或者物理能转化为电能。电池即一种化学电源,它由两种不同成分的电化学活性电极分别组成正负两极浸泡再能提供媒体传导作用的电解质中,当连接在某一外部载体上时,通过转换其内部的化学能来提供电能。
电压在左右。LED灯条部分可以直接由12V供电。单片机部分需要转成5V电压供电。为了增强汽车电路的安全性,在电源电路里加入了保险管
  保险管和保险丝相似,是一种安装在电路中,保证电路安全运行的电器一种保险管元件。保险管 适用于各类电子电器内部电路,起过保护作用
  其中J2是汽车电源输入,正极可连在汽车示宽灯的正极上,负极接汽车结构中金属部分即可。J1可用于引出控制开关
  开关是最常见的电子元件,功能就是电路的接通和断开。接通则电流可以通过,反之电流无法通过。在各种电子设备、家用电器中都可以见到开关。
,或直接用跳线帽短接。
图3 电源部分
  图4是本设计的重点,类似于图4的结构一共有三组,主要器件是光电耦合器,型号可以采用,利用它们既做到了电气隔离,又实现了用单片机的信号控制12V的灯条。其中选用两组,输入端接P2.7~P2.0作为扫描灯的信号控制端。用来控制LED灯条中的八组灯LED1~LED8。
  值得注意的是光耦
  光耦全称是光耦合器,英文名字是:optical coupler,英文缩写为OC,亦称光电隔离器,简称光耦。它对输入、输出电信号有良好的隔离作用,所以,它在各种电路中得到广泛的应用。目前它已成为种类最多、用途最广的光电器件之一。
的输入端非常脆弱,接入时要接限流
  电阻,物质对电流的阻碍作用就叫该物质的电阻。电阻小的物质称为体,简称导体。电阻大的物质称为电绝缘体,简称绝缘体。
。光耦的另一端就可以接LED灯条中的一组,与12V电源构成一个回路,相当于由前面内部LED控制的开关电路。
  图中C2~C5这一类起到延时电路的作用,当光耦接通时,该组LED亮,接在12V电源充电,当光耦断开时,电容又与该组LED灯构成放电回路,维持这组灯不是马上熄灭。扫描灯的拖尾效果就是由这部分电路实现的。
  第三组的四个光耦用作扩展功能。
图4 本设计示意图
  图5是本设计信号引出端口,其中J5引出的信号用来控制八组汽车扫描灯,J4引出的四组LED信号用于扩展底盘灯或呼吸灯。J9接单片机P3口用于扩展无线遥控或通信等模块。
图5 本设计信号引出端口
  图6是参考的布板图,采用单面敷铜板增大了布线难度,而且要大量飞线,若采用双层板,布局问题就可简化很多。图3中RX可选用75欧大功率电阻。因设计采用四脚光耦,而光耦是可能发生故障的元件,所以在封装上采用16脚的。这样每个插座可以安装四个光耦。
图6 参考的PCB布板图
  3 元件选取
  与汽车电源相连的线材建议选用粗细合适的硅胶绝缘线,可耐高温和大电流。保险管可选择1A或2A即可。
  光耦选择EL817,在光耦输入端一定要接限流电阻,在做实验时要注意不要因电流过大烧坏光耦。作为延时储能的电容器
  所谓电容器就是能够储存电荷的&容器&。只不过这种&容器&是一种特殊的物质&&电荷,而且其所存储的正负电荷等量地分布于两块不直接导通的导体板上。至此,我们就可以描述电容器的基本结构:两块导体板(通常为金属板)中间隔以电介质,即构成电容器的基本模型。
要选择品质好的或的大电容。
  4 安装调试
  本设计调试简单,只需将流水灯或*样灯的程序写入单片机即可。数据从P2口输出,即连接扫描灯控制光耦的端口。需要注意的是程序中延时的设定要根据实际闪灯的效果修改。只要选择的时间合适,就会产生像火焰的拖尾效果。测试中选用12.5V的电压,最高电流仅达150mA。
  5 注意事项
  汽车是移动的,发动机舱的温度也较高。所以本设计的安装环境是高温且震动剧烈的环境。在安装时要注意防震和散热。电源取自汽车示宽灯,这样仪表盘一点亮扫描灯就可以工作了。
  6 结语
  本文用简洁的思路实现了LED和单片机的简单应用。为爱车提供了个性化的妆扮。也为生活增添了色彩。
  附件:实验作品图片:
本网站试开通微、小企业商家广告业务;维修点推荐项目。收费实惠有效果!欢迎在QQ或邮箱联系!
试试再找找您想看的资料
资料搜索:
查看相关资料 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款
copyright & &广电电器(中国梧州) -all right reserved& 若您有什么意见或建议请mail: & &
地址: 电话:(86)774-2826670&单片机学习(2)
鼠标改造计划
&&&&&&&&&&&&&&&——基于STC15F104E的彩色呼吸灯
青岛科技大学&信息科学技术学院&集成162&Listen
一.任务简介
近来本人的鼠标终于光荣下岗了,出于“主子”对“伙计”的“怜悯之情”,加上近来又恰好发现STC15F104E这么个神奇的单片机,居然只有8个脚,于是主决定恩赐它新的生命活力……好吧不瞎说了,只是单纯的想搞个事情而已。不过,从现实的角度来看,好像确实不错,用尽量小的体积做尽量多的事情吧。也是出于上次那个播放器被这芯片坑了一次不服气,打算换个项目“征服”它。好吧其实结局是又发现了新的问题,后文详述,这里就先留个伏笔,哈哈。
二.任务要求
(一)&&&&&&&改造对象
原希望改造的鼠标是下图这位“功臣”,因为其体积小外围透明,又光荣下岗,故获此“殊誉”。
&&&&&&&& 但是,在后期改造的过程中,遇上点小麻烦……具体什么情况下文解释,这里为了文体整洁直接说明结果。结果就是,这个鼠标暂时搁置了,换了学长一个暂时不用的鼠标,下图:
&&&&&&&& 关于这两个鼠标技术上的区别,经实验发现,当按下鼠标按键时,前者小黑(第一个鼠标,下同)产生的是高电平,后者小白(第二个鼠标,下同)产生的是低电平,具体为什么考虑这个问题下文讨论。
(二)&&&&&&&改造思路
首先,先让我们看下STC15F104E的原理图吧!
&&&&&&&& 由其原理图外加查询数据手册,不难发现,除去Vcc和Gnd,还剩6个IO,其中除了P3.1,都可以做外部中断使用。关于定时器中断,对不同批次的芯片存在争议,需按实际情况做决定,因为本次改造计划没有用到定时器中断,所以不去深究。
&&&&&&&& 而关于外部中断,数据手册上说,P3.2(INT0)和P3.3(INT1)既可做上升沿触发,也可下降沿触发,而剩下的P3.4(INT2)、P3.5(INT3)、P3.6(INT4)只能下降沿触发。
&&&&&&&& 而关于彩灯,我选用了三灯芯共阳灯泡,下图所示:
这样,根据三基色的原理,理论上我们可以组合出各种颜色。请允许我盗个图。
&&&&&&&& 由此,我们的目的也就明确了。
(1)&&&&&&首先,我们需要3个IO去组合灯效
(2)&&&&&&其次,我们需要三个按键来触发中断(鼠标左键、右键、中键)
(3)&&&&&&然后,我们在中断未触发的情况下,让彩灯不断变换灯效
(4)&&&&&&最后,产生中断时,灯效改变
当然,为了不那么死板,通过产生中断,我们可以改变灯效变换的频率,相当于是做了一个调节机制。
这样,细心的朋友一定会发现,哎,所有的IO刚好用完,三个下降沿也够用。这也就是为啥我要低电平的原因了。如果要高电平的话,只有2个中断可触发,所以是有限制的。不过不急,实际上我们可以用非门电路改变电平,比如三极管,反相器。反相器用74HC00的话有4路,多一路,但是要两个输入控制一个输出,详情请自行搜索下数据手册,也可用74HC04,六反相器,一输入对应一输出。当然本人手头只有印了74HC04的74HC00芯片(不要问我为啥。。。贪便宜的我飘过),而且都是直插的,感觉特别大,所以只好先暂时搁浅下,有空再给小黑手术吧。反正,有小白呢。
顺便把原理图也附上吧!
(三)&&&&&&&改造效果简述
关于具体的灯效,上文有提,这里详述一下。
首先是未触发中断的情况。
这里,我采用了呼吸灯的原理,通过软件PWM,实现让灯效从A色缓缓变为B色,B色缓缓变为C色……G色缓缓变为A色,如此循环。关于颜色的组合,根据上图三基色原理,3种颜色任意组合:
单色:红,绿,蓝
双色:黄,青,紫
总共7种颜色。
&&&&&&&& 当按下鼠标按键时,我让它对应显示单色,目前我的对应原则如下,大家可以随意调换:
&&&&&&&& 左键:红
&&&&&&&& 中键:绿
&&&&&&&& 右键:蓝
当按下右键时再按下左键,我让它亮出自身颜色的其他颜色即蓝的对立黄,此时增加彩灯周期,同理反之减少彩灯周期。为了防止二货的我调乱了,当按下中键时按下任意其他键,我的操作是让周期复位。这样,一个简单的灯效思路就有了。
三.改造与制作
(一)&&&&&&&鼠标
首先将鼠标“大卸八块”,探索内部结构,顺便测试是哪种情况(小黑or小白)
(二)焊接电路
根据原理图准备材料
STC15F104E x1
220Ω电阻 x3
单片机底座 x1
洞洞板 x0.5(整个太大了就掰开了)
&&&&&&&& 然后,根据原理图将它们焊好
&&&&&&&& 最后,将它与鼠标焊在一起。装好就OK啦。
四.程序设计
最后就是我们的重头戏——程序了。老规矩,先让我们看看文件结构。
STC15F104E.h&&&&&&&&&&芯片配置
USER_Config.h&&&&&&&&&&&&&&&&
interrupt.h&&&&&&&&&&&&&&&&中断配置
delay.h&&&&&&&&&&&&&&&&&&&&&&&延时配置
LED.h&&&&&&&&&&&&&&&&&&&&&&&&&彩灯配置
main.c&&&&&&&&&&&&&&&&&&&&&&&&主函数文件
it.c&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&中断服务文件
delay.c&&&&&&&&&&&&&&&&&&&&&&&延时函数文件
LED.c&&&&&&&&&&&&&&&&&&&&&&&&&&彩灯控制文件
&&&&&&&& 下面分别介绍下各部分的实现
USER_Config.h
/******************************************
USER HEARD
*******************************************/
#ifndef _USERCONFIG_H_
#define _USERCONFIG_H_
定义数据类型
#define uchar unsigned char
#define uint unsigned int
#define NOP() _nop_()
Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
低电平0为亮,高电平1为暗
#define WHITE
//白 ----_-000
#define YELLOW
//黄 ----_-001
#define PURPLE
//紫 ----_-010
#define RED
//红 ----_-011
#define CYAN
//青 ----_-100
#define GREEN
//绿 ----_-101
#define BLUE
//蓝 ----_-110
#define CLOSE_ALL
//无 ----_-111
PWM周期调节
#define INITCYCLE
#define STEPCYCLE
包含头文件
#include &STC15F104E.h&
#include &intrins.h&
#include &interrupt.h&
#include &delay.h&
#include &LED.h&
sbit LED_Blue
sbit LED_Green =
sbit LED_Red
sbit Key_Left
sbit Key_Mid
sbit Key_Right =
这里包含了用户所有需要的东西,包括定义数据类型、引用头文件、宏定义、定义引脚功能等。这里仅介绍主要部分
&&&&&&&& 先说说PWM调节周期吧。对于PWM调节,我仅仅做了周期调节处理。这里我定义了一个频率初始值和一个调节步进值,便于更改。具体这两个值的作用,在LED.c中详细解释。
&&&&&&&& 对于七种灯效值的由来,大概可以这么理解。首先我将3中颜色点亮与否的值分别存在了一个unsigned
char数据中的低3位,二进制中的0表示低电平,而这个LED是共阳的,所以是灌电流模式,这样就产生了一个电势差,故点亮LED。而置1时,两端都为高电平,电势差为0,故灭掉LED。这样,再根据三基色原理,对着颜色取值,就取出了7种标准颜色的值。
&&&&&&&& 那么问题来了,三灯芯的7色灯只能显示7种颜色吗?我认为,其实不是的。别忘了,我们只是取了标准色,如果说,混合颜色的“亮度”不同,即颜色的深度不同,就可以混合出其他颜色了。如果要这么实现的话,我个人认为有两种方案。一是PWM分别调节三色,使得等效为灯的亮度不同。二我们可以采用DAC,直接给模拟量,调节更加方便。这里我们只要等效循环变换,不需要精确取色,故不做深入处理了。
普通的延时函数,不过多解释直接上代码
/*************************************
延时函数库 By LZK
频率:12MHz
*************************************/
#include &USER_Config.h&
void delay_8us(uint x)
for(i=0;i&x;i++)
for(j=0;j&1;j++);
void delay_ms(uint x)
for(i=0;i&x;i++)
for(j=0;j&120;j++);
void delay(uint x)
while(x--);
中断服务。这里我们用的是三个外部中断,下降沿触发。关于怎么使用这三个中断,这里就需要查询我们的数据手册了。数据手册我一起扔进了压缩包里大家自取好了。
/*---------------------------------------------------
中断服务文件
By Listen C
参考自官方数据手册
----------------------------------------------------*/
#include &USER_Config.h&
extern uint CYCLE;
中断初始化
void IT_Config()
开启外部中断
Key_Right = 1;
INT_CLKO |= 0x70;//
外部中断2,3,4 对应 10,11,16
void Int2_Left() interrupt 10
Open_LED(BLUE);
while(!Key_Left)
if(!Key_Right)
//如果按下鼠标右键
delay_ms(10);
while(!Key_Right)
Open_LED(YELLOW); //默认蓝色的对立色为红+绿=黄
Open_LED(BLUE);
//松开复位颜色
if(CYCLE & 65400)
CYCLE += STEPCYCLE;
void Int3_Mid() interrupt 11
Open_LED(GREEN);
while(!Key_Mid)
if((!Key_Left)||(!Key_Right))
//在按住鼠标中键时判断是否按下鼠标左键或鼠标右键
//是的话,周期复位
Open_LED(PURPLE);
//默认绿色的对立为蓝+红=紫
= INITCYCLE;
Open_LED(GREEN);
//松开颜色复位
void Int2_Right() interrupt 16
Open_LED(RED);
while(!Key_Right)
if(!Key_Left)
//如果按下鼠标左键
delay_ms(10);
while(!Key_Left)
Open_LED(CYAN);
//默认红色的对立为蓝+绿=青
Open_LED(RED);
//松开颜色复位
if(CYCLE & 200)
CYCLE -= STEPCYCLE;
其中要注意的是,我们的思路是这样的。首先,先触发中断,触发中断后,先暂时关掉中断,注意3个中断标志位不同,注释中是实际位,儿为了避免混乱,我全部都置0了,然后亮相应等效提醒进入中断了。然后继续判断,上文提到的非中键的话判断相反键是否按下,这里用了按键去抖,松开有效,随即对应增加或减少PWM周期。中键的判断只需要按下其他任意键并进行复位,故不需要去抖。
当完成这些工作时,我们的操作是松开最初按下的按键,此时我们需要重新打开中断。
&&&&&&&& 我们的核心部分到了,话不多说先上代码。
/*--------------------------------------------------------------------
彩灯控制文件
By Listen C
Open_LED函数说明:
为方便调节灯色,本人将灯色选择存在了一个unsigned char变量中
通过位运算
低1位为蓝色开关
低2位为绿色开关
低3位为红色开关
具体三色混合效果参见USER_Config.h
-------------------------------------------------------------------*/
#include &USER_Config.h&
uint PWM_LOW
uint CYCLE
INITCYCLE;
void Open_LED(uchar x)
LED_Green =
(x&0x02)&&1;
(x&0x04)&&2;
void PWM_LED(uchar x,uchar y)
for(PWM_LOW = 1;PWM_LOW & CYCLE;PWM_LOW++)
Open_LED(x);
delay(PWM_LOW);
Open_LED(y);
delay(CYCLE-PWM_LOW);
delay(CYCLE);
&&&&&&&& 首先先让我们详细探索下点灯函数。稍有基础的朋友大概一看就明白了,这里用的是位运算,取某位的值。即,先对对应位进行1位与,其他0位与,以只保留对应位,然后通过右移操作移到最低位,给引脚赋值。
&&&&&&&& 说句题外话,用位运算存储数据真的非常好用,曾经我比赛时对4方位的红外障碍进行了位运算的存储,将四个方位的状态存在一个数据里,就是跟我们这个任务恰好相反的过程,直接优势就是,在判断过程中变的异常容易,只需要判断数据的值就能知道哪里遇到障碍了,除去了冗杂的if判断,程序上反正是舒服多了,也因此那部分做的效果还是不错的。
&&&&&&&& 关于PWM调节的问题,就是我们灯效的控制了。如果知道PWM,这里可能就很明白了,不知道的话可以自行查一下,网络的介绍比我这清楚多了。总之就是,在一个固定的周期内,高电平占一定时间,低电平占剩下的时间,这样等效地调节了灯的亮度。然后,如果低电平慢慢增加,那么就等效认为亮度在增加。我们只考虑一种颜色的情况,那么它在缓慢变亮,反过来就缓慢变暗,如此就是呼吸灯的原理。注意全亮之后给一段时间固定,这样更加逼真。而我们的任务是,亮完这个颜色,在它灭掉的时候去亮下一种颜色,故将点灯部分改为了两种灯效。关于这两个灯效,在主函数中来计算,因为涉及到要让这个函数更加通用嘛。如果不去变换灯效,也一样可以调用它,大不了y取CLOSE_ALL。
&&&&&&&& 既然核心部分都做好了,剩下的调用就好了。
/*---------------------------------------------------------------
基于STC15F104E的鼠标改造方案
目的:通过外部中断控制三灯芯小灯
通过PWM信号来变换灯效
按下鼠标左键时按下鼠标右键,PWM周期增加
按下鼠标右键时按下鼠标左键,PWM周期减少
按下鼠标中键时按下任意键,PWM周期复位
灯效参见it.c的注释
为方便调节灯色,本人为灯色选择函数做了优化,详见LED.c
By Listen C
-----------------------------------------------------------------*/
#include &STC15F104E.h&
#include &USER_Config.h&
uchar i = 0;
void main()
uchar x,y;
Open_LED(CLOSE_ALL);
IT_Config();
for(i=0;i&7;i++)
x=(i+1)%7;
PWM_LED(x,y);
&&&&&&&& 注意先要中断初始化,然后7色循环闪烁既可。
五.反思与总结
说句良心话,这个作品的Bug还是很大的。我遇到最大的问题是,当按键频率过高时,中断会莫名其妙挂掉了。虽然出了问题应该先考虑自身程序问题,但是我觉得我的中断没有进入这种状态的步骤,况且我在主函数中while里随时开启外部中断都无济于事,于是就上网查了下,果然有网友遇到了相同的问题。有人的解答是初期的该芯片存在Bug,但是后期的修复了。好吧我就暂且认为这锅芯片背吧!
其实,表面上,任务以改造鼠标做依托进行的,但这个灯效的小玩意可以做其他的装饰,比如USB彩灯。恰好又一位挚友过生日,于是亲手又焊了一个给他,礼轻情义重嘛~。不过说句良心话,做USB彩灯的效果,是优于放进鼠标里的。下图为送他的彩灯。
最后,附上共享链接:
STC15F104E数据手册:
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:822次
排名:千里之外您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
基于STC89C52单片机的LED彩灯控制毕业论文.doc19页
本文档一共被下载:
次 ,您可免费全文在线阅读后下载本文档
文档加载中...广告还剩秒
需要金币:200 &&
你可能关注的文档:
··········
··········
基于STC89C52单片机的LED彩灯控制
电子信息工程系
电子与信息工程专业
指导老师:吴**
[摘要]本设计是一种基于89C52单片机的彩灯控制方案,实现对LED彩灯的控制。本方案以89C52单片机作为主控核心,用个LED构成显示模块、用作为驱动模块,由编程实现亮灯循环模式。由在显示模块上有个LED彩灯,根据用户需要可以编写若干种亮灯模式. 本系统具有体积小、硬件少、电路结构简单及容易操作和阅读等优点。该LED彩灯控制器实际应用效果较好,亮灯模式多。与其他LED彩灯相比,具有体积小、价格低、低能耗等优点。在能源比较匮乏的今天,彩灯的循环控制在显示方面更表现出一种节约能源的魅力.这将使彩灯具有更广阔的发展天地。 关键字: 循环 LED彩灯
  本文提出了一种基于89C52单片机的彩灯控制方案,实现对LED彩灯的控制。本方案以89C52单片机作为主控核心,、等模块组成核心主控制模块。在主控模块上设有键和,根据用户需要可以编写若干种亮灯模式,89C52单片机利用其内部定时器T0实现一个基本单位时间为的定时中断,根据各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号,然后驱动各种颜色的灯亮或灭。该新型LED彩灯及其控制器实际应用效果较好,亮灯模式多,用户可以根据不同场合和时间来调节亮灯频率和亮灯时间。与普通LED彩灯相比,具有体积小、价格低、低能耗等优点。
2.2工作原理
 新型LED彩灯分为2部分,即彩灯控制器(主控模块)和LED板模块(受控模块)。彩灯控制器220 V交流电,经过变换,输出直流工作电压,方面为LED彩灯模块提供 V工作电源,另一方面为主控模块单片机系统(彩灯控制器)提供5 V工作电源。整个系统工
正在加载中,请稍后...单片机控制led灯点亮,最全面的单片机控制led灯点亮文章 - 电子工程世界网
单片机控制led灯点亮
在电子工程世界为您找到如下关于“单片机控制led灯点亮”的新闻
单片机控制led灯点亮资料下载
P1口状态分别送入P0、P2、P3口:认识I/O口的引脚功能 5
实例6:使用P3口流水点亮8位LED 5
实例7:通过对P3口地址的操作流水点亮8位LED 6
实例8:用不同数据类型控制灯闪烁时间 7
实例9:用P0口、P1 口分别显示加法和减法运算结果 8
实例10:用P0、P1口显示乘法运算结果 9
实例11:用P1、P0口显示除法运算结果 9
实例12:用自增运算控制P0口8位...
lesson2 (第2章):
点亮一个LED示例,所在章节2.4
lesson3 (第3章):
3_1:LED闪烁示例,所在章节3.5
3_t4:练习题4,演示第2个LED灯的闪烁,其它以此类推,所在章节3.6
lesson4 (第4章):
4_1:用P0口控制LED的示例,所在章节4.8
4_2:用P0口控制实现流水灯效果,所在...
51单片机汇编语言学习资料(一)
查看更多&& 谁看过这篇博文
加载中… 正文
字体大小:大 中
小 51单片机汇编语言(一) ( 18:52:14) 转载 标签: 电子资料 电子工程师 it 大学生 分类:软件电子IT 6.1功能说明:控制单片机P1端口输出,使P1.0位所接的LED点亮,其他7只灯熄灭。 程序:JS01.ASM...
单片机仿真基础...
单片机仿真基础...
单片机控制led灯点亮相关帖子
; &P2OUT &= ~BIT0;& &&&//将p2.0端口置低 点亮P2.0所控制的而这一个LED灯 =P2OUT &= ~(1&&0);
& &delay_ms(500);
& &P2OUT |= BIT0;& && &//关闭...
; & & & & LED1=~KEY1;
& & & & };
这是本人写的按键控制一个灯的程序&&这个程序只要你一直按着灯就一直亮,松开灯才灭。 不知道怎么写 才能按一次就亮一下就灭, 一直按就不亮,这个程序怎么改呢??小白
51单片机的小问题 这个程序,因为按下按键的时候,P2...
电路图,如图所示,因为proteus中单片机无需增加复位电路,所以就这么画着了
想要实现的效果:控制多个LED同时点亮,望大牛来帮助小弟解决!
请问74HC238与74HC573芯片该如何应用? 238是三八译码器吗?三八译码器只能控制一个灯,多个控制控制不了。 你需要用串进并出的芯片,例如一片74HC595就搞定了。 [quote][size=2][url=forum.php?mod...
+ RSEL1 + RSEL2;//最大频率为5M
void main(void)
WDT_Init(); //看门狗初始化函数
Clock_Init(); //系统时钟初始化配置函数
Port_Init(); //端口初始化函数,用于控制LED灯I/O初始化...
、数码管的真值表
数码管的8个段,我们直接当成8个LED小灯来控制,那就是a、b、c、d、e、f、g、dp一共8个LED小灯。我们通过图1可以轻而易举的看出来,如果我们点亮b和c这两个LED小灯,也就是数码管的b段和c段,其他的所有的段都熄灭的话,就可以让数码管DS1显示一个数字1,那么这个时候实际上P0的值的二进制就是0b,十六进制就是0xF9。那么我们写一个程序进去,看看让...
IDE的编程工具将配置文件烧写到FPGA的配置芯片或Flash。将可执行文件 .elf 编程到 Flash。
2.2 简单SOPC实例开发任务及步骤
【任务】建立一个基于NIOS II处理器系统来控制一个LED灯闪烁。
【步骤】根据2.1.3小节,本节指导读者完成SOPC实例开发流程,主要步骤有:
(1) 分析系统需求;
(2) 启动Quartus II软件和新建实例设计工程;
一直想做个用手机APP远程控制灯的东西,可是不会编程搞手机APP,单片机也不怎么会。直到遇见你-STM32CubeMX & 机智云。让小白也能傻瓜式的搞开发了,点点图标,代码就自动生成好了,彻底解放底层开发,让不怎么会编程的你只需专注应用就可以了。整个结构就是这样子,通过手机APP控制Nucleo-STM32F767板卡上的三颗LED以及显示STM32F767芯片的温度。
硬件连接...
第22讲 RS232串口通讯实验
第23讲 RS485串口通讯实验
第24讲 RS485串口接收数据控制LED
第25讲 STM8 Printf重定向
第26讲 CAN总线概述
第27讲 STM8 CAN总线工作原理
第28讲 STM8 CAN总线数据转发实验
第29讲 STM8 CAN总线数据发送实验
第30讲 STM8 CAN总线接收命令控制LED灯实验
第26讲 CAN总线概述
第27讲 STM8 CAN总线工作原理
第28讲 STM8 CAN总线数据转发实验
第29讲 STM8 CAN总线数据发送实验
第30讲 STM8 CAN总线接收命令控制LED灯实验
第31讲 STM8 CAN总线标识符过滤实验
第32讲 STM8 ADC工作原理
第33讲 电位器ADC输入实验
第34讲 光敏电阻ADC输入实验
第35讲 多通道...
9600,数据位为8位,无校验位,1位停止位,接收格式为ASCII。然后点击打开串口,则可以看到串口接收窗口中接收到了开发板传输过来的数据。同时板子开发板上的4个LED灯循环依次点亮。如图 2.36所示:
图 2.36 串口接收的数据
当我们的程序调试无误后需要固定到芯片中永久使用时,就将编译好的hex文件名称修改为mcu_test.hex,替换工程目录下原有的mcu_test.hex文件...
单片机控制led灯点亮视频
你可能感兴趣的标签
热门资源推荐}

我要回帖

更多关于 stc90c52rc pdf资料 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信