欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 流水燈 [打印本頁]

作者: 398231290    時間: 2016-1-8 09:04
標題: 流水燈
/*************************************************************/
/* 【類型】流水燈程序最常規寫法                              */
/* 【現象】流水燈從左到右依次點亮,亮燈的時候蜂鳴器響        */
/* 【說明】Copyright(C)鐵牛電子 -        */
/*************************************************************/

#include<reg52.h>   //52單片機頭文件,一般不要改動,里面包含特殊功能寄存器的定義
#define uchar unsigned char   //將unsigned char定義為uchar,簡化輸寫。提高編程速度
#define uint unsigned int   //將unsigned char定義為uint,簡化輸寫。提高編程速度
sbit L1 = P2^7;       //分別定義每一位燈
sbit L2 = P2^6;
sbit L3 = P2^5;
sbit L4 = P2^4;
sbit L5 = P2^3;
sbit L6 = P2^2;
sbit L7 = P2^1;
sbit L8 = P2^0;
sbit beep= P3^4;
void delay()        //延時程序
{
int x,y;
for(x=200;x>0;x--)   //for語句 先執行X=200;再執行X>0(是真);則執行X--;再執行下面的for語句。
   for(y=100;y>0;y--);  //如果X>0(是假);則跳出FOR語句
}
void main()
{
while(1)
{
  delay();
  L1=0;
  beep=0;
  delay();
  L1=1;
  beep=1;
  delay();
  L2=0;
  beep=0;
  delay();
  L2=1;
  beep=1;
  delay();
  L3=0;
  beep=0;
  delay();
  L3=1;
  beep=1;
  delay();
  L4=0;
  beep=0;
  delay();
  L4=1;
  beep=1;
  delay();
  L5=0;
  beep=0;
  delay();
  L5=1;
  beep=1;
  delay();
  L6=0;
  beep=0;
  delay();
  L6=1;
  beep=1;
  delay();
  L7=0;
  beep=0;
  delay();
  L7=1;
  beep=1;
  delay();
  L8=0;
  beep=0;
  delay();
  L8=1;
  beep=1;
}
}


作者: Optimus    時間: 2016-9-27 00:18
只是想問一下延時函數括號中不需要填寫數字么(萌新一個,問的可能有點不對)
作者: npn    時間: 2016-9-27 07:44
Optimus 發表于 2016-9-27 00:18
只是想問一下延時函數括號中不需要填寫數字么(萌新一個,問的可能有點不對)

任何函數需要參數時則必須填寫數字,否則留空或填void。
比如void abc(uc aaa){} 比如abc是函數名,局部變量aaa是傳遞給函數的值。
調用的時候 abc(123);則調用函數時將數字123傳給變量aaa,變量aaa可以被其他語句讀寫,函數返回后里面的所有局部變量將會被清空并被其他函數對該地址的變量重復覆蓋定義使用。
局部變量是函數內部定義使用的,只能在一個函數里使用,全局變量是函數外部定義的,可以在任何函數中使用。

作者: 蠟青mos    時間: 2017-8-17 01:23
lz有左操作符實現流水燈的程序嗎?
作者: hsf123hsf    時間: 2017-8-17 22:57
樓主寫的不錯,建議考慮通過for循環來完成會簡練一點
作者: moon84523    時間: 2017-8-19 13:59
這樣寫更簡練
#include<reg52.h>   //52單片機頭文件,一般不要改動,里面包含特殊功能寄存器的定義
#define uchar unsigned char   //將unsigned char定義為uchar,簡化輸寫。提高編程速度
#define uint unsigned int   //將unsigned char定義為uint,簡化輸寫。提高編程速度

sbit beep= P3^4;
void delay()        //延時程序
{
int x,y;
for(x=200;x>0;x--)   //for語句 先執行X=200;再執行X>0(是真);則執行X--;再執行下面的for語句。
   for(y=100;y>0;y--);  //如果X>0(是假);則跳出FOR語句
}

void main()
{
        uchar i,j;
        i=0;
        j=0x01;
        while(1)
        {
                P2=j<<i;
                beep=~beep;
                delay();
                i++;
                i&=0x07;
        }
}





歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1