在程式中使用
stc15微控制器是乙個8位的微控制器,據說在世界上銷量最大,是國產的品牌。其中也有許多值得稱道的地方,比如不用晶振,不用外部的儲存器,flash可以做記憶體使用等。可以進入休眠狀態,外部中斷就可以喚醒等。在使用者需要保持資料,當掉電可以儲存這些資料,等下次啟動後繼續使用資料。這個功能的完成要在程式中通過指令修改flash或者是eeprom的內容,這樣在掉電時就不會丟失資料,等上電後通過初始化繼續使用。下面介紹一下flash或者時eeprom的檔案如何修改和儲存。
要對eeprom的內容進行修改,主要用到下面的程式:
下面介紹這些分程式並加以說明
void
iapread_n
(u16 addr, u8 *dataaddr, u16 number)
while
(--number)
;iapidle()
; ea =1;
}
程式中不難理解,這個程式沒有返回的資料,直接通過指標直接將eeprom的內容傳遞給了目標區域的資料。即通過*dataaddr改變了儲存在dataaddr指標下的資料。
void
iapwrite_n
(u16 addr, u8 *dataaddr, u16 number)
while
(--number)
;iapidle()
; ea =1;
}
寫入程式和讀取程式基本是相反的操作,也沒有返回的資料,直接用指標將外部資料寫入到eeprom中。
在程式中要用到刪除扇區操作。
void
iaperasesector
(word addr)
在程式如果是讀取資料的話可以直接使用讀取分程式。如果是寫入操作則首先要將寫入的扇區擦除,即將寫入扇區的內容全部寫成0xff。然後再使用寫操作。擦除是按扇區來操作的,比如要寫入的扇區位址為0xe400,則用下面的命令來刪除115頁的內容:
iaperasesector(0xe400);然後再用寫入分程式將要寫入的內容寫入eeprom中。
微控制器學習筆記 STC15微控制器ADC
將模擬訊號轉換成數碼訊號的電路,我們稱其為模數轉換器,簡稱a d轉換器或adc analog to digital converter 同理,將數碼訊號轉換成模擬訊號的電路稱為數模轉換器,簡稱d a轉換器或dac,微控制器能夠儲存的資料都是數字型別的。一 逼近式adc原理 簡介 在進行轉化時,一般都...
STC15 微控制器 利用 外部中斷 測頻率
中斷測頻率 先來看張圖 圖中標明 itx 0 時 下降沿觸發中斷 itx 1 時 上公升沿,下降沿均可觸發中斷,這裡要注意不是隨便乙個io口有上公升沿或下降沿時都觸發中斷,比如我的int0 對應的埠是p32 所以 只有p32埠有上公升沿 下降沿時才會觸發外部中斷0。include include t...
STC15系列微控制器SPI使用教程(三)
stc15系列微控制器spi使用教程 一 資料型別重定義 ifndef uchar define uchar unsigned char endif ifndef uint define uint unsigned int endif io埠定義 sbit miso p2 2 主機讀從裝置 主入從出...