找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2187|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)點(diǎn)亮一個(gè)發(fā)光二極管知識(shí)點(diǎn)學(xué)習(xí) 代碼詳細(xì)注釋

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主

附件有工程文件,努力學(xué)習(xí)吧少年。

注釋得非常詳細(xì)的單片機(jī)源程序如下:
  1. /*********************************************************************************************************************************************************************************************                                                            
  2.                           表1.6.1                            *    表1.6.2                                *                 表1.6.2                            *       表1.6.4                         *         表1.6.5                                                   *
  3. 常用數(shù)據(jù)類型      關(guān)鍵字          所占位數(shù)  表示數(shù)的范圍     *  算數(shù)運(yùn)算符 含義                            *  關(guān)系(邏輯)運(yùn)算符         含義           *  位運(yùn)算符   含義              *         基礎(chǔ)語句        類型                         *
  4. 無符號(hào)字符型    unsigned char          8                        0~255                 *                              *       >                   大于           *     &                  邏輯與         *           if          選擇語句                         *
  5. 有符號(hào)字符型    char               8          -128~127      *     +                   加法                    *      >=                        大于等于           *     |                  邏輯或         *           while           循環(huán)語句                         *
  6. 無符號(hào)整型      unsigned int       16        0~65535        *     -               減法                    *      <                            小于           *     ^                  異或                 *           for                   循環(huán)語句                         *
  7. 有符號(hào)整型      int                16        -32768~32767   *     *               乘法                        *      <=                                小于等于   *     ~                  取反                 *         switch/case   多分支選擇語句         *
  8. 無符號(hào)長(zhǎng)整型    unsigned iong       32                      *     /     除法(或求模運(yùn)算)        *      ==                                測(cè)試相等   *         >>                  右移                 *         do-while           循環(huán)語句                         *
  9. 無符號(hào)長(zhǎng)整型    iong                32                      *     ++               自加                        *     !=                                測(cè)試不等   *         <<                  左移                 *                                                                         *
  10. 單精度實(shí)型      float               32   3.4e-38~3.4e38     *     --               自減                        *     &&                                按位與           *                                                 *                                                                         *
  11. 雙精度實(shí)型      double              64   17.e-308~1.7e30    *     %            求佘運(yùn)算                        *     ||                                按位或           *                                                 *                                                                         *
  12. 位類型                      bit                 1      0~1                         *                                          *      !                                 非                   *                                                 *                                                                            *
  13. **********************************************************************************************************************************************************************************************/
  14. #include <REGX52.H>           //頭文件                【正式語句】
  15. sbit led1=P1^0;           // 聲明單片機(jī)P1口()  【正式語句】         在Pro仿真中:LED-YELLOW燈泡腳連接P1.0口
  16. /*********************************************************************************************************************************************************************************************
  17. 知識(shí)點(diǎn):main()主函數(shù)的寫法
  18. 格式:void main() 注意:后面沒有分號(hào)。
  19. 特點(diǎn):無返回值,無參數(shù)。
  20. 1、無返回值表示該函數(shù)執(zhí)行完成后不返回任何值,上面main前面的void表示“空”,即不返回值的意思,后面我們會(huì)講到有返回值的函數(shù),到時(shí)大家一對(duì)比便會(huì)更加明白。
  21. 2、無參數(shù)表示該函數(shù)不帶任何參數(shù),即main后面的括號(hào)中沒有任何參數(shù),我們只寫“()”就可以了,也可以在括號(hào)里寫上void,表示“空”的意思,如void main(void)。
  22. 3、任何一個(gè)單片機(jī)C程序有且僅有一個(gè)main函數(shù),它是整個(gè)程序開始執(zhí)行的入口。大家注意看,在寫完main()之后,在下面有兩個(gè)花括號(hào),這是C語言中函數(shù)寫法的基本
  23.   要求之一,即在一個(gè)函數(shù)中,所有的代碼都寫在這個(gè)函數(shù)的兩個(gè)大括號(hào)內(nèi),每條語句結(jié)束后都要加上分號(hào),語句與語言之間可以用空格或回車嗝開。
  24. 例如:
  25. void main()
  26. {
  27. 總程序從這里開始執(zhí)行;
  28.     其他語句;
  29.         .....
  30.         }

  31. **********************************************************************************************************************************************************************************************/
  32. void main()                   //主函數(shù)                【正式語句】
  33. {
  34. led1=0;                  //點(diǎn)亮第一個(gè)發(fā)光二極管   【正式語句】
  35. /*********************************************************************************************************************************************************************************************
  36. "led1=0;" 語句,也就是該程序中最核心的語句。在數(shù)字電路中,電平只有兩種狀態(tài):高電平- 1;低電平- 0。顯然,該語句的意思是,讓P1囗的最低位清0,由于沒有操作其他口,
  37. 所以其余口均保持原來狀態(tài)不變。
  38. **********************************************************************************************************************************************************************************************/                       
  39. while(1);                                                   //【正式語句】

  40. }
  41. /*****************************************************************
  42. 如何讓程序停止在某處呢? 我們用while語句就可以實(shí)現(xiàn)。
  43. 知識(shí)點(diǎn):while()語句   
  44. 格式:while(表達(dá)式)
  45.     {內(nèi)部語句(內(nèi)部可為空)}
  46. 特點(diǎn):先判斷表達(dá)式,后執(zhí)行內(nèi)部語句。
  47. 原則:若表達(dá)式不是0,即為真,那么執(zhí)行語句。否則跳出while語句,執(zhí)行后面的語句。
  48. 需要注意的三點(diǎn):
  49. (1)在C語言中我們一般把"0"認(rèn)為是"假","非0"認(rèn)為是"真" ,也就是說,只要不是0就是真,所以1、2、3等都是真。
  50. (2)內(nèi)部語句可為空,就是說while后面的大括號(hào)里什么都不寫也是可以的,如“while(1){};”中“;” 一定不能少,否則while()會(huì)把跟在它后面第一個(gè)分號(hào)前的語句認(rèn)為是它的內(nèi)部語句。
  51. 例如:while(1)
  52.       P1=123;
  53.           P1=121;
  54.           ....
  55.   上面這個(gè)例子中,while()會(huì)把“P1=123;”當(dāng)做它的語句,即使這條語句并沒有加大括號(hào)。既然如此,那么我們以后在寫程序時(shí),如果while()內(nèi)部只有一條語句,我們就可以省去大括號(hào),而直接將這條語句跟在它的后面。
  56.   例如:while(1)
  57.   P1=123;

  58. (3)表達(dá)式可以是一個(gè)常數(shù)、一個(gè)運(yùn)算或一個(gè)帶返回值的函數(shù)。
  59. 有了上面的介紹,我們?cè)诔绦蜃詈蠹由稀皐hile(1)” 這樣一條語句就可以讓程序停止。因?yàn)樵撜Z句表達(dá)式值為1,內(nèi)部語句為空,執(zhí)行時(shí)先判斷表達(dá)式值,因?yàn)闉檎妫允裁匆膊粓?zhí)行,然后再判斷表達(dá)式,仍然為真,又不
  60. 執(zhí)行,因?yàn)橹挥挟?dāng)表達(dá)式值為0時(shí)才可跳出while()語句,所以程序?qū)⒉煌5貓?zhí)行這條語句,也就是說單片機(jī)點(diǎn)亮發(fā)光管后將永遠(yuǎn)重復(fù)執(zhí)行這條語句。
  61.   單片機(jī)是不能停止工作的,只有它有電,有晶振在起振,它就不停止工作,每過一個(gè)機(jī)器周期,它內(nèi)部的程序指針就要加1,程序指針就指向下一條要執(zhí)行的指令。不過我們可以將單片機(jī)設(shè)置為休眠狀態(tài)或掉電模式,這樣可以最大限度地降低它的功耗。

  62. *****************************************************************/
復(fù)制代碼

Keil代碼與Proteus仿真下載:
自學(xué)實(shí)例.rar (68.39 KB, 下載次數(shù): 6)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1021434 發(fā)表于 2022-4-25 08:58 | 只看該作者
剛剛學(xué)習(xí)點(diǎn)亮一個(gè)LED,介紹的很詳細(xì),樓主可以詳細(xì)介紹一下IF ,FOR語句嗎?特別是IF。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表