下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
ADC的微控制器OCT.27,Version 總 特 結構概覽 信號描 管腳說 管腳分 20PIN封 16PIN封 功能介 簡 CPU寄存 簡 空間分 硬件控制寄存 系統(tǒng)運行控制寄存 配置寄存器 用戶信息 時鐘 省電模 簡 STOP模 HALT模 中 簡 外部中 非中 其它中 中斷寄存 復 簡 上電復位 外部復位 低電壓復位 看門狗復位 地址復位 I/O端 簡 端口 端口 定時/計數(shù) 簡 定時/計數(shù)器 定時/計數(shù)器 PARE/)功 8位比較模 16位比較模 8位捕獲模 16位捕獲模 12位模 模擬功 A/D轉 其它模 看門狗定時/計數(shù) 時基定時 蜂鳴 配置寄存器 簡 配置寄存器 指令 電氣特 極限參數(shù)(VSS= 推薦運行參 DC/AC電氣特性(VDD=5.0V,TA=- 符號定 管腳屬性描 模擬接口電氣特性(VDD=5.0V,TA=- 封裝和管腳焊接位 管腳分配和位 分 封 PDIP20 PDIP16 SOP20 SOP16 條件及時 建議表面貼裝(SMT)溫度曲 修訂記 ADC的微控制器總SPMC65P2204A和SPMC65P2202A是SPMC65X系列的兩款資源上比SPMC65P2202A有所擴展,它們的內核和幾乎相同,SPMC65P2202AROM空間比SPMC65P2204A小,存業(yè)設備控制、電池充電器。下面介紹這兩款的主要特性。特SPMC6511種尋址方系統(tǒng)時鐘頻率最高可8支持位操作指令(置1、、取反、測試空4K字節(jié)的程序空間(OTP),并且可設置功2K字節(jié)的程序空間(OTP),并且可設置功192字節(jié)的I/O端15個具有復用功能的雙向I/O所有I/O端口的輸入均由施密特觸發(fā)器構可設置為帶上拉/下拉電阻輸入或者懸浮輸具備LED驅動能其中2I/O端口能20mA的吸入電中斷管外部中斷選項:非中斷NMI或可中斷2個外部中斷,其中一個可設置為非中斷7個內部中
復位管上電復位低電壓復位看門狗復位外部復位地址復位時鐘管3種時鐘源:晶體/陶瓷振蕩器、RC振蕩器、外部時鐘輸RC振蕩模式下,能夠輸出時鐘信電源管2種省電模式:STOP模式、HALT2個模擬電910位精度的A/D轉換器低電壓復位8位定時/計數(shù)器定時、計數(shù)功捕獲功能(8位脈寬測量16位定時/計數(shù)器定時、計數(shù)功捕獲功能(8位脈寬/周期測量16位脈寬測量16位比較輸出功12 輸出功時頻率選擇:1Hz~62.5kHz@8MHz(系統(tǒng)時鐘15級分頻選蜂鳴器輸頻率選擇:1kHz~2MHz@8MHz(系統(tǒng)時鐘12級分頻選可編程看門狗定時中斷頻率選擇:1.5Hz~Max10(通道功能封裝類比捕9121PDIP20,PDIP16SOP20,SOP169121PDIP20,PDIP16SOP20,SOP16結構概LowVoltageWatch-DogTimer信號描類型:I=輸入;O=輸出;S=電管腳名管腳類主要功可選功S電S接I晶體/陶瓷振蕩器輸入端、RC振蕩器輸入端或外部時鐘輸入端:在RC振蕩模式下,外接一個上拉電阻,可以和內部的OSC電路產生內部時鐘,作為CPU的時鐘信號;在晶體/陶瓷振蕩器模式下,直接和外部晶體/陶瓷振蕩器的一個管連接,由晶體和內部電路共同產生時鐘信O生時鐘信號;也可以做為RC振蕩器的頻率輸出管2-PortADC模擬電壓輸3-PortADC模擬電壓輸42PortADC模擬電壓輸53PortADC模擬電壓輸64PortADC模擬電壓輸75PortADC模擬電壓輸86PortADC模擬電壓輸97PortADC模擬電壓輸11PortADC模擬電壓輸8Port蜂鳴器輸9PortPortPortTimer1比較輸出/輸-PortTimer1的捕獲輸入Timer1的外輸-PortTimer0的捕獲輸入Timer0的外輸I復位管6SM65P / 6SM65P / 234(AN2)PA2 (BUZ)PB6 12342789功能介SPMC65P2204A/2202A采用高性能微處理SPMC65作為內核,全CMOS工藝設計,它有6個內部寄存器:累加器(A)、程序指系統(tǒng)運行時鐘(FSYS)最高可以達8MHz。CPU7087070SPMC65CPU6個寄存器:程序指針(PC)、累加器(A)、X寄存是一個16位寄存器,其它都是87087070
5.1.1堆棧指針初始 #CSTACK ;堆棧指針初始值為 A值送入X程序計數(shù)器程序計數(shù)器(PC)是一個16位寄存器CPU即將執(zhí)行的下一條指令16位地址。16位地址8位和8位分別存放在寄存器PCH和PCL中。復位后,PC中的是程序運行的起始地址$FFFC狀態(tài)寄存器包括一個中斷位。這些狀態(tài)標志位可以反映程序執(zhí)行完上一條指令后的狀態(tài)信息。該寄存器也可以由指令PHP和PLP來進行保存和志位的詳細說明如圖5-2。注意:并非所有的指令執(zhí)行都會影響狀態(tài)寄存器的值。SPMC65CPU指令手冊中將對每個指令作詳細描述。X、Y寄存
5-1CPU
負標志位該位指示一個數(shù)據或者運算結bit7的狀態(tài)。用戶可以通過在尋址模式下,X、Y寄存器用作地址索引指針,可以很方便的進行數(shù)據存取。同時,X、Y寄存器還可以做為緩存寄存器,進行1、1、比較和數(shù)據傳送的操作。累加器累加器A是一個8位通用寄存器,可用于數(shù)據傳送、數(shù)據暫存和條堆棧指針當調用子程序或中斷發(fā)生時,堆棧指針會自動更新。但是如果堆棧
5-2堆棧指針寄存FixedFixedvalueby8Stackarea針的值超出了其允許的堆??臻g,系統(tǒng)就會發(fā) 地址復位溢出標志位大于127或者減法運算結果小于-128,該位則置1。十進制模式標志位中斷位該位用于使能/除“非中斷源(NMI)”以外的所有中斷源。將其置1,CPU將忽略中斷請求;置0,CPU將接受零標志位數(shù)據和算術運算結果標志位。若數(shù)據或算術運算結果為0,該位被置1;否則,置0。進位標志當加法操作中產生進位或減法操作中沒有產生借位時,該位被1。此外,移位或循環(huán)指令也會改變該位的I=1,CPU忽略中斷請求信號( I=1,CPU忽略中斷請求信號( 斷源NMI除外圖5-2狀態(tài)寄存器SPMC65P2204A/2202A這兩款均有獨立的程序區(qū)和數(shù)據區(qū)。程序區(qū)為只讀,當執(zhí)行程序時,若向其寫入數(shù)據,將4K和2K字節(jié)。數(shù)據區(qū)可讀可寫(RAM),SPMC65P2204A/2202A的數(shù)據區(qū)大小為192字節(jié)(包括堆棧SPMC65P2204A和SPMC65P2202A的空間分為幾個部分,分別如圖5-45-5所示。二者的差別OTPROM的大小。在此僅以SPMC65P2204A為例對各個行詳SPMC65P2202A與之相同??臻g的前96個字節(jié)($0000~$005F)分配給硬件控制寄存(含功能控制寄存器和I/O控制寄存器。硬件控制寄存器允許用戶$0060~$00FF和$01E0~$01FF為數(shù)據區(qū)(RAM),其$01E0~$01FF(32個字節(jié))又定義為堆棧區(qū)。堆棧指針向下生長($01FF到$01E0)。一旦堆棧溢出,CPU復位$7FE0~$7FE3這4個字節(jié)為配置寄存器,用戶可以通過它設
SPMC65P2204A支持4K字節(jié)的OTPROM($F000~$FFFF)“位”設置為0時,OTPROM中的程序被保護,不可讀(但其中的配置寄存器和用戶信息仍是可讀的);相反,置1時,程序這些中斷向量的地址應在用戶程序中的定義。若未定義的空間,CPU將產生IAR復位,重新啟動程序。所以中定義的限制塊(保留區(qū))不能進行讀寫操作。NMIResetIRQ5-3中斷和復位向量5.2.1中斷和復位向量表的96Bytes96Bytes32Bytes4DeviceConfiguration16Bytes4KBytes6Bytes96Bytes32Bytes4DeviceConfiguration16Bytes2KBytes6Bytes
$0000~000F:I/O端口及中斷控制寄存地功復位端口A數(shù)據寄存R端口A的管腳狀W端口A的輸出數(shù)據端口B數(shù)據寄存(P_IOB_R端口B的管腳狀0端口B的管腳狀W端口B的輸出數(shù)據-端口B的輸出數(shù)據端口A方向寄存R0=輸入1=輸W0=輸入1=輸端口B方向寄存(P_IOB_R0=輸入1=輸00=輸入1=輸W0=輸入1=輸-0=輸入1=輸端口A屬性寄存R端口A屬W端口A屬端口B屬性寄存R端口B屬0端口B屬W端口B屬-端口B屬中斷0R0000W寫入‘1’清除中斷標中斷控制0R0000W----中斷R0000W寫入‘1’清除中斷標中斷控制R0000W----注:端口A、端口BIOINIT($7FE2.0) &數(shù)據寄存地功復位看門狗清R00000000W寫#$55清除看門狗計數(shù)(C_WDT_Clr=定時/0-1控制寄R0定時/1功能選0-定時/計數(shù)器0功能選W-定時/1功能選--定時/計數(shù)器0功能選R0定時/計數(shù)1預分頻選0定時/計數(shù)0預分頻選W--定時/計數(shù)0預分頻選定時/0計數(shù)(PTMR0R8位定時/計數(shù)0的計數(shù)定時/計數(shù)0重載寄存(PTMR0W8位定時/計數(shù)0的重載計數(shù)R8位捕0的捕獲脈寬W8位捕0的重載定時/1計數(shù)(PTMR1R816位(低字節(jié))定時/1的計數(shù)地功復位定時/計數(shù)1重載寄存(PTMR1W816位(低字節(jié))定時/1的重載計數(shù)比較1計數(shù)值的低字 R816位(低字節(jié))比較1的計數(shù)W816位(低字節(jié))比較1的比較捕獲1捕獲值的低字R816位(低字節(jié))捕獲1的捕獲脈寬W816位(低字節(jié))捕獲1的重載1低字節(jié)周期(P_TMR1_R12位1低字節(jié)的周期W12位1低字節(jié)的周期定時/計數(shù)1計數(shù)值的高字(PTMR1R16位定時/計數(shù)1計數(shù)值的高定時/計數(shù)1重載寄存(PTMR1W16位定時/計數(shù)1重載計數(shù)值的高字比較1計數(shù)值的高字 R16位比較1計數(shù)值的高字W16位比較1比較值的高字捕獲1捕獲值的高字R16位捕獲1捕獲脈寬值的高字W16位捕獲1重載值的高字捕獲器1周期R8位捕1捕獲的周期W16Timer1重載值的高字1占空比/周期R12位定時/計數(shù)器1占空比(高字節(jié)12位定時/計數(shù)器11周期值(高字節(jié)W12位定時/計數(shù)器1占空比(高字節(jié)12位定時/計數(shù)器11周期值(高字節(jié)$0026~002D:中斷和ADC控制寄存地功復位中斷2R0000000W寫“1”可清除中斷標志,但SPIIF標志除中斷控制R0000000W-----A/D控制0R00W--A/D輸入通道RWA/D控制2R00W--A/D轉換值的高字RW-A/D轉換值的低字R000000W-蜂鳴器控RW$0030~$0036:特殊功能控制寄存器(需要連續(xù)寫兩次才能成功地功復位系統(tǒng)控制寄存R000W寫“1”清除相應的復位標--省電模式控制寄存R00000000W寫#$5A進入STOP模式寫#$A5進入HALT寫#$66CPU以外的所有內部??撮T狗控R0000W----IRQ設置寄R0000W----慢速輸出控R0000000W-------低電壓復位選R0000000W-------注:外部復位不能清除LVRV40位$0058~$005F:端口數(shù)據鎖存寄存地功復位捕獲控R000W---端口A數(shù)據鎖存(PIOAR端口A數(shù)據鎖W端口A數(shù)據鎖端口B數(shù)據鎖存(PIOBR端口B數(shù)據鎖0端口B數(shù)據鎖W端口B數(shù)據鎖-端口B數(shù)據鎖在SPMC65P2204A/2202A中,位于$0030~$0036的寄存器
例5.2.2設置$0030~$0036間的主要寄存器(兩次寫入操作燒錄的時候,這些寄存器的設置會被同時寫入。這樣,SPMC65P2204/2202AOTPROM空間中預16字節(jié)~$7FFF)作為用戶信息塊,用戶可以寫入任意信息5.3.1RC振蕩器在不同系統(tǒng)時鐘頻率時的阻容值(推薦注意:若選擇晶體/陶瓷振蕩器或外部時鐘作為時鐘源,時鐘頻率
凌陽公司將其中的$7FF0~$7FF34個字節(jié)作為的序列號信息設;設置INT0為上升沿觸發(fā),其它外部中斷為下降沿觸被二分頻,然后作為系統(tǒng)時鐘(FSYS)提供CPU,供其正常工作。所以若想得到8MHz的系統(tǒng)時鐘,晶體/陶瓷振蕩器或外部時鐘必須設為表5.3.1RC振蕩器的阻容值與系統(tǒng)時鐘頻率的對應系統(tǒng)時鐘頻率電阻SPMC65XSPMC65XSPMC65XSPMC65X DCos (a)晶體/5-6三種時鐘源的典型應用電SPMC65P2204/2202A有三種工作模式:正常(NORMAL)模式、才能進入STOP模式或HALT模式。關于STOP模式和HALT模式
圖5-7表明了SPMC65P2204/2202A的模式轉換關系。上電復位后直接進入NORMAL模式工作,然后可切換到STOP模式或HALT模式。注意,進入STOP模式或HALT模式后,系統(tǒng)將只能返回NORMAL模式。例如,若用戶想HALT模式切STOP模式,系統(tǒng)將首先從HALT模式切換到NORMAL后再從NORMAL模式切換到STOP模式。反之亦然。Write#$5AtoWrite#$A5toAnyI/OWrite#$66to圖5-7SPMC65P2204A/2202A的工作模式轉一旦進入STOP模式,系統(tǒng)時鐘將會停止工作(包括時鐘發(fā)生電路。只有IO管腳的外部中斷或者看門狗中斷才能喚醒系統(tǒng)重新進入NORMAL模式。定的時鐘源。延遲時間范圍20ms~60ms,一般設40ms。時鐘入STOP模式指令的下一條指令,不會進入中斷。
為確保中斷可以喚醒系統(tǒng),在STOP模式之前必須打開相應的若使用看門狗來喚醒,則必須在進入STOP模式之前打開看門狗定間內發(fā)生系統(tǒng)復位。參考圖5-9及圖5-9。向寄存P_Mode_Ctrl連續(xù)兩次寫#$5A,系統(tǒng)進STOP5-8進入STOP模式的時5-9外部中斷喚醒STOP模式的時 00 00000圖5-10看門狗計數(shù)的溢出頻率過快,喚醒STOP模式失敗的時HALT在HALT模式下,系統(tǒng)時鐘停止,但是其正常工作延遲時間,即回到NORMAL模式。若用戶使能了中斷(總的中斷開關已經被打開:執(zhí)行指令CLI),程序會立即跳轉到中斷服務子程序
向寄存P_Mode_Ctrl連續(xù)兩次寫#$A5,系統(tǒng)即進HALT模式5-11進入HALT模式的時1).省電模式控制寄存器(PMODECtrl位名ModeModeModeModeModeModeModeModeCtr讀/默認00000000注:該字節(jié)必須連續(xù)寫兩次才能設置生效Bit[7:0]:Modectrl[7:0]:省電模式選擇位#$5A=進入STOP模#$A5=進入HALT模#$66CPU外的所有內部模5.4.1MCUSTOP模SPMC65P2204A/2202A共有6種中斷源:外部中斷、定時/計數(shù)器中斷、看門狗中斷、ADC中斷、時基中斷和捕獲中斷。外部中SPMC65P2204A2202A2個外部中斷源:IRQ0IRQ1,它們分別對應端PB4PB5。中斷信號與相應的中斷標志位及中斷控制位一起作用使CPU產生外部中斷。對于所有的外部中斷通道,每個中斷通道都有自己獨立的中斷控制
便會被置1制寄存器外,還需使用‘I’指令清除狀態(tài)寄存器中的相應中斷標非中2個外部中斷中只能選擇1個設置為非中斷(NMI)。非中斷源的選擇可以通過寄存器$7FE3進行設置,除此之外,非中斷當非中斷被使能后,無論CPU當前狀態(tài)如何,它隨時可以產生中斷。換言之CPU正在處理NMI中斷時,另一個NMI中斷信號仍可以打斷當前的CPU運行,而去執(zhí)行新的中斷服務子程序。因
S50/2A還支持其它5時/計數(shù)器中斷、看門狗中斷、ADC中斷、時基中斷和捕獲中斷。這和設置中斷的/使能。通常,一旦中斷發(fā)生,相應的中斷標志位會被置1U接受中斷請求去執(zhí)行相應中斷服務程序。如果相應的中斷控制被,則不會產生中斷請求信號,從而PU也不斷是U進入了中斷服務程序進行中斷處理時,必須清除中斷標志位,否則,PU會循環(huán)進入中斷服務程序。關于定時/計數(shù)器中斷、看門狗中斷、ADC中斷、時基中斷和捕獲中5.5.1中斷中斷狀態(tài)寄存中斷控制寄存中斷中斷狀態(tài)寄存中斷控制寄存外部中捕獲中ADC中看門狗中時基中5-13IRQ0中斷觸發(fā)時序圖5-14中斷退出時序中斷0PINTFlag0位名0000讀/----默認00000000注:向相應位寫“1”,則清除中斷標志BitADIF:ADC中斷標BitIRQ1IF:IRQ1中斷標0=中斷沒有發(fā)0=中斷沒有發(fā)1=中斷發(fā)1=中斷發(fā)BitWDIF:看門狗中斷標BitIRQ0IF:IRQ0中斷標0=中斷沒有發(fā)0=中斷沒有發(fā)Bit1=中斷發(fā)保1=中斷發(fā)中斷1PINTFlag1位名----讀/----默認00000000注:向相應位寫“1”,則清除中斷標志BitBitT1OIF:定時/計數(shù)器1溢出中斷標0=中斷沒有發(fā)0=中斷沒有發(fā)1=中斷發(fā)1=中斷發(fā)BitCAP0IF:捕0中斷標BitT0OIF:定時/計數(shù)器0溢出中斷標0=中斷沒有發(fā)0=中斷沒有發(fā)Bit1=中斷發(fā)保1=中斷發(fā)中斷標志寄存器2(P_INT_Flag2,位名-------讀/-------默認00000000注:向相應位寫“1”,則清除中斷標志Bit 保Bit ITVALIF:時基中斷標0=中斷沒有發(fā)1=中斷發(fā)Bit 保中斷控制寄存0(P_INT_Ctrl0,位名----讀/----默認00000000BitADIE:ADC中斷使能Bit:0=0=1=使1=使BitWDIE:看門狗中斷使能Bit:0=0=Bit1=使保1=使中斷控制寄存1(P_INT_Ctrl1,位名----讀/----默認00000000BitCAP1IE:捕1中斷使能BitT1OIE:定時/計數(shù)1溢出中斷使能0=0=1=使1=使BitCAP0IE:捕0中斷使能BitT0OIE:定時/計數(shù)0溢出中斷使能0=0=Bit1=使保1=使中斷控制寄存器2(P_INT_Ctrl2,位名-------讀/-------默認00000000Bit 保 Bit 保Bit ITVALIE:時基中斷使能0=1=使NMI設置寄存器(P_NMI,位名-----讀/RRRRRRRR默認11111111注:可以在FortisIDE環(huán)境下找到相應的進行設置Bit保100=保BitNMIS[2:0]:中斷源控制011=保111=010=保110=保001=PB5(INT1)作為NMI中斷101=保000=PB4(INT0)作為NMI中斷IRQ設置寄1(P_IRQ_Opt1,位名----讀/----默認00000000注:該寄存器必須連續(xù)寫兩次入才能設置成功Bit 保Bit3IRQ1ES/CAP3ESIRQ1極性控制位或捕獲器3控制0=下降沿觸1=上升沿觸0=低電平觸1=高電平觸Bit2IRQM1IRQ1觸發(fā)模式選擇0=邊沿觸1=電平觸
Bit1IRQ0ES/CAP2ESIRQ0極性控制位或捕獲器2控制0=下降沿觸1=上升沿觸0=低電平觸1=高電平觸Bit0IRQM0IRQ0觸發(fā)模式選擇0=邊沿觸1=電平觸 PIRQOpt1CBIRQOpt1 ;上升沿觸 PINT;清除中斷標志P_INT_Ctrl0,;使系統(tǒng)中5種復位源:上電復位(POR)、外部復位(ERST)、低電壓復位(LVR)、看門狗復位(WDR)、地址復位(IAR)。這些復位源可以分為外部復位和內部復位。外部復位來自電源線或外部觸;內部復位來自程序異常或程序設置的軟件復位。表5.6.1說
了這些復位發(fā)生后對CPU和整個系統(tǒng)的影響上電復位當?shù)碾娫措妷篤DD從0V上升到1.45V左右時,上電復位電約經過約80ms的延遲(電源穩(wěn)定約40ms系統(tǒng)時鐘穩(wěn)定約管腳需要外接RC電路,這樣,上電復位發(fā)生后,經過一段延遲,RESETB管腳才能變?yōu)楦唠娖?。而對于SPMC65X系列,則只需將RESETB管腳直接拉高(或接一個上拉電阻)到VDD,不需外RC電路,從而不會造成上電延遲。外部復位RC電路。由于RESETB為低電平有效,所以當RESETB管腳上的電壓降至0.3xVDD以下時,系統(tǒng)復位。 外部復位信號脈寬至少要持續(xù)200ns以上,否則將會被當作干擾信當RESETB上升為高電平后,并再經過40ms1024個系統(tǒng)時鐘周期,程序才重新開始執(zhí)行,即復位結束。復位時序見圖5-17。 5-15外部復位電注VDDD1幫助電容迅速放電推薦R1<40k?以保證電阻的分壓符合的電氣指標如果R433~1k?,將RESETB的電流,從而提低電壓復位低電壓復位(LVR)即當MCU的電源電壓低于設定的復位電壓后,芯片復位。這樣,保證了MCU不會在的電壓范圍內連續(xù)工作。
通過配置寄存器($7FE0.2)可以/使能LVR功能。使能LVR功能后,LVR電路便開始對電源電壓進行監(jiān)測,如果監(jiān)測到電源電壓低于設定電壓并持續(xù)1024個系統(tǒng)時鐘周期,系統(tǒng)便會復位。當電壓回升到設定值后,再經1024個系統(tǒng)時鐘周期,程序將重新開始執(zhí)用戶可LVRV40(P_LVR_Opt,$0036.0)來設置復位電電壓低于4.0V時復位。通常情況下,低電壓復位不能清除寄存器P_SYS_Ctrl中的值。另外,另外,在STOP模式下,低電壓復位會被。這種情況下,如果看門狗復位信號,將CPU復位,以保證MCU不會在異常情況下連續(xù)工作??撮T狗定時器可以通過配置寄存器 $7FE0)使能或看門狗電路內置獨立的RC振蕩器??赏ㄟ^寄存器P_WDT_Ctrl[6:4]對看門狗中斷頻率進行設置。復位信號是由看門狗中斷頻率經過8分頻后產生的。發(fā)生看門狗復位后,CPU被復位并重新執(zhí)行程序,定期向P_WDT_Clr寄存器寫入“#$55”。關于看門狗定時器的具體描述,見5.11.1地址復位地址復位A是內部復位,可以防止系統(tǒng)進入地址。當程序對PM生使U復位。但電路不會復位。5.6.1各種復位的影上電復位外部復位軟件復低電壓復位看門狗復位地址復位CPU復是是否是是是復是是是是否否PIOAAttrPIOBAttrPSYS100-00-x1x-xx-xxx-xx-xx1-xx-xxx-1x-xxx-x1-PLVR 注意:vP_SECU.IOINIT的設置;x無影響5-16上電復位時5-17外部復位時VVLVR-5-18低電壓復位時SystemSystem5-19看門狗復位時圖5-20地址復位時系統(tǒng)控制寄存器(P_SYS_Ctrl,位名--0讀/--默認10000000注:該寄存器必須兩次寫入才能設置成功BitPOR:上電復BitWDR:看門狗復位標0=無上電復位發(fā)0=無看門狗復位發(fā)1=上電復位發(fā)1=看門狗復位發(fā)BitERST:外部復BitIAR:地址復位標0=無外部復位發(fā)0=無地址復位發(fā)1=外部復位發(fā)1=地址復位發(fā)BitLVR:低電壓復位0=無低電壓復位發(fā)Bit保1=低電壓復位發(fā)Bit 保
注意:向相應位寫“1”清除該標低電壓復位控制寄存器(P_LVR_Opt,位名-------讀/-------默認00000000注:該寄存器必須兩次寫入才能設置成功Bit[7:1]保Bit LVRV40:復位電壓選擇0=低于2.5V1=低于4.0V注意:工作后,該選項只能設置一次,只有上電復位才能將其清除5.6.1使能低電壓復位(復位電壓 5.6.2保存PSYSCtrl中的值然后將其清;讀復位標;清除復位標I/OSPMC65P2204A2202A2組IO端口A和端口B。這些端口即可以做為IO口,也可以復用為特殊功能端口。在初始狀態(tài)時,它們都作為通用輸入端口。通常,對端口某一位的設定包4個寄存器:數(shù)據鎖存寄存器Buffer、數(shù)據寄存器Data、屬性寄存器Attribution和方向寄存器Direction。各寄存器的每個對應位組合在一起,形成一個控制字,用來定義相應I/O管腳的屬性。下面介I/O端口設置的規(guī)則方向寄存器Direction用來設置端口是輸入還是輸出屬性寄存器Attrbution用來設置端口是懸浮還是不懸
數(shù)據鎖Buffer的設置影響各管腳的初始值。當某位IO口進行操作時,必須對數(shù)據鎖存器Buffer來作,而不應該對數(shù)據寄存器Data進行操作,以避免錯誤。數(shù)據寄存器Data用來各端口的電平狀態(tài)。設置不同的輸入鎖存寄Buffer。5.7.1I/O配功描000下帶下拉電阻的輸入管001上帶上拉電阻的輸入管101高電平輸輸出高電100低電平輸輸出低電X1X懸懸浮式輸入管pullPinpull5-21IO端口結構端口A8個雙向可編程IO管腳,并且各管腳均有相應的控制寄存器來進行設置。這些控制寄存器為:數(shù)據鎖存寄存器P_IOA_Buf、數(shù)據寄存器P_IOA_Data、方向寄存器P_IOA_Dir和屬性寄存器P_IOA_Data用于端口A。讀P_IOA_Data將得到端口A各管腳中。P_IOA_Buf是一個專門用于緩存寫入端口A數(shù)據的寄存器。復位后,端口A默認為通用的IO端口。除此之外,端口A還可以作為AD轉換的輸入通道。端口A數(shù)據寄存器(P_IOA_Data,
5.7.2A各管腳功能列管復用功通用輸入/輸出AN0模擬通用輸入/輸出AN1模擬通用輸入/輸出AN2模擬通用輸入/輸出AN3模擬通用輸入/輸出AN4模擬通用輸入/輸出AN5模擬通用輸入/輸出AN6模擬通用輸入/輸出AN7模擬位名讀/默認Bit[7:0]P_IOA_Data:端口A數(shù)據寄存器。向該寄存器寫入數(shù)據,會同時保存到寄存器P_IOA_Buf端口A數(shù)據鎖存器(P_IOA_Buf,位名讀/默認Bit[7:0]P_IOA_Buf:端口A數(shù)據鎖存端口A方向寄存器(P_IOA_Dir,位名PIOA讀/默認Bit[7:0]P_IOA_Dir:端口A方向寄存0=輸1=輸端口A屬性寄存器(P_IOA_Attrib,位名PIOA讀/默認Bit[7:0]P_IOA_Attrib:端口A屬性寄存0=非懸浮式輸入/輸1=懸浮式輸5.7.1A[7:0]為低電平輸 例5.7.2設置A[7:0]為帶下拉電阻的輸 端口B7個雙向可編程IO管腳,并且各管腳均有相應的控制寄存器來進行設置。這些控制寄存器為:數(shù)據鎖存寄存器P_IOB_Buf、數(shù)據寄存器P_IOB_Data、方向寄存器P_IOB_Dir和屬性寄存器P_IOB_Data用于端口B。讀P_IOB_Data將得到端口B各管腳的電平狀態(tài)P_IOB_Data寫入數(shù)據,其值將P_IOB_Buf中。P_IOB_Buf是一個專門用于緩存寫入端口B數(shù)據的寄存器。
復位后,端口B默認為通用的IO端口。除此之外,端口B的每個管腳都有相應的特殊功能(具體情況見5.7.3)。例如:PB6PB7可以作為慢速輸出管腳。將寄存P_IO_Opt($0035)bit0設置1,便會打開PB[7:6]的慢速輸出功能:當PB[7:6]的輸出信號從高電平變低電平時,將會有約250ns的延遲(具體延遲時間由系統(tǒng)時鐘(FSYS)決定5.7.3B各管腳功能列管復用功通用輸入輸出、捕獲0輸入、定時/計數(shù)0外部時鐘輸通用輸入輸出、捕獲1輸入、定時/計數(shù)1外部時鐘輸-保通用輸入輸出、Timer1比較輸出、Timer1輸通用輸入輸出、外部0輸入、捕2輸入、定時/計數(shù)2外部時鐘輸通用輸入輸出、外部1輸入、捕3輸入、定時/計數(shù)3外部時鐘輸通用輸入輸出、慢速輸出、蜂鳴器輸通用輸入輸出、慢速輸出、ADC外部參考電壓輸端口B(P_IOB_Data位名PIOB-PIOB讀/-默認Bit[7:0]P_IOB_Data:端口B數(shù)據寄存器。向該寄存器寫入數(shù)據,會同時保存到寄存器P_IOB_BufBit 保端口B數(shù)據瑣存寄存器(P_IOB_Buf,位名PIOB-PIOB讀/-默認]Bit 保端口B方向寄存器(P_IOB_Dir,位名PIOB-PIOB讀/-默認Bit[7:0]P_IOB_Dir:端口B方向寄存0=輸1=輸Bit 保端口B屬性寄存器(P_IOB_Attrib,位名PIOB-PIOB讀/-默認Bit[7:0]P_IOB_Attrib:端口B屬性寄存0=非懸浮式輸入/輸1=懸浮式輸Bit 保慢速輸出控制寄存器(P_IO_Opt,位名-------讀/-------默認00000000注意:必須連續(xù)寫入兩次,設置才生效Bit[7:1]保Bit SLOWE:慢速輸出功能使能1開啟PB[7:6]的慢速輸出功0關閉PB[7:6]的慢速輸出功例5.7.3設置端口B[3:0]為低電平輸出,端口B[7:4]為帶上拉電阻的輸入 PIOB SPMC65P2204A和SPMC65P2202A這兩款均配有2個定時/計數(shù)器。其中,Timer08位的,Timer116位的2個定時/計數(shù)器均為遞增計數(shù)。Timer1還具備強大的
pare/)功能,即捕獲、比較和輸出功能。表5.8.12個定時/計數(shù)器的功能簡介。這些功能可通過相表5.8.1SPMC65P2204A/2202A定時/計數(shù)器功能簡定時/計數(shù)捕獲比較816816816Timer是否脈無是否無Timer是是脈寬/脈是是12定時/計數(shù)器0是8位定時/計數(shù)器,可以采用內部時鐘源,也可以采當其計數(shù)到255時,這時再來一個時鐘信號,計數(shù)器便會溢出,Timer0中斷標志被置位。同時計數(shù)器重載計數(shù)初值。此時,如果定
下面介紹定時/計數(shù)0的特點可讀可時鐘頻率可以進8級預分頻可選外部或內部時鐘計數(shù)值從#$FF增到#$00時,產生溢出中斷信8位捕獲功例5.8.18位定時/計數(shù)器0溢出頻率計圖5-228位定時/計數(shù)器0的內部結圖5-238位定時/計數(shù)器0計數(shù)溢出及中斷時1).定時/計數(shù)0-1控制0(P_TMR0_1_Ctrl0,位名---讀/---默認00000000Bit保100=16位定時/計數(shù)BitT1FC[2:0]:定時/計數(shù)器1功能設置011=8位脈寬/周期捕11112位0108位比較110=16位脈寬捕0018位定時/計數(shù)101=16位比較 000=Bit 保Bit T0FC[1:0]:定時/計數(shù)0功能設置11=8脈寬捕
108位比較018位定時/計數(shù)00=.位名--讀/--默認00000000BitBit保T1PSC[2:0]:定時/計數(shù)器1預分頻設置BitT0PSC[2:0]:定時/計數(shù)0預分頻設置110=FSYS÷101=FSYS÷100=FSYS÷011=FSYS÷010=FSYS÷001=FSYS÷110=FSYS÷101=FSYS÷100=FSYS÷011=FSYS÷010=FSYS÷001=FSYS÷000=000=Bit 保
FSYS:系統(tǒng)時鐘定時/計數(shù)0計數(shù)寄存器(P_TMR0_Count,BitBit8位定時/計數(shù)WT0PLVT0PLVT0PLVT0PLVT0PLVT0PLVT0PLVT0PLVR8位捕獲模WRT0CWVT0CWVT0CWVT0CWVT0CWVT0CWVT0CWVT0CWV初始00000000Bit P_TMR0_Count[7:0]:定時/計數(shù)器0計數(shù)寄存8位定時/計數(shù)模式8位捕獲模式
寫:定時/計數(shù)0重載值讀:定時/計數(shù)0脈寬捕獲5.8.2設定時/計數(shù)器08位定時方1ms;啟動定時/計數(shù)器0之前,首先設置計數(shù)器的初始PTMR0;設置定時/0時鐘PTMR01;設置定時/計數(shù)08位定時方PTMR01;設置定時/計數(shù)器0重載值=256-6=;Fsys(8MHz)/32/250=定時/計數(shù)器1可設為16位和8位兩種工作方式。設為8位時,與定時/計數(shù)器0功能相同。設為16位時,計數(shù)最大值為65535一個8位CPU,其總線寬度為8位,通常無法直接16位的數(shù)據。為了克服這樣的局限,在中設計了一個有專門的讀/寫緩沖器的數(shù)據寄存Timer(MSB),用16位數(shù)據8位的讀寫操作16位數(shù)據全部讀出,緩沖器的值才會改變。相反的,在寫16位數(shù)字節(jié)。直16位數(shù)據全部寫入,緩沖器的值才會改變,這樣緩沖器中
由于定時/計數(shù)1與定時/計數(shù)0共享控制寄存器,所以/計數(shù)器1的控制,請參見定時/計數(shù)器0章節(jié)中對控制寄存器的相關下面介紹定時/計數(shù)1的特點可讀可時鐘頻率可以進8級預分頻可選外部或內部時鐘8位/16位工作方8位/16位捕獲功8位/16位比較功支持12 輸出功ReadTimer(MSBTimNote1ReadTimer(MSBTimNote1:16-bitreadR1:readLSBfirst(MSBtobuffer)R2:readMSBlater(readbuffer)PreloadhighbytePreloadlowbyteRegisterNote2:16-bitwriteW1:writeMSBfirst(writeW2:writeLSBlater(buffertoMSBWriteData圖5-2416位定時/計數(shù)器讀寫操作框圖5-2516位定時/計數(shù)器內部結構圖5-2616位定時/計數(shù)器計數(shù)溢出及中斷時定時/計數(shù)1計數(shù)寄存器低字節(jié)(PTMR1CountBitBit8位/16位定時/計數(shù)式WT1PLVT1PLVT1PLVT1PLVT1PLVT1PLVT1PLVT1PLVR8位/16位較模WT1COVT1COVT1COVT1COVT1COVT1COVT1COVT1COVRT1RT1RT1RT1RT1RT1RT1RT1R8位/16位捕WRT1CWVT1CWVT1CWVT1CWVT1CWVT1CWVT1CWVT1CWV12位 WT1PPVT1PPVT1PPVT1PPVT1PPVT1PPVT1PPVT1PPVRT1PPVT1PPVT1PPVT1PPVT1PPVT1PPVT1PPVT1PPV初始00000000Bit[7:0] P_TMR1_CountLo[7:0定時/1計數(shù)寄存器的8位/16位定時/計數(shù)模式寫:T1PLV_[7:0]定時/1重載值的低字節(jié)讀:T1R_[7:0]定時/計數(shù)器1計數(shù)值的低字節(jié)8位/16位比較模式:]讀:T1R_[7:0]定時/計數(shù)器1計數(shù)值的低字節(jié)
8位/16位捕獲模式]讀:T1CWV_[7:0]定時/計數(shù)1脈寬捕獲值的低字12位模式寫:T1PPV_[7:0]定時/計數(shù)器1周期值的低8讀:T1PPV_[7:0]定時/計數(shù)器1周期值的低8定時/計數(shù)1計數(shù)寄存器高字節(jié)(P_TMR1_CountHi,BitBit16位定時/計WT1PLVT1PLVT1PLVT1PLVT1PLVT1PLVT1PLVT1PLVR16位比較模WRT1RT1RT1RT1RT1RT1RT1RT1R16位捕獲式WT1PLVT1PLVT1PLVT1PLVT1PLVT1PLVT1PLVT1PLVR8位捕獲模WT1PLVT1PLVT1PLVT1PLVT1PLVT1PLVT1PLVT1PLVRT1CCVT1CCVT1CCVT1CCVT1CCVT1CCVT1CCVT1CCV12位WT1PDVT1PDVT1PDVT1PDVT1PPVT1PPVT1PPVT1PPVR初始00000000Bit[7:4] P_TMR1_CountHi[7:4]:定時/計數(shù)器1計數(shù)寄存器高16位定時/計數(shù)模式寫:T1PLV_[15:12定時/計數(shù)1重載值讀:T1R_[15:12]定時/計數(shù)1計數(shù)值16位比較模式:讀:T1R_[15:12]定時/1計數(shù)值16位捕獲模式:寫:T1PLV_[15:12]定時/計數(shù)1重載]8位捕獲模式寫:T1PLV_[15:12]定時/計數(shù)器1重載值讀:T1CCV_[7:4]定時/計數(shù)器1周期捕獲值12位 讀:T1PDV_[11:8]定時/計數(shù)器1的占空比高四位Bit[3:0]P_TMR1_CountHi[3:0]:定時/計數(shù)器1計數(shù)寄存
16位定時/計數(shù)模式寫:T1PLV_[11:8]定時/計數(shù)器1重載值讀:T1R_[11:8]定時/計數(shù)1計數(shù)值16位比較模式:寫:T1COV_[11:8]定時/計數(shù)1比較值讀:T1R_[11:8]定時/計數(shù)器1計數(shù)值16位捕獲模式:]讀:T1CWV_[11:8]定時/計數(shù)1脈寬捕獲8位捕獲模式]讀:T1CWV_[3:0]定時/計數(shù)器1周期捕獲12位模式寫:T1PPV_[11:8]定時/計數(shù)器1周期值的高4讀:T1PPV_[11:8]定時/計數(shù)器1周期值的高41占空比的低字節(jié) Duty,位名T1PDVT1PDVT1PDVT1PDVT1PDVT1PDVT1PDVT1PDV讀/默認00000000Bit P_TMR1_Duty[7:0]:1占空比的低字12位模式PTMR1PTMR1PreloadHiPTMR1#CT1FCSDiv#CT116BTimerPTMR01Ctrl0PTMR1PreloadHi;啟動定時/計數(shù)器1之前,首先設置計數(shù)初;設置計數(shù)初值的高字;設置計數(shù)初值的低字;設置定時/計數(shù)116位定時方;設置計數(shù)重載值的高字節(jié)2x256;設置計數(shù)重載值的低字節(jié)256143;Fsys(8Mhz)/128/625= pare/)功SPMC65P2204A/2202A兩款具有強大的功能(捕獲、比所以功能也有所不同。通常,有5種功能模式:8位比功定時/計數(shù)8位比16位比8位捕功定時/計數(shù)8位比16位比8位捕Timer0,16位捕12
器1支持8計數(shù)器1為8位比較模式時,將比較數(shù)據寫入寄存器 05的比較數(shù)據作為計數(shù)初始值開始計數(shù),當計數(shù)器發(fā)生溢出時,PB3輸出的電平翻轉。如果定時/計數(shù)器1的溢出中斷使能,此時會產生。后初重新計此不環(huán)就,PB3管腳會一直輸出占空比為50的(即比較輸出的波形關于8位比較輸出的時序,見5-275.9.1fCompTimer1Timer1pTimer1 Timer1Output(PB3)定時/116位比較輸出時/計數(shù)器1為6別器 0015、 pi016中計數(shù)器將以設置的比較數(shù)據作為計數(shù)初始值開始計數(shù),設置的值PB3。
如果定時/計數(shù)1的溢出中斷使能,此時會產生溢出中斷然后載入初始值重新開始計數(shù),依此不斷循環(huán)。也就是說,PB3管腳會一直停止計數(shù),比較輸出頻率為計數(shù)器溢出頻率的一半。關16位比較輸出的時序,見圖5-28。Timer1Timer1pTimer1FFFCFFFDFFFEFFFFFFFBFFFCFFFDFFFEFFFFFFFBFFFCFFFDTimer1Output(PB3)圖5-2816位比較輸出的時PTMR1PTMR01Ctrl#CT116BPPTMR1PTMR01Ctrl#CT116BPTMR01Ctrl0PTMR1;啟動定時/計數(shù)器1之前,首先設置計數(shù)初;設置計數(shù)初值的高字;設置計數(shù)初值的低字;設置定時/計數(shù)116位比較模;設置計數(shù)重載值的高字節(jié)2x256;設置計數(shù)重載值的低字節(jié)=256–143= PTMR1SPMC65P2204A/2202A兩款的所有定時/計數(shù)器都支持8位捕數(shù)清除及中斷觸發(fā)的極性通過捕獲控制寄存器(P_CAP_Ctrl$0058)定時/計數(shù)器0與定時/計數(shù)器1的8位捕獲模式不完全相同。定時計數(shù)器0是8位的,只有一個字節(jié)來捕獲數(shù)據,所以它們只
用于捕獲脈寬。而定時/計數(shù)116位的,可以用于捕獲脈寬及周期。8位捕獲的工作時序如圖5-29所示。捕獲器模塊還具有捕獲數(shù)據保持功能。將P_CAP_Ctrl.CAPOPT位設置為1就可以進行捕獲數(shù)據保持,直到將該值讀出。然后再進行1).捕獲控制寄存器(P_CAP_Ctrl,位名---讀/-默認00000000BitCAPOPT捕獲數(shù)據保持選擇BitCAPIP0:捕獲器0中斷觸發(fā)極性選擇1=即使接收到新的捕獲數(shù)據,也不更新,除非對捕1=0計數(shù)觸發(fā)沿極性相數(shù)據寄存器進行讀操作0=0計數(shù)觸發(fā)沿極性相0若接收到新數(shù)據,立即更新捕獲數(shù)BitCAP1ES:捕獲器1的計數(shù)觸發(fā)沿極性選擇Bit保1=下降沿觸發(fā)計數(shù)(下降沿清除計數(shù)器BitCAPIP1:捕獲器1中斷觸發(fā)極性選擇0=上升沿觸發(fā)計數(shù)(上升沿清除計數(shù)器1與捕獲器1計數(shù)觸發(fā)沿極性相BitCAP0ES:捕獲器0的計數(shù)觸發(fā)沿極性選擇0=1計數(shù)觸發(fā)沿極性相1=下降沿觸發(fā)計數(shù)(下降沿清除計數(shù)器0=上升沿觸發(fā)計數(shù)(上升沿清除計數(shù)器注 Timer0沒有高字節(jié)捕獲寄存注 Timer0沒有高字節(jié)捕獲寄存圖5-308位捕獲及數(shù)據保持的工作時PTMR01Ctrl1#CT08BCAPPTMR01Ctrl0PTMR01Ctrl1#CT08BCAPPTMR01Ctrl0#(C_CAP_IP0+C_CAP0_ES);設置定時/計數(shù)器0的時鐘源Fsys/512(測量范圍;設置定時/計數(shù)08位捕獲方;設置為下降沿采數(shù)據,同時下降沿產生CAP0捕獲中;測PB0管腳輸入的低電平脈定時/計數(shù)116位脈寬捕獲輸出,不能進行周期捕獲。16位脈寬捕獲8位脈寬捕獲的操作相同捕獲脈寬值 計數(shù)器分頻系捕獲脈寬值 計數(shù)器分頻系PTMR01Ctrl1#CT116BCAP#(CCAPIP1+CCAP1;設置定時/1Fsys/128(;設置定時/116PB112 SPMC65P2204A/2202A這兩款的定時/計數(shù)器1可設置為輸出模式。下面說明在模式下如何設置寄存器。當定時/計數(shù)器1被設為模式后,PB3管腳會自動成為12位波形的輸出管腳。周期在寄存器P_TMR1_DutyPeriod[3:0]和P_TMR1_Period[7:0]中設置;占空比在寄存器P_TMR1_DutyPeriod[7:4]和設置周期值時,先寫周期值的高四位到P_TMR1_DutyPeriod[3:0],然后再寫低八位到P_TMR1_Period[7:0];設置占空比時,應先寫占空比值的高四位到P_TMR1_DutyPeriod[7:4],再寫低八位到P_TMR1_Duty[7:0]。
表5.9.2列出了精度與輸出頻率的關系,供用戶參考。表5.9.2不同精度和分頻系數(shù)下的幾種輸出頻率精度輸出頻分頻Fsys1精度輸出頻分頻Fsys112113.9107.83.99周期值=(P_TMR1_DutyPeriod[3:0]: 占空比=(P_TMR1_DutyPeriod[7:4]: 圖5-3212位模式的工作時圖5-3312位模式下計數(shù)初值的重載時圖5-3412位輸出波形的翻轉時例5.9.9將定時/計數(shù)器1設置為12位模式,并從PB3輸出波形;啟動定時/計數(shù)器1之前,首先設置計數(shù)初;設置占空P_TMR1_;設置周期P_TMR1_;設置定時/計數(shù)器1為12位模;占空比值為$7FF,周期值為 A/D簡SPMC65P2204A/2202A兩款均內置了一個10位9通道ADC。ADC可以應用于觸摸屏、電池電量檢測等很多場合。若應用于語音錄制方面,需外置自動增益控制(AGC)裝置。ADC輸入通道和端口A[7:0]、PB7復用PB7還可以用作外部參考電壓的輸入管A/D轉換有三個控制P_AD_Ctrl0P_AD_Ctrl1P_AD_Ctrl2參考電壓選擇(來PB7管腳的外部輸入電壓或者內部VDD)、
轉換時鐘頻率的選擇等。為滿足A/D硬件速度的需要,A/D轉換的時鐘頻1.4MHZ。寄存器P_AD_Ctrl1負責將端口PA[7:0]設置為A/D轉換的模擬量輸入通道。用戶I/O端口作為A/D輸入通道前,必須先設置該寄存器,否則A/D轉換值不正確。P_AD_Ctrl2用于選擇當前的A/D轉換通道P_AD_Ctrl0中的ADRDY位被置為“0”時,AD轉換開始。轉5-35AD轉換原理ADC寄存位名00讀/--默認00000110BitADEN:ADC使能011=FSYS÷0=AD轉換功010=FSYS÷1=允許AD轉換功001=FSYS÷BitADVRTADC參考電壓選擇000=FSYS÷1=外部電壓(PB7)作為參考電FSYS:系統(tǒng)時鐘0=內部電源電壓(Vdd)作為參考BitADRDY/STARTB:AD轉換狀態(tài)標志位或啟動Bit保讀操作:AD轉換的狀態(tài)標志Bit1=AD轉換結束,等待下次轉換開111=FSYS÷0正在進行數(shù)據轉110=FSYS÷寫操作:AD轉換啟動101=FSYS÷100=FSYS÷1=無0=啟動AD轉位名讀/默認00000000Bit[7:0]PCFGADC通道設置1=模擬輸入0=數(shù)字輸入1=模擬輸入0=數(shù)字輸入1=模擬輸入0=數(shù)字輸入1=模擬輸入
0=數(shù)字輸入1=模擬輸入0=數(shù)字輸入1=模擬輸入0=數(shù)字輸入1=模擬輸入0=數(shù)字輸入1=模擬輸入0=數(shù)字輸入位名00讀/--默認00000000BitADCE:A/D轉換電源控制001131=打開A/D轉換電0100選擇40=關閉A/D轉換電Bit保BitADC當前通道選擇0000選擇0001選擇10010選擇20101選擇5011060111選擇71000選擇8其它=保Bit[2:1]:保Bit 1=模擬輸入0=數(shù)字輸入A/D8位(P_AD_DataHi,位名PAD讀/默認Bit P_AD_DataHi:10AD轉換結8位數(shù)據A/D2位(P_AD_DataLo,位名PAD------讀/------默認00------Bit P_AD_DataLo:10位AD轉換結果的2位數(shù)據Bit 保??SunplusTechnology.ProprietaryMAR.03,A/D轉換流A/D轉換流程如圖5-36所示開將各個A/D開將各個A/D擬輸入打開AD延時選擇當前延時選擇當前A/D選擇ADC設置等待ADC設置設置設置啟動A/D轉轉換啟動A/D轉轉換結YAD轉換選擇參考電壓(內部/外部{P_AD_DataHi5-36A/D轉換流#(C_AD_CE+#(C_AD_CE+#(C_AD_EN+PA0定義為模擬;選擇通道;延時;使能ADC功能ADC時鐘頻率Fsys#B其它??撮T狗定時/計數(shù)/計數(shù)器電路采用內部獨立的C振蕩器做為時鐘源進行2kzWKPUPU出8次后,則發(fā)生看門狗復位:U將復位程序計數(shù)器PC和狀態(tài)循環(huán),可以通過看門狗復位來跳出。SMC65224A2202A時/計數(shù)器功能可以通過配寄存P_,$E)來使能或者??撮T狗定時/計數(shù)器
原理見圖5-37看門狗定時/計數(shù)器也可用來喚醒STOP模式。系統(tǒng)進入STOP模式看門狗在系統(tǒng)STOP模式后仍工作。當發(fā)生看門狗中斷后,系看門狗定時/計數(shù)器的特點如下8級可選中斷頻率8個中斷請求信號后即復可作STOP模式的喚醒通過設置配置寄存器 $7FE0)來使能或者Slow WatchDog WD_Reset Slow5-37看門狗定時器原理框看門狗控制寄存器(P_WDT_Ctrl,位名----讀/默認11110000Bit SCKEN:STOP模式下的看門狗內置RC振蕩器使能1=使0=Bit[6:4]WDS[2:0]:看門狗中斷頻率選擇000=001=010=
011=100=101=110=111=F_slow內置RC振蕩器振蕩頻率,典型25kHzBit[3:0]保留看門狗復位頻率看門狗中斷頻率63看門狗清除寄存器(P_WDT_Clr,位名讀/W默認Bit P_WDT_Clr:看門狗清除寄存向此寄存器寫入“#$55”可以清除看門狗計數(shù)器值5.11.1使能看門狗定時/計數(shù)器功時基定時SPMC65P2204A/2202A配置了一個23位的時基定時器,通過寄存器P_BUZ_Ctrl的設置,可以產生15種不同的時基(見表5.11.1),以供編程需要。關于寄存器P_BUZ_Ctrl設置的詳細描述,
5.11.1時基周期列表(FSYS時基周分FT0=-該功能5-38時基定時器工作時5.11.2利用時基定時器產生512us中 PBUZCtrl 蜂鳴 50%的來驅動蜂鳴器。蜂鳴器的頻率可以通過寄存器
P_BUZ_Ctrl($002D)BZFS[3:0]設置,頻率范圍如表5.11.2所列5.11.2蜂鳴器輸出頻率列表(系統(tǒng)FSYS蜂鳴器輸出頻分FT0=FSYS分-蜂鳴器輸出485-39蜂鳴器運行時1).蜂鳴器(P_BUZ_Ctrl位名讀/默認00000000Bit INTIMS[3:0]:時基頻率選擇 0000=功能0001=0010=0011=0001=FSYS0100=0010=0101=0011=0110=0100=0111=0101=1000=0110=1001=0111=1010=1000=1011=1001=1100=1010=1101=1011=1110=1100=1101=BitBZFS[3:0]蜂鳴器頻率選擇1110=例例5.11.3利用蜂鳴器功能輸 ,周期為128us,占空比為 #CBUZDiv1k 簡配置寄存器用于設置工作條件這些設置在燒錄時同代碼一中,$7FE0用于選擇系統(tǒng)的時鐘源、使能低電壓復位(LVR)及使能
態(tài)。$7FE3用于選擇非中斷源(NMI)。配置寄$7FE0寄存位名----讀/RRRRRRRR默認11100001Bit保0=BitCLKSEL[1:0]:系統(tǒng)時鐘源選擇1=使11=保Bit看門狗功能使能10=外部時0=01=內部RC振蕩1=使Bit00=晶體或陶瓷振蕩:Bit保$7FE2寄存位名------讀/RRRRRRRR默認11111111Bit 保Bit RCOUT:RC振蕩器信號輸出使能1使能(從XO管腳輸出時鐘信號0=(無輸出
Bit IOINIT:IO端口初始化選擇1所有端口均初始化為懸浮輸0所有端口均初始化為帶下拉電阻輸$7FE3寄存位名-----讀/RRRRRRRR默認11111111Bit保100=保BitNMIS[2:0]:中斷源控制011=保111=010=保110=保101=保001=PB5(INT1)作為NMI中斷000=PB4(INT0)作為NMI中斷序助記操作字節(jié)指令周操標志NV-ADC22累加A帶進位加A(A)+(M)+D標志1,表示選擇十進制加法模NV--D-ADC23ADCaa,24ADC34ADC34ADC34ADC26ADC(aa),25AND22數(shù)據與累加A中的值進行“與”操A(A)^ AND23ANDaa,24AND34AND34AND34AND26AND(aa),25ASL12算術左 ASL25C76543210ASL26ASL36ASL37BCC2若無進位(C=0),跳轉:pc(pc)+-------BCS2若有進位(C=1),跳轉:pc(pc)+-------BEQ2若相等(Z1),跳轉:pc(pc)+-------BIT23用累加器A進行位測Z(A)^(M),N(M7),VBIT34BMI2若結果為負(N=1),跳轉:pc(pc)+-------序助記操作字節(jié)指令周操標志NV-BNE2若不相等(Z=0),跳轉:pc(pc-------BPL2若結果不為負(N0),跳轉:pc(pc)+-------BVC2若無溢出(V=0),跳轉:pc(pc)+-------BVS2若有溢出(V=1),跳轉:pc(pc)+-------12清除進位標志:C 12退出十進制運算模式:D----0--12清除中斷位:I 0-25位清除(M.bit)2525252525252512清除溢出標志︰V-0-----CMP22將數(shù)據與累加A的值進行比較(A)– CMP23CMPaa,24CMP34CMP34CMP34CMP26CMP(aa),25CPX22將數(shù)據與X寄存器的值比較(X)– CPX23CPX34CPY22將數(shù)據Y寄存器的值比較(Y)– CPY23CPY34DEC25M(M)- DECaa,26DEC36DEC371212EOR22異或A(A)⊕ EOR23EORaa,24EOR34EOR34EOR34EOR26EOR(aa),25序助記操作字節(jié)指令周操標志NV-INC25M(M)+ INCaa,26INC36INC37INV25按位取反(M.bit)INV25INV25INV25INV25INV25INV25INV2512XX+ 12YY+ JMP33無條件跳轉PC跳轉地JMP35JSR36調用子程序(sp)(pcH),spsp–1,(sp)(pcL),spsp–1,pcaaaa-------LDA22將數(shù)據送入累加器AA LDA23LDAaa,24LDA34LDA34LDA34LDA26LDA(aa),25LDX22將數(shù)據送入X寄存器中X LDX23LDXaa,24LDX34LDX34LDY22將數(shù)據Y寄存器中Y LDY23LDYaa,24LDY34LDY34LSR12邏輯右 LSR25LSRaa,26LSR36LSR3712空操-------ORA22邏輯或 序助記序助記操作字節(jié) 操 NV-ORA23A(A)vORAaa,24ORA34ORA34ORA34ORA262513(sp)A,spsp-13(sp)狀態(tài)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 16 太陽 教案 統(tǒng)編版五年級語文上冊
- 2024年九年級道德與法治下冊 第一單元 我們共同的世界 第一課 同住地球村 第2框 復雜多變的關系說課稿 新人教版
- 2 學會寬容 第一課時 說課稿-2023-2024學年道德與法治六年級下冊統(tǒng)編版
- 2025如何寫農村土地承包合同范文
- 2025服裝代理商合同協(xié)議書范本
- 2《花的學?!氛f課稿-2024-2025學年統(tǒng)編版語文三年級上冊
- 隧道拆除專項施工方案
- 2024年五年級數(shù)學上冊 二 小數(shù)乘法 2小數(shù)的乘法第2課時 小數(shù)乘小數(shù)說課稿 冀教版
- 軍訓訓合同范例
- 黔江辦公室鋁扣板施工方案
- 做投標文件培訓
- 9.4+跨學科實踐:制作簡易活塞式抽水機課件+-2024-2025學年人教版物理八年級下冊
- 建筑工程工作計劃
- 2025年中國國際投資促進中心限責任公司招聘管理單位筆試遴選500模擬題附帶答案詳解
- 瓶裝液化氣送氣工培訓
- 外科護理課程思政課程標準
- 船舶航行安全
- 道德經全文完整版本
- 9.2溶解度(第1課時飽和溶液不飽和溶液)+教學設計-2024-2025學年九年級化學人教版(2024)下冊
- 2024年審計局公務員招錄事業(yè)單位招聘考試招錄139人完整版附答案【研優(yōu)卷】
- 濰坊市人民醫(yī)院招聘真題
評論
0/150
提交評論