<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發(fā)網(wǎng)

      電子開發(fā)網(wǎng)電子設(shè)計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
      搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 單片機(jī) >> 正文

      單片機(jī)C語言編程入門教程  流水燈程序示例

      作者:佚名    文章來源:本站原創(chuàng)    點擊數(shù):    更新時間:2023/5/13

      單片機(jī)C語言編程相對于匯編語言來講入門比較容易,不需要對硬件理解那么深刻,有C語言基礎(chǔ)的人學(xué)習(xí)起來更有優(yōu)勢。單片機(jī)C語言編程入門只需要學(xué)會編寫簡單的輸入、輸出控制即可,入門后再根據(jù)需要逐步深入學(xué)習(xí)。

      一、電路圖

      單片機(jī)流水燈程序示例 


      說明:仿真軟件后臺已默認(rèn)是單片機(jī)最小系統(tǒng),本圖沒再添加電源、復(fù)位電路和時鐘電路。P0口連接發(fā)光二極管,并且連接了上拉電阻和5V電源,P3口連接獨立式按鍵。

      二、單片機(jī)C語言入門常用指令

      1、#include(包含命令)

      #include <reg51.h> //將指定的定義和聲明文件加入程序中。

      2、#define(宏定義命令)

      #define D P0 //定義D為端口P0。

      3、sbit(位定義)

      sbit D1=P0^0; //定義D1為引腳P0.0。

      3、if(條件判斷指令)

      if (條件1)

      程序a;

      else(條件2)

      程序b; //條件1滿足,執(zhí)行程序a;條件2滿足,執(zhí)行程序b;

      4、for(循環(huán)指令)

      for(int i=0;i<8;i++)

      { } //i為整型變量,小于8時一直循環(huán)大括號內(nèi)容。

      5、while(循環(huán)指令)

      while (表達(dá)式)

      {

      語句;

      } //表達(dá)式成立,執(zhí)行大括號里內(nèi)容。

      三、入門任務(wù)講解:

      1、單片機(jī)控制流水燈D1-D8(輸出練習(xí))

      (1)分析:根據(jù)上圖所示,P0口連接發(fā)光二極管正極,所以P0口要輸出高電平才能使發(fā)光二極管導(dǎo)通。大部分電路P0連接發(fā)光二極管負(fù)極,只要輸出低電平就可以導(dǎo)通,并且減少了上拉電阻。

      (2)程序及注釋

      #include //引用52單片機(jī)頭文件
      sbit D1=P0^0;
      sbit D2=P0^1;
      sbit D3=P0^2;
      sbit D4=P0^3;
      sbit D5=P0^4;
      sbit D6=P0^5;
      sbit D7=P0^6;
      sbit D8=P0^7;
      /*位定義做流水燈,入門容易;也可端口定義,#define D P0*/
      delay() //延時函數(shù)
      {
      unsigned char i,j; //定義無符號字符型,也可用int定義為整型變量
      for(i=0;i<2;i++) //外層循環(huán),這里不加分號。
      for(j=0;j<112;j++); //內(nèi)層循環(huán),加分號,表示后面不執(zhí)行任何指令
      }
      main() //主函數(shù)
      {
      D1=0;
      D2=0;
      D3=0;
      D4=0;
      D5=0;
      D6=0;
      D7=0;
      D8=0;
      /*初始燈處于熄滅狀態(tài)。也可for循環(huán)for(int i=1;i<9;i++) {Di=0;}*/
      while(1) //1表示條件永遠(yuǎn)成立,這里使用while形成死循環(huán)。{
      D1=1; //點亮第1盞燈
      delay(); //點亮的時間
      D1=0; //熄滅第1盞燈
      delay(); //熄滅的時間
      D2=1; //點亮第2盞燈
      delay(); //點亮的時間
      D2=0; //熄滅第2盞燈
      delay(); //熄滅的時間
      D3=1; //點亮第3盞燈
      delay(); //點亮的時間
      D3=0; //熄滅第3盞燈
      delay(); //熄滅的時間
      D4=1; //點亮第4盞燈
      delay(); //點亮的時間
      D4=0; //熄滅第4盞燈
      delay(); //熄滅的時間
      D5=1; //點亮第5盞燈
      delay(); //點亮的時間
      D5=0; //熄滅第5盞燈
      delay(); //熄滅的時間
      D6=1; //點亮第6盞燈
      delay(); //點亮的時間
      D6=0; //熄滅第6盞燈
      delay(); //熄滅的時間
      D7=1; //點亮第7盞燈
      delay(); //點亮的時間
      D7=0; //熄滅第7盞燈
      delay(); //熄滅的時間
      D8=1; //點亮第8盞燈
      delay(); //點亮的時間
      D8=0; //熄滅第8盞燈
      delay(); //熄滅的時間
      }
      }
      /*也可以使用for循環(huán),參考初始定義部分注釋,流水就是等依次點亮,熄滅的過程 */
      

      2、按鍵K1時D1-D8開始流水(輸入輸出練習(xí))

      (1)分析:通常按鍵一端接引腳,另一端接地。按鍵接通時,輸入單片機(jī)引腳的電平為低電平0。判斷是否按下,使用if指令進(jìn)行判斷。按鍵按下時,會有抖動,使用延時消除抖動。

      (2)程序及注釋:

      #include //引用52單片機(jī)頭文件
      sbit D1=P0^0;
      sbit D2=P0^1;
      sbit D3=P0^2;
      sbit D4=P0^3;
      sbit D5=P0^4;
      sbit D6=P0^5;
      sbit D7=P0^6;
      sbit D8=P0^7; //位定義,也可以整個端口定義,#define D P0
      sbit K1=P3^0; //定義K1連接引腳P3.0。
      delay() //延時函數(shù)
      {
      unsigned char i,j; //定義無符號字符型
      for(i=0;i<2;i++) //外層循環(huán),這里不加分號
      for(j=0;j<112;j++); //內(nèi)循環(huán)加分號,表示后面不執(zhí)行任何指令
      }
      main() //主函數(shù)
      {
      D1=0;
      D2=0;
      D3=0;
      D4=0;
      D5=0;
      D6=0;
      D7=0;
      D8=0; //也可以for循環(huán)for(int i=1;i<9;i++) {Di=0;}
      while(1) //使用while形成死循環(huán),即燈一直流水。
      {
      if(K1==0) //按鍵按下時引腳接地,即等于0。
      { delay(); //延時一下,防抖動
      if(K1==0) //再斷按鍵是否按下,按下則流水,否則退出。
      {
      D1=1; //點亮第1盞燈
      delay(); //點亮的時間
      D1=0; //熄滅第1盞燈
      delay(); //熄滅的時間
      D2=1; //點亮第2盞燈
      delay(); //點亮的時間
      D2=0; //熄滅第2盞燈
      delay(); //熄滅的時間
      D3=1; //點亮第3盞燈
      delay(); //點亮的時間
      D3=0; //熄滅第3盞燈
      delay(); //熄滅的時間
      D4=1; //點亮第4盞燈
      delay(); //點亮的時間
      D4=0; //熄滅第4盞燈
      delay(); //熄滅的時間
      D5=1; //點亮第5盞燈
      delay(); //點亮的時間
      D5=0; //熄滅第5盞燈
      delay(); //熄滅的時間
      D6=1; //點亮第6盞燈
      delay(); //點亮的時間
      D6=0; //熄滅第6盞燈
      delay(); //熄滅的時間
      D7=1; //點亮第7盞燈
      delay(); //點亮的時間
      D7=0; //熄滅第7盞燈
      delay(); //熄滅的時間
      D8=1; //點亮第8盞燈
      delay(); //點亮的時間
      D8=0; //熄滅第8盞燈
      delay(); //熄滅的時間
      }
      }
      }
      }
      /*也可以使用for循環(huán),參考初始定義部分注釋,流水就是等依次點亮,熄滅的過程 */
      Tags:單片機(jī),c語言,入門  
      責(zé)任編輯:admin
      相關(guān)文章列表
      51單片機(jī)學(xué)習(xí)筆記直流電機(jī)驅(qū)動(PWM)C語言程序
      基于51單片機(jī)—多功能秒表,多功能計時器C語言程序
      STC89C52單片機(jī)數(shù)字電流表電壓表源碼與電路圖  51單片機(jī)電流電壓
      自學(xué)stm32單片機(jī)四個步驟,實用又高效!
      先學(xué)51還是先學(xué)STM32?STM32和51單片機(jī)的區(qū)別
      單片機(jī)最小系統(tǒng)介紹及電路設(shè)計 STM32單片機(jī)最小系統(tǒng)
      什么是PIC單片機(jī)
      為什么51單片機(jī)的晶振一般使用11.0592? 51單片機(jī)常用波特率初值表
      51單片機(jī)寄存器功能一覽表
      單片機(jī)寫延時程序的幾種方法
      自學(xué)單片機(jī)編程之中斷與時鐘程序
      plc編程入門梯形圖實例詳解:左母線、觸點、線圈、功能塊
      哈佛結(jié)構(gòu)與馮·諾伊曼結(jié)構(gòu)區(qū)別以及X86體系
      單片機(jī)萬年歷:公歷日期與農(nóng)歷日期的相互轉(zhuǎn)換程序
      AVR定時器1的CTC模式設(shè)置
      單片機(jī)超聲波視覺識別系統(tǒng)的測量軟件開發(fā),超聲波測距
      LCD1602的單片機(jī)驅(qū)動詳解
      單片機(jī)時鐘電路原理
      基于stc89c52的4*4矩陣鍵盤輸入數(shù)碼管,一個小計算器
      單片機(jī)紅外遙控器設(shè)計
      單片機(jī) 鍵盤檢測與應(yīng)用
      如何給單片機(jī)系統(tǒng)提供可靠的電磁兼容設(shè)計,pcb設(shè)計
      小白必看:單片機(jī)系統(tǒng)電路經(jīng)典設(shè)計教學(xué)
      單片機(jī)上拉電阻和下拉電阻的用處和區(qū)別
      單片機(jī)數(shù)碼管顯示原理
      51單片機(jī)--矩陣鍵盤
      詳解:上拉電阻的作用【圖文】
      單片機(jī)電子時鐘程序設(shè)計
      4位單片機(jī)數(shù)字鐘 電子鐘制作
      51單片機(jī)4位數(shù)碼管電子鐘源程序
      請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網(wǎng)友評論
      最新推薦
      關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 精品综合久久久久久99| 五月综合色婷婷影院在线观看 | 久久99精品久久久久久综合| 狠狠88综合久久久久综合网| 综合色就爱涩涩涩综合婷婷 | 久久久久久久综合日本亚洲| 色777狠狠狠综合| 一本久久综合亚洲鲁鲁五月天| 国产色婷婷精品综合在线 | 久久综合亚洲色HEZYO社区 | 91精品国产综合久久青草| 国产成人综合在线视频| 色777狠狠狠综合| 久久久久国产综合AV天堂| 婷婷激情狠狠综合五月| 91精品国产综合久| 免费精品99久久国产综合精品| 亚洲国产综合精品中文字幕| 综合五月激情二区视频| 亚洲国产综合91精品麻豆| 久久综合视频网站| 三级韩国一区久久二区综合| 色综合99久久久无码国产精品| 九九久久99综合一区二区| 亚洲综合av永久无码精品一区二区| 色婷婷久久综合中文久久一本`| 五月天婷婷综合网| 色狠狠成人综合色| 99久久国产综合精品五月天| 婷婷丁香五月激情综合| 亚洲欧美日韩综合久久久久 | 丁香亚洲综合五月天婷婷| 色噜噜久久综合伊人一本| 亚洲色偷偷偷综合网| 亚洲 综合 国产 欧洲 丝袜| 91精品国产色综合久久| 五月天激激婷婷大综合丁香| 91精品一区二区综合在线| 亚洲七久久之综合七久久 | 色综合久久无码中文字幕| 亚洲av无码国产综合专区|