色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

51單片機如何實現流水燈?51單片機實現流水燈的三種方法詳細分析

GReq_mcu168 ? 來源:未知 ? 作者:易水寒 ? 2018-10-03 10:38 ? 次閱讀

首先,介紹下原理。下圖為主控芯片和流水燈模塊的原理圖。流水燈模塊接在單片機的P1口,由原理圖可以知道,在P1口給一個低電平即可點亮LED燈。相反,如果要LED燈熄滅,就要把P1口的電平變為高電平即可。要實現流水燈功能,我們只要將LED1~LED8依次點亮、熄滅,依始類推,8只LED變會一亮一暗的做流水燈了。

實現8個LED流水燈程序用中文表示為:P1.0低、延時、P1.0高、P1.1低、延時、P1.1高、P1.2低、延時、P1.2高、P1.3低、延時、P1.3高、P1.4低、延時、P1.4高、P1.5低、延時、P1.5高、P1.6低、延時、P1.6高、P1.7低、延時、P1.7高、返回到開始、程序結束。

聽起來是不是很簡單??!那么下面我們來看下實現流水燈功能的三種常用方法!

第一種,總線方法實現流水燈。

這是一種比較笨但又最易理解的方法,采用順序程序結構,用位指令控制P1口的每一個位輸出高低電平,加上延時函數,即可控制每個LED燈的亮滅。C程序如下:

#include

#defineucharunsignedchar

#defineuintunsignedint

codeunsignedchartmpled[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//定義八只LED燈,依次點亮八只LED燈

//N毫秒的延時函數

delay_ms(uint ms) { uint i,j; for(i=ms;i>0;i--) for(j=114;j>0;j--); return 0; }void main(void){unchar i;while (1){for(i=0;i<8;i++) //循環點亮8只LED燈{P1=tmpled[i];delay_ms(500); //延時500毫秒}}}

第二種,移位方法實現流水燈

上一種方法是逐個將P1口的LED燈點亮來實現閑的,因此程序看起來有一點復雜。下面將一種用移位的方法。采用循環程序結構編程。首先在程序開始給P1.0口送一個低電平,其它位為高。然后延時一段時間再讓低電平往高位移動,這樣就實現“流水”的效果了。下面來看具體程序:

#include

#defineucharunsignedchar

#defineuintunsignedint

//N毫秒的延時函數

delay_ms(uint ms) { uint i,j; for(i=ms;i>0;i--) for(j=114;j>0;j--); return 0; }

void main(){uchar a,i;while(1){a=0xfe; //點亮第一位LED燈for(i=0;i<8;i++){P1=a;a=a<<1; //左移一位a=a|0x01; //左移一位后與0x01相或,保證左移后最低位為1 delay_ms(500); }}}

第三種,庫函數實現流水燈

C52 提供了 _crol_(字符循環左移);_cror_ (字符循環右移)等庫函數,包含在頭文件intrins.h中。接下來還是先講一下移位的小知識點吧。

左移。C52中操作符為“<<”,每執行一次左移指令,被操作的數將最高位移入單片機PSW寄存器的CY位。CY位中原來的數丟棄,最低位補0,其他位依次向左移動一位。相信大家學過C語言都清楚吧,這里就不多說了。而函數_crol_的作用是循環左移。它會將最高位移入最低位,其他位依次向左移一位。用法:x=0xfe;x=_crol_(x,1);//循環左移移位。接下來看具體程序:

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

//N毫秒的延時函數

delay_ms(uint ms) { uint i,j; for(i=ms;i>0;i--) for(j=114;j>0;j--); return 0; }

void main(){uint a;a=0xfe;while(1){P1=a;a=_crol_(a,1); delay_ms(500);}}

知識點:PSW寄存器。

PSW(Program StatusWord)全稱為程序狀態字標志寄存器,是一個8位寄存器,位于單片機片內的特殊功能寄存器區,字節地址D0H,用來存放運算結果的一些特征,如有無進位、借位等。使用匯編編程時PSW寄存器很有用,但在利用C語言編程時,編譯器會自動控制該寄存器,很少人為操作它,大家只需做簡單了解即可。其每位的具體含義

如圖1 所示:

圖 1 PWD(Program Status Word)寄存器

①CY:進位標志位,它表示運算是否有進位(或借位)。如果操作結果在最高位有進位(加法)或者借位(減法),則該位為1,否則為0。

AC:輔助進位標志,又稱半進位標志,它指兩個8位數運算低四位是否有半進位,即低四位相加(或相減)是否進位(或借位),如有,則AC為1,否則為0。

③F0:由用戶使用的一個狀態標志位,可用軟件來使它置1或清0;也可由軟件來測試它,以控制程序的流向。

RS1、RS0:4組工作寄存器區選擇控制位。在匯編語言中這兩位用來選擇4組工作寄存器區中的哪一組為當前工作寄存區。

⑤OV:溢出標志位,反映帶符號數的運算結果是否有溢出。有溢出時,此位為1,否則為0。

⑥P:奇偶標志位,反映累加器ACC內容的奇偶性,如果ACC中的運算結果有偶數個l(如11001100B,其中有4個1),則P為0,否則P為1。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • led
    led
    +關注

    關注

    242

    文章

    23283

    瀏覽量

    661012
  • 51單片機
    +關注

    關注

    274

    文章

    5704

    瀏覽量

    123657
  • 流水燈
    +關注

    關注

    21

    文章

    433

    瀏覽量

    59722

原文標題:51單片機流水燈的三種實現方法

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于51單片機的心形流水燈原理圖

    51單片機控制的心形流水燈原理圖,通心形流水燈的制作熟悉單片機的接口
    發表于 11-23 11:03 ?72次下載

    51單片機流水燈程序

    51單片機流水燈程序 51單片機流水燈程序
    發表于 12-21 15:52 ?170次下載

    基于單片機流水燈介紹_51單片機流水燈的五實現方法

    本文為大家帶來五51單片機流水燈實現方法。
    發表于 01-06 10:23 ?5.1w次閱讀
    基于<b class='flag-5'>單片機</b>的<b class='flag-5'>流水燈</b>介紹_<b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>流水燈</b>的五<b class='flag-5'>種</b><b class='flag-5'>實現</b><b class='flag-5'>方法</b>

    使用51單片機實現流水燈的程序免費下載

    本文檔的主要內容詳細介紹的是使用51單片機實現流水燈的程序免費下載。
    發表于 08-27 17:29 ?6次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>實現</b><b class='flag-5'>流水燈</b>的程序免費下載

    使用51單片機實現流水燈的程序和Proteus仿真

    本文檔的主要內容詳細介紹的是使用51單片機實現流水燈的程序和Proteus仿真電路圖和工程文件合集免費下載。
    發表于 11-04 08:00 ?6次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>實現</b><b class='flag-5'>流水燈</b>的程序和Proteus仿真

    51單片機實現流水燈的源代碼

    本文檔的主要內容詳細介紹的是使用51單片機實現流水燈的源代碼免費下載。
    發表于 11-13 17:28 ?55次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>實現</b><b class='flag-5'>流水燈</b>的源代碼

    使用51單片機實現流水燈詳細資料說明

    本文檔的主要內容詳細介紹的是使用51單片機實現流水燈詳細資料說明。
    發表于 04-01 17:21 ?21次下載

    基于51單片機流水燈參考案例下載

    基于51單片機流水燈參考案例下載
    發表于 09-05 17:02 ?42次下載

    51單片機三種方法實現流水燈(超詳細

    51單片機三種方法實現流水燈一、數組流水燈二、移位函數流水
    發表于 11-04 15:51 ?17次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>用<b class='flag-5'>三種方法</b><b class='flag-5'>實現</b><b class='flag-5'>流水燈</b>(超<b class='flag-5'>詳細</b>)

    51單片機實現流水燈

    文章目錄51單片機實現流水燈一、點亮第一個LED燈二、流水燈1.總線型控制2.延時函數3._ crol _函數使用4.
    發表于 11-05 13:36 ?24次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>實現</b><b class='flag-5'>流水燈</b>

    51單片機流水燈教程。

    51單片機流水燈教程。
    發表于 11-11 20:21 ?22次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>流水燈</b>教程。

    51單片機流水燈實驗

    基于51單片機流水燈實驗 我們知道通過編寫程序對51單片機進行控制,完成流水燈實驗的方式有許多
    發表于 11-20 17:51 ?66次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>流水燈</b>實驗

    單片機51流水燈

    實驗一 單片機流水燈【實驗目的】1、熟練掌握AT89C51開發板的使用方法和注意事項。2、了解簡單單片機應用系統的設計
    發表于 11-23 16:20 ?24次下載
    <b class='flag-5'>單片機</b><b class='flag-5'>51</b>的<b class='flag-5'>流水燈</b>

    51單片機 LED點亮、閃爍以及流水燈實現

    51單片機學習初體驗,點亮第一只LED燈和讓其閃爍,用四種方法實現流水燈
    發表于 11-23 16:51 ?35次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>  LED點亮、閃爍以及<b class='flag-5'>流水燈</b><b class='flag-5'>實現</b>

    51單片機流水燈制作

    ?流水燈是學習51單片機的一個基本項目,是我們對單片機IO口輸出認識的基本項目。當然學會了花樣流水燈也很好玩。 下面就分享一
    的頭像 發表于 02-26 10:06 ?1634次閱讀
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>流水燈</b>制作
    主站蜘蛛池模板: 热99re久久精品国产首页| 久久91精品久久久久久水蜜桃| 国产精品97久久久久久AV色戒 | 亚洲AV无码国产精品色在线看| 超级最爽的乱淫片免费| 浪潮色诱AV久久久久久久| 伊人久久丁香色婷婷啪啪| 黑人开嫩苞| 亚洲色婷婷久久精品AV蜜桃久久| 国产精品自在在线午夜精品| 外国xxxx| 国产亚洲精品久久孕妇呦呦你懂| 小伙无套内射老女人| 国产麻豆精品传媒AV国产在线| 无人影院在线播放| 国产一浮力影院| 亚洲一区二区免费看| 久久精品亚洲牛牛影视| 中文字幕亚洲无线码在线| 伦理片2499电影伦理片| 99re6久久在热线视频| 欧美成人中文字幕在线视频| 草草色| 色偷偷成人网免费视频男人的天堂| 囯产愉拍亚洲精品一区| 午夜亚洲WWW湿好爽| 国偷自产视频一区二区99| 亚洲最大在线视频| 龙广在线收听| FREE17一18外女破| 少妇仑乱A毛片| 国产亚洲精品久久综合阿香 | 四虎国产精品免费观看视频| 国产成人精品精品欧美| 羞羞漫画免费漫画页面在线看漫画秋蝉 | 国语自产拍大学生在线观看| 亚洲偷自拍精品视频在线观看| 久久视频在线视频| adc影院在线| 午夜色情影院色a国产| 久久久久久极精品久久久|