同時可以用iapreadbyte(addr)(一般從0位址讀起)讀取用stc-isp軟體燒寫進flash的程式。同時也可以用寫入程式到flash中。
「keil cx51編譯器提供三條編譯模式控制命令:small,compact,large,它們對變數儲存器空間的影響如下。
small:所有變數都被定義在8051微控制器的片內ram中,對這種變數的訪問速度最快。另外,堆疊也必須位於片內ram中,而堆疊的長度是很重要的,實際棧長取決與不同函式的巢狀深度。採用small編譯模式與定義變數時指定data儲存器型別具有相同效果。
compact:所有變數被定義在分頁定址的片外xram中,每一頁片外xram的長度為256位元組。這時對變數的訪問是通過暫存器間接定址(movx @r0,movx @r1)進行的,變數的低8位位址由r0和r1確定,變數的高8位位址由p2口確定。採用這種模式時,必須適當改變配置檔案startup.a51中的引數:pdatastart和pdatalen;同時還必須對uvision2的「options選項/bl51 locator 標籤頁/pdata框」中鍵入合適的位址引數,以確保p2口能輸出所需要的高8位位址。採用compact編譯模式與定義變數時指定pdata儲存器型別具有相同效果。
large:所有變數被定義在片外xram中(最大可達64kb),使用資料指標dptr來間接訪問變數(movx @dptr),這種編譯模式對資料訪問的效率最低,而且將增加程式的**長度。採用large編譯模式與定義變數時指定xdata儲存器型別具有相同效果。」
摘自《keil cx51 v7.0微控制器高階語言程式設計與uvision2應用實踐》
如何設定編譯模式,我剪了乙個圖如下,右鍵單擊target選擇「options for target'target1'」就會出來乙個框,在memory model中選擇好像就可以了。
附錄iap系列函式:
微控制器學習筆記 STC15微控制器ADC
將模擬訊號轉換成數碼訊號的電路,我們稱其為模數轉換器,簡稱a d轉換器或adc analog to digital converter 同理,將數碼訊號轉換成模擬訊號的電路稱為數模轉換器,簡稱d a轉換器或dac,微控制器能夠儲存的資料都是數字型別的。一 逼近式adc原理 簡介 在進行轉化時,一般都...
STC微控制器按鍵掃瞄程式
最近在做乙個電子秤相關專案,使用stc系列微控制器作為主控晶元,專案第一階段直接使用iap15w4k58s4驅動兩個矩陣鍵盤,一切除錯順利,在專案即將結束時老闆要求使用另一塊微控制器驅動矩陣鍵盤,讀取鍵值後通過串列埠傳回之前的iap主控 理由是為了節省從矩陣鍵盤到主控板之間的長排線的成本,16p 1...
STC51微控制器串列埠通訊 微控制器端程式
隨著微控制器系統的廣泛應用和計算機網路技術的普及,微控制器的通訊功能愈來愈顯得重要。微控制器通訊分為並行和序列通訊方式。並行通訊通常是將資料位元組的各位用多條資料線同時進行傳送,每一位資料都需要一條傳輸線,由於需要傳輸線較多,長距離傳送時成本高且收 發方的各位同時接收存在困難,故應用較少。串列埠通訊...