找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3348|回复: 16
收起左侧

51单片机C语言怎么使8个LED同时快速闪烁?

  [复制链接]
ID:990361 发表于 2021-12-17 21:07 来自触屏版 | 显示全部楼层 |阅读模式
求大佬教下
回复

使用道具 举报

ID:407019 发表于 2021-12-17 22:38 | 显示全部楼层
#define    led    P2

void main()
{
while(1)
{
led=0x00;
delay(500);   //延时函数  自定义
led=0xff;
delay(500);
}
}

是这个意思吗?还是说跑马灯?
回复

使用道具 举报

ID:57657 发表于 2021-12-17 22:47 | 显示全部楼层
你想要多快 ? 不加延时闪烁频率可以上Mhz
回复

使用道具 举报

ID:908826 发表于 2021-12-18 08:32 | 显示全部楼层
你想多快。
回复

使用道具 举报

ID:8222 发表于 2021-12-18 11:19 | 显示全部楼层
3125311919 发表于 2021-12-17 22:38
#define    led    P2

void main()

同时闪亮,这是哪门子的跑马灯????
回复

使用道具 举报

ID:8222 发表于 2021-12-18 11:27 | 显示全部楼层
#define    led    P2
void main()
{
   lde=0xff;
   while(1)
   {
      led~=led;
      delay(500);   //延时函数  自定义
   }
}
回复

使用道具 举报

ID:678280 发表于 2021-12-18 11:29 | 显示全部楼层
#include<reg52.h>
void main()
{
  unsigned int i=12345;
  P1=0x00;
while(i--);
P1=0xff;
while(i--);
}
回复

使用道具 举报

ID:811253 发表于 2021-12-18 16:57 | 显示全部楼层
对I0口进行取反即可
  P0=~P0;
//加延时 长短就表示闪的频率
回复

使用道具 举报

ID:991978 发表于 2021-12-18 19:53 | 显示全部楼层
void Delay(unsigned int xms)                //@12.000MHz
{
        unsigned char i, j;
       
        while(xms--){
                i = 2;
                j = 239;
                do
                {
                        while (--j);
                } while (--i);
        }
}

void main()
{
while(1)
{
P2=0x00;
delay(500);   
P2=0xff;
delay(500);
}
}
回复

使用道具 举报

ID:290373 发表于 2021-12-18 23:41 | 显示全部楼层
不用delay做延时的话可以做一个时间变量,在while(1)里判断这个变量的值,比如
  1. uint32_t sysTick; //1ms时间计数
  2. //...
  3. while(1) {
  4.     if(sysTick % 10 == 0) {
  5.         //...
  6.     }
  7.     if(sysTick % 100 == 0) {
  8.         //....
  9.     }
  10. }
复制代码
回复

使用道具 举报

ID:230742 发表于 2021-12-19 09:44 | 显示全部楼层
想要多快?你知道晶振24M是个什么概念吗?
还有35M。
最新款的有45M
STM32的有70M
回复

使用道具 举报

ID:474386 发表于 2021-12-21 15:54 | 显示全部楼层
那么快,肉眼都分辨不出来它闪过。
回复

使用道具 举报

ID:994053 发表于 2021-12-24 14:00 | 显示全部楼层
快点不好吧
回复

使用道具 举报

ID:893997 发表于 2021-12-30 15:53 | 显示全部楼层
取反就行
回复

使用道具 举报

ID:654797 发表于 2021-12-30 22:00 | 显示全部楼层
闪快了,看都看不到,有什么用,
回复

使用道具 举报

ID:654797 发表于 2021-12-30 22:04 | 显示全部楼层
你把8个LED都接到P1.0-P1.7上,在代码里加上P1=~P1;这样就行了
回复

使用道具 举报

ID:57657 发表于 2021-12-30 22:09 | 显示全部楼层
vscos 发表于 2021-12-30 22:00
闪快了,看都看不到,有什么用,

看不到,但传感器可以捕捉到是什么频率。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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