?一、序言:不論學習什么單片機,最簡單的外設莫過于I口的高低電平的操作,接下來,我們將給大家介紹一下如何在創建好的工程模板上面,通過控制51單片機的GPIO來使我們的開發板上的LED來點亮。
二、51單片機GPIO介紹:
1、GPIO概念:GPIO是通用輸入輸出端口的簡稱,可以通過軟件來控制其輸入和輸出。
(1)51單片機的芯片的GPIO引腳與外部設備連接,從而可以實現與外部的一個通信,控制以及數據的一個采集功能,不過GPIO的一個最簡單的應用,還屬點亮LED,只需要通過軟件控制GPL輸出高低電平,就可以實現LED的一個控制,當然GPL還可以作為輸出的一個控制,比如在按鍵上面,比如在引腳上接入一個按鍵,通過電平的高低來判斷按鍵是否按下,那么我們開發板上,使用51單片機是stc89c系列的一個芯片,那么我們的這個芯片采用的是dip 40的,一個封裝也就40個引腳,那么,這里呢,我們可以看一下,這個芯片的一個管腳的一個圖,看到這個管腳圖,大家可以看到這個40個角是不是所有的這些腳都是GPIO引腳呢,當然不是,那么51單片機引腳可以分為幾大類。
a、電源引腳
(a)這個電源引腳呢,通常在這個芯片的管腳圖上面會有VCC或者VDD或者GND和VSS之類的一個名字,都是電源引腳,像比如40和20這兩個是電源引腳,一個正,一個負,然后晶振引腳,在這個圖中,有XTAL,這個都是我們單片機的一個外部的一個輸入晶振引腳。
(b)通常我們給這個單片機的一個晶振是0~40,當然我們使用的是12M或者是11.0592M的一個晶振。18和19這兩個引腳,復位引腳通常在這個芯片廣角圖上面會有一個RST或RESET的一個名字,這是單片機的一個復位引腳,通過這個復位引腳,可以使我們的單片機進行一個復位,這個在前面,我們也說過下載引腳是我們單片機的一個串口。
(c)我們stc系列的單片機呢,它是可以支持串口下載的,所以在下載引腳當中呢,直接可以看這個串口像在P30和P31,他的復用功能就是串口功能,所以這個是個下載口,下載口當然還可以作為一個通信,串口通信。
(d)那么,我們最后呢,就是GPIO的引腳,除了這幾類,那大家可以看得到,在像P1.1,P1.0還有P3,這一些引腳呢,都是一些GPIO引腳,那么GPIO引腳占據芯片是絕大多數的,那么我們也可以看得到,這個引腳圖層當中帶有P點X點的一個字樣,就屬于GPL引腳,那么GPL引腳它占據了32個P0P1P2P3,那么每一組呢,是8個,所以是32個IO口,那么從這個芯片的一個管腳圖當中,我們還可以看到P3口這個做一組,它的一個復用功能是全都有的,所以說,既可以作為普通的一個GPL來使用,也可以作為一個復用功能來使用。
(e)那么,對于這么多GPL引腳,那么我們怎么具體查找它的一個引腳功能,可以通過我們芯片的一個原理圖,我們開發板上面管腳,每個腳位都有對應的一個功能,比如我們這張圖,比如我們要查找P30,P31有什么功能,可以從這個圖當中可以看到它有串口功能,比如P34,它有外部計數零的一個功能等等。
(f)那么,除了這一種方式可以查找之外,還可以通過我們的數據手冊,前面我們在介紹這個芯片的時候,我們可以看到stc 89系列的一個中文參考手冊,中文參考手冊里面,我們可以看到這一個,在這個芯片的一個管腳,管腳的一個圖當中,我們可以看一下stc89c系列的一個廣角,看一下stc89c,管腳圖下面對應的就是一些管腳的說明,我們看一下管腳的一個說明。
?管教編號,這是針對不同封裝的一種芯片,比如它有lqip的一個44封裝的,還有pdip 40的,還有plcc 44的,那么我們使用的芯片是P dip 40,所以我們參考這一列,這一列來查找對應的管腳序號以及它的一個說明,記得是根據不同的封裝來看。