标题: 求这张图灯全亮一段时间然后全灭然后一段时间又全亮,重复这个过程的程序 [打印本页]

作者: 983207083    时间: 2018-5-7 12:35
标题: 求这张图灯全亮一段时间然后全灭然后一段时间又全亮,重复这个过程的程序

QQ截图20180507123202.png (24.74 KB, 下载次数: 69)

QQ截图20180507123202.png

作者: a920051220    时间: 2018-5-7 12:35
已寫好!!,用Keil c編譯即可

#include <AT89X51.H>
void delayms(unsigned int time);

main()
{
  while(1)
   {
    P1=0x00;
    delayms(200);
    P1=0xff;
    delayms(200);
   }
}

void delayms(unsigned int time)
{
  unsigned int n;
  while(time>0)
   {
    n=120;
    while(n>0)  n--;
    time--;
   }
}

作者: chaoself    时间: 2018-5-7 17:37
这个不难吧,P1=0x00,P1=0xff之间加delay()延时函数就可以了
作者: 可乐可口w    时间: 2018-5-7 21:12
本帖最后由 可乐可口w 于 2018-5-8 16:01 编辑

#include<reg51.h>
void delay(int);
void main()
{
while(1)
{
P1=0x00;
delay(100);
P1=0xff;
}
}

void delay(int x)
{
int i,j;
for(i=0;i<x;i++)
for(j=0;j<=60;j++);

}





作者: WANGCHONG    时间: 2018-5-7 21:48
老铁希望你采纳我的答案,你可以添加我为好友以后你还有什么以为都可以询问我

led程序.zip

16.9 KB, 下载次数: 3


作者: f193876392    时间: 2018-5-7 23:22
主要是加一个延时程序,然后while(1)循环,延时程序改动数字可以调不同时间差
#include "reg51.h"
#define unit unsigned int
#define uchar unsigned char
void delay(void)
{
  uchar i,j,k;
  for(i=30;i>0;i--)
  {
    for(j=300;j>0;j--)
        {
          for(k=800;k>0;k--)
          {;}
          }
          }
          }
void main(void)
{
   uchar i,j;
   while(1)
   {
     j=0x1000;
         for(i=0;i<8;i++)
         {
           P1=j;
           delay();
           j=j<<1;
           }
           P1=0xff;
           delay();
           }
           }
作者: yinzy0305    时间: 2018-5-8 16:05
这个就是高低电平的控制和延时程序




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1