找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2510|回复: 8
收起左侧

请问, LED闪光灯电源AT89C51的程序怎么写

[复制链接]
ID:222919 发表于 2017-7-28 09:58 | 显示全部楼层 |阅读模式
请问, LED闪光灯电源AT89C51的程序怎么写
回复

使用道具 举报

ID:193947 发表于 2017-7-28 10:44 | 显示全部楼层
灯亮,延时1秒,灯灭,延时1秒。都是延时起作用
回复

使用道具 举报

ID:222957 发表于 2017-7-28 11:12 来自手机 | 显示全部楼层
灯亮一次,延时几毫秒;再灯灭,延时几毫秒。再加个死循环。
回复

使用道具 举报

ID:222521 发表于 2017-7-28 12:02 | 显示全部楼层
不知道你要驱动几个LED,我以前弄过一个类似长排警灯的闪光程序,驱动8只1W的LED四红四蓝,如果是你想用的我就找找给你发出来效果
回复

使用道具 举报

ID:221828 发表于 2017-7-28 13:45 | 显示全部楼层
最好用定时器中断,可以控制任意时长任意灯亮
回复

使用道具 举报

ID:221828 发表于 2017-7-28 13:47 | 显示全部楼层
用定时器可以控制许多灯亮灭,还能控制时长
回复

使用道具 举报

ID:188030 发表于 2017-7-29 15:50 来自手机 | 显示全部楼层
#include<reg52.h>
sbit LED = P0^0;
//sbit ADDR0 = P1^0;
//sbit ADDR1 = P1^1;
//sbit ADDR2 = P1^2;
//sbit ADDR3 = P1^3;
//sbit ENLED = P1^4;
void main ()
{
        unsigned char cnt = 0;
//        ENLED = 0;
//        ADDR3 = 1;
//        ADDR2 = 1;
//        ADDR1 = 1;
//        ADDR0 = 1;
        
        TMOD = 0x01;
        TH0 = 0xB8;
        TL0 = 0x00;
        TR0 = 1;
        
        while(1)
        {
                if(TF0 == 1)
                {
                        TF0 = 0;
                        TH0 = 0xB8;
                        TL0 = 0x00;
                        cnt++;
                        if(cnt >= 50)
                        {
                                cnt = 0;
                                LED = ~LED;
                        }
                }
        }
}
回复

使用道具 举报

ID:206424 发表于 2017-7-29 19:57 | 显示全部楼层
写一个void delay(uint num)函数,每次都调用它就可以啦
回复

使用道具 举报

ID:849826 发表于 2021-7-7 15:19 来自手机 | 显示全部楼层
电动牙刷程序怎么改
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表