微控制器如8051有21個sfr,位址為80h~0ffh的128個位元組中,可以直接用定址方式來操作sfr。(類似於sbit)
為了能直接訪問這些sfr,keil提供餓了一種自漢族形式的定義方法。這種方法只適用於8051系列微控制器進行c程式設計。
方法:引入關鍵字「sfr」,語法為:sfr sfr_name=int address
如:sfr scon=0x98;
sfr tmod=0x89;
具體值應該參照sfr表。
關於sbit的使用有三種方式:
1、sfr psw=0xd0;//
sbit ov=psw^2;
sbit cy=psw^7;
2、sbit ov=0xd0^2;
sbit cy=0xd0^7;
3、sbit ov=0xd2;
sbit cy=0xd7;
在工作中,這個sfr定義都包括在標頭檔案等標頭檔案中了,不需要再自己定義。但是很多任務程上的檔案,都加上了這些定義,是為了防止沒有定義到這些暫存器
微控制器特殊功能暫存器
從乙個生活中的例程看起 乙個水盆在水龍頭下,水龍沒關緊,水一滴滴地滴入盆中。水滴持續落下,盆的容量是有限的,過一段時間之後,水就會逐漸變滿。那麼微控制器中的計數器有多大的容量呢?8031微控制器中有兩個計數器,分別稱之為t0和t1,這兩個計數器分別是由兩個8位的ram單元組成的,即每個計數器都是16...
特殊功能暫存器
特殊功能暫存器簡言之就是有特殊用途的暫存器,一般來說,微控制器的各種片上資源如串列埠 定時器 計數器等都依靠特殊功能暫存器來控制。其實,特殊功能暫存器的劃分界限是模糊的,因為其位於片內ram儲存器定址區,我們在這裡進行介紹,在後面的儲存器講解中也會提到特殊功能暫存器。標準的8051內部有21個特殊暫...
微控制器暫存器
微控制器暫存器其實就相當於乙個變數,只不過這個變數在固定的位址,有乙個特殊的名稱 當然也不強制 初學者對暫存器的操作比較困難的原因不是組合語言或c語言使用的不熟,而是對暫存器的陌生。微控制器中儲存器的資源是非常寶貴和有限的,所以要盡可能充分的使用這些儲存資源,有多充分呢?就是把每一bit都用上。這就...