找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1403|回复: 2
打印 上一主题 下一主题
收起左侧

各位大佬帮我看下单片机控制LED灯闪烁程序可否,万分感谢

[复制链接]
跳转到指定楼层
楼主
开始时,第一个灯闪烁,时间间隔为1s。当按下按键后,八个灯闪烁,时间间隔为 2s;
这段程序为什么没法实现上面的要求。。仿真图在下面。


单片机源程序如下:
#include <REGX51.H>

int count0=0,count1=0,num0=0,num1=0;
int temp=1;

void delay()
{
        unsigned char i,j;
        for(i=0;i<20;i++){
                for(j=0;j<120;j++);
        }
}
void inittimer0()
{
        TMOD=0x01;
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        TR0=1;
        EA=1;
        ET0=1;
}
void button_scan(){
        delay();
        if(P1!=0) temp=0;
        while(P1==0);
}
void main(){
        inittimer0();
        while(1){
                button_scan();
                if(temp==1){
                        P2_0=num0;
                }
                else{
                        P2=num1;
                }
        }
}
void timer0_isr() interrupt 1
{
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        count0++;
        count1++;
        if(count0==20&&temp){
                num0=num0?0:1;
                count0=0;
        }
        else if(count1==40&&!temp){
                num1=~num1;
                count1=0;
        }
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:161164 发表于 2022-11-23 09:04 | 只看该作者

比较一下分别
回复

使用道具 举报

板凳
ID:1052650 发表于 2022-11-23 13:32 来自手机 | 只看该作者
lkc8210 发表于 2022-11-23 09:04
比较一下分别

太感谢你了大佬脑子太笨了

-24c1f5902144c618.gif (10.54 KB, 下载次数: 68)

-24c1f5902144c618.gif
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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