❶ 如何對STM8S的快閃記憶體存儲器和數據EEPROM編程
1.選項位元組的概念(參考stm8s中文數據手冊):
選項位元組包括晶元硬體特性的配置和存儲器的保護信息,這些位元組保存在存儲器中一個專用的
塊內。除了ROP(讀出保護)位元組,每個選項位元組必須被保存兩次,一個是通常的格式(OPTx)和
一個用來備份的互補格式(NOPTx)。可以在ICP模式(通過SWIM)下訪問下表中EEPROM的地址來修改選項位元組。
選項位元組也可以通過應用程序在IAP模式下修改,但是ROP選項只能在ICP模式(通過SWIM)下被
修改。
2.ISP IAP ICP的概念(有待學習):
ISP:In System Programing, 在系統編程 程序完全下載
IAP:In applicating Programing,在應用編程 我的理解是用應用程序去修改晶元里邊固定的一些數據(與應用編程無關的數據)
ICP:In Circuit Programing, 在電路編程
3.stm8s晶元的備用功能重映射:
stm8s晶元上帶有很多備用的功能,這些功能必須使用重映射功能才能實現,
重映射其實就是配置某個flash地址的某一位,使某個引腳具備備用功能或者默認功能的其中一個
而且一旦功能改,想恢復原來的功能必須重新寫入。
比如stm8s的PD4埠具有TIM2_CH1 功能和BEEP功能,默認的情況下是TIM2_CH1功能,
當我們要用到BEEP功能時必須寫選項字,將這個引腳重映射為BEEP功能。
❷ .sprx怎麼打開
STM8S參考手冊 RM0016 參考手冊 STM8S 微控制器家族 導言 本參考手冊為應用開發人員提供了關於如何使用STM8S微控制器的存儲器和外設的完整信息。 STM8S是一個擁有不同存儲器大小,封裝和外設的微控制器家族。 ■ STM8S針對通用應用而設計,關於訂貨信息,引腳描述,器件的機械及電氣參數,請參考 STM8S增強型及基本型數據手冊。 ■ 關於內部FLASH存儲器的編程,擦除和保護,請參考STM8S Flash編程手冊(PM0051) 和 STM8 SWIM 通訊協議及調試模塊用戶手冊(UM0470) ■ 關於STM8內核,請參考STM8 CPU 編程手冊(PM0044)。 本譯文的英文原文下載地址為:http://www.st.com/stonline/procts/literature/rm/14587.pdf 參照2009年1月 RM0016 Reference Manual STM8S microcontroller family 英文第4版 本譯文僅供參考,如有翻譯錯誤,請以英文原稿為准。請讀者隨時注意在ST網站下載更新版本 STM8S參考手冊 目錄 1 中央處理器(CPU) ........................................................................ 11 1.1 1.2 簡介 ............................................................................... 11 CPU寄存器 .......................................................................... 11 1.2.1 1.2.2 1.3 CPU寄存器描述 ................................................................... 11 STM8 CPU寄存器映射 .............................................................. 13 激活級別 ........................................................................ 禁用SWIM ........................................................................ 全局配置寄存器(CFG_GCR)描述...................................................... 全局配置寄存器映射及復位值....................................................... 14 14 14 14 全局配置寄存器(CFG_GCR) ............................................................ 14 1.3.1 1.3.2 1.3.3 1.3.4 2 3 用於系統啟動的只讀存儲器 ............................................................... 15 存儲器和寄存器映射 ..................................................................... 16 3.1 寄存器描述縮寫 ..................................................................... 16 4 FLASH程序存儲器和數據EEPROM ............................................................ 17 4.1 4.2 4.3 4.4 介紹 ............................................................................... 詞彙表 ............................................................................. FLASH主要特性 ...................................................................... 存儲器組織結構 ..................................................................... 17 17 17 17 4.4.1 4.4.2 4.4.3 4.4.4 4.5 用戶啟動區域(UBC) ............................................................... 數據EEPROM(DATA) ................................................................ 主程序區 ........................................................................ 選項位元組(Option byte)............................................................ 20 23 23 23 存儲器保護 ......................................................................... 24 4.5.1 4.5.2 4.5.3 4.6 4.7 讀保護 .......................................................................... 24 存儲器存取安全系統(MASS)......................................................... 24 對選項位元組的寫操作 .............................................................. 25 存儲器編程 ......................................................................... 25 讀同時寫 (RWW) ..................................................................... 25 4.7.1 4.7.2 4.7.3 4.7.4 4.8 4.9 位元組編程 ........................................................................ 字編程 .......................................................................... 塊編程 .......................................................................... 選項位元組(Option byte)編程........................................................ 25 26 26 27 ICP和IAP ........................................................................... 27 FLASH寄存器 ........................................................................ 29 4.9.1 4.9.2 4.9.3 4.9.4 4.9.5 4.9.6 4.9.7 4.9.8 4.9.9 5 FLASH控制寄存器 1(FLASH_CR1) ..................................................... FLASH控制寄存器 2(FLASH_CR2) ..................................................... FLASH互補控制寄存器 2(FLASH_NCR2) ................................................ FLASH保護寄存器(FLASH_FPR)....................................................... FLASH保護寄存器(FLASH_NFPR)...................................................... FLASH程序存儲器解保護寄存器(FLASH_PUKR).......................................... DATA EEPROM 護寄存器(FLASH_DUKR).............................................. FLASH狀態寄存器(FLASH_IAPSR)..................................................... FLASH寄存器映射和復位值.......................................................... 29 30 31 32 33 34 35 36 37 單線介面模塊(SWIM)和調試模塊(DM) ....................................................... 38 5.1 5.2 5.3 介紹 ............................................................................... 38 主要特性 ........................................................................... 38 SWIM模式 ........................................................................... 38 6 7 供電電源 ............................................................................... 39 復位(RST) .............................................................................. 40 參照2009年1月 RM0016 Reference Manual STM8S microcontroller family 英文第4版 本譯文僅供參考,如有翻譯錯誤,請以英文原稿為准。請讀者隨時注意在ST網站下載更新版本 STM8S參考手冊 7.1 7.2 復位電路 ........................................................................... 40 內部復位源 ......................................................................... 40 7.2.1 7.2.2 7.2.3 7.2.4 7.2.5 7.2.6 7.3 7.4 8 上電復位(POR)和掉電復位(BOR)..................................................... 看門狗復位 ...................................................................... 軟體復位 ........................................................................ SWIM復位 ........................................................................ 非法操作碼復位 .................................................................. EMS復位 ......................................................................... 40 41 41 41 41 41 復位(RST)寄存器 .................................................................... 42 7.3.1 復位狀態寄存器(RST_SR)........................................................... 42 復位寄存器地址映射 ................................................................. 42 時鍾控制 ............................................................................... 43 8.1 主時鍾源 ........................................................................... 44 8.1.1 8.1.2 8.1.3 8.2 HSE ............................................................................. 45 HSI ............................................................................. 46 LSI ............................................................................. 46 系統啟動 ........................................................................ 46 主時鍾切換的過程 ................................................................ 46 49 49 49 50 50 51 52 主時鍾切換 ......................................................................... 46 8.2.1 8.2.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 低速時鍾源的選擇 ................................................................... CPU時鍾分頻器 ...................................................................... 外設時鍾門控 ....................................................................... 時鍾安全系統(CSS) .................................................................. 時鍾輸出功能(CCO) .................................................................. 時鍾中斷 ........................................................................... 時鍾寄存器 ......................................................................... 8.9.1 8.9.2 8.9.3 8.9.4 8.9.5 8.9.6 8.9.7 8.9.8 8.9.9 8.9.10 8.9.11 8.9.12 8.9.13 8.10 9 內部時鍾寄存器(CLK_ICKR)......................................................... 外部時鍾寄存器(CLK_ECKR)......................................................... 主時鍾狀態寄存器(CLK_CMSR)....................................................... 主時鍾切換寄存器(CLK_SWR)........................................................ 切換控制寄存器(CLK_SWCR)......................................................... 時鍾分頻寄存器(CLK_CKDIVR)....................................................... 外設時鍾門控寄存器(CLK_PCKENR1).................................................. 外設時鍾門控寄存器 2(CLK_PCKENR2) ................................................ 時鍾安全系統寄存器(CLK_CSSR)..................................................... 可配置時鍾輸出寄存器 ............................................................ CAN外部時鍾控制寄存器(CLK_CANCCR)................................................ HSI時鍾修正寄存器(CLK_HSITRIMR).................................................. SWIM時鍾控制寄存器(CLK_SWIMCCR).................................................. 52 53 54 55 56 57 58 59 60 61 62 63 64 時鍾寄存器地址映射 ................................................................. 65 電源 ............................................................................... 66 9.1 9.2 常規考慮 ........................................................................... 66 低功耗的時鍾 ................................................................... 66 9.2.1 9.2.2 9.3 降低系統時鍾 .................................................................... 66 外設時鍾門控 .................................................................... 66 等待(Wait)模式 .................................................................. 67 停機(Halt)模式 .................................................................. 67 活躍停機(Active Halt)模式........................................................ 68 停機模式下的快速內存喚醒......................................................... 68 活躍停機模式下的超低內存功耗..................................................... 68 低功耗模式 ......................................................................... 67 9.3.1 9.3.2 9.3.3 9.4 附加的模擬功耗控制 ................................................................. 68 9.4.1 9.4.2 10 中斷控制器(ITC) ........................................................................ 69 參照2009年1月 RM0016 Reference Manual STM8S microcontroller family 英文第4版 本譯文僅供參考,如有翻譯錯誤,請以英文原稿為准。請讀者隨時注意在ST網站下載更新版本 STM8S參考手冊 10.1 10.2 簡介 ............................................................................... 69 中斷屏蔽和處理流程 ................................................................. 69 10.2.1 10.2.2 10.3 10.4 10.5 處理等待(排隊)的中斷 ........................................................ 70 中斷源 ........................................................................ 71 中斷和低功耗模式 ................................................................... 72 活動等級/低功耗模式的控制 .......................................................... 72 同時的和嵌套的中斷管理 ............................................................. 72 10.5.1 10.5.2 10.6 10.7 10.8 10.9 同時發生中斷 模式 .......................................................... 72 嵌套中斷 模式 .............................................................. 73 74 74 75 76 外部中斷 ........................................................................... 中斷指令 ........................................................................... 中斷映射 ........................................................................... ITC寄存器 .......................................................................... 10.9.1 10.9.2 10.9.3 10.9.4 10.9.5 11 CPU CC 寄存器中斷位 ........................................................... 軟體優先順序寄存器 x (ITC_SPRx) ................................................. 外部中斷控制寄存器 1 (EXTI_CR1) ............................................... 外部中斷控制寄存器 1 (EXTI_CR2) ............................................... 寄存器表和復位值 .............................................................. 76 77 78 79 80 通用輸入輸出口(GPIO) ................................................................... 81 11.1 11.2 11.3 簡介 ............................................................................... 81 GPIO主要功能 ....................................................................... 81 I/O的配置和使用 .................................................................... 82 11.3.1 11.3.2 11.4 11.5 11.6 11.7 輸入模式 ...................................................................... 83 輸出模式 ...................................................................... 83 83 83 83 83 復位後的默認配置 ................................................................... 沒有使用的引腳 ..................................................................... 低功耗模式 ......................................................................... 輸入模式的詳述 ..................................................................... 11.7.1 11.7.2 11.7.3 11.7.4 11.8 復用功能輸入 .................................................................. 中斷功能 ...................................................................... 模擬通道 ...................................................................... 施密特觸發器 .................................................................. 83 84 84 84 輸出模式詳述 ....................................................................... 84 11.8.1 11.8.2 11.9 復用功能的輸出 ................................................................ 84 擺率控制 ...................................................................... 84 埠 埠 埠 埠 埠 GPIO x 輸出數據寄存器 (Px_ODR) ................................................ x 輸入寄存器 (Px_IDR) .................................................... x 數據方向 (Px_DDR) ...................................................... x 控制寄存器 1 (Px_CR1) .................................................. x 控制寄存器 2 (Px_CR2) .................................................. 寄存器表和復位值 ......................................................... 85 86 87 88 89 89 GPIO 寄存器 ........................................................................ 84 11.9.1 11.9.2 11.9.3 11.9.4 11.9.5 11.9.6 12 自動喚醒(AWU) .......................................................................... 90 12.1 12.2 簡介 ............................................................................... 90 AWU功能描述 ........................................................................ 90 12.2.1 AWU 操作 ........................................................................ 90 12.2.2 時基選擇 ...................................................................... 91 12.2.3 LSI 低速內部時鍾頻率檢測......................................................... 91 12.3 AWU 寄存器 ......................................................................... 92 12.3.1 12.3.2 12.3.3 12.3.4 控制/狀態寄存器 (AWU_CSR) ..................................................... 非同步預分頻寄存器 (AWU_APR) .................................................... 時基選擇寄存器 (AWU_TBR) ...................................................... AWU 寄存器表和復位值 .......................................................... 92 93 94 95 參照2009年1月 RM0016 Reference Manual STM8S microcontroller family 英文第4版 本譯文僅供參考,如有翻譯錯誤,請以英文原稿為准。請讀者隨時注意在ST網站下載更新版本 STM8S參考手冊 13 蜂鳴器(BEEP) ........................................................................... 96 13.1 13.2 簡介 ............................................................................... 96 功能描述 ........................................................................... 96 13.2.1 13.2.2 13.3 蜂鳴器操作 .................................................................... 96 蜂鳴器校準 .................................................................... 96 蜂鳴器 控制/狀態 寄存器 (BEEP_CSR) ............................................ 97 BEEP寄存器表和復位值 .......................................................... 97 蜂鳴器 寄存器 ...................................................................... 97 13.3.1 13.3.2 14 獨立看門狗(IWDG) ....................................................................... 98 14.1 14.2 14.3 介紹 ............................................................................... 98 獨立看門狗功能說明 ................................................................. 98 IWDG寄存器 ......................................................................... 99 14.3.1 14.3.2 14.3.3 14.3.4 15 鍵寄存器(IWDG_KR) ............................................................. 99 預分頻寄存器(IWDG_PR) ........................................................ 100 重裝載寄存器(IWDG_RLR) ....................................................... 101 IWDG寄存器映像和復位數值 ..................................................... 101 窗口看門狗(WWDG) ...................................................................... 102 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 15.10 介紹 .............................................................................. WWDG主要功能 ...................................................................... WWDG功能說明 ...................................................................... 在停止模式下使用WWDG .............................................................. 如何設置看門狗的超時 .............................................................. WWDG低功耗模式 .................................................................... 硬體看門狗選項 .................................................................... 在停止模式下使用
❸ 誰有STM8S的中文編程手冊
其實你可以從這個晶元的數據手冊裡面找到這個數據,在手冊的第65頁,有說明,這個晶元的擦寫周期。編程存儲器(Program memory):100次、數據存儲器(Data memory):10萬次。
❹ STM8 ADC_CR1;ADC_CR2;這個是什麼意思呢
ADC_CR1= 0x02; //這里設置分頻系數為2 連續轉換模式 先禁止ADC轉換
ADC_CR2=0x08; //設置數據右對齊 禁止掃描模式
STM8模擬/數字轉換器(ADC)簡介
ADC1和ADC2是10位的逐次比較型模擬數字轉換器。提供多達16個多功能的輸入通道(實際准確的通道數量在數據手冊的引腳描述說明)。A/D轉換的各個通道可以執行單次和連續的轉換模式。
相對於ADC2,ADC1具有一些擴展功能,包括掃描模式,帶緩存的連續模式以及模擬看門狗。
請參考STM8數據手冊來了解不同產品型號的ADC1和ADC2的功能信息。
主要特點
ADC1和ADC2的功能如下:
10位的解析度
單次和連續的轉換模式
可編程的(轉換頻率的)預分頻:fMASTER可以被分頻2到18
可以選擇ADC專用外部中斷(ADC_ETR)或者定時器觸發信號(TRGO)來作為外部觸發信號
模擬放大(對於具有VREF引腳的型號)
轉換結束時可產生中斷
靈活的數據對齊方式
ADC輸入電壓范圍:VSSA≤VIN≤VDDA
擴展(增強)功能
ADC1具有以下擴展功能:
帶緩沖的連續轉換模式(1)
單次和連續轉換的掃描模式
具有上限和下限門檻的模擬看門狗
模擬看門狗事件發生可產生中斷
❺ stm8s003低功耗問題求助
STM8等待(Wait)模式在運行模式下執行WFI(等待中斷)指令,可進入等待模式。此時CPU停止運行,但外設與中斷控制器仍保持運行,因此功耗會有所降低。等待模式可與PCG(外設時鍾門控),降低CPU時鍾頻率,以及選擇低功耗時鍾源(LSI,HSI)相結合使用,以進一步降低系統功耗。參見時鍾控制(CLK)的說明。在等待模式下,所有寄存器與RAM的內容保持不變,之前所定義的時鍾配置也保持不變(主時鍾狀態寄存器CLK_CMSR)。當一個內部或外部中斷請求產生時,CPU從等待模式喚醒並恢復工作。STM8停機(Halt)模式在該模式下主時鍾停止。即由fMASTER提供時鍾的CPU及所有外設均被關閉。因此,所有外設均沒有時鍾,MCU的數字部分不消耗能量。在停機模式下,所有寄存器與RAM的內容保持不變,默認情況下時鍾配置也保持不變(主時鍾狀態寄存器CLK_CMSR)。MCU可通過執行HALT指令進入停機模式。外部中斷可將MCU從停機模式喚醒。外部中斷指配置為中斷輸入的GPIO埠或具有觸發外設中斷能力的埠。在這種模式下,為了節省功耗主電壓調節器關閉。僅低電壓調節器(及掉電復位)處於工作狀態。快速時鍾啟動HSI RC的啟動速度比HSE快(參見數據手冊中電特性參數)。因此,為了減少MCU的喚醒時間,建議在進入暫停模式前選擇HSI做為fMASTER的時鍾源。在進入停機模式前可通過設置內部時鍾寄存器CLK_ICKR的FHWU位選擇HSI做為fMASTER的時鍾源,而無需時鍾切換。參見時鍾控制章節。STM8活躍停機(Active Halt)模式活躍停機模式與停機模式類似,但它不需要外部中斷喚醒。它使用AWU,在一定的延時後產生一個內部喚醒事件,延遲時間是用戶可編程的。在活躍暫停模式下,主振盪器、CPU及幾乎所有外設都被停止。如果AWU和IWD已被使能,則只有LSI RC與HSE仍處於運行狀態,以驅動AWU和IWD計數器。為進入活躍停機模式,需首先使能AWU(如AWU章節所述),然後執行HALT指令。
❻ 怎樣編程操作stm8的option byte
1.選項位元組的概念(參考stm8s中文數據手冊):
選項位元組包括晶元硬體特性的配置和存儲器的保護信息,這些位元組保存在存儲器中一個專用的
塊內。除了ROP(讀出保護)位元組,每個選項位元組必須被保存兩次,一個是通常的格式(OPTx)和
一個用來備份的互補格式(NOPTx)。可以在ICP模式(通過SWIM)下訪問下表中EEPROM的地址來修改選項位元組。
選項位元組也可以通過應用程序在IAP模式下修改,但是ROP選項只能在ICP模式(通過SWIM)下被
修改。
2.ISP IAP ICP的概念(有待學習):
ISP:In System Programing, 在系統編程 程序完全下載
IAP:In applicating Programing,在應用編程 我的理解是用應用程序去修改晶元里邊固定的一些數據(與應用編程無關的數據)
ICP:In Circuit Programing, 在電路編程
3.stm8s晶元的備用功能重映射:
stm8s晶元上帶有很多備用的功能,這些功能必須使用重映射功能才能實現,
重映射其實就是配置某個flash地址的某一位,使某個引腳具備備用功能或者默認功能的其中一個
而且一旦功能改,想恢復原來的功能必須重新寫入。
比如stm8s的PD4埠具有TIM2_CH1 功能和BEEP功能,默認的情況下是TIM2_CH1功能,
當我們要用到BEEP功能時必須寫選項字,將這個引腳重映射為BEEP功能。
4.庫函數實現重映射
//對於stm8s的選項字地址為0x4803
#defineBeep_OptionAdd0x4803
voidSet_Beep_OptionByte(void)
{
uint16_tBeep_Option_status;/*記錄激活備選功能Beep/TIM2_CH1的狀態*/
Beep_Option_status=FLASH_ReadOptionByte(Beep_OptionAdd);
/*Beep_Option_status的最高位為1激活了Beep,否則不激活,為TIM2_CH1*/
if((Beep_Option_status&0x8000))
{
FLASH_ProgramOptionByte(Beep_OptionAdd,(uint8_t)(Beep_Option_status&0x7fff));
/*向Beep_OptionAdd0x4803置0,不激活激活了Beep,恢復TIM2_CH1通道*/
}
}
❼ STM8單片機如何使用
我前段時間剛搞過STM8,現在在搞STM32,如果你有51的基礎STM8應該是很容易的,STM8跟AVR是很象的,同樣要用IO口的是候要先初始化IO口,建議看一下《STM8S技術參考手冊V4.pdf》主要了解個寄存器的作用!然後看一下STM8的庫函數,了解一下就可以開始編程了!我這里給一個點亮一個燈的程序給你參考:
#defineLEDS_PORT(GPIOH)
#defineLED1_PIN(GPIO_PIN_3)
voidmain(void)
{
GPIO_Init(LEDS_PORT,LED1_PIN,GPIO_MODE_OUT_PP_LOW_FAST);
while(1)
{
GPIO_WriteHigh(LEDS_PORT,Leds);
}
}
這里利用了STM8庫函數,記得把STM8的庫包含進工程!
❽ stm8單片機匯編指令的定址方式
stm8單片機匯編指令的CLR R10 和NEG A這兩個是直接定址。
❾ stm8單片機
我前段時間剛搞過STM8,現在在搞STM32,如果你有51的基礎STM8應該是很容易的,STM8跟AVR是很象的,同樣要用IO口的是候要先初始化IO口,建議看一下《STM8S技術參考手冊V4.pdf》主要了解個寄存器的作用!然後看一下STM8的庫函數,了解一下就可以開始編程了!我這里給一個點亮一個燈的程序給你參考:
#define LEDS_PORT (GPIOH)
#define LED1_PIN (GPIO_PIN_3)
void main(void)
{
GPIO_Init(LEDS_PORT,LED1_PIN ,GPIO_MODE_OUT_PP_LOW_FAST);
while (1)
{
GPIO_WriteHigh(LEDS_PORT, Leds);
}
}
這里利用了STM8庫函數,記得把STM8的庫包含進工程!
❿ STM8 8位單片機的終結者嗎
前段時間剛搞過STM8,現在在搞STM32,如果你有51的基礎STM8應該是很容易的,STM8跟AVR是很象的,同樣要用IO口的是候要先初始化IO口,建議看一下《STM8S技術參考手冊V4.pdf》主要了解個寄存器的作用!然後看一下STM8的庫函數,了解一下就可以開始編程了!我這里給一個點亮一個燈的程序給你參考:
#defineLEDS_PORT(GPIOH)
#defineLED1_PIN(GPIO_PIN_3)
voidmain(void)
{
GPIO_Init(LEDS_PORT,LED1_PIN,GPIO_MODE_OUT_PP_LOW_FAST);
while(1)
{
GPIO_WriteHigh(LEDS_PORT,Leds);
}
}
這里利用了STM8庫函數,記得把STM8的庫包含進工程!