請使用 PDK-5S-P003 進(jìn)行燒錄。3S-P-002 或之前的 Writer 版本皆已不支持燒錄 PFC151。
Jumper 連接:可依照燒錄器軟件上的說明,連接 jumper 即可。
請用戶依據(jù)實(shí)際情況選擇以下兩種燒錄模式。
系統(tǒng)特性
高抗干擾(High EFT)系列
特別適用于 AC 電源供電的、阻容降壓電路的、需要較強(qiáng)抗干擾能力的,
或有高 EFT 安規(guī)測試要求(±4KV)的產(chǎn)品
工作溫度范圍:-40°C ~ 85°C
ESD > 8 KV
系統(tǒng)功能
2KW MTP 程序空間(可編程 1000 次)
128 Bytes 數(shù)據(jù)空間
一個硬件 16 位定時器
兩個 8 位定時器可產(chǎn)生 6/7/8-bit PWM 波形
一個硬件比較器
最大 8 IO 引腳帶可選擇的上拉/下拉電阻
每個 IO 引腳都可設(shè)定為喚醒功能
Bandgap 電路提供 1.20V 參考電壓
時鐘源:IHRC、ILRC 和 EOSC (XTAL)
8 級可選擇的 LVR(Low Voltage Reset)復(fù)位電壓從 1.8V 到 4.5V
16 級可選擇的 LVD (Low Voltage Detect)檢測電壓從 1.8V 到 4.5V
三個可選擇的外部中斷引腳
CPU 特點(diǎn)
8 位高性能精簡指令集 CPU
86 條高效的指令
絕大部分指令都是單周期(1T)指令
可程序設(shè)定的堆棧指針和堆棧深度
數(shù)據(jù)存取支持直接和間接尋址模式
用數(shù)據(jù)存儲器即可當(dāng)作間接尋址模式的數(shù)據(jù)指針(index pointer)
寄存器地址空間、數(shù)據(jù)存儲空間、MTP 程序空間三者互相獨(dú)立
系統(tǒng)概述和方框圖
PFC151 是一個 IO 類型,靜態(tài) MTP 單片機(jī)。它運(yùn)用 RISC 的架構(gòu)基礎(chǔ)使大部分指令的執(zhí)行周期都是單周期,
只有少部分間接尋址的指令需要兩個指令周期。
PFC151 內(nèi)置 2KW MTP 程序存儲器以及 128 字節(jié)數(shù)據(jù)存儲器。
PFC151 內(nèi)置一個硬件比較器。
PFC151 提供一個 16 位的硬件計數(shù)器(Timer16)、兩個帶 PWM 的 8 位計數(shù)器(Timer2、Timer3)。
程序存儲器 (ROM)
PFC151 的程序存儲器記憶體是 MTP(可多次編程),用來存放數(shù)據(jù)(包含:數(shù)據(jù)、表格和中斷入口)和
要執(zhí)行的程序指令。PFC151 的程序存儲器容量為 2KW,如表 1 所示。
復(fù)位之后,程序從 0x000 開始(通常是 goto FPPA0),中斷入口在 0x010。
MTP 存儲器從地址“0x7E0 to 0x7FF”供系統(tǒng)使用,從“0x001 ~ 0x00F”和“0x011~0x7DF”地址空間是用戶的
程序空間。
MTP 程序存儲器最后 32 個地址空間是被保留給系統(tǒng)使用,如:校驗(yàn)碼,序列號等。
振蕩器和系統(tǒng)時鐘
PFC151 提供 3 個振蕩器電路:外部晶體振蕩器(EOSC)、內(nèi)部高頻 RC 振蕩器(IHRC)、內(nèi)部低頻 RC 振蕩器
(ILRC)。
這 3 個振蕩器可以分別用寄存器 EOSCR.7,CLKMD.4 與 CLKMD.2 啟用或停用,使用者可以選擇這 3 個振
蕩器之一作為系統(tǒng)時鐘源,并透過 CLKMD 寄存器來改變系統(tǒng)時鐘頻率,以滿足不同的系統(tǒng)應(yīng)用。
系統(tǒng)時鐘與 IHRC 頻率校準(zhǔn)
系統(tǒng)時鐘的時鐘源有 EOSC,IHRC 和 ILRC,PFC151 的時鐘系統(tǒng)的硬件框圖
使用中斷舉例
使用者必須預(yù)留足夠的堆棧存儲器以保存中斷向量,一級中斷需要兩個字節(jié),兩級中斷需要四個字節(jié)。下面
的示例程序演示了如何處理中斷,請注意,處理中斷和 pushaf 是需要四個字節(jié)堆棧存儲器。
void FPPA0 (void)
{ ...
$ INTEN PA0; // INTEN =1
;當(dāng) PA0 準(zhǔn)位改變,產(chǎn)生中斷請求
INTRQ = 0; // 清除 INTRQ
ENGINT // 啟用全局中斷
...
DISGINT // 停用全局中斷
...
}
void Interrupt (void) // 中斷程序
{
PUSHAF // 存儲 ALU 和 FLAG 寄存器
// 如果 INTEN.PA0 在主程序會動態(tài)開和關(guān),則表達(dá)式中可以判斷 INTEN.PA0 是否為 1。
// 例如: If (INTEN.PA0 && INTRQ.PA0) {…}
// 如果 INTEN.PA0 一直在使能狀態(tài),就可以省略判斷 INTEN.PA0,以加速中斷執(zhí)行。
If (INTRQ.PA0)
{ // PA0 的中斷程序
INTRQ.PA0 = 0; // 只須清除相對應(yīng)的位 (PA0)
...
}
...
// (X:) INTRQ = 0; // 不建議在中斷程序最后,才使用 INTRQ = 0 一次全部清除
// 因?yàn)樗赡軙褎偘l(fā)生而尚未處理的中斷,意外清除掉
POPAF // 回復(fù) ALU 和 FLAG 寄存器
PFC151 的所有 IO 引腳都具有相同的結(jié)構(gòu)
應(yīng)廣單片機(jī)產(chǎn)品應(yīng)用領(lǐng)域
玩具類:
RF/IR遙控直升飛機(jī),遙控車,PS游戲機(jī),兒童智能玩具,動物語音玩具,游戲方向盤,兒童學(xué)習(xí)機(jī)等
家電類:
電磁爐、電炒鍋、電飯煲、熱水壺,健康秤、冰箱控制系統(tǒng)、遙控器、電風(fēng)扇、洗衣機(jī)控制模塊、消毒柜、智能家居系統(tǒng),遙控?zé)艟叩?/p>
電子消費(fèi)類:
電子萬年歷、溫度濕度計、跑步計速器、按摩器、數(shù)碼復(fù)讀錄音、筆電子禮品、電子密碼鎖,鎳氫,鋰電池充電器,超聲波測距,防盜報警器,燈飾控制,舵機(jī)
其它:
智能溫濕度記錄儀、智能溫控器、計時器、計數(shù)器、電機(jī)調(diào)速控制器、鼠標(biāo)、鍵盤、移動存貯盤