久久久久久久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

關閉窗口

相關文章

主站蜘蛛池模板: 激情一区二区三区 | h视频免费看| 性做久久久久久免费观看欧美 | 欧美 视频| 一区二区视频在线 | 成人黄色av网址 | 欧美在线一二三 | 欧美a级成人淫片免费看 | 91社区在线观看高清 | 午夜av一区二区 | 欧美一区二区三区在线免费观看 | 艹逼网 | 在线观看视频一区 | 亚洲国产情侣自拍 | 亚洲一区二区精品 | 高清国产午夜精品久久久久久 | 精品久久久久久亚洲综合网 | 国产精品久久久久久久久久久久 | 午夜电影网 | 成人精品国产 | 亚洲日本三级 | 青青草综合网 | 国产xxx在线观看 | 欧洲免费视频 | 91久久北条麻妃一区二区三区 | 日本欧美大片 | xxxxxx国产 | 99综合| 精品中文字幕一区二区 | 日日操夜夜操天天操 | 日韩精品一区二区三区中文在线 | 国产亚洲一区二区在线观看 | 久久久久久久久久爱 | 日韩精品在线一区 | 热久久免费视频 | 精品二区| 欧美精品久久久久 | 国产精品久久久久久妇女6080 | 久久精品免费 | 久久国内精品 | 精品一区二区三区四区外站 |