單片機中的寄存器是一種特殊的存儲器,主要用于存儲和檢查微機的狀態(tài)。CPU寄存器用于存儲和檢查CPU的狀態(tài),具體包括計算中途數(shù)據(jù)、程序因中斷或子程序分支時的返回地址、計算結果為零時的負值、計算結果為零時的信息、進位值等。
由于CPU的通用寄存器在硬件上直接與CPU相連,因此它們的訪問速度比RAM更快,后者通過內(nèi)部總線訪問數(shù)據(jù)。
單片機的外圍功能控制寄存器用于設置外圍功能,例如稱為通用I/O GPIO的I/O端口、定時器、串行通信、AD轉(zhuǎn)換器和DA轉(zhuǎn)換器。有顯示外圍功能狀態(tài)的狀態(tài)寄存器,存儲AD轉(zhuǎn)換器轉(zhuǎn)換結果的結果寄存器,以及存儲通信功能中發(fā)送/接收數(shù)據(jù)的發(fā)送/接收數(shù)據(jù)寄存器。
我們可以直接從程序中設置寄存器,但是通常使用廠商們提供的固件庫(設備驅(qū)動),所以寄存器不是直接設置,而是間接設置的。