使用单片机I/O口控制8只LED灯。 1)点亮8个中的的第任意个LED灯。 使任意一个或多个LED灯闪烁

作者&投稿:穰沾 (若有异议请与网页底部的电邮联系)
用51单片机的并行I/O口输出控制8个LED从LED1到LED8、再到LED1......,每次点亮~

简单编了一下程序,,,
#include
sbit key=P3^4; //按键,按实际再改
void delay(unsigned int t)
{
while(--t);
}
void main()
{
unsigned char q;
P1=0xfe;//1111 1110 P1口led灯,实际不是再改
while(1)
{
P1=0xfe;//1111 1110
for(q=0;q<8;q++)
{
delay(25000); //0.5S,得按照实际晶振再改
P1<<=1;
if(q==7)
{P1=0xfe;}
}
if(key == 0)
{
delay(200); //按键防抖
if(key == 0)
{
P1=0xff;
P1=0x00;
P1=0xff;
P1=0x00;
P1=0xff;
P1=0x00;
}
}
}
}
拿了一个之前画的proteus图,少了个晶振和复位电路,你补一下自己



你用74HC595吧,只用3根线就可以控制了,一个74HC595输出为8位,这样可以控制8个LED,而且每个74HC595都可以级联的,像我这图示例,上面一共有5个74HC595,都是级联的,所以上图实际上3个IO口即可控制5*8=40个LED!

当然,级联的多少,就看你的需要了,呵呵!

举个简单的例子,8个LED灯的正级分别接在P1.0到P.7上面,负极分别接在P2.0到P2.7上面,

P1 = 0xff; (P1口全部高电平) P2 = 0x00; (P2口全部低电平),此时电流通过P1口经LED流向P2口,8个灯全部点亮,如果P1不变,P2 = 0XFF; 此时由于P1与P2的接口全部是高电平,没有电压差也就没有电流,LED全部熄灭,如果想让某一个灯点亮,可以根据8421法则,P2.7 P2.6 P2.5 P2.4是高8位,P2.4 P2.3 P2.2 P2.1 P2.0是低8位
P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0
8 4 2 1 8 4 2 1
当p1 = 0xff; p2 = 0xfe的时候,就是P2.0那个小灯点亮,其他7个灭,p2 = 0xfe的这个F就是8+4+2+1 =15,对应16进制里的f, 同理E=8+4+2+0 =14,对应16进制里的e。
闪烁的话需要用到定时器,时间到了把当前P2对应的引脚取反一下就行了,比如当前P2.0 = 1; 定时器时间到了以后 ~P2.0 当然实际写程序的时候不能直接这么写,自己多复习下吧


单片机的I\/O口是什么意思?
单片机的I\/O口指的是输入\/输出端口,简称为I\/O。这些端口为单片机与外部设备之间的数据交换提供了通道。每个I\/O口都有其独特的地址,以便CPU能够识别并控制相应的输入或输出操作。I\/O口在单片机系统中扮演着重要角色,它们不仅连接着单片机和各种外部设备,还负责处理数据传输。在不同的应用场景中,I\/O...

单片机的IO驱动LED灯电路,需要用到三极管,求原理图,并说明
搞不明白单片机I\/O口驱动LED为什么要用到那么复杂的电路,是单纯的为了复杂而复杂吗?很晕!如果一个I\/O口驱动一个LED,只要I\/O口低电平有效LED串一个470Ω的电阻即可,如果驱动多个LED只要按下图即可:如果Vcc=5v;则R0=1KΩ-5.1KΩ;Rn=470Ω。如果晶体管用S8550,那么同时点亮5个LED是没问题...

单片机怎么用c语言设置I\/O口输入或输出
P3M0=0;P3M1=127;\/\/0-6推挽输出 P1M0=0;P1M1=255; \/\/all 推挽输出 而51单片机的所有IO引脚,在启动后默认都是1。因此,如之前没有对此引脚进行过置0操作的话,可以直接读该引脚。但为了保险起见,也为了使程序通用、可移植,最好在读取之前对此引脚置1。

如何用单片机I\/O
你这种画法,是期望P2.0输出高电平,继电器吸合。但是,51单片机,输出高电平的电流有限,吸合,未必可靠。解决的方法是加个3.3K的上拉电阻。

在采用单片机的I\/O口作为输入口或输出口时需要考虑哪些因素?
p0口在作为io口的时候要接上拉电阻;四个io口作输入口对其进行读操作时要先写1。电压的大小(包括它能感知的最小电压作为高电平),电流的驱动能力例如51的p0口若作为io口使用就要加上拉电阻,不然的话高电平是高阻态的形式。还有就是io口默认是不是作为io口,有的io口有第二功能的。

单片机的I\/O口是什么意思?
单片机的I\/O口的意思是:I\/O是 input\/output的缩写,即输入输出端口。每个设备都会有一个专用的I\/O地址,用来处理自己的输入输出信息。CPU与外部设备、存储器的连接和数据交换都需要通过接口设备来实现,前者被称为I\/O接口,而后者则被称为存储器接口。

单片机I\\O口使用---急急急急---在线等,有追加
单片机用P1口作为输入、输出口模拟控制转弯灯显示;P1.0、P1.0分别连接拨动开关SW1、SW2;P1.2、P1.3、P1.4、P1.5分别连接LED1、LED2、LED3、LED4指示灯。SW1作为左转弯开关,SW2作为右转弯开关,LED1、LED2作为左转弯灯,LED3、LED4作为右转弯灯。实现 只有SW1为高电平时LED1、LED2...

单片机主要用在哪些方面?应用分类又有哪些?
单片机主要用途如下:1、智能仪器 单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器。2、工业控制 单片机具有体积小、控制功能强、功耗低、环境适应能力强、扩展灵活和使用方便等优点。3、家用电器 家用电器广泛采用了单片机控制,从...

单片机I\/O口如何分配
一般情况下,单片机的IO口可以任意分配,平时我们使用单片机时,最好的分配原则是:1、有限使用P1口,其次使用P2口,再次使用P0口,最后使用P3口,因为P1是纯粹的IO口,可以任意使用,P2口有第二功能,即地址总线的高八位,不过如果不扩展外部存储器,一般不用该功能,P0口第二功能是数据\/地址总线低八...

单片机I\/O接口的作用与功能
IO口是单片机与外界的接口,即输入\/输出口,可以作为数据口,对外部存储器进行读写;可以作为控制口,输出控制指令,如电机控制,继电器控制等;可以作为人机交互,如液晶显示,键盘输入等。理解了IO口对学习单片机有很大帮助。

黟县18982685226: 使用单片机I/O口控制8只LED灯. 1)点亮8个中的的第任意个LED灯. 使任意一个或多个LED灯闪烁 -
父郊松泰: 举个简单的例子,8个LED灯的正级分别接在P1.0到P.7上面,负极分别接在P2.0到P2.7上面,P1 = 0xff; (P1口全部高电平) P2 = 0x00; (P2口全部低电平),此时电流通过P1口经LED流向P2口,8个灯全部点亮,如果P1不变,P2 = 0XFF; 此时...

黟县18982685226: 编写一段单片机程序,用单片机控制八只发光二极管每只闪烁5次,再移向下一只闪烁5次,右循环不止 -
父郊松泰: org 4000h a:mov r1,#05h;mov r2 #08h;mov 20h,#01h;b:mov P1,20h;call delay;mov p1,#00h;call delay;djnz r1,b;RL 20h;djnz r2,b; goto a; ..... 没细校验,就当参考吧

黟县18982685226: 51单片机控制8个数码管并显示1 - 8 -
父郊松泰: 数码管段选连接到单片机P0口,位选连接到P2口 ORG 0000h MAIN:CALL DISPLAYAJMP MAIN DISPLAY:MOV R0,#0MOV R1,#0x01MOV DPTR,#TABLOOP:INC R0MOV A,R0MOVC A,@A+DPTRMOV P0,#0 ;消隐MOV P0,A ;...

黟县18982685226: 用51单片机的并行I/O口输出控制8个LED从LED1到LED8、再到LED1......,每次点亮 -
父郊松泰: 简单编了一下程序,,, #include<reg52.h> sbit key=P3^4; //按键,按实际再改 void delay(unsigned int t) { while(--t); } void main() { unsigned char q; P1=0xfe;//1111 1110 P1口led灯,实际不是再改 while(1) { P1=0xfe;//1111 1110 for(q=0;q<8;q++...

黟县18982685226: 求助用MCS - 51单片机写一个简单控制程序. -
父郊松泰: /* 实验目的:初步了解单片机I/O口的工作原理,进一步掌握51单片机的汇编指令. * 实验内容:用汇编指令对单片机I/O口进行编程,控制8个发光二极管的流水亮灭. */ /* 程序详细功能介绍: *做单一灯的左移右移,八个发光二极管L0-L7分别接...

黟县18982685226: 用单片机的p1口控制8个低电平有效的Led,要求8个LED 逐个循环点亮,画出电路图,编写对应c语 -
父郊松泰: 单片机的P1.0-P1.3接四个发光二极管L1-L4的阴极,P1.4-P1.7接四个开关K1-K4程序:ORG 00HSTART: MOV A,P1ANL A,#0F0HRR ARR ARR ARR AORl A,#0F0HMOV P1,ASJMP START可以检测单个按键,也可以同时检测多个按键过程:开始--读P1口数据到A--A中的数据右移4次--A中的内容和F0H相或--A中的数据送到P1口--回到开始

黟县18982685226: 51单片机控制8个舵机的问题 -
父郊松泰: 上图是舵机的工作原理,舵机的三根引线,红色是电源正,黑色接电源负,橙色就接单片机的脉冲输出端.单片机输出20毫秒周期的脉冲,其中的高电平脉冲的宽度为1毫秒时,舵机中立.当脉宽小于1毫秒时,舵机左转;当脉宽大于1毫秒时,舵机右转.您只需设置单片机的8个IO口,分别接入8个舵机的橙色线,并提供舵机电源,编写程序,按需要变化8个IO口的脉宽,就可以控制舵机了.

黟县18982685226: 单片机一个管脚控制八个发光二极管开关? -
父郊松泰: 扩展一个串口转并口芯片, 74HC595 或者 74HC164 , 需要最少 两个 IO 口就可以了.

黟县18982685226: 单片机控制8盏灯花样亮法C语言编程怎么写 -
父郊松泰: 只要你搞懂原理了就不难,这个最好和定时器同时用. 假设先亮第一种,延时一段时间;关第一种,亮第二种,延时一段时间……依次类推,就能实现花样亮法

黟县18982685226: 请问51单片机的I/O口外接8个独立的1瓦LED灯泡的电路应该怎么接?已有12V外接电源来驱动LED -
父郊松泰: LED的负极接IO口,例如:P1.0,正极接电源,根据情况接上限流电阻. 然后直接用KEIL软件编一个简单的程序 下载到51单片机上 即可实现.程序很简单 仅仅就是 赋值语句(高低电平)和循环语句.希望对你有帮助.祝你成功!!!

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网