




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
HOLTek血壓計(jì)LCDFlash單片機(jī) 7 7 7 8 9 低速晶體振蕩器電氣特性–LXT 血壓計(jì)LCDFlash單片機(jī)HOLTek 存儲(chǔ)器指針–MP0,MP1H/MP1L,MP HOLTek血壓計(jì)LCDFlash單片機(jī) 血壓計(jì)LCDFlash單片機(jī)HOLTek HOLTek血壓計(jì)LCDFlash單片機(jī) 血壓計(jì)LCDFlash單片機(jī)HOLTek◆PGA和OPA模塊HOLTek血壓計(jì)LCDFlash單片機(jī)該單片機(jī)是一款A(yù)/D型具有8位高性能精簡(jiǎn)指令集的Flash單片機(jī),內(nèi)置LCD在存儲(chǔ)器特性方面,F(xiàn)lash存儲(chǔ)器可多次編校準(zhǔn)數(shù)據(jù)等非易失性數(shù)據(jù)的TrueEEPROM存儲(chǔ)器。此外通過(guò)使用IAP功能,在模擬特性方面,該單片機(jī)包含一個(gè)多通道12位A/D轉(zhuǎn)換器、PGA和OPA功能。該單片機(jī)還帶有多個(gè)使用靈活的定時(shí)器模塊,可提供定時(shí)功能、脈沖產(chǎn)生提供電源。內(nèi)部看門(mén)狗定時(shí)器、低壓復(fù)位等內(nèi)部保護(hù)特性,外加優(yōu)秀的抗干擾該單片機(jī)提供了豐富的外部低速、內(nèi)部高速和低速振蕩器功能選項(xiàng),完全內(nèi)置外加I/O使用靈活、內(nèi)置的LCD驅(qū)動(dòng)和時(shí)基功能等其它特性,使這款單片機(jī)可血壓計(jì)LCDFlash單片機(jī) H回LTEK血壓計(jì)LCDFlash單片機(jī) VSSVOREGVDDPLCDPB4/SEG28PB5/SEG29VSSVSS/6463626160595857565554535251504923456710VMAXVMAXPB2/SEG24PB3/SEG23SEG22SEG21SEG16SEG15SEG14SEG13SEG12SEG11SEG9注:1.若共用腳同時(shí)有多種輸出,所需引腳共用功能通過(guò)引腳共用寄存器中相應(yīng)的軟件控制2.BH67V2265是BH67F2265的EV芯片,OCDSCK和OCDSDA引腳僅存在于OCDS血壓計(jì)LCDFlash單片機(jī)HOLTekPAS0—— PAS0 ——PAS0—————PAS0———PAS1 —NMOSHOLTek血壓計(jì)LCDFlash單片機(jī)PAS1—NMOSPAS1——UART串行數(shù)據(jù)輸入/輸出(單線通PAS1————NMOS—INTC0 NMOS—血壓計(jì)LCDFlash單片機(jī)HOLTek— ——————— ———UART串行數(shù)據(jù)輸入/輸出(單線通HOLTek血壓計(jì)LCDFlash單片機(jī)— —————— —————————PGA2輸入——PGA1輸出—————————— 血壓計(jì)LCDFlash單片機(jī)HOLTek————端口輸入電壓VSS-0.3V~VDD+0.3V注:這里只強(qiáng)調(diào)額定功率,超過(guò)極限參數(shù)所規(guī)定的范圍將對(duì)芯片造成損害,無(wú)法預(yù)期芯片在上述標(biāo)示范圍外的工作狀態(tài),而且若長(zhǎng)期在標(biāo)示范圍外的條以下表格中參數(shù)測(cè)量結(jié)果可能受多個(gè)因素影響,如振蕩器類(lèi)型、工作電壓、工—V—V—VHOLTek血壓計(jì)LCDFlash單片機(jī)WDTo?—μA———μA——356—μA—356 5 μA 356—5—μA———8μA———8μA——— 血壓計(jì)LCDFlash單片機(jī)HOLTek以下表格中參數(shù)測(cè)量結(jié)果可能受多個(gè)因素影響,如振蕩器類(lèi)型、工作電壓、工程序燒錄時(shí),燒錄器會(huì)依據(jù)用戶(hù)選擇的HIRC頻率和工作電壓(3V或5V)對(duì)8888注:1.燒錄器可在3V/5V這兩個(gè)可選的固定電壓下對(duì)HIRC頻率進(jìn)行調(diào)整,在此提供VDD=3V/5V時(shí)的參2.3V/5V表格列下面提供的是全壓條件下的參數(shù)值。當(dāng)應(yīng)用電壓范圍是2.2V~3.6V時(shí),建議燒錄器——————————%—————————ΩHOLTek血壓計(jì)LCDFlash單片機(jī)~~~~~~~~2.2V—————— 2 2 2 ——— ———————注:1.系統(tǒng)啟動(dòng)時(shí)間里提到的fSYSon/o?狀態(tài)取決于工作模式類(lèi)型以及所選的系統(tǒng)時(shí)鐘振蕩器。更多相關(guān)2.tHIRC等符號(hào)所表示的時(shí)間單位,是對(duì)應(yīng)頻率值的倒數(shù),相關(guān)頻率值在前面表格有說(shuō)明。例如,tHIRC=1/fHIRC,tSYS=1/fSYS等等。3.若LIRC被選擇作為系統(tǒng)時(shí)鐘源且在休眠模式下LIRC關(guān)閉,則上面表格中對(duì)應(yīng)tSST數(shù)值還需加上LIRC頻率表格里提供的LIRC啟動(dòng)時(shí)間tSTART。血壓計(jì)LCDFlash單片機(jī)HOLTek—0—V——0———V———————— —— — —————————注:RPH內(nèi)部上拉電阻值的計(jì)算方法是:將其接地并使能輸入引腳的上拉電阻選項(xiàng),然后在特定電源電壓——————————————————HOLTek血壓計(jì)LCDFlash單片機(jī) V 4 —————————————————————V2.在計(jì)算從空閑/休眠模式喚醒的系統(tǒng)總啟動(dòng)時(shí)間時(shí),還需加上ROM激活時(shí)間tACTV。———V—V——μA—μA—————μA———V——0—V 2 V—血壓計(jì)LCDFlash單片機(jī)HOLTek——12——————4—————4—A/D轉(zhuǎn)換時(shí)間(包括采樣和保持時(shí)間)———————V——μA——V——V—V—V——μA——HOLTek血壓計(jì)LCDFlash單片機(jī)——VV—μA—μA—μA—μA μA μA—血壓計(jì)LCDFlash單片機(jī)HOLTekfI2C—2—— 4 4 4 —8———8———————————————————————— ————————————AtSCL(L)ttSCL(L)tVD(SDA)tH(SDA)tVD(SDA)tH(SDA)tH(STA)tSU(SDA)tSU(STA)4UHOLTek血壓計(jì)LCDFlash單片機(jī)——————————1——VDDtPORtPORVPOR該單片機(jī)具有高運(yùn)算速度和高性能的特點(diǎn)。通過(guò)流水線的方式,指令的獲取和執(zhí)行同時(shí)進(jìn)行,此舉使得除了跳轉(zhuǎn)和調(diào)用指令需多一個(gè)指令周期外,其它大部分標(biāo)準(zhǔn)指令或擴(kuò)展指令都能分別在一個(gè)或兩個(gè)指令周期內(nèi)完成。8位ALU參與指令集中所有的運(yùn)算,它可完成算術(shù)運(yùn)算、邏輯運(yùn)算、移位、遞增、遞減和分寄存器在數(shù)據(jù)存儲(chǔ)器中被實(shí)現(xiàn),且可以直接或間接尋址。簡(jiǎn)單的寄存器尋址方式和結(jié)構(gòu)特性,確保了在提供具有較大可靠度和靈活性的I/O和A/D控制系統(tǒng)時(shí),僅需要少數(shù)的外部器件。使得該單片機(jī)適用于經(jīng)濟(jì)型和大量生產(chǎn)的控制應(yīng)主系統(tǒng)時(shí)鐘由HIRC、LXT或LIRC振蕩器提供,它被細(xì)分為T(mén)1~T4四個(gè)內(nèi)部產(chǎn)生的非重疊時(shí)序。在T1時(shí)間,程序計(jì)數(shù)器自動(dòng)加一并抓取一條新的指令。指令周期。雖然指令的抓取和執(zhí)行發(fā)生在連續(xù)的指令周期,但單片機(jī)流水線結(jié)構(gòu)會(huì)保證指令在一個(gè)指令周期內(nèi)被有效執(zhí)行。除非程序計(jì)數(shù)器的內(nèi)容被改變,如子程序的調(diào)用或跳轉(zhuǎn),在這種情況下指令將需要多一個(gè)指令周期的時(shí)間去執(zhí)如果指令牽涉到分支,例如跳轉(zhuǎn)或調(diào)用等指令,則需要兩個(gè)指令周期才能完成指令執(zhí)行。需要一個(gè)額外周期的原因是程序先用一個(gè)周期取出實(shí)際要跳轉(zhuǎn)或調(diào)用的地址,再用另一個(gè)周期去實(shí)際執(zhí)行分支動(dòng)作,因此用戶(hù)需要特別考慮額外fSYSfSYSH回LTEK 在程序執(zhí)行期間,程序計(jì)數(shù)器用來(lái)指向下一個(gè)要執(zhí)行的指令地址。除了“JMP”和“CALL”指令需要跳轉(zhuǎn)到一個(gè)非連續(xù)的程序存儲(chǔ)器地址之外,它會(huì)在每條可能位于某一程序存儲(chǔ)區(qū),可通過(guò)程序存儲(chǔ)區(qū)指針的PBP0位來(lái)選擇。只有較當(dāng)執(zhí)行的指令要求跳轉(zhuǎn)到不連續(xù)的地址時(shí),如跳轉(zhuǎn)指令、子程序調(diào)用、中斷或復(fù)位等,單片機(jī)通過(guò)加載所需要的地址到程序寄存器來(lái)控制程序,對(duì)于條件跳轉(zhuǎn)指令,一旦條件符合,在當(dāng)前指令執(zhí)行時(shí)取得的下一條指令將會(huì)被舍棄,而且它是可以讀取和寫(xiě)入的寄存器。通過(guò)直接寫(xiě)入數(shù)據(jù)到這個(gè)寄存器,一個(gè)程序短跳轉(zhuǎn)可直接執(zhí)行,然而只有低字節(jié)的操作是有效的,跳轉(zhuǎn)被限制在存儲(chǔ)器的當(dāng)前頁(yè)中,即256個(gè)存儲(chǔ)器地址范圍內(nèi),當(dāng)這樣一個(gè)程序跳轉(zhuǎn)要執(zhí)行時(shí),會(huì)插入一個(gè)空指令周期。程序計(jì)數(shù)器的低字節(jié)可由程序直接進(jìn)行讀取,PCL的使用堆棧是一個(gè)特殊的存儲(chǔ)空間,用來(lái)存儲(chǔ)程序計(jì)數(shù)器中的內(nèi)容。該單片機(jī)有多層堆棧,堆棧既不是數(shù)據(jù)部分也不是程序空間部分,而且它既不是可讀取也不是HOLTek血壓計(jì)LCDFlash單片機(jī)可寫(xiě)入的。當(dāng)前層由堆棧指針(SP)加以指示,同樣也是不可讀寫(xiě)的。在子程序調(diào)用或中斷響應(yīng)服務(wù)時(shí),程序計(jì)數(shù)器的內(nèi)容被壓入到堆棧中。當(dāng)子程序或中斷響應(yīng)結(jié)束時(shí),返回指令(RET或RETI)使程序計(jì)數(shù)器從堆棧中重新得到它以前如果堆棧已滿,且有非屏蔽的中斷發(fā)生,中斷請(qǐng)求標(biāo)志會(huì)被置位,但中斷響應(yīng)供程序設(shè)計(jì)者簡(jiǎn)單的方法來(lái)預(yù)防堆棧溢出。然而即使堆棧已滿,CALL指令仍然可以被執(zhí)行,而造成堆棧溢出。使用時(shí)應(yīng)避免堆棧溢出的情況發(fā)生,因?yàn)檫@算術(shù)邏輯單元是單片機(jī)中很重要的部分,執(zhí)行指令集中的算術(shù)和邏輯運(yùn)算。ALU連接到單片機(jī)的數(shù)據(jù)總線,在接收相關(guān)的指令碼后執(zhí)行需要的算術(shù)與邏輯操作,并將結(jié)果存儲(chǔ)在指定的寄存器,當(dāng)ALU計(jì)算或操作時(shí),可能導(dǎo)LADD,LADDM,LADC,LADCM,LSUB,LSUBM,LSBC,血壓計(jì)LCDFlash單片機(jī)HOLTek程序存儲(chǔ)器用來(lái)存放用戶(hù)代碼即儲(chǔ)存程序。程序存儲(chǔ)器為Flash類(lèi)型意味著可以多次重復(fù)編程,方便用戶(hù)使用同一芯片進(jìn)行程序的修改。使用適當(dāng)?shù)膯纹瑱C(jī)0000H0004H002CHn00HnFFH2000H3FFFH0000H0004H002CHn00HnFFH2000H3FFFHResetLook-upTable程序存儲(chǔ)器內(nèi)部某些地址保留用做諸如復(fù)位和中斷入口等特殊用途。地址0000H是芯片復(fù)位后的程序起始地址。在芯片復(fù)位之后,程序?qū)⑻竭@個(gè)地址程序存儲(chǔ)器中的任何地址都可以定義成一個(gè)表格,以便儲(chǔ)存固定的數(shù)據(jù)。使用表格時(shí),表格指針必須先行設(shè)定,其方式是將表格的地址放在表格指針寄存器在設(shè)定完表格指針后,當(dāng)數(shù)據(jù)存儲(chǔ)器[m]位于Sector0,表格數(shù)據(jù)可以使用如等指令分別從程序存儲(chǔ)器查表讀取。當(dāng)這些指令執(zhí)行時(shí),程序存儲(chǔ)器中表格數(shù)據(jù)低字節(jié),將被傳送到使用者所指定的數(shù)據(jù)存儲(chǔ)器[m],程序存儲(chǔ)器中表格數(shù)據(jù)的高字節(jié),則被傳送到TBLH特殊寄存器,而高字節(jié)中未使用的位將被讀取為“0”。AddressAddressTBLPRegisterRegisterRegisterTBLHUserSelectedHOLTek血壓計(jì)LCDFlash單片機(jī)以下范例說(shuō)明表格指針和表格數(shù)據(jù)如何被定義和執(zhí)行。這個(gè)例子使用的表格數(shù)指向的地址是16K程序存儲(chǔ)器中最后一頁(yè)的起始地址。表格指針低字節(jié)寄存器的初始值設(shè)為06H,這可保證從數(shù)據(jù)表格讀取的第一筆數(shù)據(jù)位于程序存儲(chǔ)器地[m]”或“LTABRD[m]”指令被使用,則表格指針指向TBHP和TBLP所指定的地址。在這個(gè)例子中,表格數(shù)據(jù)的高字節(jié)等于零,而當(dāng)“TABRD[m]”或TBLH寄存器為可讀/寫(xiě)寄存器,且能重新儲(chǔ)存,若主程序和中斷服務(wù)程序都使用表格讀取指令,應(yīng)該注意它的保護(hù)。使用表格讀取指令,中斷服務(wù)程序可能會(huì)改變TBLH的值,若隨后在主程序中再次使用這個(gè)值,則會(huì)發(fā)生錯(cuò)誤,因此建議避免同時(shí)使用表格讀取指令。然而在某些情況下,如果同時(shí)使用表格讀取指令是不可避免的,則在執(zhí)行任何主程序的表格讀取指令前,中斷應(yīng)該先除::Flash型程序存儲(chǔ)器提供用戶(hù)便利地對(duì)同一芯片進(jìn)行程序的更Holtek單片機(jī)提供4線接口的在線燒錄方式。用戶(hù)可將進(jìn)行過(guò)燒錄或未經(jīng)過(guò)燒血壓計(jì)LCDFlash單片機(jī)HOLTek地程序存儲(chǔ)器可以通過(guò)4線的接口在線進(jìn)行燒錄。其中一條線用于數(shù)據(jù)串行下載或上傳、一條線用于串行時(shí)鐘、剩下兩條用于提供電源。芯片在線燒寫(xiě)的詳細(xì)燒錄過(guò)程中,用戶(hù)必須確保ICPDA和ICPCK這兩個(gè)引腳沒(méi)有連接至其它輸出**VSS*注:*可能為電阻或電容。若為電阻則其值必須大于1kΩ,若為電容則其必須小于1nF。EV芯片BH67V2265用于BH67F2265單片機(jī)仿片在功能上幾乎是兼容的。用戶(hù)可將OCDSDA和OCDSCK引腳連接至HoltekHT-IDE開(kāi)發(fā)工具,從而實(shí)現(xiàn)單片機(jī)的仿真。OCDSDA引腳為OCDS數(shù)據(jù)/地址輸入/輸出腳,OCDSCK引腳為OCDS時(shí)鐘輸入腳。當(dāng)用由于這兩個(gè)OCDS引腳與ICP引腳共用,因此在線燒錄時(shí)仍用作Flash存儲(chǔ)器燒錄引腳。關(guān)于OCDS功能的詳細(xì)描述,請(qǐng)參考“Holteke-Linkfor8-bitMCU地Flash型程序存儲(chǔ)器便于用戶(hù)在同一芯片上對(duì)程序進(jìn)行更新和修改。單片機(jī)的IAP功能使用戶(hù)可以方便地對(duì)Flash程序存儲(chǔ)器進(jìn)行多次編程。IAP功能可HOLTek血壓計(jì)LCDFlash單片機(jī)以通過(guò)內(nèi)部固件進(jìn)行程序的更新,而無(wú)需外接燒錄器或PC。此外過(guò)I/O引腳可以設(shè)置為任何類(lèi)型的通信協(xié)議,例如UART或USB。關(guān)于內(nèi)部固件,用戶(hù)可以選擇Holtek提供的版本或創(chuàng)建自己的內(nèi)部固件。以下章節(jié)說(shuō)明了Flash存儲(chǔ)器以頁(yè)為單位進(jìn)行擦/寫(xiě)操作,以字為單位進(jìn)行讀出操作。頁(yè)的大小Flash存儲(chǔ)器擦/寫(xiě)功能成功使能時(shí)CFWEN位會(huì)被硬件置高,當(dāng)該位被置高,便可寫(xiě)入數(shù)據(jù)到“寫(xiě)入緩沖器”。FWT位用于啟動(dòng)寫(xiě)入程序,并指示寫(xiě)入操作的狀態(tài)。當(dāng)該位由應(yīng)用程序置高時(shí)將開(kāi)始一個(gè)寫(xiě)入程序,當(dāng)寫(xiě)入操作結(jié)束后該由應(yīng)用程序設(shè)置FRD位來(lái)啟動(dòng)讀出程序,并指頁(yè)012345678血壓計(jì)LCDFlash單片機(jī)HOLTekEQ\*jc3\*hps11\o\al(\s\up6(age),FAEQ\*jc3\*hps11\o\al(\s\up6(age),FA1)EQ\*jc3\*hps11\o\al(\s\up6(a),3)EQ\*jc3\*hps11\o\al(\s\up6(dr),FA)Wordm!Writebufferaddr.=FA4~FA0執(zhí)行寫(xiě)入操作時(shí)寫(xiě)入緩沖器用于臨時(shí)存儲(chǔ)寫(xiě)入的數(shù)據(jù)。通過(guò)執(zhí)行Flash存儲(chǔ)器擦/寫(xiě)使能程序成功使能Flash存儲(chǔ)器擦/寫(xiě)功能后,才可將要寫(xiě)入的數(shù)據(jù)填入CLWB位可以使能清除寫(xiě)入緩沖器程序,完成后該位會(huì)被硬件自動(dòng)清零。建議第一次使用寫(xiě)入緩沖器或更新寫(xiě)入緩沖器內(nèi)的數(shù)據(jù)時(shí),應(yīng)先置高CLWB位將寫(xiě)寫(xiě)入緩沖器的大小為每頁(yè)32字。寫(xiě)入緩沖器的地址與存儲(chǔ)器地址位FA13~FA5指定的Flash存儲(chǔ)器頁(yè)的地址相對(duì)應(yīng)。寫(xiě)入到FD0L和FD0H寄存器的數(shù)據(jù)會(huì)被加載到寫(xiě)入緩沖器。當(dāng)寫(xiě)入數(shù)據(jù)到高字節(jié)數(shù)據(jù)寄存器FD0H時(shí),會(huì)將存儲(chǔ)在FD0L和FD0H數(shù)據(jù)寄存器內(nèi)的數(shù)據(jù)都加載到寫(xiě)入緩沖器,并使Flash存儲(chǔ)器地址自動(dòng)加一,之后新的地址會(huì)被加載到FARH和FARL地址寄存器。當(dāng)Flash并停在該頁(yè)的最后一個(gè)地址,此時(shí)需要再設(shè)定一個(gè)新的頁(yè)地址才可進(jìn)寫(xiě)入程序結(jié)束后,硬件會(huì)自動(dòng)清除寫(xiě)入緩沖器。注意,如果在比對(duì)步驟時(shí)發(fā)現(xiàn)寫(xiě)入到Flash存儲(chǔ)器的數(shù)據(jù)不正確,則需通過(guò)應(yīng)用程序手動(dòng)清除寫(xiě)入緩沖器,與IAP相關(guān)的Flash存取寄存器有兩個(gè)地址寄存器、四對(duì)16位數(shù)據(jù)寄存器和三系列寄存器控制,即地址寄存器FARL和FARH,數(shù)據(jù)寄存器F控制寄存器FC0、FC1和FC2。由于這些寄存器都位于Sector1中,可通過(guò)擴(kuò)展指令直接被訪問(wèn),或者通過(guò)存儲(chǔ)器指針對(duì)MP1H/MP1L或MP2H/MP2L和間HOLTek血壓計(jì)LCDFlash單片機(jī)位76543210 ——76543210Name00000000當(dāng)此位由應(yīng)用程序清零后,F(xiàn)lash存儲(chǔ)器擦/寫(xiě)功能除能。注意,此位不可通過(guò)存儲(chǔ)器擦/寫(xiě)功能狀態(tài)。當(dāng)此位由硬件置為“1”時(shí),表明Flash存儲(chǔ)器擦/寫(xiě)功Bit6~4FMOD2~F這幾位用于選擇Flash存儲(chǔ)器的操作模式。注意在執(zhí)行擦/寫(xiě)Flash存儲(chǔ)器操作Bit3FWPEN:當(dāng)內(nèi)部定時(shí)器計(jì)時(shí)溢出后由硬件清零。需在FWPEN置高后盡快寫(xiě)入正確數(shù)據(jù)血壓計(jì)LCDFlash單片機(jī)HOLTek此位為Flash存儲(chǔ)器讀出使能位,在執(zhí)行Flash存儲(chǔ)器讀出操作之前需將此位置76543210Name0000000076543210Name——————————————————00Bit7~2未定義,讀為“0”76543210Name00000000HOLTek血壓計(jì)LCDFlash單片機(jī)76543210Name——————000000Bit7~6未定義,讀為“0”76543210Name00000000Bit7~0D7~D0:第注意寫(xiě)入低字節(jié)數(shù)據(jù)寄存器FD0L的數(shù)據(jù)只能存儲(chǔ)在FD0L寄存器,不會(huì)加載76543210Name00000000注意當(dāng)寫(xiě)入8位數(shù)據(jù)到高字節(jié)數(shù)據(jù)寄存器FD0H時(shí),存儲(chǔ)在FD0H和FD0L寄76543210Name00000000Bit7~0D7~D0:第76543210Name00000000血壓計(jì)LCDFlash單片機(jī)HOLTek76543210Name00000000Bit7~0D7~D0:第76543210Name0000000076543210Name00000000Bit7~0D7~D0:第76543210Name000000001.先啟動(dòng)“Flash存儲(chǔ)器擦/寫(xiě)使能程序”。當(dāng)Flash存儲(chǔ)器擦/寫(xiě)功能成功使能后,F(xiàn)C0寄存器中的CFWEN位會(huì)由硬件自動(dòng)置高,此時(shí)才可執(zhí)行擦/寫(xiě)址,然后寫(xiě)入任意數(shù)據(jù)到FD0H寄存器來(lái)標(biāo)記地址。每寫(xiě)入一個(gè)任意數(shù)據(jù)到即11111b,地址將不再增加,并停在該頁(yè)的最后一個(gè)地址。注意寫(xiě)數(shù)據(jù)到H回LTEK血壓計(jì)LCDFlash單片機(jī)5.采用TABRD指令進(jìn)行讀取并比對(duì)寫(xiě)入數(shù)據(jù)是否正確,如果寫(xiě)入不成功,設(shè)<><> VerifyErase/WriteFunction血壓計(jì)LCDFlash單片機(jī)HOLTekFlash存儲(chǔ)器擦/寫(xiě)使能模式是專(zhuān)門(mén)為保護(hù)Flash存儲(chǔ)器內(nèi)容不被輕易地修改而3.使用者必須在FWPEN位置高后盡快填入正確數(shù)據(jù)序列至FD1L~FD3L和FD1H~FD3H寄存器中,數(shù)據(jù)序列為FD1L=00h、FD1H=04h、FD2L=0Dh、4.一旦定時(shí)器計(jì)時(shí)結(jié)束,無(wú)論寫(xiě)入的數(shù)據(jù)序列是否正確,F(xiàn)WPEN位將由硬件6.一旦Flash存儲(chǔ)器擦/寫(xiě)功能成功使能,即可通過(guò)IAP控制寄存器進(jìn)行頁(yè)擦/將FC0寄存器中的CFWEN位清零,可除能Flash存儲(chǔ)器擦/寫(xiě)功能,此時(shí)不HOLTek血壓計(jì)LCDFlash單片機(jī)EQ\*jc3\*hps14\o\al(\s\up0(T),W)EQ\*jc3\*hps14\o\al(\s\up0(e),E)EQ\*jc3\*hps14\o\al(\s\up8(r),u)EQ\*jc3\*hps14\o\al(\s\up0(t),0)Yes血壓計(jì)LCDFlash單片機(jī)HOLTek當(dāng)Flash擦/寫(xiě)功能成功使能后,CFWEN位會(huì)被硬件置高,此時(shí)要寫(xiě)入Flash存儲(chǔ)器的數(shù)據(jù)才能加載到寫(xiě)入緩沖器。在開(kāi)始寫(xiě)入程序之前,應(yīng)先正確配置寫(xiě)入緩沖器的大小為每頁(yè)32個(gè)字,其地址與FA13~FA5指定的Flash存儲(chǔ)器頁(yè)的地址為相對(duì)應(yīng)關(guān)系。注意,寫(xiě)入緩沖器的地址與對(duì)應(yīng)存儲(chǔ)器的地址必須在相對(duì)于寫(xiě)入操作每次寫(xiě)入的數(shù)據(jù)最多為32字。多筆連續(xù)地址的數(shù)據(jù)寫(xiě)入時(shí),寫(xiě)入緩沖器的地址將自動(dòng)加“1”。用戶(hù)只需將第一筆數(shù)據(jù)的地址填入FARL和FARH,并將第一筆數(shù)據(jù)依序填入FD0L和FD0H寄存器(先寫(xiě)FD0L再寫(xiě)FD0H,才會(huì)將FD0L和FD0H數(shù)據(jù)一起填入寫(xiě)入緩沖器),寫(xiě)入緩沖器的地址將自動(dòng)加“1”,要填入第二筆數(shù)據(jù)時(shí),可不用再指定地址FARL和FARH。當(dāng)連續(xù)地址到達(dá)當(dāng)前頁(yè)的最后一個(gè)地址時(shí),寫(xiě)入緩沖器的地址將不會(huì)再自動(dòng)加硬件置高,表示可進(jìn)行IAP擦/寫(xiě)操作。詳細(xì)內(nèi)容請(qǐng)參考“Flash存儲(chǔ)器擦/5.先將目標(biāo)起始地址寫(xiě)入FARL和FARH寄存器中,將要往連續(xù)地址所在頁(yè)寫(xiě)6.設(shè)定FWT位為“1”,將寫(xiě)入緩沖器的數(shù)據(jù)寫(xiě)入到對(duì)應(yīng)的Flash存儲(chǔ)器中,H回LTEK血壓計(jì)LCDFlash單片機(jī)V<><><><><><><><><><>血壓計(jì)LCDFlash單片機(jī)HOLTek連續(xù)地址寫(xiě)入操作與非連續(xù)地址寫(xiě)入操作的主要差別在于要寫(xiě)入的數(shù)據(jù)是否位于連續(xù)地址。如果要寫(xiě)入的數(shù)據(jù)不是位于連續(xù)的地址,當(dāng)一筆數(shù)據(jù)成功寫(xiě)入到1.啟動(dòng)“Flash存儲(chǔ)器擦/寫(xiě)使能程序”,確認(rèn)CFWEN位的值,如果CFWEN被硬件置高,表示可進(jìn)行IAP擦/寫(xiě)操作。詳細(xì)內(nèi)容請(qǐng)參考5.先將目標(biāo)地址ADDR1寫(xiě)入FARL和FARH寄存器中,將要寫(xiě)入的數(shù)據(jù)6.設(shè)定FWT位為“1”,將寫(xiě)入緩沖器的數(shù)據(jù)寫(xiě)入到對(duì)應(yīng)的Flash存儲(chǔ)器中,8.再將目標(biāo)地址ADDR2寫(xiě)入FARL和FARH寄存器中,將要寫(xiě)入的數(shù)據(jù)9.設(shè)定FWT位為“1”,將寫(xiě)入緩沖器的數(shù)據(jù)寫(xiě)入到對(duì)應(yīng)的Flash存儲(chǔ)器中,H回LTEK血壓計(jì)LCDFlash單片機(jī)<>Tagaddress<>VV<>Yes<>YesYesSpecifySpecifyFlashMemoryYesYesWritedatatoWriteBufferYesYesVerifydatawithYes<>WriteAnother<>WriteanotherWriteanotherWordReadFinish?ReadFinish?血壓計(jì)LCDFlash單片機(jī)HOLTek1.要開(kāi)始對(duì)Flash存儲(chǔ)器進(jìn)行IAP擦/寫(xiě)操作之前,必須先完成“Flash存儲(chǔ)器3.寫(xiě)入緩沖器中的數(shù)據(jù)寫(xiě)入Flash存儲(chǔ)器是以頁(yè)為單位進(jìn)行的,且寫(xiě)入時(shí)不可4.數(shù)據(jù)寫(xiě)入Flash存儲(chǔ)器后,必須以查表指令“TABRD”讀出方式比對(duì)所寫(xiě)數(shù)據(jù)是否正確,若比對(duì)發(fā)現(xiàn)寫(xiě)入數(shù)據(jù)不正確時(shí),通過(guò)器清除,然后重新寫(xiě)入數(shù)據(jù),且不清除Flash存儲(chǔ)器,直接再寫(xiě)入,然后再NoNo要啟動(dòng)Flash存儲(chǔ)器讀出程序,需將FMOD[2:0]位設(shè)為“011”選擇Flash存儲(chǔ)器讀出模式,將FRDEN位設(shè)為“1”使能讀出功能。將要讀出的地址填入FARH和FARL地址寄存器中,并將FRD位設(shè)為“1”,然后便可開(kāi)始Flash存儲(chǔ)器讀出操作。當(dāng)FRD被硬件清為“0”時(shí),則可從FD0H和FD0L寄存器中取得Flash存儲(chǔ)器中該地址數(shù)據(jù)。進(jìn)行Flash存儲(chǔ)器讀出操作前,無(wú)需執(zhí)行NoNoReadFlashMemoryFMOD[2:0]=011FRDEN=1FlashMemoryAddress:FARH=xxh,FARL=xxhFRD=1FRD=0?YesReadvalue:FD0L=xxh,FD0H=xxhYesFRDEN=0ENDHOLTek血壓計(jì)LCDFlash單片機(jī)數(shù)據(jù)存儲(chǔ)器分為三個(gè)部分,第一部分是特殊功能數(shù)據(jù)存儲(chǔ)器。這些寄存器有固定的地址且與單片機(jī)的正確操作密切相關(guān)。大多特殊功能寄存器都可在程序控制下直接讀取和寫(xiě)入,但有些被加以保護(hù)而不對(duì)用戶(hù)開(kāi)放。第二部分?jǐn)?shù)據(jù)存儲(chǔ)當(dāng)使用間接尋址時(shí),切換不同的數(shù)據(jù)存儲(chǔ)器Sector通過(guò)設(shè)置正確的間接尋址指數(shù)據(jù)存儲(chǔ)器被分為多個(gè)Sector,都位于8位存儲(chǔ)器中。每個(gè)數(shù)據(jù)存儲(chǔ)器Sector分為兩種類(lèi)型,即特殊功能數(shù)據(jù)存儲(chǔ)器和通用數(shù)據(jù)存儲(chǔ)器。特殊功能數(shù)據(jù)存儲(chǔ)器地址范圍為00H~7FH,而通用數(shù)據(jù)存儲(chǔ)器地址范圍為80H~FFH。LCD顯示(Sector0~Sector1)(Sector0~Sector3)(Sector4)Sector2Sector2Sector0Sector1Sector3血壓計(jì)LCDFlash單片機(jī)HOLTek此單片機(jī)支持?jǐn)U展指令架構(gòu),它并沒(méi)有可用于數(shù)據(jù)存儲(chǔ)器的存儲(chǔ)區(qū)指針。存儲(chǔ)區(qū)指針PBP僅適用于程序存儲(chǔ)器。對(duì)于數(shù)據(jù)存儲(chǔ)器,使用間接尋址訪問(wèn)方式時(shí)直接尋址可用于所有Sector,通過(guò)擴(kuò)展指令可以尋址所有可用的數(shù)據(jù)存儲(chǔ)器空間。當(dāng)所訪問(wèn)的數(shù)據(jù)存儲(chǔ)器位于除Sector0外的任何數(shù)據(jù)存儲(chǔ)器Sector時(shí),擴(kuò)展指令可代替間接尋址方式用來(lái)訪問(wèn)數(shù)據(jù)存儲(chǔ)器。標(biāo)準(zhǔn)指令和擴(kuò)展指令的主要區(qū)別在于擴(kuò)展指令中的數(shù)據(jù)存儲(chǔ)器地址“m”有10個(gè)有效位,高字節(jié)表示該RAM區(qū)域就是通用數(shù)據(jù)存儲(chǔ)器。這個(gè)數(shù)據(jù)存儲(chǔ)區(qū)可讓使用者進(jìn)行讀取和寫(xiě)入的操作。使用位操作指令可對(duì)個(gè)別的位做置位或復(fù)位的操作,較大地方便了這個(gè)區(qū)域的數(shù)據(jù)存儲(chǔ)器是存放特殊寄存器的,這些寄存器與單片機(jī)的正確操作密切相關(guān),大多數(shù)的寄存器可進(jìn)行讀取和寫(xiě)入,只有一些是被寫(xiě)保護(hù)而只能讀取的,相關(guān)細(xì)節(jié)的介紹請(qǐng)參看有關(guān)特殊功能寄存器的部分。要注意的是,任何H回LTEK血壓計(jì)LCDFlash單片機(jī)01H02H03H04H05H06H07H08H09H0AH0BH0EH0FH10H11H12H13H14H15H16H17H18H19H1AH1BH1EH1FH20H21H22H23H24H25H26H27H28H29H2AH2BH2EH2FH30H31H32H33H34H35H36H37H38H39H3AH3BH3EH3FHSector0Sector1ACCTBLPTBLHTBHPSTATUSWDTCTB0CTB1CSIMA/SIMC2SIMTOC40H41H42H43H44H45H46H47H48H49H4AH4BH4CH4DH4EH4FH50H51H52H53H54H55H56H57H58H59H5AH5BH5CH5DH5EH5FH60H61H62H63H64H65H66H67H68H69H6AH6BH6CH6DH6EH6FH70H71H72H73H74H75H76H77H78H79H7AH7BH7CH7DH7EH7FHSector0Sector1STMDLSTMDHSTMALSTMAHSTMRPCTM0C0CTM0C1CTM0DLCTM0AHCTM1C0CTM1C1CTM1DLCTM1AHSLEDC0SLEDC1SCFC0SCFC1SCFCKDCCVREFCSADOHSADOL:Reserved,cannotbe血壓計(jì)LCDFlash單片機(jī)HOLTek大部分特殊功能寄存器的細(xì)節(jié)將在相關(guān)功能章節(jié)描述,但有幾個(gè)寄存器需在此間接尋址寄存器IAR0、IAR1和IAR2的地址雖位于數(shù)據(jù)存儲(chǔ)區(qū),但不同于普通寄存器,它們沒(méi)有實(shí)際的物理地址。與定義實(shí)際存儲(chǔ)器地址的直接存儲(chǔ)器尋址不同,間接尋址是使用間接尋址寄存器和存儲(chǔ)器指針來(lái)執(zhí)行存儲(chǔ)器數(shù)據(jù)操作。在間接尋址寄存器IAR0、IAR1和IAR2上的任何動(dòng)作,將對(duì)間接尋址指針MP0、MP1L/MP1H或MP2L/MP2H所指定的存儲(chǔ)器地址產(chǎn)生對(duì)應(yīng)的讀/寫(xiě)操作。它們總是成對(duì)出現(xiàn),IAR0和MP0可以訪問(wèn)SectoMP1H、IAR2和MP2L/MP2H可以訪問(wèn)任何Sector。因?yàn)檫@些間接尋址寄存器不是實(shí)際存在的,直接讀取將返回“00H”的結(jié)果,而直接寫(xiě)入此寄存器則不存儲(chǔ)器指針–MP0,MP1H/MP1L,該單片機(jī)提供五個(gè)存儲(chǔ)器指針,即MP0、MP1L、MP1H、MP2L和MP2H。由于這些指針在數(shù)據(jù)存儲(chǔ)器中能像普通的寄存器一般被操作,因此提供了一個(gè)尋址和數(shù)據(jù)追蹤的有效方法。當(dāng)對(duì)間接尋址寄存器進(jìn)行任何操作時(shí),單片機(jī)指向的實(shí)際地址是由存儲(chǔ)器指針?biāo)付ǖ牡刂贰P0、IAR0用于訪問(wèn)Sector0,而MP1L/MP1H和IAR1、MP2L/MP2H和IAR2可根據(jù)MP1H或MP2H寄存器訪以下例子說(shuō)明如何清除一個(gè)具有4個(gè)RAM地址的區(qū)塊,它們已事先定義成地:HOLTek血壓計(jì)LCDFlash單片機(jī)::注:“m”是位于任何數(shù)據(jù)存儲(chǔ)器Sector的某一地址。例如,m=1F0H表示Sector1中該單片機(jī)程序存儲(chǔ)器被分為幾個(gè)Bank,可以通過(guò)設(shè)置程序存儲(chǔ)區(qū)指針PBP來(lái)訪問(wèn)不同的程序存儲(chǔ)區(qū)。PBP寄存器應(yīng)在單片機(jī)使用“JM執(zhí)行“分支”操作前正確地配置。在分支指令執(zhí)行后會(huì)跳轉(zhuǎn)到一個(gè)非連續(xù)的程血壓計(jì)LCDFlash單片機(jī)HOLTek76543210Name—————————————————————0Bit7~1未定義,讀為“0”對(duì)任何單片機(jī)來(lái)說(shuō),累加器是相當(dāng)重要的,且與ALU所完成的運(yùn)算有密切關(guān)系,所有ALU得到的運(yùn)算結(jié)果都會(huì)暫時(shí)存在ACC累加器里。若沒(méi)有累加器,這樣會(huì)造成程序編寫(xiě)和時(shí)間的負(fù)擔(dān)。另外數(shù)據(jù)傳送也常常牽涉到累加器的臨時(shí)儲(chǔ)存功能,例如在使用者定義的一個(gè)寄存器和另一個(gè)寄存器之間傳送數(shù)據(jù)時(shí),為了提供額外的程序控制功能,程序計(jì)數(shù)器低字節(jié)設(shè)置在數(shù)據(jù)存儲(chǔ)器的特殊功直接給PCL寄存器賦值將導(dǎo)致程序直接跳轉(zhuǎn)到程序存于寄存器只有8位長(zhǎng)度,因此只允許在本頁(yè)的程序存儲(chǔ)器范圍內(nèi)進(jìn)行跳轉(zhuǎn),而這三個(gè)特殊功能寄存器對(duì)存儲(chǔ)在程序存儲(chǔ)器中的表格進(jìn)行操作為表格指針,指向表格數(shù)據(jù)存儲(chǔ)的地址。它們的值必須在任何表格讀取指令執(zhí)行前加以設(shè)定,由于它們的值可以被如“INC”或“DEC”的指令所改變,這就提供了一種簡(jiǎn)單的方法對(duì)表格數(shù)據(jù)進(jìn)行讀取。表格讀取數(shù)據(jù)指令執(zhí)行之后,表格數(shù)據(jù)高字節(jié)存儲(chǔ)在TBLH中。其中要注意的是,表格數(shù)據(jù)低字節(jié)會(huì)被傳送輔助進(jìn)位標(biāo)志位(AC)、溢出標(biāo)志位(OV)、暫停標(biāo)志位(PDF)和看門(mén)狗定時(shí)器溢出標(biāo)志位(TO)組成。這些算術(shù)/邏輯操作和系統(tǒng)運(yùn)行標(biāo)志位是用來(lái)記錄單片除了PDF和TO標(biāo)志外,狀態(tài)寄存器中的位像其它大部分寄存器一樣可以被改變。任何數(shù)據(jù)寫(xiě)入到狀態(tài)寄存器將不會(huì)改變TO或PDF標(biāo)志位。另外,執(zhí)行不受系統(tǒng)上電、看門(mén)狗溢出或執(zhí)行“CLRWDT”或“HALT”指令影響。PDF標(biāo)志位只會(huì)受執(zhí)行“HALT”或“CLRWDT”指令●C:當(dāng)加法運(yùn)算的結(jié)果產(chǎn)生進(jìn)位,或減法運(yùn)算的結(jié)果沒(méi)有產(chǎn)生借位時(shí),則CHOLTek血壓計(jì)LCDFlash單片機(jī)●AC:當(dāng)?shù)桶胱止?jié)加法運(yùn)算的結(jié)果產(chǎn)生進(jìn)位,或低半字節(jié)減法運(yùn)算的結(jié)果沒(méi)有●OV:當(dāng)運(yùn)算結(jié)果高兩位的進(jìn)位狀態(tài)異或結(jié)果為1時(shí),OV被置位,否則OV●PDF:系統(tǒng)上電或執(zhí)行“CLRWDT”指令會(huì)清零PDF,而執(zhí)行“HALT”指另外,當(dāng)進(jìn)入一個(gè)中斷程序或執(zhí)行子程序調(diào)用時(shí),狀態(tài)寄存器不會(huì)自動(dòng)壓入到76543210NameZCRRxx00xxxxBit6CZ:不同指令不同標(biāo)志位的操作結(jié)果對(duì)于SBC/SBCM/LSBC/LSBCM指令,CZ等于上一個(gè)CZ標(biāo)志位與當(dāng)前零標(biāo)志0:系統(tǒng)上電或執(zhí)行“CLRWDT”或“HALT”指令后0:系統(tǒng)上電或執(zhí)行“CLRWDT”指令后血壓計(jì)LCDFlash單片機(jī)HOLTek電的情況下存儲(chǔ)器內(nèi)的數(shù)據(jù)仍然保存完好。這種存儲(chǔ)區(qū)擴(kuò)展了存儲(chǔ)器空間,對(duì)設(shè)計(jì)者來(lái)說(shuō)增加了許多新的應(yīng)用機(jī)會(huì)。EEPROM可以用來(lái)存儲(chǔ)產(chǎn)品編號(hào)、校準(zhǔn)值、用戶(hù)特定數(shù)據(jù)、系統(tǒng)配置參數(shù)或其它產(chǎn)品信息等。EEPROM的數(shù)據(jù)讀取和該單片機(jī)的EEPROM數(shù)據(jù)存儲(chǔ)器容量為1024×8位。由于映射方式與程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器不同,因此不能像其它類(lèi)型的存儲(chǔ)器一樣尋址。使用Sector0中的一個(gè)地址寄存器和一個(gè)數(shù)據(jù)寄存器以及Sector1中的一個(gè)控制寄存器,可有四個(gè)寄存器控制內(nèi)部EEPROM數(shù)據(jù)存儲(chǔ)器總的操作,地址寄存器EEAL和EEAH、數(shù)據(jù)寄存器EED及控制寄存器EEC。EEAL、EEAH和EED位于中,僅可通過(guò)MP1L/MP1H和IAR1或MP2L/MP2H和IAR2進(jìn)行間接讀取或?qū)懖僮鞅粓?zhí)行前,MP1L或MP2L必須先設(shè)為“40H”,MP1H或MP2H被設(shè)為位76543210——————76543210Name00000000Bit7~0EEAL7~EE76543210Name——————————————————00Bit7~2未定義,讀為“0”HOLTek血壓計(jì)LCDFlash單片機(jī)76543210Name0000000076543210Name00000000Bit7EWERTS0:擦除時(shí)間為3.2ms(tEEER)/寫(xiě)入時(shí)間為2.2此位用來(lái)使能數(shù)據(jù)EEPROM擦功能,向數(shù)據(jù)EEPROM擦操作之前需將此位置高。擦周期結(jié)束后,硬件自動(dòng)將此位清零。將此位清零時(shí),則禁止向數(shù)據(jù)此位為數(shù)據(jù)EEPROM擦控制位,由應(yīng)用程序?qū)⒋宋恢酶邔⒓せ畈林芷凇2林芷贐it4MODE:數(shù)據(jù)EEPROM操作模式此位為數(shù)據(jù)EEPROM操作模式選擇位。當(dāng)此位為高,則選擇頁(yè)寫(xiě)、擦或讀操作模式。當(dāng)此位為0,則選擇字節(jié)寫(xiě)或讀操作模式。EEPROM頁(yè)緩存器大小此位為數(shù)據(jù)EEPROM寫(xiě)使能位,向數(shù)據(jù)EEPROM寫(xiě)操作之前需將此位置高。Bit2WR:EEPROM寫(xiě)控制位此位為數(shù)據(jù)EEPROM寫(xiě)控制位,由應(yīng)用程序?qū)⒋宋恢酶邔⒓せ顚?xiě)周期。寫(xiě)周期此位為數(shù)據(jù)EEPROM讀使能位,向數(shù)據(jù)EEPROM讀操作之前需將此位置高。血壓計(jì)LCDFlash單片機(jī)HOLTek此位為數(shù)據(jù)EEPROM讀控制位,由應(yīng)用程序?qū)⒋宋恢酶邔⒓せ钭x周期。讀周期當(dāng)模式選擇位MODE為0時(shí),可執(zhí)行EEPROM字節(jié)讀操作。為了實(shí)現(xiàn)字節(jié)讀寄存器中的讀使能位RDEN也要置高以使能讀功能,然后再置高RD位以開(kāi)始EEPROM字節(jié)讀操作。注意,若RD為已置高而RDEN位還未被置高則不當(dāng)模式選擇位MODE為1時(shí),可執(zhí)行EEPROM頁(yè)讀操可達(dá)16個(gè)字節(jié)。為了實(shí)現(xiàn)頁(yè)讀操作,EEPROM中要讀取頁(yè)的起始地址需先放入EEAH和EEAL寄存器中,EEC寄存器中的讀使能位RDEN也要置高以使能讀功能,然后再置高RD位以開(kāi)始EEPROM頁(yè)讀操作。注意,若RD為已置高而RDEN位還未被置高則不能開(kāi)始讀操作。當(dāng)前字節(jié)讀周期結(jié)束時(shí),RD位將自動(dòng)清零,此時(shí)可以從EED寄存器中讀取EEPROM數(shù)據(jù),而且當(dāng)就可以連續(xù)讀取下一個(gè)EEPROM地址的EEPROM地址高6位用來(lái)指定要讀取頁(yè)的位置,而低4位用來(lái)指向?qū)嶋H的地址。在頁(yè)操作模式低4位地址將自動(dòng)加一,而高6位地址不會(huì)自動(dòng)增加。當(dāng)EEPROM地址低4位自動(dòng)遞增到當(dāng)前頁(yè)的最大地址,即0FH,EEPROM地址當(dāng)模式選擇位MODE為1時(shí),可執(zhí)行EEPROM頁(yè)擦操作。EEPROM一頁(yè)可擦除16個(gè)字節(jié)。上電復(fù)位后內(nèi)部頁(yè)緩存器將由硬件清零。當(dāng)EEPROM擦使能控制位EREN由1變?yōu)?時(shí),內(nèi)部頁(yè)緩存器也會(huì)被清零。注意當(dāng)EREN位由0變?yōu)?時(shí),內(nèi)部頁(yè)緩存器不會(huì)清零。EEPROM地址高6位用來(lái)指定要擦除頁(yè)的位置,而低4位用來(lái)指向?qū)嶋H的地址。在頁(yè)擦操作模式每寫(xiě)入一字節(jié)任意數(shù)據(jù)到EED寄存器,低4位地址將自動(dòng)加一,而高6位地址不會(huì)自動(dòng)增加。當(dāng)EEPROM地址低4位自動(dòng)遞增到當(dāng)前頁(yè)的最大地址,即0FH,EEPROM地址頁(yè)擦操作需先將EEPROM目標(biāo)頁(yè)的起始地址放入EEAH和EEAL寄存器中,再將任意數(shù)據(jù)放入EED寄存器。一頁(yè)的最大數(shù)據(jù)長(zhǎng)度為16字節(jié)。注意寫(xiě)數(shù)據(jù)到EED是為了標(biāo)記地址,這一操作必須執(zhí)行以確定要擦除哪些地址。當(dāng)一整頁(yè)HOLTek血壓計(jì)LCDFlash單片機(jī)的任意數(shù)據(jù)都寫(xiě)入EED寄存器后,EEC寄存器中的EREN位先置高以使能擦功能,然后EEC寄存器中的ER位需立即置高以開(kāi)始擦操作。這兩條指令必須在兩個(gè)指令周期內(nèi)連續(xù)執(zhí)行才可成功啟動(dòng)一個(gè)擦除操作。進(jìn)行擦除操作之前應(yīng)注:上述步驟必須依序操作,方能成功完成頁(yè)擦操作,具體請(qǐng)參考對(duì)應(yīng)的范例由于控制EEPROM擦除周期是一個(gè)內(nèi)部時(shí)鐘,與單片機(jī)的系統(tǒng)時(shí)鐘異步,所以擦除EEPROM數(shù)據(jù)的時(shí)間將有所延遲。可通過(guò)輪詢(xún)EEC寄存器中的ER位或判斷EEPROM中斷以偵測(cè)擦周期是否完成。若擦除周期完成,ER位將自動(dòng)清零,通知用戶(hù)數(shù)據(jù)已擦除。因此,應(yīng)用程序?qū)⑤喸?xún)ER位以確定擦除周期是否結(jié)束。擦操作結(jié)束后,EREN位將會(huì)被硬件置低。執(zhí)行完一個(gè)頁(yè)擦操作后,此單片機(jī)有兩種模式可實(shí)現(xiàn)寫(xiě)數(shù)據(jù)到EEPROM,即字節(jié)寫(xiě)模式和頁(yè)寫(xiě)模式,可當(dāng)模式選擇位MODE為0時(shí),可執(zhí)行EEPROM字節(jié)寫(xiě)操作。字節(jié)寫(xiě)操作需先將EEPROM目標(biāo)地址放入EEAH和EEAL寄存器中,再將要寫(xiě)入的數(shù)據(jù)放入EED寄存器。EEC寄存器中的寫(xiě)使能位WREN先置高以使能寫(xiě)功能,然后EEC寄存器中的WR位需立即置高以開(kāi)始寫(xiě)操作。這兩條指令必須在兩個(gè)指令周期內(nèi)連續(xù)執(zhí)行才可成功啟動(dòng)一個(gè)寫(xiě)操作。進(jìn)行寫(xiě)操作之前應(yīng)先將總中斷使能位EMI清零,在一個(gè)有效的寫(xiě)啟動(dòng)步驟完成之后再將其使能。注:上述步驟必須依序操作,方能成功完成字節(jié)寫(xiě)操作,具體請(qǐng)參對(duì)應(yīng)的考范據(jù)寫(xiě)入EEPROM的時(shí)間將有所延遲。可通過(guò)輪詢(xún)EEC寄存器中的WR位或判通知用戶(hù)數(shù)據(jù)已寫(xiě)入EEPROM。因此,應(yīng)用程序?qū)⑤喸?xún)WR位以確定寫(xiě)周期是否結(jié)束。寫(xiě)操作結(jié)束后,WREN位將會(huì)被硬件置低。注意,字節(jié)寫(xiě)操作被成功在執(zhí)行頁(yè)寫(xiě)操作之前,務(wù)必確保已成功執(zhí)行了相關(guān)的頁(yè)擦除操作。當(dāng)模式選擇上電復(fù)位后內(nèi)部頁(yè)緩存器將由硬件清零。當(dāng)EEPROM寫(xiě)使能控制位WREN由1變?yōu)?時(shí),內(nèi)部頁(yè)緩存器也會(huì)被清零。注意當(dāng)WREN位由0變?yōu)?時(shí),內(nèi)部頁(yè)緩存器不會(huì)清零。除了最多可以寫(xiě)入16字節(jié)EEPROM數(shù)據(jù)以外,頁(yè)寫(xiě)操作器,低4位地址將自動(dòng)加一,而高6位地址不會(huì)自動(dòng)增加。當(dāng)EEPROM地址低4位自動(dòng)遞增到當(dāng)前頁(yè)的最大地址,即0FH,EEPROM地址低4位的值會(huì)停止頁(yè)寫(xiě)操作需先將EEPROM目標(biāo)頁(yè)的起始地址放入EEAH和EEAL寄存器中,再將要寫(xiě)入的數(shù)據(jù)放入EED寄存器。一頁(yè)的最大數(shù)據(jù)長(zhǎng)度為16字節(jié)。注意當(dāng)寫(xiě)入一字節(jié)數(shù)據(jù)到EED寄存器,EED中的數(shù)據(jù)會(huì)加載到內(nèi)部頁(yè)緩存器中,然血壓計(jì)LCDFlash單片機(jī)HOLTek后當(dāng)前地址值會(huì)自動(dòng)加一。當(dāng)一頁(yè)數(shù)據(jù)被全部寫(xiě)入頁(yè)緩存器,EEC寄存器中的寫(xiě)使能位WREN先置高以使能寫(xiě)功能,然后EEC寄存器中的WR位需立即置高以開(kāi)始寫(xiě)操作。這兩條指令必須在兩個(gè)指令周期內(nèi)連續(xù)執(zhí)行才可成功啟動(dòng)一個(gè)寫(xiě)操作。進(jìn)行寫(xiě)操作之前應(yīng)先將總中斷使能位EMI清零,在一個(gè)有效的寫(xiě)啟注:上述步驟必須依序操作,方能成功完成頁(yè)寫(xiě)操作,具體請(qǐng)參考對(duì)應(yīng)的范例據(jù)寫(xiě)入EEPROM的時(shí)間將有所延遲。可通過(guò)輪詢(xún)EEC寄存器中的WR位或判通知用戶(hù)數(shù)據(jù)已寫(xiě)入EEPROM。因此,應(yīng)用程序?qū)⑤喸?xún)WR位以確定寫(xiě)周期是防止誤寫(xiě)入的寫(xiě)保護(hù)有以下幾種。單片機(jī)上電后控制寄存器中的寫(xiě)使能位將被清除以杜絕任何寫(xiě)入操作。上電后存儲(chǔ)器指針高字節(jié)寄存器MP1H或MP2H將重置為“0”,這意味著數(shù)據(jù)存儲(chǔ)區(qū)Sector0被選中。由于EEPROM控制寄存器位于Sector1中,這增加了對(duì)寫(xiě)操作的保護(hù)措施。在正常程序操作中確保控EEPROM擦/寫(xiě)周期結(jié)束后將產(chǎn)生EEPROM中斷,需先通過(guò)設(shè)置相關(guān)中斷寄志位將被置位。若總中斷和EEPROM中斷使能且堆棧未滿的情況下將跳轉(zhuǎn)到必須注意的是數(shù)據(jù)不會(huì)無(wú)意寫(xiě)入EEPROM。在沒(méi)有寫(xiě)動(dòng)作時(shí)寫(xiě)使能位被正常清零可以增強(qiáng)保護(hù)功能。存儲(chǔ)器指針高字節(jié)寄存器MP1H或MP2H也可以正常清零以阻止進(jìn)入EEPROM控制寄存器存在的Sector1。盡管沒(méi)有必要,寫(xiě)一個(gè)簡(jiǎn)WREN位置位后,EEC寄存器中的WR位需立即置位行。EREN位置位后,EEC寄存器中的ER位需立即置位,以確保擦周期正確地執(zhí)行。寫(xiě)或擦周期執(zhí)行前總中斷位EMI應(yīng)先清零,寫(xiě)或擦周期開(kāi)始執(zhí)行后再HOLTek血壓計(jì)LCDFlash單片機(jī) ::_:__:血壓計(jì)LCDFlash單片機(jī)HOLTek:__:_ _HOLTek血壓計(jì)LCDFlash單片機(jī) : 不同的振蕩器選擇可以讓使用者在不同的應(yīng)用需求中實(shí)現(xiàn)更大范圍的功能。振蕩器的靈活性使得在速度和功耗方面可以達(dá)到較佳的優(yōu)化。振蕩器選擇及相關(guān)振蕩器除了作為系統(tǒng)時(shí)鐘源,還作為看門(mén)狗定時(shí)器和時(shí)基中斷的時(shí)鐘源。外部振蕩器需要一些外圍器件,而集成的內(nèi)部振蕩器不需要任何外圍器件。它們提供的高速和低速系統(tǒng)振蕩器具有較寬的頻率范圍。所有振蕩器選項(xiàng)通過(guò)寄存器選擇。較高頻率的振蕩器提供更高的性能,但要求有更高的功率,反之亦然。動(dòng)態(tài)切換快慢系統(tǒng)時(shí)鐘的能力使單片機(jī)具有靈活而優(yōu)化的性能/功耗比,此特— 該單片機(jī)有三個(gè)系統(tǒng)振蕩器,包括一個(gè)高速振蕩器和兩個(gè)低速振蕩器。高速振蕩器為內(nèi)部8MHz高速振蕩器HIRC,低速振蕩器有內(nèi)部32kHz低速振蕩器LIRC和外部32.768kHz晶振LXT。使用高速或低速振蕩器作為系統(tǒng)時(shí)鐘的選擇是通過(guò)設(shè)置SCC寄存器中的CKS2~CKS0位決定的,系統(tǒng)時(shí)鐘可動(dòng)態(tài)選擇。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞動(dòng)安全保護(hù)復(fù)習(xí)試題含答案
- 橋路維修復(fù)習(xí)試題附答案
- 計(jì)算機(jī)三級(jí)數(shù)據(jù)庫(kù)培訓(xùn)課程設(shè)置試題及答案
- 項(xiàng)目外包開(kāi)發(fā)實(shí)施與驗(yàn)收合同
- 汽車(chē)行業(yè)生產(chǎn)流程與質(zhì)量管理試題
- 測(cè)試工具的選擇與專(zhuān)業(yè)評(píng)估方法試題及答案
- 教育行業(yè)在線教育平臺(tái)用戶(hù)體驗(yàn)優(yōu)化試題集
- 探討行業(yè)發(fā)展的試題及答案
- 電子商務(wù)網(wǎng)絡(luò)安全措施及案例
- 建筑工程合同策劃書(shū)
- 質(zhì)量部運(yùn)行卓越績(jī)效體系
- XXX燃?xì)夤鹃T(mén)站投產(chǎn)試運(yùn)行方案
- 甲狀腺結(jié)節(jié)射頻消融術(shù)后護(hù)理
- 種植牙沙龍策劃方案
- 大眾安徽測(cè)評(píng)題庫(kù)
- 中醫(yī)培訓(xùn)課件:《穴位埋線減肥》
- 深度學(xué)習(xí)及其應(yīng)用-復(fù)旦大學(xué)中國(guó)大學(xué)mooc課后章節(jié)答案期末考試題庫(kù)2023年
- 產(chǎn)品出廠檢驗(yàn)報(bào)告
- 華師大版八年級(jí)數(shù)學(xué)下冊(cè)知識(shí)點(diǎn)
- 高中通用技術(shù)大單元項(xiàng)目式教學(xué)實(shí)踐研究 論文
- 機(jī)械設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì)設(shè)計(jì)用于帶式運(yùn)輸機(jī)的一級(jí)圓柱齒輪減速器
評(píng)論
0/150
提交評(píng)論