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