在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

51單片機流水燈制作

小黃1176 ? 來源: 小黃1176 ? 作者: 小黃1176 ? 2024-02-26 10:06 ? 次閱讀

?流水燈是學習51單片機的一個基本項目,是我們對單片機IO口輸出認識的基本項目。當然學會了花樣流水燈也很好玩。

下面就分享一種51單片機流水燈制作的方法。

一、流水燈原理圖

wKgaomXb8VyASKTsAACFYv8Crn0012.png

二、相關知識

1、while語句

書寫格式:while(表達式) { 語句; //循環體 。。。 }

備注:當while語句中的()里的值為非零值是,while所帶的語句就會執行,為0時程序不執行(只有為0值時不執行),括號里可以是常量,可以是變量,也可以是一個公式。

我們常用寫法:

(1)while(1){ 語句; } //這樣寫代表了這是一個死循環,{ }中的程序會一直循環執行

(2)while(a--){ 語句; } //這樣寫就是當a每執行一次循環會自減一個數,當a的值減到0了,就不執行了。

2、for循環語句

除了while語句語句之外,c語言還有一個for循環語句。

書寫格式:for(初始化表達式;條件表達式;增量表達式) { 語句; 。。。 }

常用寫法:

for(i=0;i<8;i++) ?{ ? ? 語句:。。。 ?}

//這樣寫代表了,for語句的{}中的程序循環執行,循環的次數由()的內容決定,()中的意思是i變量從0開始,到8結束(不含8),i每次自加1,加到8 了跳出循環。

3、左移右移指令

運算符 意義 示例(設j=0x10)
<< 左移(各位同時左移若干位,高位舍棄,低位補零) k=j<<1;//k=0x20 wKgaomXb8OyAOk9nAAAxdleDWKw360.png
>> 右移(各位同時右移若干位,低位舍棄,高位補零) k=j>>1;//k=0x08

wKgaomXb8PGAOFG-AAAxgSp2o54508.png

4、位取反指令

運算符 意義 示例(設a=0x25)
~ 按位取反 c=~a; //c=0xda

wKgaomXb8RWAfCPXAAAJHpseGW4808.png

5、延時函數

/*--------微秒延時--------*/
void delay_us(uint z)
{
uint x;
for(x=z;x>0;x--);
}

第一個延時函數是微秒級延時,程序原理是for語句每循環一次,單片機執行一次空語句,51單片機(接12M晶振)執行每次空語句實際不止1us,一般會是幾微秒。
/*--------毫秒延時--------*/
void delay_ms(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}

第二個延時函數是毫秒級延時,其中的兩個for語句成為嵌套訓話語句,下面的for嵌套在上面的for里面執行。下面的for代表了循環執行110次空語句,得到一個1ms延時,此時上面的for循環多少次就延時多少毫秒,而延時多少毫秒由,變量z決定。

三、例程

 
/*---------------------------
流水燈接口:P1    
------------------------------*/
 
 
#include
 
#define uint unsigned int
#define uchar unsigned char
 
 
 
/*--------微妙延時--------*/
void delay_us(uint z)
{
	uint x;
	for(x=z;x>0;x--);
}
/*--------毫秒延時--------*/
void delay_ms(uint z)
{
  uint x,y;
	for(x=z;x>0;x--)
	   for(y=110;y>0;y--); 
}
 
/*----------主函數-----------*/
void main()
{
	
	P0=0x00;P1=0xff;P2=0x00;P3=0x00;//端口初始化,熄滅所有LED燈
	uchar i,j;
	while(1)
	{
	  j=0x01;
	  for(i=0;i

審核編輯 黃宇

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

?

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

    關注

    274

    文章

    5705

    瀏覽量

    124395
  • C語言
    +關注

    關注

    180

    文章

    7615

    瀏覽量

    137827
  • 流水燈
    +關注

    關注

    21

    文章

    433

    瀏覽量

    59843
收藏 人收藏

    評論

    相關推薦

    51單片機pwm和spwm

    51單片機pwm
    發表于 01-08 15:54 ?2次下載

    低成本單片機方案——觸摸流水燈開關控制

    概述本方案旨在提供一種基于低成本單片機的觸摸流水燈開關控制解決方案。該方案結合了單片機技術、電容式觸摸傳感技術和LED驅動技術,實現了通過觸摸操作控制流水燈的效果。
    的頭像 發表于 12-26 16:37 ?267次閱讀
    低成本<b class='flag-5'>單片機</b>方案——觸摸<b class='flag-5'>流水燈</b>開關控制

    51單片機核心板原理圖

    51單片機核心板原理圖
    發表于 12-16 11:30 ?3次下載

    51單片機中為什么很少出現printf的身影

    51單片機中為什么很少出現 printf 的身影?是用不了嗎? 不是的,51單片機可以用 printf,只是不建議使用。 平時我們在操作系統上寫C語言代碼,使用 printf 可以把數
    的頭像 發表于 12-03 10:46 ?574次閱讀
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>中為什么很少出現printf的身影

    基于51單片機的手動數字時鐘

    具體實現功能由51單片機+8位共陰數碼管+獨立按鍵構成。具體功能:(1)利用數碼管顯示時分秒,顯示格式為“時-分-秒”;(2)利用6個按鍵控制時、分、秒,設定好后自動開始時鐘顯示;(3)設置秒復位
    的頭像 發表于 10-22 14:12 ?301次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b>的手動數字時鐘

    基于51單片機的遙控開關仿真(雙機通信)

    具體實現功能由51單片機+獨立按鍵+繼電器+LED燈等構成。實現功能:(1)本仿真設計的是一款遙控開關,采用51單片機進行遙控器與主機的設計;(2)遙控器由
    的頭像 發表于 10-22 14:12 ?397次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b>的遙控開關仿真(雙機通信)

    基于51單片機的跑馬燈/流水燈系統

    具體實現功能(1)9種LED流水燈模式通過按鍵進行切換,數碼管顯示流水燈模式。(2)通過加減按鍵可以切換每種LED流水燈的速度。仿真演示視頻:設計介紹51
    的頭像 發表于 10-22 14:12 ?326次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b>的跑馬燈/<b class='flag-5'>流水燈</b>系統

    如何實現51單片機與PC的串行通信

    51單片機與PC的串行通信是一種常見的通信方式,它允許單片機通過串行接口與PC進行數據交換。這種通信方式在嵌入式系統、工業控制、物聯網等
    的頭像 發表于 10-21 11:35 ?1318次閱讀

    51單片機驅動

    電子發燒友網站提供《51單片機驅動.exe》資料免費下載
    發表于 09-20 11:46 ?5次下載

    51單片機晶振的問題總結

    電子發燒友網站提供《51單片機晶振的問題總結.doc》資料免費下載
    發表于 09-07 09:32 ?0次下載

    51單片機燒錄軟件怎么用

    準備工作 確保您已經安裝了51單片機燒錄軟件,如Keil、IAR等。 準備好51單片機開發板和燒錄器,如STC-ISP等。 確保您的計算機已經安裝了相應的驅動程序。 安裝燒錄軟件 從官
    的頭像 發表于 08-22 09:26 ?1533次閱讀

    基于51單片機數字時鐘鬧鐘設計

    本資源內容概要:? ? ? ?這是基于51單片機數字時鐘鬧鐘設計包含了PDF版本電路圖、C語言程序源代碼(keil軟件打開)、proteus仿真。本資源適合人群:? ? ? 單片機愛好者、電子
    發表于 06-25 10:17 ?0次下載

    基于51單片機24秒倒計時設計

    本資源內容概要:? ? ? ?這是基于51單片機24秒倒計時設計包含了 C語言程序源代碼(keil軟件打開) 。本資源適合人群:? ? ? 單片機愛好者、電子類專業學生、電子diy愛好者。本資源能
    發表于 06-25 10:03 ?0次下載

    單片機POV LED流水燈制作

    電子發燒友網站提供《單片機POV LED流水燈制作.docx》資料免費下載
    發表于 05-28 14:34 ?3次下載

    ?51單片機串口通信詳細介紹-小白必看

    51單片機串口通信是單片機與外部設備通信的重要方式,它基于串行通信的原理,以字節為單位進行數據傳輸。在51單片機中,串口通信主要依賴于兩個關
    的頭像 發表于 04-17 09:33 ?2174次閱讀
    ?<b class='flag-5'>51</b><b class='flag-5'>單片機</b>串口通信詳細介紹-小白必看
    主站蜘蛛池模板: 国产片在线观看狂喷潮bt天堂 | 国产人人澡| 久久美女视频 | 久久国产精品99久久久久久老狼 | 被啪漫画羞羞漫画 | 99国产国人青青视频在线观看 | 欧美深深色噜噜狠狠yyy | 一级片免费在线 | 久久精品免看国产 | 色婷婷激情五月 | 精品四虎免费观看国产高清午夜 | 欧美成人免费网站 | 午夜在线观看免费视频 | 自拍偷自拍亚洲精品被多人伦好爽 | 人人干人人爱 | 国产精品综合色区在线观看 | 蜜月mv国产精品 | 在线高清一级欧美精品 | 亚洲天天在线 | 国产免费爽爽视频免费可以看 | 亚洲国产欧美在线成人aaaa | 男人午夜禁片在线观看 | 亚洲成在人天堂一区二区 | 亚洲免费视频一区二区三区 | 影音先锋色偷偷米奇四色 | 伊人精品久久久大香线蕉99 | 夜夜夜夜夜夜夜猛噜噜噜噜噜噜 | 美女操出水 | 精品在线一区二区三区 | 五月婷六月丁香 | 一及黄色 | 午夜看片a福利在线 | 国产一级久久免费特黄 | 色综色| 亚洲第一区第二区 | 卡一卡二卡三国色天香永不失联 | 久久伊人影视 | 午夜激情福利 | 天天爽夜爽免费精品视频 | 日本一区二区三区免费看 | 玖玖在线|