




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、V9211單相電能計量SoC提供單相電能表的單片解決方案,可以大幅簡化電能表設(shè)計,降低系統(tǒng)成本,并縮短產(chǎn)品上市時間:l 集成高精度/ADCl 集成高精度,多功能電能計量DSP電路l 集成高性能微控制器MCU總體特點3模擬電路特點3電能計量電路特點3片上MCU特點4模擬電路性能參數(shù)4計量電路性能參數(shù)5時序參數(shù)5極限參數(shù)5本手冊中使用到的術(shù)語6引腳功能說明7電能計量9計量電路結(jié)構(gòu)框圖9計量控制寄存器9啟動潛動9有功脈沖輸出,電流有效值脈沖輸出9頻率測量10校表10防竊電10使用下列函數(shù)訪問計量電路10模擬電路12使用下列函數(shù)初始化模擬電路12溫度測量,電池電壓測量13CPU13指令集13可編程的M
2、OVX訪問周期18雙數(shù)據(jù)指針18特殊功能寄存器19MCU內(nèi)部RAM(IRAM)20XRAM20使用下列函數(shù)取消/恢復(fù)寫保護21定時器/計數(shù)器,UART21Timer0,Timer1,Timer221Timer0,Timer121定時器速率控制23Timer223UART224模式124模式225模式325多處理器通信25UART3 UART525使用下列函數(shù)配置UART2 UART525LCD時序和驅(qū)動電路27使用下列函數(shù)配置LCD27中斷控制28中斷資源列表28使用下列函數(shù)配置中斷響應(yīng)29GPIO30P030P130P231P332P432P533P634計量輸入來源選擇34使用下列函數(shù)配置
3、GPIO特殊功能35WDT35使用下列函數(shù)清除WDT的計數(shù)值35RTC36使用下列函數(shù)配置訪問RTC36系統(tǒng)控制37使用下列函數(shù)進行系統(tǒng)控制38IAP39使用下列函數(shù)進行IAP操作39ISP和調(diào)試40模式轉(zhuǎn)換,操作舉例40Start up(上電復(fù)位/欠壓復(fù)位)40Normal(正常運行)40Sleep(睡眠)40Deep Sleep(深度睡眠)40Stand by(等待)40Normal到Sleep41Normal到Stand by41Sleep到Normal41Sleep到Stand by41Stand by到Normal42Stand by到Sleep42Sleep到Deep Sleep4
4、2Deep Sleep到Stand by42Deep Sleep到Normal42PCB參考設(shè)計42操作注意事項42附錄1 庫函數(shù)一覽表42總體特點l 高精度,支持50Hz/60Hz IEC61036/62053-21和IEC60687/62053-22標準l 在25條件下,1000:1的動態(tài)范圍內(nèi)有功功率測量誤差小于0.1%,在-40 85的溫度范圍內(nèi)保持性能一致,在低功率因數(shù)的情況下,也可以保持高精度的計量結(jié)果l 5V單電源供電ü 待機工作電流 < 30 uAü 正常工作電流 < 5 mAl 48引腳LQFP封裝模擬電路特點l 內(nèi)置可編程增益放大器,提供直接
5、、靈活的傳感器接口l 高性能/ADC,使計量結(jié)果在1000:1的動態(tài)范圍內(nèi),達到小于0.1%的精度l 片內(nèi)集成有電源監(jiān)測和穩(wěn)壓電路l 片內(nèi)集成掉電監(jiān)測電路l 片內(nèi)集成有溫度測量電路l 片內(nèi)集成有起振電路和PLL,片外只需要一個32768Hz晶體l 片內(nèi)集成有1.2V基準電壓源,典型溫度漂移為10ppm/l 提供一個額外的ADC,可以自由配置為測量任何電壓信號l 提供欠壓復(fù)位電能計量電路特點l 能量有效值/電流有效值的頻率輸出可以用于校準或連接至其他設(shè)備l 集成測頻功能l 可以計量得到有功功率,電流有效值,啟動潛動通道有效值,電壓有效值,正/反相有功能量,失壓時電流有效值累計數(shù)據(jù)l 集成有防潛動
6、功能l 連續(xù)監(jiān)視相線電流和零線電流,可以對配電系統(tǒng)進行故障監(jiān)測l 防竊電功能,在負載被連接到地的竊電條件下,可以使用兩個電流中較大的一個進行計費;在零線斷線的竊電條件下,可以只使用電流信號進行計費l 比差可設(shè)置,可實現(xiàn)比差的精細調(diào)整以及脈沖門限值的概略調(diào)整l 計量至21次諧波片上MCU特點l 片內(nèi)集成有16×4共64段LCD驅(qū)動電路,支持多種驅(qū)動能力和掃描頻率l 高性能8位8052兼容MCU內(nèi)核l 集成32K字節(jié)FLASH存儲器,支持ISP和IAPl 集成1K字節(jié)SRAM存儲器l 集成JTAG實時調(diào)試系統(tǒng)l 提供2路全速UART,支持紅外方式通信(帶有載波調(diào)制電路)l 集成高性能RT
7、C,校準精度高達0.3ppml 充裕的定時器資源l 集成WDT,增強系統(tǒng)的穩(wěn)定性l 可配置的GPIO,提供端口中斷模擬電路性能參數(shù)參數(shù)最小 典型 最大單位說明模擬輸入信號 最大輸入信號 信號帶寬(-3dB) ±200 3.2 mV kHz ADC性能 ADC工作電壓 直流失調(diào) 有效位數(shù)2.5 3.710 10VmVbit片上參考電壓 偏差 電源抑制比 溫度系數(shù)-10 10 8010 15mVdBppm/POR性能 POR發(fā)生門限2.5 2.8VVDCIN 輸入電壓 輸入阻抗 低電壓檢測門限0 VDD 1.51.1 1.2 1.3 VMV計量電路性能參數(shù)參數(shù)最小 典型 最大單位說明通道
8、間相差 (PF=0.8容性) (PF=0.5感性) ±0.05 ±0.05°°有功計量誤差 0.1%動態(tài)范圍1000:1 25有功計量帶寬 3.2kHz電壓有效值誤差 3%動態(tài)范圍1000:1 25電壓有效值帶寬 3.2kHz電流有效值誤差 3%動態(tài)范圍1000:1 25電流有效值帶寬 3.2kHzCF輸出特性 最大輸出頻率 占空比 最大脈寬 2.4 50% 80kHzms當脈寬低于80ms時時序參數(shù)參數(shù)最小 典型 最大單位說明處理器工作頻率 3.276832.768MHzkHz打開PLL,并將系統(tǒng)切換到高頻復(fù)位后默認工作頻率晶體振蕩器頻率32 32.7
9、68 33.5kHz極限參數(shù)參數(shù)最小 典型 最大單位說明數(shù)字PAD,輸出輸出高電平,VOHISOURCE輸出低電平VOLISINK2.4 4 0.4 4VmAVmA數(shù)字PAD,輸入輸入高電平,VINH輸出地電平,VINL2.0 0.4VV電源輸入VDDVBAT4.0 5.0 6.02.4 3.3 3.7VVLDO33輸出電壓電流3.0 3.3 3.5 10VmALDO25輸出電壓電流2.1 2.5 2.8 25VmA功耗系統(tǒng)休眠全速工作 5 5uAmA僅RTC和系統(tǒng)管理模塊工作本手冊中使用到的術(shù)語引腳功能說明編號名稱功能說明1VDCIN掉電監(jiān)測輸入如果低于1.276V,在開啟了相關(guān)功能電路的情
10、況下,產(chǎn)生掉電中斷,同時在系統(tǒng)狀態(tài)寄存器中置位2LDO25模擬2.5V電壓輸出經(jīng)過去耦后輸出給DVCC25(數(shù)字2.5V電壓輸入)3LDO33模擬3.3V電壓輸出經(jīng)過去耦后輸出給數(shù)字DVCC33(數(shù)字3.3V電壓輸入)4AVDD5V電源輸入5REF參考電壓輸出需要連接去耦電路6UP電壓P端輸入7UN電壓N端輸入8IAPA通道電流P端輸入9IN電流N端輸入10IBPB通道電流P端輸入11MODE0模式選擇0MODE1,MODE0 = 11,正常工作模式MODE1,MODE0 = 01,調(diào)試模式12MODE1模式選擇113DVDD33數(shù)字3.3V電壓輸入LDO33供電或者外部獨立供電14P0.0G
11、PIO/TDO15P0.1GPIO/TDI16P0.2GPIO/TMS17P0.3GPIO/TCK18P1.4GPIO/TXD5/端口中斷1/外部休眠喚醒端口中斷/休眠喚醒都是下降沿有效19P1.3GPIO/RXD5/端口中斷0/外部休眠喚醒同上20P1.0GPIO/秒脈沖輸出SP/計量M通道輸出/計量M通道輸入21P2.4GPIO/RXD2/計量IB通道輸出用作紅外的時候,需要外接紅外解調(diào)器件22P2.5GPIO/TXD2/38K/計量IA通道輸出可以選擇TXD2的輸出帶有38KHz調(diào)制信號23CFCF脈沖輸出24P3.0COM0/GPIO25P3.1COM1/GPIO26P3.2COM2/
12、GPIO27P3.3COM3/GPIO28P4.0SEG0/GPIO29P4.1SEG1/GPIO30P4.2SEG2/GPIO31P4.3SEG3/GPIO32P4.4SEG4/GPIO33P4.5SEG5/GPIO34P4.6SEG6/GPIO35DVDD25數(shù)字2.5V電壓輸入LDO25供電或者外部獨立供電36VSS地數(shù)字電路,模擬電路在芯片內(nèi)部共地37P5.7SEG7/GPIO38P6.0SEG8/GPIO39P6.1SEG9/GPIO40P6.2SEG10/GPIO41P6.3SEG11/GPIO42P6.4SEG12/GPIO43P6.5SEG13/GPIO44P6.6SEG14/
13、GPIO45P6.7SEG15/GPIO46RSTn復(fù)位輸入低電平復(fù)位47CTI32768Hz晶體振蕩輸入芯片內(nèi)有起振電路,片外只需要一個32768Hz的晶體48CTO32768Hz晶體振蕩輸出同上電能計量上電復(fù)位/欠壓復(fù)位,片外輸入復(fù)位,系統(tǒng)休眠喚醒復(fù)位,WDT復(fù)位,調(diào)試復(fù)位都會復(fù)位計量電路。計量電路在復(fù)位后,使用OSC時鐘,直到程序開啟PLL并通過寫入時鐘切換寄存器把系統(tǒng)時鐘切換為使用PLL時鐘。在關(guān)閉PLL之前,可以通過時鐘管理寄存器關(guān)閉整個計量電路,使其進入低功耗狀態(tài)(參看“系統(tǒng)控制”)。電能計量電路只有在使用PLL時鐘的時候,才能得到正確的計量結(jié)果。計量電路結(jié)構(gòu)框圖計量控制寄存器l
14、UON:1開啟U通道計量;0關(guān)閉U通道計量。關(guān)閉后和U通道相關(guān)的寄存器為0(有效值,功率,頻率等)l IAON:1開啟IA通道計量;0關(guān)閉IA通道計量。關(guān)閉后和IA通道相關(guān)的寄存器為0(有效值,功率,被選中后的啟動潛動有效值等)l IBON:1開啟IB通道計量;0關(guān)閉IB通道計量。關(guān)閉后和IB通道相關(guān)的寄存器為0(有效值,功率,被選中后的啟動潛動有效值等)l UMON:1開啟M通道計量;0關(guān)閉M通道計量。關(guān)閉后和M通道相關(guān)的寄存器為0(有效值,低通輸出,直接輸出等)l STARTCF:1開啟CF脈沖輸出;0關(guān)閉CF脈沖輸出。在計量電路被復(fù)位后,完成初始化以及參數(shù)設(shè)定操作之后,才能開啟CF。l
15、SELIAB:1選擇IB通道電流;0選擇IA通道電流(選擇哪一路電流進行計量,或者進入啟動潛動等)l SELPULS:1選擇電流有效值產(chǎn)生CF脈沖;0選擇能量有效值產(chǎn)生CF脈沖l ENLAT:1開啟啟動潛動功能;0關(guān)閉啟動潛動功能啟動潛動1. 選擇恰當?shù)碾娏魍ǖ?;設(shè)定合適的啟動潛動電流比差校正值;設(shè)定ENLAT = 1,開啟啟動潛動功能2. 設(shè)定啟動潛動的上門限值和下門限值,啟動潛動通道電流有效值大于高門限值的時候進入啟動狀態(tài),小于低門限值的時候進入潛動狀態(tài)3. 進入潛動狀態(tài)后,有功功率輸出為0,脈沖輸出停止;進入啟動狀態(tài)后,有合適的脈沖輸出,脈寬為90ms,高頻輸出的時候占空比為50% 有功
16、脈沖輸出,電流有效值脈沖輸出輸出的脈沖脈寬為90ms,高頻輸出的時候占空比為50%。頻率測量標準50Hz信號的周期值應(yīng)該為16384(0x4000)。頻率越大,周期值越??;頻率越小,周期值越大;周期值與周期成線性關(guān)系。當頻率低于20Hz左右的時候,系統(tǒng)會在較長的時間內(nèi)無法收到過零點而將該值設(shè)定為0。校表假設(shè)1秒鐘出一個脈沖,則:瞬時功率×64×50 有功門限瞬時功率數(shù)據(jù)可通過“有功比差校正值”修正,修正范圍為(-1,3)。計算公式為:Y = X*(1+S/230) = X*(1+S/1073741824)注:設(shè)定的比差為S(32位有符號數(shù)補碼),X為輸入的數(shù)據(jù),Y為輸出的數(shù)
17、據(jù)。根據(jù)上式可推算出校表公式:S (S - (*230) / (1+) (S - (*1073741824) / (1+)注:S為需要得到的新比差參數(shù),S為當前的芯片比差參數(shù),為當前誤差。由此可知,調(diào)整門限參數(shù)是粗調(diào),調(diào)整比差參數(shù)為細調(diào)。校表步驟:1. 根據(jù)上述第一個公式校正電流通道(2路),電壓通道2. 根據(jù)實驗經(jīng)驗將有功門限參數(shù)寫入寄存器,保證此時比差參數(shù)為0時,計量的誤差小于±10(100Ib)3. 根據(jù)上述第二個公式計算出校表參數(shù)寫入寄存器,將誤差控制在要求范圍內(nèi)4. 根據(jù)啟動和潛動的要求計算出啟動潛動數(shù)據(jù),寫入寄存器5. 為了得到更好的計量結(jié)果,在校正門限值和比差值的同時,
18、還可以改變模擬電路中ADC的增益值以及參考電流值,偏置電流值等(參看“模擬電路”)防竊電在負載被連接到地的竊電條件下,可以比較兩路電流的有效值,使用兩個電流中較大的一個進行計費;在零線斷線的竊電條件下,可以只使用電流有效值進行計費。通過監(jiān)測零線和相線的電流,可以對配電系統(tǒng)進行故障監(jiān)測。使用下列函數(shù)訪問計量電路l void InitMeter(void)l void SetPLL(unsigned char val)l void SwitchClk(unsigned char)l void ClosePLL(void)l void SetMeterCfg(unsigned long,unsign
19、ed char)l unsigned long ReadMeterPara(unsigned char)l void SetMeterFunc(unsigned char)l unsigned char ReadMeterFunc(void)void InitMeter(void)初始上電執(zhí)行,完成濾波器以及計量電路的初始化。void SetPLL(unsigned char val)啟動PLL,并將系統(tǒng)時鐘從32K切換到PLL工作。val = 1時,切換到3.2M時鐘,val = 2時,切換到6.4M時鐘void SwitchClk(unsigned char val_value)切換系統(tǒng)主
20、時鐘。val_value = 1時,使用PLL高頻;val_value = 0時,使用32K低頻;void SetMeterCfg(unsigned long val_data,unsigned char val_addr)設(shè)置計量電路各項參數(shù)。val_data:32位數(shù)據(jù);val_addr:操作事項。其中,val_addr值與操作事項之間的對應(yīng)關(guān)系參見下表。val_addr讀/寫操作事項說明0只讀頻率輸出1M通道低通輸出2M通道直接輸出3有功功率輸出4IA通道有效值5IB通道有效值6啟動潛動通道有效值7M通道有效值8電壓通道有效值9反相有功計數(shù)器10反相有功能量高位11反相有功能量低位12正
21、相有功計數(shù)器13正相有功能量高位14正相有功能量低位15有效值通道計數(shù)器16有效值高位17有效值低位18讀/寫有功門限值高位19有功門限值低位20有效值門限值高位21有效值門限值低位22啟動潛動門限值高位23啟動潛動門限值低位24IA的比差校正值25IB的比差校正值26LA的比差校正值27LB的比差校正值28M通道直流輸入的比差校正值29M通道直接輸入的比差校正值30M通道電流有效值的比差校正值31有功PA的比差校正值32有功PB的比差校正值33電壓的比差校正值unsigned long ReadMeterPara(unsigned char val_addr)讀取計量模塊參數(shù)。val_add
22、r:目標操作地址;返回數(shù)據(jù):目標地址內(nèi)的32位數(shù)據(jù)。其中,val_addr值與操作事項之間的對應(yīng)關(guān)系參見上表。void SetMeterFunc(unsigned char val_nFunc)計量控制字設(shè)置。給出8位char型輸入?yún)?shù),該參數(shù)每位對應(yīng)一種功能的開啟和關(guān)閉。每一位的含義參看“計量控制寄存器”。b7b6b5b4b3b2b1b0ENLATSELPULSSELIABSTARTCFUMONIBONIAONUONunsigned char ReadMeterFunc(void)讀出的char型數(shù)據(jù)對應(yīng)每種功能的開啟和關(guān)閉狀態(tài)。對應(yīng)關(guān)系見上表。模擬電路模擬電路包括4個/ ADC,OSC晶體
23、振蕩電路,PLL,電壓基準,Regulator,掉電監(jiān)測,電源切換,上電復(fù)位/欠壓復(fù)位等電路。4個/ ADC分別為電壓U,電流A,電流B,多功能M通道,其中M通道用于測量溫度,電池電壓,以及外部電壓輸入。PLL在開啟之前以及關(guān)閉之后,輸出OSC時鐘信號。欠壓復(fù)位的閾值設(shè)置為1.7 V。上電復(fù)位/欠壓復(fù)位,片外輸入復(fù)位,系統(tǒng)休眠喚醒復(fù)位都會復(fù)位模擬電路控制寄存器(復(fù)位后的默認值為全0)。使用下列函數(shù)初始化模擬電路l char OpenPDT(void)l unsigned char SetADC(unsigned char val_number,unsigned char val_para)l
24、unsigned char SetMChannel(unsigned char val_channel)char OpenPDT (void)打開powerdown檢測返回數(shù)據(jù):1-打開成功;-1-打開失敗(BGP沒有打開,SetPLL時會同時打開BGP)unsigned char SetADC (unsigned char val_number,unsigned char val_para)val_number:ADC選擇通道:1-電流A通道;2-電流B通道;3-電壓通道val_para:ADC增益選擇:1,2,4,8,16,32 分別對應(yīng)1,2,4,8,16,32倍增益其中電壓通道只能達到
25、8倍增益,當此參數(shù)為0時表示關(guān)閉相應(yīng)ADC通道。返回數(shù)據(jù):設(shè)置成功返回1,設(shè)置失敗返回0(入口參數(shù)有誤)unsigned char SetMChannel(unsigned char val_channel, unsigned char val_para)val_channel:M通道的測量通道選擇:0-關(guān)閉M通道;1-測溫;2-測電池電壓;3-其他unsigned char val_para:M通道增益選擇:1,2,4,8分部對應(yīng)1,2,4,8倍增益返回數(shù)據(jù):設(shè)置成功返回1,設(shè)置失敗返回0(入口參數(shù)有誤)溫度測量,電池電壓測量CPU指令集CPU指令集與業(yè)界標準的8051指令二進制代碼兼容,指
26、令集的功能也完全一樣。不過,每個指令周期所需的時鐘周期個數(shù)以及每個指令周期的執(zhí)行時序與標準8051指令集的時序有所差異。一個CPU指令周期包含4個時鐘周期。符號功能A累加器Rn寄存器R0到R7direct直接尋址的內(nèi)部寄存器地址Ri由R0或者R1作為指針所指向的內(nèi)部寄存器(MOVX指令除外)rel補碼表示的偏移地址bit直接尋址的位地址#data8位常數(shù)#data 1616位常數(shù)addr 1616位目標地址addr 1111位目標地址指令功能描述字節(jié)數(shù)指令周期Hex格式代碼算術(shù)指令A(yù)DD A, Rn把Rn的值加到A上1128 2FADD A, direct把直接尋址的內(nèi)部寄存器地址中的內(nèi)容加到
27、A上2225ADD A, Ri把Ri尋址的內(nèi)部寄存器的值加到A上1126 27ADD A, #data把立即數(shù)的值加到A上2224ADDC A, Rn連同進位一起把Rn的值加到A上1138 3FADDC A, direct連同進位一起把直接尋址的內(nèi)部寄存器地址中的內(nèi)容加到A上2235ADDC A, Ri連同進位一起把Ri尋址的內(nèi)部寄存器的值加到A上1136 37ADDC A, #data連同進位一起把立即數(shù)加到A上2234SUBB A, Rn連同借位一起從A中減去寄存器的值1198 9FSUBB A, direct連同借位一起從A中減去直接尋址的內(nèi)部寄存器地址中的內(nèi)容2295SUBB A, R
28、i連同借位一起從A中減去Ri尋址的內(nèi)部寄存器的值1196 97SUBB A, #data連同借位一起從A中減去立即數(shù)的值2294INC AA的值自加11104INC RnRn的內(nèi)容自加11108 0FINC direct直接尋址的內(nèi)部寄存器地址字節(jié)內(nèi)容自加12205INC RiRi尋址的內(nèi)部寄存器的值自加11106 07DEC AA的值自減11114DEC RnRn的內(nèi)容自減11118 1FDEC direct直接尋址的內(nèi)部寄存器地址字節(jié)內(nèi)容自減12215DEC RiRi尋址的內(nèi)部寄存器內(nèi)容自減11116 17INC DPTRDPTR數(shù)據(jù)指針自加113A3MUL ABA乘B15A4DIV AB
29、除法運算,A是被除數(shù),B是除數(shù)1584DA A對A進行十進制調(diào)整11D4邏輯運算指令A(yù)NL A, RnRn對A進行邏輯與運算1158 5FANL A, direct直接尋址的內(nèi)部寄存器地址字節(jié)內(nèi)容對A進行邏輯與運算2235ANL A, RiRi尋址的內(nèi)部寄存器內(nèi)容對A進行邏輯與運算1156 57ANL A, #data立即數(shù)對A進行邏輯與運算2254ANL direct, AA對直接尋址的內(nèi)部寄存器地址字節(jié)內(nèi)容進行邏輯與運算2252ANL direct, #data立即數(shù)對直接尋址的內(nèi)部寄存器地址字節(jié)內(nèi)容進行邏輯與運算3353ORL A, RnRn對A進行邏輯或操作1148 4FORL A,
30、direct直接尋址的內(nèi)部寄存器地址字節(jié)內(nèi)容對A進行邏輯或操作2245ORL A, RiRi尋址的內(nèi)部寄存器對A進行邏輯或操作1146 47ORL A, #data立即數(shù)對A進行邏輯或操作2244ORL direct, AA對直接尋址的內(nèi)部寄存器地址字節(jié)內(nèi)容進行邏輯或運算2242ORL direct, #data立即數(shù)對直接尋址的內(nèi)部寄存器地址字節(jié)內(nèi)容進行邏輯或運算3343XRL A, RnRn對A進行邏輯異或操作1168 6FXRL A, direct直接尋址的內(nèi)部寄存器地址字節(jié)內(nèi)容對A進行邏輯異或操作2265XRL A, RiRi尋址的內(nèi)部寄存器對A進行邏輯異或操作1166 67XRL A
31、, #data立即數(shù)對A進行邏輯異或操作2264XRL direct, AA對直接尋址的內(nèi)部寄存器地址字節(jié)內(nèi)容進行邏輯異或操作2262XRL direct, #data立即數(shù)對直接尋址的內(nèi)部寄存器地址字節(jié)內(nèi)容進行邏輯異或操作3363CLR A清空A的值11E4CPL A對A的值取反11F4SWAP A對A的高4位和低4位進行互換11C4RL AA向左進行邏輯移位1123RLC AA通過進位C向左進行邏輯移位1133RR AA向右進行邏輯移位1103RRC AA通過進位C向右進行移位1113數(shù)據(jù)傳輸指令MOV A, Rn把Rn的值傳輸給A11E8 EFMOV A, direct把直接尋址的內(nèi)部寄
32、存器地址字節(jié)內(nèi)容傳輸給A22E5MOV A, Ri把Ri尋址的內(nèi)部寄存器的值傳輸給A11E6 E7MOV A, #data把立即數(shù)傳輸給A2274MOV Rn, A把A傳輸給Rn寄存器11F8 FFMOV Rn, direct把直接尋址的內(nèi)部寄存器地址字節(jié)傳輸給Rn寄存器22A8 AFMOV Rn, #data把立即數(shù)傳輸給Rn寄存器2278 7FMOV direct, A把A傳輸給直接尋址的內(nèi)部寄存器地址字節(jié)22F5MOV direct, Rn把Rn的內(nèi)容傳輸給直接尋址的內(nèi)部寄存器地址字節(jié)2288 8FMOV direct, direct把直接尋址的內(nèi)部寄存器地址字節(jié)內(nèi)容傳輸給另外一個直接尋
33、址的內(nèi)部寄存器地址字節(jié)3385MOV direct, Ri把Ri尋址的的內(nèi)部寄存器的值傳輸給直接尋址的內(nèi)部寄存器地址字節(jié)2286 87MOV direct, #data把立即數(shù)送到直接尋址的內(nèi)部寄存器地址字節(jié)3375MOV Ri, A把A的值傳輸?shù)絉i尋址的內(nèi)部寄存器11F6 F7MOV Ri, direct把直接尋址的內(nèi)部寄存器地址字節(jié)的值傳輸給Ri尋址的內(nèi)部寄存器22A6 A7MOV Ri, #data把立即數(shù)送到Ri尋址的內(nèi)部寄存器2276 77MOV DPTR, #data把立即數(shù)送到數(shù)據(jù)指針寄存器中3390MOVC A, A+DPTR把DPTR+A尋址的程序指令字節(jié)傳輸?shù)紸中1393
34、MOVC A, A+PC把PC+A尋址的程序指令字節(jié)傳輸?shù)紸中1383MOVX A, Ri把Ri尋址的外部數(shù)據(jù)空間數(shù)據(jù)(8位地址)傳輸?shù)紸12 9*E2 E3MOVX A, DPTR把DPTR尋址的外部數(shù)據(jù)空間數(shù)據(jù)(16位地址)傳輸?shù)紸12 9*E0MOVX Ri, A把A的內(nèi)容傳輸?shù)絉i尋址的外部數(shù)據(jù)空間字節(jié)(8位地址)12 9*F2 F3MOVX DPTR, A把A的內(nèi)容傳輸?shù)紻PTR尋址的外部數(shù)據(jù)空間字節(jié)(16位地址)12 9*F0PUSH direct把直接尋址的內(nèi)部寄存器地址字節(jié)內(nèi)容壓入堆棧頂端22C0POP direct把堆棧頂端字節(jié)出棧,送入直接尋址的內(nèi)部寄存器地址字節(jié)22D0X
35、CH A, RnA和Rn寄存器內(nèi)容互換11C8 CFXCH A, directA和直接尋址的內(nèi)部寄存器地址字節(jié)內(nèi)容互換22C5XCH A, RiA和Ri尋址的內(nèi)部寄存器內(nèi)容互換11C6 C7XCHD A, RiA和Ri尋址的內(nèi)部寄存器交換低半字節(jié)的內(nèi)容11D6 D7* 通過寄存器可以選擇指令周期個數(shù)。位操作指令CLR C清除進位11C3CLR bit清除直接尋址位22C2SETB C置進位11D3SETB bit置直接尋址位22D2CPL C進位取反11B3CPL bit直接尋址位取反22B2ANL C, bit直接尋址位對進位作與操作2282ANL C, /bit直接尋址位取反后對進位作與操
36、作22B0ORL C, bit直接尋址位對進位作或運算2272ORL C, /bit直接尋址位取反后對進位作或運算22A0MOV C, bit把直接尋址位傳輸?shù)竭M位22A2MOV bit, C把進位傳輸?shù)街苯訉ぶ肺?292分支跳轉(zhuǎn)指令A(yù)CALL addr 11子程序的絕對調(diào)用2311 F1LCALL addr 16子程序的長調(diào)用3412RET從子程序中返回1422RETI從中斷中返回1432AJMP addr 11無條件絕對跳轉(zhuǎn)2301 E1LJMP addr 16無條件長跳轉(zhuǎn)3402SJMP rel短跳轉(zhuǎn)到相對地址2380JC rel在進位carry = 1的情況下跳轉(zhuǎn)到相對地址2340JN
37、C rel在進位carry = 0的情況下跳轉(zhuǎn)到相對地址2350JB bit, rel在直接尋址位等于1的情況下跳轉(zhuǎn)到相對地址3420JNB bit, rel在直接尋址位等于0的情況下跳轉(zhuǎn)到相對地址3430JBC bit, rel在直接尋址位等于1的情況下跳轉(zhuǎn)到相對地址,并清除進位3410JMP A + DPTR跳轉(zhuǎn)到A + DPTR間接尋址的地址1373JZ rel在累加器ACC等于0的情況下跳轉(zhuǎn)到相對地址2360JNZ rel在累加器ACC不等于0的情況下跳轉(zhuǎn)到相對地址2370CJNE A, direct, rel比較A和直接尋址字節(jié)內(nèi)容,在不相等的情況下跳轉(zhuǎn)到相對地址34B5CJNE A
38、, #d, rel比較A和立即數(shù)的值,在不相等的情況下跳轉(zhuǎn)到相對地址34B4CJNE Rn, #d, rel比較Rn寄存器和立即數(shù)的值,在不相等的條件下跳轉(zhuǎn)到相對地址34B8 BFCJNE Ri, #d, rel比較Ri簡介尋址的內(nèi)部寄存器和立即數(shù)的值,在不相等的條件下跳轉(zhuǎn)到相對地址34B6 B7DJNZ Rn, relRn寄存器遞減,如果不等于0則跳轉(zhuǎn)到相對地址23D8 DFDJNZ direct, rel直接尋址字節(jié)的內(nèi)容遞減,如果不等于0則跳轉(zhuǎn)到相對地址34D5其他指令NOP空操作1100還有一個保留的指令代碼(A5)與NOP指令的作用相同??删幊痰腗OVX訪問周期CPU中的SFR寄存器
39、Clock Control Register(時鐘控制寄存器,SFR地址8Eh)中的最低3位控制著MOVX訪問周期的擴展值。擴展周期值會影響讀/寫控制信號脈沖的寬度以及所有其他有關(guān)的時序。擴展周期值越大,讀/寫控制信號脈沖的寬度就越寬。MD2 0是時鐘控制寄存器的低3位(CKCON.2 0)。MD2MD1MD0存儲器訪問周期讀/寫脈沖寬度(時鐘周期個數(shù))000220013(默認值)401048011512100616101720110824111928雙數(shù)據(jù)指針CPU中標準數(shù)據(jù)指針作為DPTR0,SFR地址是82h和83h。第二個數(shù)據(jù)指針(DPTR1)SFR地址是84h和85h。DPTR Se
40、lect(DPTR選擇,DPS,SFR地址86h)寄存器中的SEL位選擇當前有效的數(shù)據(jù)指針。當SEL = 0的時侯,程序所使用的DPTR是DPL0和DPH0。當SEL = 1的時侯,程序所使用的DPTR是DPL1和DPH1。SEL位于SFR地址86h的bit 0,其他位都沒有被使用。所有與DPTR有關(guān)的指令都使用當前被選中的數(shù)據(jù)指針。切換SEL位的值就可以切換當前有效的數(shù)據(jù)指針。實現(xiàn)這個目最快的方法就是使用遞加指令(INC DPS),從一個源地址切換到一個目標地址只需要一條指令。在進行塊數(shù)據(jù)移動的時侯,不必先保存源地址和目標地址,從而節(jié)省了程序代碼的數(shù)量。特殊功能寄存器PSW中的F0,F(xiàn)1位參
41、看“系統(tǒng)控制”。寄存器bit 7bit 6bit 5bit 4bit 3bit 2bit 1bit 0地址SP-81hDPL0-82hDPH0-83hDPL1-84hDPH1-85hDPS0000000SEL86hPCONSMOD0-11GF1GF0STOPIDLE87hTCONTF1TR1TF0TR0IE1IT1IE0IT088hTMODGATEC/TM1M0GATEC/TM1M089hTL0-8AhTL1-8BhTH0-8ChTH1-8DhCKCON-T2MT1MT0MMD2MD1MD08EhSPC_FNC0000000WRS8FhEXIFIE5IE4IE3IE2100091hMPAGE未
42、使用92hSCON098hSBUF099hIEEAES1ET2ES0ET1EX1ET0EX0A8hIP1PS1PT2PS0PT1PX1PT0PX0B8hSCON未使用C0hSBUF1C1hT2CONTF2EXF2未使用EXEN2TR2C/T2CP/RL2C8hRCAP2L-CAhRCAP2H-CBhTL2-CChTH2-CDhPSWCYACF0RS1RS0OVF1PD0hEICONSMOD11EPFIPFIWDTI000D8hACC-E0hEIE111EWDIEX5EX4EX3EX2E8hB-F0hEIP111PWDIPX5PX4PX3PX2F8hMCU內(nèi)部RAM(IRAM)使用靜態(tài)同步SSR
43、AM存儲器實現(xiàn),共256字節(jié)。實現(xiàn)MCU的堆棧,工作寄存器組,以及通用片內(nèi)存儲器。只要芯片供電保持有效,其中保存的數(shù)據(jù)就不會丟失,也不受復(fù)位的影響。在復(fù)位后,處在正常功耗狀態(tài)。在Sleep和Deep Sleep模式下,進入低功耗狀態(tài)。地址范圍0x00 0xFF。低128字節(jié)內(nèi)部RAM的空間組織結(jié)構(gòu)如上圖所示。最低端的32個字節(jié)形成了四組分別由8個寄存器(R0到R7)構(gòu)成的工作寄存器組。程序狀態(tài)字(PSW,參看“CPU”)中的兩個位選擇當前使用的是哪個工作寄存器組。接下來的16個字節(jié)形成了可位尋址存儲區(qū)域,位地址從00h到7Fh。所有的低128字節(jié)內(nèi)部RAM都可以利用直接尋址或者間接尋址的方式進
44、行訪問。高128字節(jié)內(nèi)部RAM與SFR寄存器共享一段相同的地址范圍(80h到FFh)。不過,真正的地址空間是相互獨立的,并且利用不同的尋址方式進行訪問。對于SFR寄存器,通過直接尋址進行訪問;而對于高128字節(jié)內(nèi)部RAM,通過間接尋址方式進行訪問。XRAM使用靜態(tài)同步SSRAM存儲器實現(xiàn),共1024字節(jié)。只要芯片供電保持有效,其中保存的數(shù)據(jù)就不會丟失,也不受復(fù)位的影響。在復(fù)位后,處在正常功耗狀態(tài)。在Sleep和Deep Sleep模式下,進入低功耗狀態(tài)。地址范圍0x0000 0x03FF。其中,0x0000 0x037F可以被自由訪問;0x0380 0x03FF,寫操作由“XRAM寫入保護寄存
45、器”控制。在對0x0380 0x03FF區(qū)域進行寫操作之前,必須先取消寫入保護。取消寫保護后,只要沒有恢復(fù)寫保護,都可以對這個區(qū)域進行寫入操作。使用下列函數(shù)取消/恢復(fù)寫保護l void SetXRam(unsigned char val_para)void SetXRam(unsigned char val_para)取消/恢復(fù)XRAM高128字節(jié)的寫保護控制。val_para:1開啟寫保護,0取消寫保護。定時器/計數(shù)器,UART所有的UART以及定時器都受上電復(fù)位,欠壓復(fù)位,片外輸入復(fù)位,系統(tǒng)休眠喚醒復(fù)位,看門狗復(fù)位,調(diào)試復(fù)位的影響。在復(fù)位后,使用與MCU相同的時鐘。進入Sleep或者Dee
46、p Sleep模式后,停止工作,進入低功耗狀態(tài)。片上共實現(xiàn)了4個UART,UART2 UART5。片上的定時器包括作為 SFR外設(shè)的Timer0,Timer1,Timer2;此外,UART2 UART5都帶有一個波特率發(fā)生定時器(與Timer1兼容)以及一個普通定時器(與Timer0兼容)。其中普通定時器的定時溢出事件既可以通過中斷來響應(yīng),也可以通過查詢標志位的方式來響應(yīng);波特率發(fā)生定時器作為普通定時器使用的時候,并不會提起中斷,而是把相應(yīng)的溢出標志位置位。(定時溢出標志位參看“UART2 UART5的控制/狀態(tài)寄存器”,定時器中斷和UART中斷參看“中斷控制”。)通過寄存器設(shè)置可以選擇作為SFR外設(shè)的Timer0,Timer1,Timer2在clk/12的驅(qū)動下計時/計數(shù),還是在clk/4的驅(qū)動下進行計時/計數(shù);通過擴展UART的控制/狀態(tài)寄存器可以選擇與其相應(yīng)的波特率發(fā)生定時器以及普通定時器是在clk/12的驅(qū)動下計時,還是在clk的驅(qū)動下進行計時。UART2 UART5使用clk/12或者clk時鐘產(chǎn)生波特率。UART2 UART5在模式0下,R
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園疫情防控風險清單及環(huán)境通風防控措施
- 2025至2030中國自動車輛識別(AVI)系統(tǒng)行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 新材料行業(yè)的技術(shù)創(chuàng)新與應(yīng)用前景分析
- 2025至2030中國自動扶梯清洗機行業(yè)市場占有率及投資前景評估規(guī)劃報告
- 2025至2030中國自動化組態(tài)軟件行業(yè)深度研究及發(fā)展前景投資評估分析
- 2025至2030中國腺嘌呤磷酸鹽行業(yè)運行狀況監(jiān)測與投資規(guī)劃建議報告
- 醫(yī)藥采購質(zhì)量控制措施
- 2025至2030中國脂肪族聚酮行業(yè)運行態(tài)勢與發(fā)展趨勢研究報告
- 2025至2030中國膠囊智能迷你投影儀行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國背對背規(guī)行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- GB/T 24186-2022工程機械用高強度耐磨鋼板和鋼帶
- JJF 1015-2014計量器具型式評價通用規(guī)范
- GB/T 20330-2006攻絲前鉆孔用麻花鉆直徑
- 勞動合同(通用版)
- 英語口語 購物課件
- 膀胱鏡檢查記錄
- 鋼板倉施工方案
- DBJ50-112-2016 現(xiàn)澆混凝土橋梁梁柱式模板支撐架安全技術(shù)規(guī)范
- 北京福賽爾V6891、V6851控制器(聯(lián)動型)的調(diào)試
- 汽車維修安全生產(chǎn)管理制度大全
- 晉江市勞動合同書
評論
0/150
提交評論