单片机LED灯闪烁程序

单片机LED灯闪烁程序,第1张

char LED;

sbit key1down=P1^0 ; // 设开关key1连接此端口

sbit key2down=P1^1 ; // 设开关key2连接此端口

void main(){

P0=0xff; // 输出低电平LED亮

LED=0xfe;

while(1){

P0=LED; delay();

if(key1){ LED <<= 1 ; } // 将LED左移一位;

if(key2){ LED >>= 1 ; LED |=0x80; } // 将LED右移一位;

if(key1down==0) { key1=1; key2=0;}

if(key2down==0) { key1=0; key2=1;}

}

实际上不论任何液晶电视机包括你写这个长虹LED32538等等电源滤波后的电压都是300以上,而且现在国家强制标准的需要有PFC电路那么这个电压更高接近400V。正常一般测量开关电源滤波后的电压310左右就正常,你说这个260肯定是不对的而且我觉得你跑这里来问这问题,你是准备学习维修还是胆子大自己家里电视坏了拆开看看。

用MCS51单片机汇编语言编写的点亮一只LED灯源程序LED1ASM,代码如下:

ORG 0000H

AJMP MAIN

ORG 0030H

MAIN:MOV A,#FEH

MOV P1,A

AJMP $

END

做好中断现场保护和还原就可以解决这个问题了。

INT:

    PUSH PSW;先现场保护

    PUSH ACC;

    PUSH 00H;R0

    PUSH 01H;R1 

    PUSH 02H;R2 

    PUSH 03H;R3

    PUSH 04H;R4

    PUSH 05H;R5

    PUSH 06H;R6

    PUSH 07H;R7

    MOV A,#0AAH

MAG:

    MOV P2,A

    LCALL DELAY

    RL A

    JNB P33,MAG

    MOV A,#1

    MOV R2,#7

    POP 07H;R7;现场还原

    POP 06H;R6 

    POP 05H;R5 

    POP 04H;R4

    POP 03H;R3

    POP 02H;R2

    POP 01H;R1

    POP 00H;R0  

    POP ACC;       

    POP PSW;

    RETI

这个用单片机来做很简单,接口就用P1,P2口吧,电源经过100欧姆电阻接到LED灯上再接到单片机相应的16个管脚上电路就好了

程序很简单,需要两个延时子程序,一个1秒的,另一个05秒

主程序就是让灯亮灭,可以从左亮到右,右亮到左,你爱怎么亮就怎么亮,你给P0低电平就可以亮的,如果你没写过程序那这些都白讲

定时器让LED引脚输出高低变化的电平,在主函数里判断按键是否按下,如果按下就让LED引脚保持并关闭定时中断。

第二种方法是 主函数里让LED引脚输出高低变化电平,按键用外部中断。

#include<reg52h>

//-----------------------------

void delay_ms(unsigned int s)

{

unsigned int x;

for(s; s > 0; s--) {

x = 98; while(x--);

} }

//-----------------------------

void main()

{

char i, j;

while(1) {

for(j = 0; j < 32; j++) {

P1 = 255; //全灭, P1外接LED, 是低电平发光

delay_ms(500); //稍等片刻

for(i = 0; i < 32; i++) {

P1 <<= 1;

delay_ms(900 - 100 j); //延时渐短

} } } }

//-----------------------------

以上就是关于单片机LED灯闪烁程序全部的内容,包括:单片机LED灯闪烁程序、长虹led32538电源板电源滤波后的电压是多少付260 v、单片机点亮一盏led灯代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10114780.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存