导航:首页 > 操作系统 > 单片机led扫描灯

单片机led扫描灯

发布时间:2022-07-29 14:13:41

㈠ 用单片机控制LED灯要怎样编写

举一个简单例子:
#include<reg51.h>
#include<intrins.h>
sbitkey=P1^0;
unsignedcharled=0xfe;
voiddelay(inta)
{
while(a--);
}
main()
{
while(1)
if(key)
{
P0=led;
led=_crol_(led,1)
delay(30000);
}
else
{
P0=led;
led=_cror_(led,1)
delay(30000);
}
}

㈡ 如何用单片机点亮LED灯

接好单片机的硬件电路,然后编写程序,再然后烧写程序,然后就可以程序了,没问题的话就可以按你的要求点亮了

㈢ 在单片机应用系统中。LED数码管显示电路通常有什么显示方式

动态扫描。

LED灯是继电器工作状态指示灯,点亮代表继电器启动中,熄灭代表继电器关闭,LED1是伴同蜂鸣器报警的指示灯,只要数码管不处于设置时间状态,都能够用E归零键进行清零操作,数码管就会显示00:00 (此时不是对主芯片进行复位,只是对状态进行清零) 。

(3)单片机led扫描灯扩展阅读:

注意事项:

检查时若发光暗淡,说明器件已老化,发光效率太低。如果显示的笔段残缺不全,说明数码管已局部损坏。

对于型号不明、又无管脚排列图的LED数码管,用数字万用表的h距挡可完成下述测试工作:判定数码管的结构形式(共阴或共阳),识别管脚,检查全亮笔段。预先可假定某个电极为公共极,然后根据笔段发光或不发光加以验证。

㈣ 单片机控制的LED动态扫描显示原理

现已DS8为个位来讨论,十、百、千为分别为DS7、DS6、DS5。 1、首先要了解的是此数码管为共阴极数码管,即三极管Q16、Q15、Q14、Q13导通时数码管才能点亮,亦即相应的单片机P23、P22、P21、P20为低电平。 2、动态扫描显示原理如下: (1)P23、P22、P21、P20输出高电平,关闭所有数码管; (2)显示个位——把要显示的数据送到P10~P17,P23送低电平,延时5豪秒(时间不能太长,否则数码管会闪烁),P23送高电平; (3)显示十位——把要显示的数据送到P10~P17,P22送低电平,延时5豪秒(时间不能太长,否则数码管会闪烁),P22送高电平; (4)显示百位——把要显示的数据送到P10~P17,P21送低电平,延时5豪秒(时间不能太长,否则数码管会闪烁),P21送高电平; (5)显示千位——把要显示的数据送到P10~P17,P20送低电平,延时5豪秒(时间不能太长,否则数码管会闪烁),P20送高电平。 (6)以此顺序循环,把它做成子程序,在主循环中调用。

㈤ 51单片机 LED点阵实现文字呼吸灯 应该怎么做

点阵的话,我想应该可以通过修改扫描的延时来实现呼吸效果。

例如:行扫描,行切换之间的延时修改,亮度会不一样。
其实扫描对于每个led来说,也是占空比的方波。

㈥ 如何用51单片机控制多个led灯

51单片机可以一次对一个端口的8个引脚赋值 对于这种LED矩形阵列 你只能用扫描的方法做 不可能一次就显示出想要的图形

㈦ 用汇编语言编写 80c51单片机 用定时中断延时方式键盘扫描并led灯显示

KEYVAL EQU30H

KEYTM EQU31H

KEYSCAN EQU32H

DAT EQU33H

DCNT EQU37H

T0L EQU38H

T0H EQU39H

SPEED EQU3AH

SCANLED EQU3BH

CHKCNT EQU3CH

DLYCNT EQU3DH

KEYCNT EQU3EH

ORG0000H

LJMPMAIN

ORG000BH

LJMPT0ISR

ORG0030H

MAIN:

MOVSP,#5FH

MOVTMOD,#01H

MOVT0L,#0F0H

MOVT0H,#0D8H

MOVTH0,#0D8H

MOVTL0,#0F0H

MOVKEYVAL,#0

MOVP2,#00H

MOVDCNT,#0

MOVSCANLED,#0

MOV33H,#10H

MOV34H,#10H

MOV35H,#10H

MOV36H,#10H

MOVCHKCNT,#11H

MOVSPEED,#100

MOVDLYCNT,#0

MOVKEYCNT,#3

SETBEA

SETBET0

SETBTR0

LOOP:

; LCALLKEYSEL

MOVA,KEYVAL

CJNEA,#0FFH,LOOP1

SJMPLOOP

LOOP1:

CJNEA,#10,LOOP2 ;“ON”启动LED测试

MOVDCNT,#0FFH

SJMPLOOP

LOOP2:

CJNEA,#11,LOOP3 ;“=”停止测试,接受数字键

MOV33H,#10H

MOV34H,#10H

MOV35H,#10H

MOV36H,#10H

MOVDCNT,#0

SJMPLOOP

LOOP3:

CJNEA,#10,LOOP4 ;数字键

LOOP4:

JCLOOP5

LJMPLOOP

LOOP5:

MOV33H,34H

MOV34H,35H

MOV35H,36H

MOV36H,KEYVAL

LJMPLOOP

;------------------

KEYSEL:

MOV KEYVAL,#0

MOV KEYSCAN,#0EFH

LCALL GETKEY

MOV A,KEYTM

JZ KEYS1

MOV KEYVAL,A

SJMP KEYRTN

KEYS1:

MOV KEYSCAN,#0DFH

LCALL GETKEY

MOV A,KEYTM

JZ KEYS2

CLR C

ADD A,#4

MOV KEYVAL,A

SJMP KEYRTN

KEYS2:

MOV KEYSCAN,#0BFH

LCALL GETKEY

MOV A,KEYTM

JZ KEYS3

CLR C

ADD A,#8

MOV KEYVAL,A

SJMP KEYRTN

KEYS3:

MOV KEYSCAN,#7FH

LCALL GETKEY

MOV A,KEYTM

JZ KEYRTN

CLR C

ADD A,#12

MOV KEYVAL,A

KEYRTN:

LCALLCHGKEY

RET

;--------------------

GETKEY:

MOVKEYTM,#0

MOV A,KEYSCAN

MOV P3,A

NOP

MOV A,P3

ANL A,#0FH

XRL A,#0FH

JZ NOKEY

DJNZKEYCNT,NOKEY

MOVKEYCNT,#3

MOV A,P3

ANL A,#0FH

CJNE A,#0EH,NK1

MOV KEYTM,#1

SJMP NOKEY

NK1:

CJNE A,#0DH,NK2

MOV KEYTM,#2

SJMP NOKEY

NK2:

CJNE A,#0BH,NK3

MOV KEYTM,#3

SJMP NOKEY

NK3:

CJNE A,#07H,NOKEY

MOV KEYTM,#4

NOKEY: RET

;--------------------

T0ISR:

PUSHACC

CLRTR0

MOVTH0,T0H

MOVTL0,T0L

SETBTR0

LCALLKEYSEL ;扫描键盘

MOVDPTR,#LEDTAB

MOVA,DCNT ;段显示

JZT000

MOVA,CHKCNT

MOVCA,@A+DPTR

MOVP2,#0FH

CPLA

MOVP0,A

INCDLYCNT

MOVA,DLYCNT

CJNEA,SPEED,T021

MOVDLYCNT,#0

INCCHKCNT

MOVA,CHKCNT

CJNEA,#1AH,T020

T020:

JCT021

MOVCHKCNT,#11H

T021:

POPACC

RETI

T000: ;数字显示

MOVR0,#DAT

MOVA,SCANLED

ADDA,R0

MOVR0,A

MOVA,SCANLED

JNZT001

MOVP2,#01H

SJMPT0DIS

T001:

DECA

JNZT002

MOVP2,#02H

SJMPT0DIS

T002:

DECA

JNZT003

MOVP2,#04H

SJMPT0DIS

T003:

MOVP2,#08H

T0DIS:

MOVA,@R0

MOVCA,@A+DPTR

CPLA

MOVP0,A

INCSCANLED

MOVA,SCANLED

ANLA,#03H

MOVSCANLED,A

POPACC

RETI

;--------------------

CHGKEY:

MOVA,KEYVAL

JZKV16

DECA

JNZKV01

MOVKEYVAL,#7

RET

KV01:

DECA

JNZKV02

MOVKEYVAL,#4

RET

KV02:

DECA

JNZKV03

MOVKEYVAL,#1

RET

KV03:

DECA

JNZKV04

MOVKEYVAL,#10

RET

KV04:

DECA

JNZKV05

MOVKEYVAL,#8

RET

KV05:

DECA

JNZKV06

MOVKEYVAL,#5

RET

KV06:

DECA

JNZKV07

MOVKEYVAL,#2

RET

KV07:

DECA

JNZKV08

MOVKEYVAL,#0

RET

KV08:

DECA

JNZKV09

MOVKEYVAL,#9

RET

KV09:

DECA

JNZKV10

MOVKEYVAL,#6

RET

KV10:

DECA

JNZKV11

MOVKEYVAL,#3

RET

KV11:

DECA

JNZKV12

MOVKEYVAL,#11

RET

KV12:

DECA

JNZKV13

MOVKEYVAL,#12

RET

KV13:

DECA

JNZKV14

MOVKEYVAL,#13

RET

KV14:

DECA

JNZKV15

MOVKEYVAL,#14

RET

KV15:

DECA

JNZKV16

MOVKEYVAL,#15

RET

KV16:

MOVKEYVAL,#0FFH

RET

;--------------------

LEDTAB: DB0FCH ;"0" 00H

DB60H ;"1" 01H

DB0DAH ;"2" 02H

DB0F2H ;"3" 03H

DB66H ;"4" 04H

DB0B6H ;"5" 05H

DB0BEH ;"6" 06H

DB0E0H ;"7" 07H

DB0FEH ;"8" 08H

DB0F6H ;"9" 09H

DB0EEH ;"A" 0AH

DB3EH ;"B" 0BH

DB9CH ;"C" 0CH

DB7AH ;"D" 0DH

DB9EH ;"E" 0EH

DB8EH ;"F" 0FH

DB00H ;"" 10H

DB80H

DB40H

DB20H

DB10H

DB08H

DB04H

DB02H

DB01H

DB0FFH

;--------------------

㈧ 单片机控制LED灯。

嘿嘿
这两种方法
都是可以的
都可以驱动LED指示灯。
1
关于你的LED怎么都不亮:
原因可能是连接的方法不太对,你可以参考下述连接方式,检查一下你的电路。
方法1:
用8050的三极管做开关电路,三极管的基极接P2.0,然后用集电极通过LED接5v电源,发射极通过220欧姆电阻接地。执行SETB
P2.0
指令可以点亮led。
方法2:
是用P1.0直接驱动led,应该让led另一端通过220欧姆电阻接5v电源,执行CLR
P1.0
指令
会点亮led。
呵呵
赶快再试试吧
满意后要选满意回答啊

㈨ 单片机控制LED小灯

从你的图看:
1。单片机输出低电平时灯亮。灯暗只能说那些限流电阻过大,470Ω-2K之间选择
2.你的按键按下后单片机扫描到高电平,如果你程序里没有对其判断然后让连接灯的几个管脚输出高电平的话,是没有办法灭的。

阅读全文

与单片机led扫描灯相关的资料

热点内容
程序员放弃后会怎样 浏览:182
河北模具编程 浏览:187
adb查找命令 浏览:321
安卓手机视频文件夹怎么打开 浏览:309
平板加密手机后怎么关闭 浏览:566
流媒体服务器应该注意什么 浏览:536
d8命令编译 浏览:964
压缩包解压需要多少空间 浏览:145
如何查找app属性 浏览:388
android人脸识别技术 浏览:320
pc104编程 浏览:335
二维码反编译破解推广 浏览:682
修改服务器的mac地址 浏览:528
好玩的编程软件 浏览:899
编程语言创始人有钱吗 浏览:804
短视频app怎么获客 浏览:15
查看云服务器的应用 浏览:435
javadump工具 浏览:564
程序员16g 浏览:444
程序员没有办法成为top怎么办 浏览:218