久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

單片機流水燈設計

作者:佚名   來源:本站原創   點擊數:  更新時間:2007年06月12日   【字體:

下面介紹幾個單片機器流水燈設計的程序

51單片機流水燈C語言源程序(源創) **************************************************************
  文件名稱:flash_led.c
  文件說明:流水燈C程序
  編寫人員:Jerry Yang
  編寫日期:2006年10月5日
  程序說明:MCU采用AT89S51,外接12M晶振,P1口輸出
  版權標注:豪杰電子工作室(http://hokepoly.bokee.com)
*************************************************************/
#include<reg51.h>   //51系列單片機定義文件
#define uchar unsigned char //定義無符號字符
#define uint unsigned int  //定義無符號整數
void delay(uint);   //聲明延時函數
void main(void)
{
uint i;
uchar temp;
while(1)
  {
 temp=0x01;
   for(i=0;i<8;i++)  //8個流水燈逐個閃動
    {
    P1=~temp;
    delay(100);   //調用延時函數
    temp<<=1;
    }
 temp=0x80;
 for(i=0;i<8;i++)  //8個流水燈反向逐個閃動
  {
  P1=~temp;
  delay(100);   //調用延時函數
  temp>>=1;
  }
    temp=0xFE;
 for(i=0;i<8;i++)  //8個流水燈依次全部點亮
  {
  P1=temp;
  delay(100);   //調用延時函數
  temp<<=1;
  }
  temp=0x7F;
  for(i=0;i<8;i++)  //8個流水燈依次反向全部點亮
   {
  P1=temp;
  delay(100);   //調用延時函數
  temp>>=1;
  }
 }

}
 void delay(uint t)   //定義延時函數
{
register uint bt;
for(;t;t--)
 for(bt=0;bt<255;bt++);
}


/************************************************************
*89C51、S51單片機32個IO口流水燈測試程序
*Flash0、1、2、3分別對應單片機的P0、1、2、3四個口
*a程序對應流水燈從全滅到一個一個亮
*b程序對應流水燈從全亮到一個一個滅
*Author:大靈通
*2006-7-26 10:57,OK!
*************************************************************/
#include<reg51.h>
#include<intrins.h>
#include<absacc.h>
#define uchar unsigned char
#define uint unsigned int
#define TimeDelay 60000
void delay(uint n);
void Flash0a(void);
void Flash0b(void);
void Flash1a(void);
void Flash1b(void);
void Flash2a(void);
void Flash2b(void);
void Flash3a(void);
void Flash3b(void);
/************************************************************
*Function: 主函數
*parameter:
*Return:
*Modify:
*************************************************************/
void main(void)
{
    while(1)
 {
  Flash1b();
  Flash1a();
 
  delay(TimeDelay);
  delay(TimeDelay);
 
  Flash0b();
  Flash0a();
 
  Flash2b();
  Flash2a();
 
  Flash1b();
  Flash1a();
 
  Flash3b();
  Flash3a();
 }
}
/************************************************************
*Function: 延時
*parameter:
*Return:
*Modify:
*************************************************************/
void delay(uint n)
{
 while(n!=0)
 {
  n--;
 }
}
void Flash0a(void)
{
 uchar i;
 uchar Temp;
 Temp = 0x80;
 for(i=0;i<8;i++)
 {
  P0 = ~Temp;
  delay(TimeDelay);
  Temp = Temp >> 1;
 }
 P0 = 0xff;
}
void Flash0b(void)
{
 uchar i;
 uchar Temp;
 Temp = 0x80;
 for(i=0;i<8;i++)
 {
  P0 = Temp; 
  delay(TimeDelay);
  Temp = Temp >> 1;
 }
 P0 = 0;
}
void Flash1a(void)
{
 uchar i;
 uchar Temp;
 P1 = 1;
 Temp = 0x80;
 for(i=0;i<8;i++)
 {
  P1 = ~Temp;
  delay(TimeDelay);
  Temp = Temp >> 1;
 }
 P1 = 0xff;
}
void Flash1b(void)
{
 uchar i;
 uchar Temp;
 P1 = 1;
 Temp = 0x80;
 for(i=0;i<8;i++)
 {
  P1 = Temp; 
  delay(TimeDelay);
  Temp = Temp >> 1;
 }
 P1 = 0;
}
void Flash2a(void)
{
 uchar i;
 uchar Temp;
 P2 = 1;
 Temp = 0x80;
 for(i=0;i<8;i++)
 {
  P2 = ~Temp;
  delay(TimeDelay);
  Temp = Temp >> 1;
 }
 P2 = 0xff;
}
void Flash2b(void)
{
 uchar i;
 uchar Temp;
 P2 = 1;
 Temp = 0x80;
 for(i=0;i<8;i++)
 {
  P2 = Temp; 
  delay(TimeDelay);
  Temp = Temp >> 1;
 }
 P2 = 0;
}
void Flash3a(void)
{
 uchar i;
 uchar Temp;
 P3 = 1;
 Temp = 0x80;
 for(i=0;i<8;i++)
 {
  P3 = ~Temp;
  delay(TimeDelay);
  Temp = Temp >> 1;
 }
 P3 = 0xff;
}
void Flash3b(void)
{
 uchar i;
 uchar Temp;
 P3 = 1;
 Temp = 0x80;
 for(i=0;i<8;i++)
 {
  P3 = Temp; 
  delay(TimeDelay);
  Temp = Temp >> 1;
 }
 P3 = 0;
}

===========

;P1口八個LED燈做三路流水燈實驗
;***************************************************************
;* Date : 2004.4.20                                                                                               *
;* Support Mb:020-34007281     E-mail:c51cn@163.com                                    *
;* Create by :dengdewu
http://www.c51.cn 更多例程請登陸網站                       *
;* 網站單片機學習資料同步更新,敬請新老朋友隨時關注                         *
;***************************************************************

     ORG    0000H
     LJMP   MAIN
     ORG    030H
MAIN:MOV    P1,#0DBH        ;11011011--0為亮,1為滅
     ACALL  DELAY
     MOV     P1,#06DH       ;01101101
     ACALL   DELAY
     MOV     P1,#0B6H       ;10110110
     ACALL   DELAY
     AJMP    MAIN 
DELAY:MOV    R7,#255        ;延時子程序
D1:  MOV     R6,#255
D2:  DJNZ    R6,D2
     DJNZ    R7,D1
     RET
     END

關閉窗口

相關文章

主站蜘蛛池模板: 一区二区福利视频 | 日韩精品色网 | 中文字幕在线一区二区三区 | 日韩成人专区 | 国产一区二区三区在线看 | 精品三级在线观看 | 欧美日韩在线一区二区三区 | 国产91久久久久 | 久久大陆 | 亚洲视频在线观看一区二区三区 | 波多野结衣中文字幕一区二区三区 | 狠狠色狠狠色综合日日92 | 免费成人高清在线视频 | 午夜精品视频一区 | 国产日韩欧美一区 | 欧美日韩一区二区三区四区 | 亚洲精品乱码久久久久久9色 | 国产精品久久久久久久久久不蜜臀 | 99爱视频| 超碰男人天堂 | 狠狠干影院| 久久美国 | 国产激情视频网站 | 亚洲导航深夜福利涩涩屋 | 日韩在线小视频 | 少妇一级淫片aaaaaaaaa | 欧美日韩亚洲一区二区 | 久久33| 国产成人午夜精品影院游乐网 | av免费在线观看网站 | 日韩一二区 | 午夜视频免费 | 久久成人精品视频 | 国产高清一区二区三区 | 亚洲精品女优 | 激情五月婷婷综合 | 日韩在线观看视频一区 | 成年免费视频 | 亚洲综合一区二区三区 | 国产精品毛片在线 | 成人在线中文字幕 |