本文旨在介紹單片機入門的基礎知識,為初接觸或即將接觸單片的新手提供一個入門指導。本文章會陸續推出,隔幾天一個章節。所使用單片機為ATMEL公司的AT89C52,軟件為PROTEUS和KEIL;只提供原理圖和KEIL環境下的注釋,希望對廣大即將接觸單片機的人有所幫助,如果有錯誤歡迎回帖指出與本人交流或加入QQ群143586739.
51單片機的P0口內部沒有上拉電阻,所以P0在用作輸出時要外接上拉電阻,一般取10k。 用Proteus畫得原理圖如下所示: 
分析,只要P0口輸出低電平就可以將發光二極管點亮,因此只需要依次將P0的8個端口輸出低電平即可實現流水燈功能。本文介紹兩種程序的實現方法。 程序一: 
第04行:定義了一個數組,該數組依次將P0.0-P0.7位清零,即可依次點亮發光二極管;
第19行:給P0口賦值; 第20行:延時時間即為點亮時間; 程序二: 程序二采用庫函數來完成移位操作,所包含的頭文件為 intrins.h。 
第02行:包含intrins.h頭文件; 第17行:利用庫函數完成移位,即依次點亮
|