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

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

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

3天內不再提示

51單片機使用C語言點亮閃爍LED燈

天才小貍花 ? 來源:Sigle_chip ? 作者:Sigle_chip ? 2022-08-16 08:59 ? 次閱讀

導語

下面是點亮51單片機使用C語言閃爍LED燈的的一段代碼,也是我們邁入C51的第一步。我們將從頭開始,一步步講解下面的程序。

#include

#define uchar unsigned char
#define uintunsigned int

sbit LED= P1^0;

void main()
{
LED=0;
while(1)
{
LED=0;
delay(1000);
LED=1;
delay(1000);
}
}

void delay(uchar ms)
{
uint x=0, y=0;
for(x=xms;x>=0;x--)
for(y=110;y>=0;y--);
}

.C to .Hex

在從編寫的上述文本程序到實際燒錄到單片機的Hex二進制機器語言,keil這個大家伙幫我們做了很多的東西。

單片機可以看作是一個功能完全的計算機,同計算機一樣,單片機只能識別機器語言。也就是用二進制代碼表達指令,但更確切一點來說,機器語言是由高低電位構成的,指定高電位為1,低電位為0,而我們對電路進行一定的設計后,電路中高低電位的輸入輸出正好與2進制狀態相符,所以我們也就看到了 1、0的那種表現形式。

同時,為了簡化二進制的表現形式,我們使用16進制來表示,即Hex文件。

但編寫機器語言太過繁瑣,人們開始用助記符代替機器指令的操作碼,用地址符號或標號代替指令或操作數的地址。這就是匯編語言,但低級,不具有移植性,能直接訪問計算機硬件,效率高,占用資源少,學習入門較為困難,切移植性差。

C語言是一種高級編程語言,與低級語言相對。它是以人類的日常語言為基礎的一種編程語言,使用一般人易于接受的文字來表示,有較高的可讀性,以方便對電腦認知較淺的人亦可以大概明白其內容。

所編寫的C語言通過Keil進行預處理,編譯,鏈接等就生成了Hex文件,我們將Hex文件燒錄到單片機中,復位就運行起來了。

預處理

預處理以#開頭,在從.C到 .hex之前,擴展C語言程序設計的環境。

#include 的作用將 reg52.h文件復制到編譯的源文件中,使用<>或" "包含文件名。

#define uchar unsigned char的作用是將unsigned char替換為uchar。

也常用#define定義一些函數宏、常量等。如#define PI 3.14、#define ABS(x) (x)<0?-(x):(x)

還有更多的預處理方式,暫無必要,勿增新知。

變量

變量格式

[存儲種類]數據類型[存儲器類型]變量名表 賦值;

其中存儲種類和存儲器類型在初學時不必了解,編譯器會自動的賦予默認值。

變量名是C51區分不同變量,為不同變量取的名稱。在C51中規定變量名可以由字母、數字和下劃線三種字符組成,且第一個字母必須為字母或下劃線。

數據類型用于向單片機申請內存大小,也決定了變量的數值范圍。在單片機的內部是以字節為操作,一個字節八個位,即一個字節所表示的數據范圍在 0000 0000到 1111 1111;在此,二進制沒有符號位,于是人為的使用最高位表示符號位,1為負,0為1;即表示范圍為 1111 1111到 0111 1111,即十進制的-128到127。但大多數時候,單片機很少用到賦值,因此我們在數據類型前加上修飾符unsigned來去掉符號位。

在C語言中,無法直接去操作變量中的單獨的某一位,但C51中添加了bit位,是 c51編譯器的一種擴充數據類型,利用它可定義一個位標量,它的值是一個二進制位,不是 0就是 1,sbit同樣是單片機c語言中的一種擴充數據類型,利用它能訪問芯片內部的 RAM中的可尋址位或特殊功能寄存器中的可尋址位。

函數

void main()和 void delay(uchar ms)都是函數;

返回類型函數名(數據類型形參名稱...){
功能代碼;
}

函數是指一段可以直接被另一段程序或代碼引用的程序或代碼。也叫做子程序、方法。

void表示沒有返回值,大多數的情況下,我們將使用void修飾的函數,也可以使用有返回值的方式返回uint等;

其中main()是每一個函數中最重要的,單片機開機復位后將運行main()函數,當他執行完后,程序將會從頭開始,我們不希望這樣,因此我們添加了

while(1){

}

這時一行循環語句,并且是一個死循環,即會一直循環{ }內的程序。

delay()是一個延時函數,我們向括號中填寫ms,程序便會贊同多少ms,他用于實現的延時的子功能;

運算符

LED=0;

給led賦值0,即將右邊的值填入左邊,填入的值不應超過數據類型的表示范圍。

y--

運行過后,y將減少1;

y>=0

布爾運算,只有兩個值,0或 1,大于0為真1,反之為0。

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

    關注

    242

    文章

    23295

    瀏覽量

    661243
  • 51單片機
    +關注

    關注

    274

    文章

    5704

    瀏覽量

    123701
  • C語言
    +關注

    關注

    180

    文章

    7605

    瀏覽量

    136987
收藏 人收藏

    評論

    相關推薦

    使用51單片機點亮LED的程序免費下載

    本文檔的主要內容詳細介紹的是使用51單片機點亮LEDC語言程序免費下載。
    發表于 09-02 17:28 ?0次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>點亮</b><b class='flag-5'>LED</b>的程序免費下載

    51單片機的兩種方法點亮LEDC語言程序免費下載

    本文檔的主要內容詳細介紹的是使用51單片機的兩種方法總線操作和位操作點亮LEDC語言程序免費下
    發表于 08-19 17:31 ?1次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>的兩種方法<b class='flag-5'>點亮</b><b class='flag-5'>LED</b>的<b class='flag-5'>C</b><b class='flag-5'>語言</b>程序免費下載

    使用51單片機閃爍LED的代碼免費下載

    本文檔的主要內容詳細介紹的是使用51單片機閃爍LED的代碼免費下載。
    發表于 07-03 17:41 ?2次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>閃爍</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>的代碼免費下載

    使用單片機實現不同頻率閃爍1個LEDC語言程序實例免費下載

    本文檔的主要內容詳細介紹的是使用單片機實現不同頻率閃爍1個LEDC語言程序實例免費下載。
    發表于 11-06 17:11 ?9次下載
    使用<b class='flag-5'>單片機</b>實現不同頻率<b class='flag-5'>閃爍</b>1個<b class='flag-5'>LED</b><b class='flag-5'>燈</b>的<b class='flag-5'>C</b><b class='flag-5'>語言</b>程序實例免費下載

    使用單片機實現不同頻率閃爍多個LEDC語言程序實例免費下載

    本文檔的主要內容詳細介紹的是使用單片機實現不同頻率閃爍多個LEDC語言程序實例免費下載。
    發表于 11-06 17:11 ?15次下載
    使用<b class='flag-5'>單片機</b>實現不同頻率<b class='flag-5'>閃爍</b>多個<b class='flag-5'>LED</b><b class='flag-5'>燈</b>的<b class='flag-5'>C</b><b class='flag-5'>語言</b>程序實例免費下載

    使用單片機點亮多個LED的方法C語言程序實例免費下載

    本文檔的主要內容詳細介紹的是使用單片機點亮多個LED的方法C語言程序實例免費下載。
    發表于 11-06 17:11 ?17次下載

    單片機led閃爍實驗總結_單片機學習之C語言點亮控制led

    C語言是學習單片機的過程中必須要經歷的一個環節,但是并不是說學習單片機C語言就要像
    發表于 11-14 12:36 ?0次下載
    <b class='flag-5'>單片機</b><b class='flag-5'>led</b><b class='flag-5'>燈</b><b class='flag-5'>閃爍</b>實驗總結_<b class='flag-5'>單片機</b>學習之<b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>點亮</b>控制<b class='flag-5'>led</b><b class='flag-5'>燈</b>

    51單片機學習筆記之LED閃爍

    51單片機學習筆記之LED閃爍
    發表于 11-14 16:51 ?3次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>機</b>學習筆記之<b class='flag-5'>LED</b><b class='flag-5'>燈</b><b class='flag-5'>閃爍</b>

    51單片機如何跳出wile循環_51單片機閃爍LED

    閃爍LED 51單片機是較為簡單的8位單片機,意思是一次能處理8位2進制數據。這一
    發表于 11-23 10:06 ?21次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>如何跳出wile循環_<b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>閃爍</b><b class='flag-5'>LED</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>  <b class='flag-5'>LED</b><b class='flag-5'>點亮</b>、<b class='flag-5'>閃爍</b>以及流水燈實現

    51單片機——點亮一個LED

    51單片機——點亮一個LED文章目錄51單片機——
    發表于 11-23 18:06 ?16次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>——<b class='flag-5'>點亮</b>一個<b class='flag-5'>LED</b><b class='flag-5'>燈</b>

    基于89C51單片機的不同頻率閃爍1個LED源程序

    基于89C51單片機的不同頻率閃爍1個LED源程序
    發表于 05-16 09:44 ?9次下載

    基于89C51單片機的不同頻率閃爍多個LED源程序

    基于89C51單片機的不同頻率閃爍多個LED源程序
    發表于 05-16 09:43 ?3次下載

    基于單片機點亮LED

    單片機點亮LED就像用C語言輸出“hello world”一樣,是入門的第一課。
    的頭像 發表于 05-24 14:25 ?1838次閱讀
    基于<b class='flag-5'>單片機</b><b class='flag-5'>點亮</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>

    怎么采用C語言編程序通過單片機的I/O端口點亮一個LED

    怎么采用C語言編程序通過單片機的I/O端口點亮一個LED??
    的頭像 發表于 09-02 17:05 ?3455次閱讀
    主站蜘蛛池模板: 女人精69xxxxx舒心| 国产嫩草在线观看| 恋夜直播午夜秀场最新| 18禁国产精品久久久久久麻豆| 成人性生交大片免费看金瓶七仙女| 日韩免费一区| 国产在线精品视频二区| 最新国自产拍天天更新| 日本人69xxx| 好看的电影网站亚洲一区| 2019午夜75福利不卡片在线| 亲胸揉胸膜下刺激视频网站APP | 中文字幕久精品视频在线观看 | 国产欧美日韩亚洲第一页| 伊人国产精品| 久久99综合国产精品亚洲首页| 999国产高清在线精品| 四虎国产精品免费观看视频| 成激人情在线影院920| 玄幻全黄h全肉后宫| 老司机试看午夜| 国产精品 中文字幕 亚洲 欧美| 在线观看亚洲 日韩 国产| 青草久久精品亚洲综合专区| 狠狠色狠狠色综合日日小说| FREEHDXXXX学生妹| 一本道高清不卡v免费费| 啪啪做羞羞事小黄文| 九热这里只有精品| 高H辣肉办公室| 2021精品高清卡1卡2卡3麻豆| 无遮18禁在线永久免费观看挡| 免费国产足恋网站| 纯肉小黄文高H| 中文字幕一区久久久久| 无码AV精品久久一区二区免费| 国产精品系列在线一区| 99在线观看免费| 有人在线观看的视频吗免费| 午夜福利理论片高清在线| 欧美性色生活片天天看99顶级|