最近剛剛接觸了微控制器方面,關於微控制器方面的知識很多也很雜,本科生一般還不會接觸到比較系統的知識,所以在學習的同時,我也把自己的筆記進行了整理,希望能對大家產生幫助,關於微控制器的理論知識,我大概會分為五個模組來進行知識點方面的講解,如果大家也和我一樣,是想要去多學習多瞭解微控制器方面知識的人,可以隨時關注我的部落格。首先我們需要了解的最基本的知識便是I/O口的控制,
cc2530中有21個數位輸入輸出引腳可以進行設定和連線,主要有一下四點功能:
1、 21個數位通用輸入/輸出引腳
2、 通用I/O或外設I/O
3、 輸入上拉或下拉功能
4、外部中斷功能
通用I/O:共21個,分成三組,p0組、p1 組、p2組,其中的p0和p1組各有八個IO,p2有五個IO。其中只有p1_0、p1_1有20mA的輸出驅動能力,其餘都只有4mA。
所有埠都可通過SFR暫存器P0,P1和P2進行位和位元組定址。 每個埠引腳都可以單獨設定為通用I / O或外設I / O。
具體IO口影象是這樣的:
位地址指的是每一位的地址,八位一個位元組,如果把位元組比成一個8位元陣列的話,位元組地址就是這個陣列的首地址。一個位裡面的內容可以是0或者1。地址是八位二進位制。
舉一個簡單一點的例子來說:
AT89S52微控制器中規定,累加器A的位元組地址是E0H,規定它的八個位地址是E7H~E0H
如果累加器A此時存數00001011
那麼,位元組地址E0H內容是00001011。
位地址E0H的內容是1,
位地址E1H的內容是1,
位地址E2H的內容是0,
位地址E3H的內容是1,
位地址E4H,E5H,E6H,E7H的內容都是0
隨機存取記憶體,也叫主記憶體,隨時讀寫速度很快,資料易失,一旦斷電,資料立即丟失
1、GPIO功能選擇暫存器——PxSEL
暫存器PxSEL(其中x是埠號0-2)用於將埠中的每個引腳設定為通用I/O引腳或外設I/O引腳,可尋位定址。預設情況下,復位後,所有數位輸入/輸出引腳都設定為通用輸入引腳。
其中,P2SEL只有第0位至第2位是埠2的功能選擇控制位,第3位至第6位是埠1的外設優先順序控制位。
2、GPIO輸入輸出方向選擇暫存器——PxDIR
暫存器PxDIR用於將每個埠的引腳方向設定為輸入方向或輸出方向。 因此,將PxDIR中的相應位設定為1,相應的引腳就變成輸出方向,可位定址。
位定址:微控制器內部只有RAM和特殊功能暫存器的部分單元有位地址,因此位定址只能對有位地址的這兩個空間進行定址操作。
其中,P2DIR只有第0位至第4位元是埠2的方向選擇控制位,第6位和第7位是埠0外設優先順序控制位。
3、GPIO輸入模式暫存器——PxINP
暫存器PxINP用於設定IO埠的輸入模式,通用I / O埠引腳可設定為具有上拉,下拉或三態操作模式。 預設情況下,復位後,輸入設定為帶有上拉的輸入。如果要取消輸入埠的上拉或下拉功能,必須將PxINP中的相應位設定為1。
I / O埠引腳P1.0和P1.1不具有上拉或下拉功能。
請注意,即使IO埠是外設功能輸入,設定為外設I / O訊號的引腳也不具有上拉或下拉功能。
其中,P2INP中,第0位至第4位元是埠2的輸入模式選擇位,第5位至第7位是埠0、埠1、埠2的上下拉選擇位。