找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

  [复制链接]
跳转到指定楼层
#
ID:990361 发表于 2021-12-17 21:07 来自手机 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
求大佬教下
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

16#
ID:57657 发表于 2021-12-30 22:09 | 只看该作者
vscos 发表于 2021-12-30 22:00
闪快了,看都看不到,有什么用,

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

使用道具 举报

15#
ID:654797 发表于 2021-12-30 22:04 | 只看该作者
你把8个LED都接到P1.0-P1.7上,在代码里加上P1=~P1;这样就行了
回复

使用道具 举报

14#
ID:654797 发表于 2021-12-30 22:00 | 只看该作者
闪快了,看都看不到,有什么用,
回复

使用道具 举报

13#
ID:893997 发表于 2021-12-30 15:53 | 只看该作者
取反就行
回复

使用道具 举报

12#
ID:994053 发表于 2021-12-24 14:00 | 只看该作者
快点不好吧
回复

使用道具 举报

11#
ID:474386 发表于 2021-12-21 15:54 | 只看该作者
那么快,肉眼都分辨不出来它闪过。
回复

使用道具 举报

10#
ID:230742 发表于 2021-12-19 09:44 | 只看该作者
想要多快?你知道晶振24M是个什么概念吗?
还有35M。
最新款的有45M
STM32的有70M
回复

使用道具 举报

9#
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. }
复制代码
回复

使用道具 举报

8#
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);
}
}
回复

使用道具 举报

7#
ID:811253 发表于 2021-12-18 16:57 | 只看该作者
对I0口进行取反即可
  P0=~P0;
//加延时 长短就表示闪的频率
回复

使用道具 举报

6#
ID:678280 发表于 2021-12-18 11:29 | 只看该作者
#include<reg52.h>
void main()
{
  unsigned int i=12345;
  P1=0x00;
while(i--);
P1=0xff;
while(i--);
}
回复

使用道具 举报

5#
ID:8222 发表于 2021-12-18 11:27 | 只看该作者
#define    led    P2
void main()
{
   lde=0xff;
   while(1)
   {
      led~=led;
      delay(500);   //延时函数  自定义
   }
}
回复

使用道具 举报

地板
ID:8222 发表于 2021-12-18 11:19 | 只看该作者
3125311919 发表于 2021-12-17 22:38
#define    led    P2

void main()

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

使用道具 举报

板凳
ID:908826 发表于 2021-12-18 08:32 | 只看该作者
你想多快。
回复

使用道具 举报

沙发
ID:57657 发表于 2021-12-17 22:47 | 只看该作者
你想要多快 ? 不加延时闪烁频率可以上Mhz
回复

使用道具 举报

楼主
ID:407019 发表于 2021-12-17 22:38 | 只看该作者
#define    led    P2

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

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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