用tx-1c開發板學習微控制器內部eeprom的應用
stc89c51、52
內部都自帶有
2k位元組的
eeprom,54
、55和58
都自帶有
16k位元組的
eeprom
,stc
微控制器是利用
iap技術實現的
eeprom
,內部flash
擦寫次數可達
100,
000
次以上,先來介紹下
isp與
iap的區別和特點。
知識點:isp與iap介紹
isp iap
stc微控制器內部有幾個專門的特殊功能暫存器負責管理
isp/iap
功能的,見表1。
表1 isp/iap
相關暫存器列表名稱
位址 功能描述 d7
d6d5
d4d3
d2d1
d0復位值
isp_data
e2hflash
資料暫存器
1111 1111
isp_addrh
e3hflash
高位元組位址暫存器
0000 0000
isp_addrl
e4hflash
低位元組位址暫存器
0000 0000
isp_cmd
e5hflash
命令模式暫存器 --
----
----
ms2ms1
ms0***x x000
isp_trig
e6hflash
命令觸發暫存器
***x ***x
isp_contr
e7hisp/iap
控制暫存器
ispen
swbs
swrst
----
wt2wt1
wt0000x x000
isp_data
:isp/iap
操作時的資料暫存器。
isp/iap
從flash
讀出的資料放在此處,向
flash
寫入的資料也需放在此處。
isp_addrh
:isp/iap
操作時的位址暫存器高八位。
isp_addrl
:isp/iap
操作時的位址暫存器低八位。
isp_cmd
:isp/iap
操作時的命令模式暫存器,須命令觸發暫存器觸發方可生效。命令模式如表
2所示。
表2 isp_cmd
暫存器模式設定
d7d6
d5d4
d3d2
d1d0
模式選擇 保留
命令選擇
----
------0
00待機模式,無
isp操作 --
----
----00
1對使用者的應用程式
flash
區及資料
flash
區位元組讀 --
----
----01
0對使用者的應用程式
flash
區及資料
flash
區位元組程式設計 --
----
----01
1對使用者的應用程式
flash
區及資料
flash
區扇區擦除
程式在系統
isp程式區時可以對使用者應用程式區/資料
flash
區(eeprom)
進行位元組讀
/位元組程式設計
/扇區擦除;程式在使用者應用程式區時,僅可以對資料
flash
區(eeprom)
進行位元組讀
/位元組程式設計
/扇區擦除。
stc89c51rc/rd+
系列微控制器出廠時已經固化有
isp引導碼,並設定為上電復位進入
isp程式區,並且出廠時就已完全加密。
isp_trig
:isp/iap
操作時的命令觸發暫存器。
在ispen(isp_contr.7) =1
時,對isp_trig
先寫入46h
,再寫入
b9h,
isp/iap
命令才會生效。
stc89c52rc
,stc89le52rc
微控制器內部可用
data flash(eeprom)
的位址如表
3所示,其它型號微控制器請查閱相關資料。
表3 stc89c52rc
、stc89le52rc
微控制器內部eeprom
位址表
第一扇區
第二扇區
第三扇區
第四扇區
起始位址
結束位址
起始位址
結束位址
起始位址
結束位址
起始位址
結束位址
2000h
21ffh
2200h
23ffh
2400h
25ffh
2600h
27ffh
第五扇區
第六扇區
第七扇區
第八扇區
起始位址
結束位址
起始位址
結束位址
起始位址
結束位址
起始位址
結束位址
2800h
29ffh
2a00h
2bffh
2c00h
2dffh
2e00h
2fffh
每個扇區為
512位元組,建議大家在寫程式時,將同一次修改的資料放在同乙個扇區,方便修改,因為在執行擦除命令時,一次最少要擦除乙個扇區的資料,每次在更新資料前都必須要擦除原資料方可重新寫入新資料,不能直接在原來資料基礎上更新內容。
下面通過乙個例子來講解
stc系列微控制器
eeprom
的具體用法。
【例】:在
tx-1c
實驗板上實現如下描述,操作
stc微控制器自帶的
eeprom
,儲存一組按秒遞增的二位資料,並且將資料實時顯示在數碼管上,資料每變化一次就往
eeprom
中寫入一次,當關閉實驗板電源,再次開啟電源時,從
eeprom
中讀取先前儲存的資料,接著遞增顯示。
新建檔案
part3.4.4.c
微控制器LY5A L1B開發板筆記 1
按鍵以接0方式觸發 即按鍵另一腳接gnd 標頭檔案 include reg51.h 引腳定義 sbit key p3 2 定義按鍵 sbit key2 p3 2 sbit led1 p2 0 定義第乙個led燈 sbit led2 p2 1 延時子函式,引數範圍 0 65536,int為兩個位元組 ...
基於51微控制器開發板的應用(數碼管續1)
顯示0 99 用8位共陰數碼可以通過動態掃瞄顯示0 99,考慮十位和個位,需要用到陣列來存放。其中的重要 是display 函式,firstbit表示從第n個數開始顯示,num表示顯示的個數,所以若是改變陣列tempdata的陣列元素,則可以顯示更多位的數字,並且8位數碼管可以任意選擇數碼管。主函式...
藍橋杯微控制器 開發板蜂鳴器與繼電器 (3)
藍橋杯微控制器 開發板蜂鳴器與繼電器 3 蜂鳴器的正極接vcc 5v,負極接在達林頓管的n buzz上,達林頓管是乙個非閘電路 若in輸入1,則out輸出0 若in輸入0,則out輸出1 要使蜂鳴器響,則out7為低電平0。再來看解碼器,想要打通這個解碼器那麼y5c必須為高電平,y5c由38解碼器控...