zoukankan      html  css  js  c++  java
  • 04流水灯

    Way1,

     1 #include<reg52.h>
     2 sbit LED0=P1^0;
     3 void delay(float t)
     4 {
     5     unsigned int j,i;
     6     j=t*100;
     7     while(j--)     // 150400-1 
     8     {
     9       for(i=1505;i;i--);   //1505-1=1504   1504-1=1503 
    10     }
    11 }
    12 void main()
    13 {
    14     while(1)
    15     {
    16     LED0=0;
    17     delay(0.5);
    18     LED0=1;
    19     delay(0.5);
    20     }
    21 }

    Way2,

     1 #include<reg52.h>
     2 sbit LED0=P1^0;
     3 sbit LED1=P1^1;
     4 sbit LED2=P1^2;
     5 sbit LED3=P1^3;
     6 sbit LED4=P1^4;
     7 sbit LED5=P1^5;
     8 sbit LED6=P1^6;
     9 sbit LED7=P1^7;
    10 
    11 void delay(float t)
    12 {
    13     unsigned int j,i;
    14     j=t*100;
    15     while(j--)     // 150400-1 
    16     {
    17       for(i=1505;i;i--);   //1505-1=1504   1504-1=1503 
    18     }
    19 }
    20 void main()
    21 {
    22     while(1)
    23     {
    24     LED0=0;
    25     delay(0.5);
    26     LED0=1;
    27     delay(0.5);
    28 
    29     LED1=0;
    30     delay(0.5);
    31     LED1=1;
    32     delay(0.5);
    33 
    34     LED2=0;
    35     delay(0.5);
    36     LED2=1;
    37     delay(0.5);
    38 
    39     LED3=0;
    40     delay(0.5);
    41     LED3=1;
    42     delay(0.5);
    43 
    44     LED4=0;
    45     delay(0.5);
    46     LED4=1;
    47     delay(0.5);
    48 
    49     LED5=0;
    50     delay(0.5);
    51     LED5=1;
    52     delay(0.5);
    53 
    54     LED6=0;
    55     delay(0.5);
    56     LED6=1;
    57     delay(0.5);
    58 
    59     LED7=0;
    60     delay(0.5);
    61     LED7=1;
    62     delay(0.5);
    63     }
    64 }

    Way 3,

     1 #include<reg52.h>
     2 void delay(unsigned int t) //0-65535
     3 {
     4 while(--t);
     5 }
     6 void main()
     7 {
     8     unsigned char q;//0-255
     9     P1=0xfe;//1111 1110  1111 1101  1111 1011
    10     while(1)
    11     {
    12      for(q=0;q<8;q++)
    13      {
    14       delay(50000);
    15       P1<<=1;
    16       P1=P1|0X01; //0000 0001
    17      } 
    18     }
    19 }

    Way 4

     1 #include<reg52.h> //包含头文件,一般情况不需要改动,
     2                   //头文件包含特殊功能寄存器的定义
     3 /*-------------------------IO口定义----------------------------*/
     4 sbit P20 = P2^0;//这是为了关闭开发板上的数码管实际应用去掉
     5 sbit P21 = P2^1;//这是为了关闭开发板上的数码管实际应用去掉
     6 sbit CS88 = P2^2;//这是为了关闭开发板上的点阵实际应用去掉
     7 
     8 /*------------------------------------------------
     9                   花样表格
    10 ------------------------------------------------*/
    11 unsigned char code seg[]={0x7f,0xbf,0xdf,0xef,
    12                           0xf7,0xfb,0xfd,0xfe,
    13                           0xff,0xff,0x00,0x00,
    14                           0x55,0x55,0xaa,0xaa
    15                           };//rom允许情况可以无限添加
    16 
    17 void Delay(unsigned int t); //函数声明
    18 /*------------------------------------------------
    19                     主函数
    20 ------------------------------------------------*/
    21 main()
    22 {
    23  unsigned char i;                //定义一个无符号字符型
    24                                  //局部变量 i 取值范围 0~255
    25     P1=0x00;//这是为了关闭开发板上的数码管实际应用去掉
    26     P20=0; //这是为了关闭开发板上的数码管实际应用去掉
    27     P21=0; //这是为了关闭开发板上的数码管实际应用去掉
    28     CS88=0; //这是为了关闭开发板上的点阵实际应用去掉
    29     P1=0xFF;//P1口置1
    30  while(1)
    31       {
    32       P1=0xFE;                   //第1个LED亮
    33       for(i=0;i<8;i++)
    34          {
    35          Delay(20000);
    36          P1 <<=1;
    37          }
    38 
    39       P1=0x7F;                   //第8个LED亮
    40       for(i=0;i<8;i++)
    41          {
    42          Delay(20000);
    43          P1 >>=1;
    44          }
    45 
    46       P1=0xFE;                  //第1个LED亮
    47       for(i=0;i<8;i++)
    48          {
    49          Delay(20000);
    50          P1 <<=1;
    51          P1 |=0x01;
    52          }
    53 
    54       P1=0x7F;                  //第8个LED亮
    55       for(i=0;i<8;i++)
    56          {
    57          Delay(20000);
    58          P1 >>=1;
    59          P1 |=0x80;
    60          }
    61       //下面通过查表方法获得花样参数
    62       for(i=0;i<16;i++)//查表可以简单的显示各种花样 实用性更强
    63          {
    64          Delay(20000);
    65          P1=seg[i];
    66          }
    67       }
    68 
    69 }
    70 
    71 /*------------------------------------------------
    72  延时函数,含有输入参数 unsigned int t,无返回值
    73  unsigned int 是定义无符号整形变量,其值的范围是
    74  0~65535
    75 ------------------------------------------------*/
    76 void Delay(unsigned int t)
    77 {
    78  while(--t);
    79 }

    先写自己目前进度,稍后补。。。

  • 相关阅读:
    zoj 2812
    按1的个数排序
    输出等腰梯形
    约瑟夫环杂题
    九度oj 题目1369:字符串的排列
    .NET CORE LOG
    .NET CORE 配置
    dotnet core 数据库
    asp.net core mvc简介
    dotnet core 项目
  • 原文地址:https://www.cnblogs.com/Sweet-City/p/8322166.html
Copyright © 2011-2022 走看看