导航:首页 > 操作系统 > 单片机led流水灯电路图

单片机led流水灯电路图

发布时间:2023-07-28 00:37:48

‘壹’ 51单片机最小系统流水灯的原理图关于AT89S52类型的

图中芯片是AT89C51,最小系统图的话是一样的

程序:

#include<reg51.h>

#include<intrins.h>

#define uchar unsigned char

#define uint unsigned int


void delays(uint t)

{

uint i,j;

for(i=0;i<t;i++)

{

for(j=0;j<1141;j++);

}

}


void main()

{

//P0M1=0X00; //单片机除了P0口以外,其他I/O在内部都有上拉电阻

//P0M0=0XFF; //AT89C51没有推挽输出这一说,所以P0高电平不亮,要加上拉电阻;

//用其他端口不需要考虑


/**************从左到右流水灯**************/

uchar i;

P0=0Xfe;

delays(100);

while(1)

{

P0=_crol_(P0,1);//向左循环移动一位

delays(50);

}

}


/*****************左右来回点亮************/

void main()

{

uchar i;

P0=0x01;

delays(100);

while(1)

{

for(i=0;i<7;i++)

{

P0=_crol_(P0,1);

delays(50);

}

for(i=0;i<7;i++)

{

P0=_cror_(P0,1);

delays(50);

}

}

}

‘贰’ 单片机:16个发光二极管组成的流水灯实验

电路图注意:1、P0口里应加上排阻,图里我没画出来。

2、单片机最小系统所需的晶振、复位电路我也没画。

临时帮你做的图,写的程序,细节就不是很完善啦,凑合着看吧!!

下面是程序,_crol_()函数是让temp的值左移一位的即执行一次该函数,temp的值由11111110到11111101,再执行一次是11111011……

_cror_()是右移。

#include<reg51.h>

#include<intrins.h>//包含对_crol_(),_cror_()函数的说明的头文件

unsignedchartemp,i;

voiddelay(unsignedintz)//延时子程序,晶振11.0592M时延时大概1毫秒

{

unsignedintx,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

voidmain()

{

while(1)

{

temp=0xfe;

for(i=0;i<8;i++)//流水灯从P0^0口到P0^7口

{

P0=temp;

temp=_crol_(temp,1);

delay(5);

}

i=0;

temp=0xfe;

for(i=0;i<8;i++)//流水灯从P1^0口到P1^7口

{

P1=temp;

temp=_crol_(temp,1);

delay(5);

}

i=0;

temp=0x7f;

for(i=0;i<8;i++)//流水灯从P1^7口到P1^0口

{

P1=temp;

temp=_cror_(temp,1);

delay(5);

}

i=0;

temp=0x7f;

for(i=0;i<8;i++)//流水灯从P0^7口到P0^0口

{

P0=temp;

temp=_cror_(temp,1);

delay(5);

}

i=0;

}

}

‘叁’ 单片机外部中断做流水灯

单片机控制led灯亮和灭,led灯初始状态从左到右两个灯间隔一个灯循环亮灭,然后从右到左循环亮灭,,当按下按键,led灯全亮,然后全灭。然后再恢复循环。

二、实验过程

(一)实验项目的方案分析

1.设计原理

STC12C5A60S2单片机内部包括微处理器、存储器(存放程序指令或数据的ROM、RAM等)、输入/输出口(I/O口)及其他功能部件如定时/计数器、中断系统等。它们通过地址总线、数据总线和控制总线连接起来。

本实验充分利用了8051芯片的I/O引脚。系统已采用STC12C5A60S2系列单片机为中心器件来设计数码管显示系统,实现数码管循环显示。

2.器件配置清单

表1器件配置表

名称

型号

数值

数量

面包板

MB-102

165*55*

(二)实验项目的硬件电路设计

通过Proteus仿真电路软件搭建电路

(三)实验项目的程序设计

1、C51程序编写

2、keil软件调试截图

通过Keil软件进行C51控制程序的编写,通过不断调试修改,最终的调试好的Keil

调试无措的Keil程序

(四)实验项目的虚拟仿真

打开Keil C软件将上面程序输入,调试无误后编译输出".hex"文件,打开Proteus软件,将之前编译好的".hex"文件加入到芯片中,开始运行仿真。

(五)实验项目的实际验证电路及验证结果

将单片机C51程序编译无误后,生成HEX文件,通过STC-ISP下载到单片机中,下载的软件界面搭建的实际

‘肆’ 求流水彩灯的原理及电路图

流水彩灯的原理及电路图如下:

原理:该流水灯电路由时钟发生电路和功能显示电路两部分组成。以集成电路NE555为核心器件构成自激多谐振荡器。
当电源开关S闭合时,电源通过电阻R1和R2向电容器C1充电。当C1刚充电时,由于555的②脚处于低电平,故输出端③脚呈高电平;当电源经R1、R2向C1充电到2/3电源电压时,输出端③脚电平由高变低,555内部放电管导通,电容C1经R2向555的⑦脚放电,直至C1两端电压低于1/3电源电压时,555的③脚又由低电平变为高电平,C1又再次充电,如此循环工作,形成振荡。
555的频率可以通过改变电阻R2的阻止而改变,其时钟输出直接进入4017的14脚,这样来驱动8个LED负载。

‘伍’ 用单片机控制流水灯的六种方案,要程序电路图,详细讲解

;//*********************************************************
;//实现功能:本程序实现在P0口模拟一种流水灯程序
;//*********************************************************
p_out equ P0 ;宏定义P0为p_out
org 00h ;程序的开始地址
ajmp main ;跳到main
org 030h
;//******************主函数***************************
;//描 述:实现在P0口模拟一个流水灯程序
;//设计人: lishengling24
;//****************************************************
main: ;主函数
mov sp,#50h ;设置sp堆栈的初始位置
mov a,#0feh ;初始化acc
main_1:
mov p_out,a ;点亮一个灯
mov r1,#250 ;
mov r0,#250 ;
Call delay_time;调用时间延迟子程序,上面两句是设置延迟时间
mov p_out,#0ffh;熄灭灯
RL a ;循环左移一位准备点亮下一个灯
JMP main_1 ;跳到main_1循环
;//******************时间延迟函数**********************
;//描 述:用指令实现延时一段时间
;//入口参数:r1为高位,r0为低位,都是十六进制表示?
;//出口参数:无
;//设计人:lishengling24
;//****************************************************
delay_time:
push acc ;acc入栈
push psw ;psw入栈
mov a,r0 ;把r0赋给acc
inc r1 ;r1加1,因为djnz是先减1再比较是否为零,如果不加1
;当r1的初值为0的时候,减1后变成了0x0ff,改变了当
;初预想的延迟时间计数值
inc r0 ;道理和inc r1 一样,当然r0和r1的初值不能为0x0ff
loop:
nop
nop
nop
nop
nop
nop
djnz acc,loop ;
mov a,r0 ;
djnz r1,loop ;
pop psw ;psw出栈
pop acc ;acc出栈
ret
end ;需要其他5种方案的程序和电路,在网络HI我。

以下是C的写法:
//*********************************************************
//实现功能:本程序实现在P0口模拟一个流水灯程序
//*********************************************************
#include <reg51.h>
#define p_out P0 //宏定义输出的i/o口为p0
//******************时间延迟函数**********************
//描 述:用指令实现延时一段时间
//入口参数:int i,为时间延迟参数
//****************************************************
void delay_time(int i)
{
while(i)
i--;
}
//******************主函数***************************
//描 述:实现在P0口模拟一个流水灯程序
//****************************************************
void main(void)
{
unsigned char i=0; //初始化一个局部变量为0
p_out=0xff; //初始化将要输出的i/o口,输出高电平,熄灭所有灯
while(1)
{
for(i=0;i<8;i++)
{
p_out=~(1<<i);//点亮一个灯,
delay_time(50000); //延迟一段时间
p_out=0xff;//熄灭所有灯
}
}
}

‘陆’ 急求一个单片机流水灯(16个灯)电路图!!

电路如下:

将16个LED的阴极(Led-、K极)连接到单片机的IO口(P1.0、P1.1...P1.7。。。),
LED的阳极(Led+、A极)串联一个560欧姆电阻(一共16个)到电源正极
(Vcc、5V)

如果要点亮一个Led的话(P1.0)只要
CLR P1.0

要熄灭一个Led的话(P1.0)只要
SETB P1.0

即可

够详细了吧?!

阅读全文

与单片机led流水灯电路图相关的资料

热点内容
java面向对象编程题目 浏览:876
二次元压缩包 浏览:698
stc仿真器编程器 浏览:155
服务器销售怎么做好 浏览:87
什么是com编程 浏览:848
算法工程师最新资讯 浏览:608
邮政银行卡怎么在app签约绑定 浏览:49
压缩卷一直转 浏览:976
初一编程小程序怎么做 浏览:826
bt软件文件夹名称 浏览:157
unix创建命令 浏览:622
devc是多少位的编译器 浏览:980
怎么样能快点升安卓系统 浏览:976
奇迹mu用什么服务器 浏览:605
如何让软件在多个安卓系统上运行 浏览:575
java判断半角 浏览:881
java判断正负 浏览:322
刷头条程序员的日常 浏览:104
吉林程序员吐槽 浏览:244
单片机温度范围 浏览:421