飛思外部不提供技術(shù)支持11及大量學(xué)習(xí)9s12xs128中文版_第1頁(yè)
飛思外部不提供技術(shù)支持11及大量學(xué)習(xí)9s12xs128中文版_第2頁(yè)
飛思外部不提供技術(shù)支持11及大量學(xué)習(xí)9s12xs128中文版_第3頁(yè)
飛思外部不提供技術(shù)支持11及大量學(xué)習(xí)9s12xs128中文版_第4頁(yè)
飛思外部不提供技術(shù)支持11及大量學(xué)習(xí)9s12xs128中文版_第5頁(yè)
已閱讀5頁(yè),還剩113頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

錄 第一 模 第一 第二 E寄存 POL寄存 CLK寄存 PRCLK寄存 CAE寄存 CTL寄存 SCLA寄存 Tx寄存 PERx寄存 DTYx寄存 第三 第二章ECT模 第一節(jié)ECT模塊介 簡(jiǎn) 特 運(yùn)行模 ECT的組成與工作模 ECT的工作過(guò)程與設(shè) 第二節(jié)ECT寄存器簡(jiǎn) IC/OC選擇寄存器 輸出比較通道7寄存器 輸出比較通道7數(shù)據(jù)寄存器 脈沖累加器A控制寄存器 脈沖累加器A標(biāo)志寄存器(PA 第三節(jié)ECT應(yīng)用實(shí) 通道6輸出比 通道7輸出比 第三章SCI模 第一節(jié)SCI寄存器簡(jiǎn) 第二節(jié)SCI應(yīng)用示 第四章SPI模 第一節(jié)SPI模塊介 SPI的功能特 SPl的組成與工作設(shè) 第二節(jié)SPI寄存器簡(jiǎn) SPI控制寄存器 SPI控制寄存器 SPI波特率選擇寄存 SPI狀態(tài)寄存 SPI數(shù)據(jù)寄存 第三節(jié)SPI應(yīng)用實(shí) 第五章A/D轉(zhuǎn)換模 第一節(jié)A/D模塊介 A/D轉(zhuǎn)換原 A/D轉(zhuǎn)換模 HCS12A/D特 第二節(jié)A/D寄存器簡(jiǎn) 第三節(jié)A/D應(yīng)用示 A/D程序示例—濾 第六章EEPROM模 第一節(jié)EEPROM模塊介 EEPROM功 EEPROM結(jié) EEPROM特 第二節(jié)EEPROM寄存器簡(jiǎn) 時(shí)鐘分頻寄存器 第三節(jié)EEPROM應(yīng)用實(shí) EEPROM的寫(xiě)入操 EEPROM的擦除操 EEPROM示例程 第七章FLASH模 第一節(jié)FLASH模塊介 FLASH功 FLASH結(jié) FLASH特 第二節(jié)FLASH寄存器簡(jiǎn) 配置寄存器 安全寄存器 保護(hù)寄存器 狀態(tài)寄存器FSTAT狀態(tài)寄存 命令寄存器 第三節(jié)FLASH應(yīng)用實(shí) FLASH的寫(xiě)入操 FLASH的擦除操 FLASH的擦寫(xiě)操作注意事 FLASH示例程 第八章CodeWarriorIDE12應(yīng) 第一節(jié)模塊介0—100%的主要特點(diǎn)有:1823、每一個(gè)通道的輸出使能都可以由編程來(lái)控制4 輸出波形的翻轉(zhuǎn)控制可以通過(guò)編程來(lái)實(shí)現(xiàn)5、周期和脈寬可以被雙緩沖。當(dāng)通道關(guān)閉或計(jì)數(shù)器為0時(shí),改變周6、816SB8910第二節(jié)寄存器簡(jiǎn)EE2圖 E寄存每一個(gè)的輸出通道都有一個(gè)使能位Ex。它是用來(lái)啟動(dòng)和關(guān)閉波形輸出的。當(dāng)任意的Ex位置1,則相關(guān)的輸出通道就立刻可用。然而實(shí)際的波形的輸出還取決于時(shí)鐘源。用法:E7=1;7通道可對(duì)外輸出波形。E7=0;7在串聯(lián)模式(CTL寄存器中的CONxx位被設(shè)置那么使能相應(yīng)的16輸出通道是由Ex的低電平位控制的(詳情 CTL寄存器POLPOL3圖 POL寄存每一個(gè)輸出通道的波形都可以選擇是在高電平時(shí)翻轉(zhuǎn)還是在低電時(shí)翻轉(zhuǎn)。此功能就是由POL寄存器實(shí)現(xiàn)的。0用法 POL0=1;0通道對(duì)外輸出波形先是高電平然后再變?yōu)榈碗娖絇OL0=0;0CLKCLK4圖 CLK寄存 SB4、5通道可選用A、SA時(shí)鐘,2、3、6、7通道可選用B、SB通道。此寄存器 1通道的時(shí)鐘源設(shè)為SA。 1通道的時(shí)鐘源設(shè)為APRCLKPRCLK5圖 PRCLK寄存PRCLKA、BPCKB2—PCKB0BPCKA2—PCKA0是對(duì)A時(shí)鐘60。其A6所示:其B7圖 時(shí)鐘A預(yù)分頻選擇 圖 時(shí)鐘B預(yù)分頻選擇CAECAE8圖 CAE寄存CAE8個(gè)控制位來(lái)對(duì)每個(gè)通道設(shè)置左對(duì)齊輸出或居CTLCTL9圖 CTL寄存2—7位為可讀、可寫(xiě)位。只有當(dāng)相應(yīng)的通道關(guān)閉后,才能改變CON67=16、77通道的控制字有用。例如:7通道的E寄存器決定了他們的輸出情況,7通道的POL寄存器決定了他們是高電平翻轉(zhuǎn)還是低電平翻轉(zhuǎn),7通道的CLK寄存器決定了他們兩個(gè)的時(shí)鐘源,7通道的CAE寄存器決定了他們是左對(duì)CON67=06,7擴(kuò)大了對(duì)外輸出脈沖的頻率范圍。SCLASCLA10圖 SCLA寄存時(shí)鐘SA是通過(guò)對(duì)SCLA寄存器的設(shè)置來(lái)對(duì)A時(shí)鐘進(jìn)行分頻而產(chǎn)生的。其計(jì)算為:ClockSA=ClockA SCLB寄存器 SCLA寄存器相似,時(shí)鐘SB就是通過(guò)SCLBB時(shí)鐘進(jìn)行分頻而產(chǎn)生的。其計(jì)算為:ClockSB=ClockB TxTx寄存器共有8個(gè),每一個(gè)通道都有一個(gè)。下面以 T0為 Tx寄存器進(jìn)行介紹。T011圖 T0寄存計(jì)數(shù),也不影響對(duì)通道的操作。 T0寄存器都會(huì)導(dǎo)致計(jì)數(shù)器復(fù)位置0,且其計(jì)數(shù)方向會(huì)的設(shè)置來(lái)改變輸出。當(dāng)計(jì)數(shù)器達(dá)到計(jì)數(shù)值后,會(huì)自動(dòng)。只有當(dāng)通道使能后,PERx寄存器的值就決定了相關(guān)通道的周期每一個(gè)通道的周期寄存器都是雙**對(duì)計(jì)數(shù)器進(jìn)行寫(xiě)操作(0Ex=0這樣就會(huì)使輸出波形要么是新波形要么是舊波形并不會(huì)在兩者之12所示的是PER0寄存器。

圖 PER0寄存器1)當(dāng)CAEx=0x周期=通道時(shí)鐘周期* 2)當(dāng)CAEx=1時(shí),即進(jìn)行居中對(duì)齊輸出時(shí)x周期=通道時(shí)鐘周期*(2*DTYxDTYx8個(gè),每一個(gè)通道都有一個(gè)這樣的占空比常數(shù)寄存**對(duì)計(jì)數(shù)器進(jìn)行寫(xiě)操作(0Ex=0這樣就會(huì)使輸出波形要么是新波形要么是舊波形并不會(huì)在兩者之當(dāng)計(jì)數(shù)值與占空比常數(shù)DTY相等時(shí),則比較輸出器有效,這時(shí)就會(huì)將觸發(fā)器置位然后T繼續(xù)計(jì)數(shù)當(dāng)計(jì)數(shù)值與周期常數(shù)PER相等時(shí),T當(dāng)PPOL=0時(shí):占空比 當(dāng)PPOL=1占空比 第三節(jié)應(yīng)用實(shí)例1 nsPPOLx=0, x輸出頻率=10MHz/4=2.5MHzx輸出周期=1/(2.5 x占空比=3/4=25%x輸出頻率=時(shí)鐘頻率 當(dāng)PPOLx=0占空比=[(PERx—DTYx)/當(dāng)PPOLx=1占空比=[ 例2 CAEx=1MH(100nsPPOLx=0, x輸出頻率=10MHz/(4*2)=1.25MHzx輸出周期=1/(1.25M)=800nsx占空比=x輸出頻率=時(shí)鐘頻率/(2* 當(dāng)PPOLx=0時(shí)占空比 當(dāng)PPOLx=1占空比=[DTYx/應(yīng)當(dāng)注意的是,在對(duì)DTYx和PERx進(jìn)行設(shè)置時(shí),PERx寄存器的值應(yīng)當(dāng)大于DTYx寄存器的值。1 Disable2、選擇時(shí)鐘Selectclock(prescalerandscale)forthe 3、選擇極性Select4Selectcenterorleftalignedmode5、對(duì)占空比和周期編程ProgramdutycycleandperiodDTYx,PERx Enableused 125%實(shí)驗(yàn)設(shè)備:HCS1225%500HzJPb80#include<hidef.h> /*commondefinesandmacros*/#include<mc9s12dp256.h> /*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12dp256b"void{E_ //關(guān)閉0通 CLK_PCLK0=0;//設(shè)A為其時(shí)鐘源 //ADTY0=0X01;//占空比為25%的波形 //輸出為500Hz的波T0=0X00;//0通道計(jì)數(shù)器清0E_E0=1;//0通道使能,0通道為輸出通道}290#include<mc9s12dp256.h> /*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12dp256b"intvoid{;// T1=0X00;//0,1通道計(jì)數(shù)器清0CLK_PCLK1=0;//設(shè)A為其時(shí)鐘源 //不對(duì)A時(shí)鐘進(jìn)行分頻PER0=0x4e;//per40000100DTY0=0X27;//dty20000E_E1=1;//0,1通道使能{ //90}#pragmaCODE_SEGNEAR_SEGinterruptvoid{{PER0=0x68;//per26666150DTY0=0X34;//dty13333E_E1=0xff;//0,1通道使能}}各位智能車(chē)同仁,加油哦!當(dāng)然記得支持本店哦!會(huì)竭誠(chéng)為你服務(wù)電子設(shè)計(jì)大賽專(zhuān)營(yíng)店/ECT第一節(jié)ECTHC12HC12標(biāo)準(zhǔn)定時(shí)器的基礎(chǔ)上增加了一些特點(diǎn),ABS方面?;鶞?zhǔn)計(jì)時(shí)器的仍然是一個(gè)16位的可編程計(jì)數(shù)器,其時(shí)鐘源來(lái)自一個(gè)預(yù)對(duì)計(jì)數(shù)寄存器或者輸入捕捉/輸出比較寄存器的可以發(fā)生在一個(gè)時(shí)鐘周期內(nèi)對(duì)這些寄存器分別其高字節(jié)和低字節(jié)與將它們作為一個(gè)字進(jìn)行所四個(gè)IC168IC8816416四個(gè)可選的延遲計(jì)數(shù)器用于增強(qiáng)輸入能力僅支持IP總線(xiàn)上的16位凍結(jié):計(jì)時(shí)器和計(jì)數(shù)器均保持運(yùn)行,直到TSCR($06)的TSFRZ1。等待:計(jì)數(shù)器保持運(yùn)行,直到TSCR($06)的TSWAI1。TSCR($06)的TEN位和的MCEN0ECT增強(qiáng)模塊的器圖譜見(jiàn)表55。每一個(gè)列出的寄存器地是其地址的偏移量??偟刂肥荅CT模塊的址與偏移地址之和。ECTECT8IC/OC通道、48216位的脈沖累加器(PADOC6TIMICPAITIM模塊有4個(gè)IC通道與TIM模塊相近,當(dāng)相關(guān)引腳出現(xiàn)預(yù)定動(dòng)作時(shí),通過(guò)各自的捕捉寄存器TCn記錄定時(shí)器的值;另外四個(gè)IC通道,除了捕捉寄存器48位的PAl0-34個(gè)緩沖IC通道IC0-3相關(guān)聯(lián),并共享輸入引腳PORTT0-3。每一個(gè)脈沖累加器通道都擁有一個(gè)緩沖器H16位遞減模數(shù)計(jì)數(shù)器(MDC)ECTIC、PAI寄存器向保持寄存器的傳送提供定時(shí)控制信號(hào)。每當(dāng)MDC0時(shí),將在給定的時(shí)間段內(nèi)控制ICPAIMDC也可作為具有IC,IC通道組由四個(gè)標(biāo)準(zhǔn)的緩沖通道IC0-IC3和四個(gè)非緩沖通道IC4-IC7組成,兩部分的基本功能都是捕捉外部發(fā)生的時(shí)刻但是緩沖通道除了IC/OC寄存器TCn外,還設(shè)有保持寄存器TCnH,此外還在設(shè)置了延遲計(jì)數(shù)器,用來(lái)提高能力。非緩沖通道沒(méi)有保持寄存器也沒(méi)有延遲計(jì)數(shù)器,但每個(gè)通道設(shè)置了一個(gè)2輸入端的多路器觸發(fā)信號(hào)可以是來(lái)自本通道的輸入PORTnPORT(n-4)的延遲計(jì)數(shù)器輸出,使用更始對(duì)P時(shí)鐘(模塊時(shí)鐘)進(jìn)行計(jì)數(shù),當(dāng)?shù)竭_(dá)設(shè)定的計(jì)數(shù)值后,延遲計(jì)數(shù)器在其輸出,ECTIC對(duì)于緩沖的IC通道PT0-PT3,還具有鎖存與隊(duì)列兩種工作方式。在鎖存方TCnH0或者其他強(qiáng)制鎖存命令I(lǐng)C6TIM模塊相似。在隊(duì)列方式下(7-2),TCn與TCnHTCn進(jìn)入,然后隨著下一個(gè)捕捉結(jié)果的到來(lái)移入TCnH,程序可以從TCnH取得結(jié)果,然而方式下,PAIIC都可以同時(shí)工作,對(duì)同一引腳進(jìn)行記錄,前者記錄脈沖或者IC工作在兩種不同的隊(duì)列方式PAC保持寄存器也處于不同的工作狀態(tài),在鎖存方式下,PCnH的加載依MDCICTCnH讀命令??梢?jiàn)在ECT模塊下,ICPAI的工作聯(lián)系更加緊密。0,這時(shí),計(jì)數(shù)值$FF16位遞減模數(shù)計(jì)數(shù)器(MDC)IC寄存器和脈沖累加器的值鎖存到各自的保持寄存器中。鎖存動(dòng)作可以通過(guò)程序設(shè)定為周期性的或的。MDC的時(shí)鐘頻率可通過(guò)獨(dú)立的定標(biāo)器與MDC計(jì)數(shù)器使用相同的地址,加載時(shí)通過(guò)特殊的時(shí)序?qū)崿F(xiàn)。每當(dāng)MDC0PAI寄存器的內(nèi)容向各自的緩沖寄存器傳輸。反映了MDC在IC、PAI系統(tǒng)中的作用。ECTECT的自由定時(shí)器與TIMTMSK2PR2-的TIM6個(gè)選項(xiàng),這樣定時(shí)器時(shí)鐘頻率可以更低,周期更長(zhǎng)。ECT特有的模數(shù)遞減計(jì)數(shù)器(MDC)邏輯結(jié)構(gòu),其為一個(gè)16位的遞減計(jì)數(shù)器MDC($37、$36),其配備了常數(shù)寄存器 T和預(yù)分頻器,分別為其提供定時(shí)常數(shù)和時(shí)鐘信號(hào)。當(dāng)寄存器MCCTL中的MCEN=0時(shí),MDC被復(fù)位成$FFFF,以避免在計(jì)數(shù)器啟動(dòng)的初期置位中斷標(biāo)志將MCEN置1,MDC啟動(dòng)并從當(dāng)前值開(kāi)始對(duì)預(yù)分頻器輸出的時(shí)鐘進(jìn)行遞減計(jì)數(shù),分頻系數(shù)為1、4、8、16可選,具體由MCCTL中的MCPR1、MCPRO確定(參看后面關(guān)于MCCTLMDC有兩種工作方式,由MODMCMODMC=0時(shí),MDC為單此計(jì)數(shù)方式,回到$0000后停止,反之為循環(huán)工作方式。無(wú)論在那種方式下,當(dāng)MDC計(jì)數(shù)回0后,首先置位寄存器MC($27)中斷矢量為$FFCC$FFCDMCMCZF1將清除該標(biāo)志。MDCMDCMODMC=1時(shí),MDC0后還將自動(dòng)從TMODMC=0時(shí),MDC0T與MDC占用相同的I/O地址($37、$36),由控制位RDMCL決定每次讀操作的具體對(duì)象。當(dāng)RDMCL=0/1時(shí),讀操作分別返回MDC和T的當(dāng)前值。對(duì) T的寫(xiě)操作要求在MODMC=1時(shí)進(jìn)行,但MDC并不立即更新,必須等到計(jì)數(shù)器回0后重新加載,但向寄存器MCCTL($26)中的FLMC位寫(xiě)1可以實(shí)現(xiàn)MDC的立即加載同時(shí)還將復(fù)位預(yù)分頻器如果MODMC:0,對(duì)地址$37$36進(jìn)行寫(xiě)入操作也將復(fù)位預(yù)分頻器并用寫(xiě)入值立即更新MDC計(jì)數(shù)器,然后開(kāi)始一次遞減計(jì)數(shù),回到$0000后停止??梢?jiàn)在單次方式下可以直 ICSYS($AB)LATQ、BUFEN1時(shí),如果將$0000寫(xiě)入到T和模數(shù)計(jì)數(shù)器,輸入捕捉和脈沖累加寄存器將被鎖存。將$0000寫(xiě)入到T0MCMCZF標(biāo)志置ICIC通道分為緩沖與非緩沖兩類(lèi),緩沖類(lèi)又具有鎖存與隊(duì)列兩種工作方式,緩沖的ICIC通道主要由有效輸入邊沿檢測(cè)、延遲濾波、捕捉與保持寄存器TIOS的IOS0=0PT0設(shè)置為ICPT0引腳的理。所謂濾波,即啟動(dòng)延遲計(jì)數(shù)器開(kāi)始對(duì)P時(shí)鐘(模塊時(shí)鐘)進(jìn)行計(jì)數(shù),當(dāng)?shù)竭_(dá)預(yù)1024P時(shí)鐘周期。延遲計(jì)數(shù)結(jié)束后,計(jì)數(shù)器自動(dòng)清除,輸入信號(hào)兩個(gè)有效邊ICOVW、ICSYS等相關(guān)位的TCNTTCOH,此外還要決定是否設(shè)置中斷請(qǐng)求標(biāo)志——寄存器Tl中的COF。一旦COF置位,如果I=1CPU$FFEF。通過(guò)寄存器T1向C0F寫(xiě)1將清除該標(biāo)志位。對(duì)于鎖存方式和隊(duì)列IC鎖存方式。當(dāng)設(shè)定為該方式時(shí)(LATQ=1),有效的引腳將主定時(shí)器值到寄存器TC0。在下述情況下,TC0還將被鎖存到各自的保持寄存器中,這些情況包括模數(shù)計(jì)數(shù)器自然回0、向模數(shù)計(jì)數(shù)器直接寫(xiě)$0000、向控制寄存器MCCTLICLAT1ICOVWNOVWx0,而這時(shí)出現(xiàn)新的捕捉,IC寄存器的內(nèi)容將被新值覆蓋如果發(fā)生鎖存操作,ICOVWNOVWx1,那么捕捉寄存器和保持寄存器必須處于清空狀態(tài)才允許寫(xiě)入,否則不能寫(xiě)入。這樣可以避免或者轉(zhuǎn)移到保持寄存器前,TC0被覆蓋。主定時(shí)器值到IC寄存器。寄存器ICOVW中的NOVWx位被清0,而這時(shí)出現(xiàn)新的捕捉,IC寄存器的內(nèi)容將被轉(zhuǎn)移到保持寄存器??粘鰜?lái)的IC寄存器存放新的捕獲值。若寄存器ICOVW中的NOVWx1,那么捕捉寄存器寄存器TC0H式下,C3F-C0F7-6所示。非緩沖IC這類(lèi)通道與TIM模塊相似,但是增加了覆蓋控制位、處的延遲計(jì)數(shù)器及引入了雙引腳控制(例如PT0)。當(dāng)PT4引腳出現(xiàn)有效時(shí),主定時(shí)器的值可能被記錄到IC寄存器TC4ICOVW捕捉時(shí),IC寄存器將用新的時(shí)間值覆蓋上次捕捉結(jié)果。狀態(tài)。這可以捕捉值在之前被覆蓋掉。ECT8PAEN=1PAC3PAC216PAEN3、PAEN0ATIMB則功能相對(duì)簡(jiǎn)8PAC3-016A和通道B各自的邏輯結(jié)構(gòu)與設(shè)置。PAC3-PAC0與ICPAC通道時(shí)對(duì)應(yīng)引腳必須通過(guò)寄存器TIOS設(shè)置為IC方式。當(dāng)TIOS中的IOS0IOSl等于0時(shí)PT0/PTl引腳信號(hào)進(jìn)入邊沿檢測(cè)電路, 如果寄存器ICPACR中的PAENl、PAEN0為1,則 0對(duì)輸入進(jìn)行計(jì)數(shù)。各通道的有效邊沿可以通過(guò)寄存器TCL4單獨(dú)設(shè)置,可選項(xiàng)包括切斷、上升沿下降沿和雙向邊沿延遲時(shí)間則通過(guò)寄存器DLYCT設(shè)置可選項(xiàng)包括0、256512、1024個(gè)P時(shí)鐘周期但所有通道共用一個(gè)延遲時(shí)間不能分別設(shè)置。3具有溢出中斷功能,但2沒(méi)有,當(dāng)3從$FF回滾到$oo時(shí),寄PBPBOVF1PBCTLPBOVI=1,同時(shí)過(guò)程序向PBOVF1將清除該標(biāo)志。PAC3-PAC0通道設(shè)置了飽和功能,當(dāng)ICSYS中的PACMX=1時(shí),該功能啟動(dòng),這時(shí)如果某個(gè)通道計(jì)數(shù)器x計(jì)數(shù)達(dá)到$FF,那么x將停止對(duì)后續(xù)的計(jì)數(shù),而保持在$FF,因此發(fā)現(xiàn)某個(gè)x=$FF說(shuō)明其計(jì)數(shù)結(jié)果大255。ICSYSBUFEN=1PAlH、PAOH、0的累計(jì)結(jié)果,傳送控制信號(hào)由MCCTL中的ICLAT或遞減計(jì)數(shù)將$0000ICLAT1三者之一發(fā)生時(shí),0。脈沖累加器的隊(duì)列方式當(dāng)LATQ=0(隊(duì)列方式)時(shí)只在對(duì)應(yīng)的IC通傳送,但當(dāng)保持寄存器非空時(shí)則覆蓋。覆蓋控制通過(guò)寄存器ICSYS實(shí)現(xiàn)。2、16位通道PACTLPAEN=1PAC3、PAC2不復(fù)存在,3、2A(PAl)TIM保持一致,PAlPT7,過(guò)程與TIMPAI完全相同。3、16位通道PBCTLPBEN=1PACl、PAC0不復(fù)存在,1、0BPT0FT0的邊沿檢測(cè)和不同。通道B只有計(jì)數(shù)方式,其他與通道A類(lèi)似,讀者可參看第6章的有第二節(jié)ECTIC/OC選擇寄存器寄存器偏移量 復(fù)位后 認(rèn)為$00,TSCRTEN0I/O方式,將TEN置位后各個(gè)通道進(jìn)入ICOCTIOS1。設(shè)置成OC的通道其引腳具有降功率驅(qū)動(dòng)功能,設(shè)置成IC的通有內(nèi)部上拉功能,但上電后均處于關(guān)閉狀態(tài),可以根據(jù)需要啟輸出比較通道7寄存器寄存器偏移量 復(fù)位后 OC7M決定哪些通道將處于OC7的管理之下。OC7M中的各位與PORTT口寄存器的各位一一對(duì)應(yīng)。OC7MTCTL1TCTL2OMn和OLn設(shè)定的引腳動(dòng)作,若OC7M中某個(gè)位置1,就會(huì)相應(yīng)引腳上由OMOL設(shè)定的動(dòng)作。寄存器偏移量 復(fù)位后 OC7M對(duì)于其他OC個(gè)值保存在寄存器OC7DOC7OC7Mn=1,OC7Dn送到對(duì)應(yīng)引腳。OC7DPORTT7比較成功OC7M176-0的動(dòng)定時(shí)器寄存器寄存器偏移量:$0004-復(fù)位后 在普通模式下寫(xiě)入。TCNT應(yīng)按字,分別高、低字節(jié)可能得到錯(cuò)誤在特殊模式下,TCNT可寫(xiě),但因?yàn)閷?xiě)操作與預(yù)分頻器時(shí)鐘不同步,TCNT寄存器偏移量 復(fù)位后 待、BDM方式下的行為,還包括標(biāo)志的管理方式。其各位的意義如下:IC/OCTEN置位。如果因?yàn)槟撤N原因定時(shí)器沒(méi)有使能,脈ECLK/64ECLK/64是由定時(shí)器的分頻器產(chǎn)0:主計(jì)時(shí)器、包括計(jì)數(shù)器均被,有利于降低功耗1注意定時(shí)器中斷不能用于使MCU0:在中斷等待模式下允許MCU1:當(dāng)MCU進(jìn)入中斷等待模式時(shí),計(jì)時(shí)器。01:在凍結(jié)模式下計(jì)時(shí)器和計(jì)數(shù)器,用于仿真調(diào)試。注意:TSFRZ不能停止脈沖累加。1Tl($0E)中的各位,讀輸入捕捉寄存器或者寫(xiě)輸出比較寄存器會(huì)自動(dòng)清除相應(yīng)的標(biāo)志位CnF。對(duì)于T2($0F)中的各位,任何對(duì)TCNT寄存器($04、$05)的均會(huì)清除TOF標(biāo)志;任何對(duì)3和2寄存器($22,$23)的都會(huì)清楚清除PA寄存器($21)PAOVFPAIF位。任何對(duì)1和0($24,$25)的都會(huì)清除PB寄存器($21)中的PBOVF位。這種方式的好寄存器偏移量 復(fù)位后 7的輸出比較。01 復(fù)位后 復(fù)位后 復(fù)位后 復(fù)位后 TCTLl-TCTL4ICOC16個(gè)二進(jìn)引腳的何種動(dòng)作,包括IC的響應(yīng)。各個(gè)控制位的作用如下:OMnOLn8對(duì)控制位(OM7OL7-OMO、OL0)編碼后用于指定通道比較成功后的輸出動(dòng)作(參看表7-3)。如果每對(duì)當(dāng)中至少有一個(gè)為1DDRT中的對(duì)應(yīng)位無(wú)關(guān)。0時(shí),OC與輸出引腳斷開(kāi)。表7- 輸出比較動(dòng)作設(shè)0001OCn10OCn11OCnEDGnB、EDGnA8對(duì)控制位(EDG7B、EDG7A—EDGOB、EDGOA)對(duì)輸入捕捉的邊沿檢測(cè)電路進(jìn)行設(shè)置(7-4。當(dāng)二者0時(shí),IC與輸入引腳斷開(kāi)。7-400捕捉011011OMn、OLn指定的引腳動(dòng)作有效,OC7M中的對(duì)應(yīng)位必/OC0IOSn:1、OMn=0、OLn=0OC7MC7M7、OC7M00寄存器偏移量 復(fù)位后 TIE寄存器中的位與狀態(tài)寄存器T1中的標(biāo)志位相對(duì)應(yīng)。如果將TIE中寄存器偏移量 000復(fù)位后 0:中斷被。1:當(dāng)TOF70:計(jì)數(shù)器復(fù)位,計(jì)數(shù)器自由計(jì)數(shù)17如果TC7=$0000并 T將繼續(xù)保持$0000如果TC7=#FFFF并 T從$FFFF到$0000之間被復(fù)位TOF將不被置位PR2,PR1,PR0:表7- 分頻因子選Prescale000100120104011810010 1、 T 寄存器偏移量 復(fù)位后 00000T 寄存器偏移量 43210000000復(fù)位后 所示的T1、T2為中斷標(biāo)志寄存器,其中T18個(gè)IC/OCCnF=1IC/OC通道有動(dòng)作。T2只有一個(gè)標(biāo)志位TOF,作為計(jì)數(shù)器的中斷請(qǐng)求標(biāo)志。當(dāng)TOF=1時(shí)說(shuō)明計(jì)數(shù)器溢出。10不影響該位的狀態(tài)。當(dāng)TSCR中TFFCAICOC($10-$1F)將自動(dòng)清除該通道標(biāo)志CnF,對(duì)TCNT的任何將自動(dòng)清除T2。CnF:IC/OC0:上次清除標(biāo)志以來(lái),IC/OC1:IC/OCICSYS($2B)TFMOD位和$80寫(xiě)入到T2TMSK2中TCRE控值捕捉到寄存器TCn,隨后程序可以和處理;對(duì)于OC(輸出比較)通道,程所指定的輸出動(dòng)作。定時(shí)器模塊共有TC7-TC0816位IC/OC寄存器。IC$0000 寄存器偏移量:$0010-復(fù)位后 寄存器偏移量:$0012-復(fù)位后 寄存器偏移量:$0014-復(fù)位后 寄存器偏移量:$0016-復(fù)位后 寄存器偏移量:$0018-復(fù)位后 寄存器偏移量:$001A-復(fù)位后 寄存器偏移量:$001C-復(fù)位后 寄存器偏移量:$001E-復(fù)位后 寄存器偏移量 0復(fù)位后 入部分才進(jìn)行引腳信號(hào)檢測(cè),同時(shí)8位脈沖累加器PAC3、PAC2被。0:PAI系統(tǒng)PAI,它只能工作在計(jì)數(shù)方式0:計(jì)數(shù)模式1:門(mén)控時(shí)間累加模式。這時(shí)TEN1PEDGEPAMOD的狀態(tài) (計(jì)數(shù)模式)時(shí) (門(mén)控時(shí)間累加模式)PAIF標(biāo)志。PAIF標(biāo)志。7-6。7-6000110111PAOVF置位時(shí)申請(qǐng)中斷。 寄存器偏移量 000000復(fù)位后 PAI子系統(tǒng)可能產(chǎn)生兩種中斷累加器溢出和中斷當(dāng)T溢出時(shí),PAI=1TSCR寄存器中的TFFCA=1時(shí),T將清除PAPAOVFPAIFPA T沒(méi)有回滾到$0000。 T從$FFFF回滾到$0000。將$02寫(xiě)入到 將自動(dòng)清除該位1:在輸入引腳檢測(cè)到有效邊沿。在計(jì)數(shù)模式下,選定的有效邊沿在計(jì)1,將$01PA將自動(dòng)清除該位. 654321復(fù)位后 654321復(fù)位后 654321復(fù)位后 654321復(fù)位后 0是四個(gè)8位的寄存器,PAC3、PAC2級(jí) 當(dāng)l從$FF回滾到$00,寄存器PB($31)中的PBOVF中斷標(biāo)志置1。正確的寄存器方式是在單個(gè)時(shí)鐘周期內(nèi)完成,即采用字讀寫(xiě)指令。分開(kāi)8位或低8位,寄存器偏移量 復(fù)位后 該寄存器主要控制MDCMCZIMDC0MCZF置位時(shí),是否申請(qǐng)中斷取決于MCZI。0:中斷1MODMCMDC的工作方式,即選擇單次或模 0 模數(shù)計(jì)數(shù)方式,當(dāng)計(jì)數(shù)器遞減回0后,加載設(shè)定值,并開(kāi)始新一注意:為保證正確運(yùn)行,修改MODMC位之前,必須清除MCEN位使模數(shù)RDMCL:模數(shù)選擇位。該位決定讀模數(shù)寄存器返回的內(nèi)容01ICLAT:捕捉寄存器強(qiáng)制轉(zhuǎn)移控制位。當(dāng)輸入捕捉工作在鎖存方式時(shí)(ICSYS($2B)LATQ和BUFEN位置位)1立即強(qiáng)制將捕捉TC0-TC38位脈沖累加器的內(nèi)容轉(zhuǎn)移到保持寄存器,同時(shí)相000。FLMC:模數(shù)計(jì)數(shù)器強(qiáng)制加載控制位。該位只在模數(shù)遞減計(jì)數(shù)器允許時(shí)(MCEN=1)100。0:模數(shù)計(jì)數(shù)器運(yùn)行1MCPR1、MCPR0=00、01、10、111、4、8、16。寄存器偏移量 0000復(fù)位后 PBEN=1AlEN無(wú)效。當(dāng)PAxEN=1時(shí),對(duì)應(yīng)的8位脈沖累加器通道x使能,反之則。寄存器偏移量 復(fù)位后 NOVWx:1,對(duì)應(yīng)結(jié)果在被或者轉(zhuǎn)移到保持寄存器前丟失。寄存器偏移量 復(fù)位后 可能一次可寫(xiě)(testmode=0時(shí))但是當(dāng)testmode=1時(shí),寫(xiě)總是被允許的。該寄存器用于對(duì)ICPACSHxy:x、y x、y1:通道x的邊沿檢測(cè)電路及延遲電路同時(shí)作用于x、yy通道上也與x通道相同的動(dòng)作。TFMOD:標(biāo)志設(shè)置方式控制位,寄存器ICSYS($2B)中的TFMOD位與寄存器ICOVW($2A)一起使用可以使定時(shí)器的中斷在捕捉到兩個(gè)后才產(chǎn)生而不是每次捕捉都產(chǎn)生中斷兩次捕捉的結(jié)果分別存放在捕捉和保持寄存器中。如果在隊(duì)列方式下將TFMOD置1,同時(shí)NOVW置位且某通道n的捕捉和保持寄存器均為空白狀態(tài)那么第一個(gè)捕捉將首先用主定時(shí)器值更新對(duì)應(yīng)的輸入捕捉寄存器TCn,下一個(gè)發(fā)生時(shí),TCn中的數(shù)值將首先被轉(zhuǎn)移到保持寄存器TCnH,然后 更新TCn。這時(shí),CnF中斷標(biāo)志才被置位。 當(dāng)對(duì)應(yīng)的輸入引腳滿(mǎn)足預(yù)定的捕捉條件時(shí),寄存器T 志C3F-COF將被相應(yīng)置位。1:如果在隊(duì)列方式下(BUFEN=1且LATQ=0)C3F-COF只C3F-COF的置位條件與TFMOD:0時(shí)相同。PACMX:8位脈沖累加器飽和控制位,即選擇計(jì)數(shù)到$FF后是否保持不0:正常工作,計(jì)數(shù)達(dá)到$FF后,下一計(jì)數(shù)使其回到$oo1:計(jì)數(shù)達(dá)到$FF1BUFENIC0:IC及PAC的保持寄存器1:ICPACLATQ設(shè)定,當(dāng)位LATQ:BUFEN=1時(shí),IC和PAC的0:IC1:IC0,或者向計(jì)數(shù)器T80。寄存器偏移量 000000復(fù)位后 16位的脈沖累加器B(PACB)8PAClPAC0級(jí)連后形成的。當(dāng)PBEN1時(shí),PACB啟動(dòng),它與IC0共享同一個(gè)輸入引腳。PBEN:脈沖累加器BTENPBEN=1,脈沖累加器BA不同。 脈沖累加器B。8位的PACl和PAC0可通過(guò)各自的允許位(在寄存器ICPACR中,地址$28)使能。PBOVI:脈沖累加器B0:PBOVF申請(qǐng)中斷 當(dāng)PBOVF=1 寄存器偏移量 0000000復(fù)位后 PBOVF83(PACl)從$FF回滾到$001。將$01PB清除該位。當(dāng)寄存器TSCR($06)中的TFFCA位置位時(shí),l 654321復(fù)位后 654321復(fù)位后 654321復(fù)位后 654321復(fù)位后 PAn提供鎖存功能。 復(fù)位后 MDC啟動(dòng)后,T用來(lái)對(duì)定標(biāo)器輸出的時(shí)鐘進(jìn)行遞減計(jì)數(shù),也可作為字節(jié)分別可能得到錯(cuò)誤的結(jié)果。如果MCCTL中的RDMCL=0,讀TICSYS($2B)LATQ、BUFEN1時(shí),如果將$0000寫(xiě)入到T和模數(shù)計(jì)數(shù)器,輸入捕捉和脈沖累加寄存器將被鎖存。將$0000寫(xiě)入到T0MCMCZF0后重新加載;如果希望立即加載,MCCTL($26)FLMC位可以將新值立即加載到計(jì)數(shù)器。如果模數(shù)方式未允許(MODMC=0)0定標(biāo)器,并用寫(xiě)入值立即更新計(jì)數(shù)0 寄存器偏移量:$0038-復(fù)位后 寄存器偏移量:$003A-復(fù)位后:0000000TC2H寄存器偏移量:$003C-復(fù)位后:0000000TC3H寄存器偏移量:$003E-復(fù)位后:0000000這些寄存器用于為相應(yīng)的捕捉寄存器TC0-TC3提供鎖存功能。定時(shí)器與I/O共享引腳的說(shuō)明定時(shí)器與PORTT8個(gè)I/O及通用I/OPT4-7由IC/OC及通用I/OPT0、PT716A、B6章TIM模塊有關(guān)說(shuō)

(1)停止(STOP)PCLKECLK(2)調(diào)試方式(BDM)TSBCK=1,定時(shí)器保持運(yùn)行。(4)正常(Normal)TEN=0和MCEN(MCCTL中)=0,定時(shí)器(5)(TEN=0):定時(shí)器和MDC停止,但寄存器可。ECLK/64時(shí)鐘被。(6)(PAEN=0):所有的脈沖累加器動(dòng)作停止,但寄存器可以(8)PAEN:1:16位脈沖累加器A激活。(9)PAEN:0:832可以激活。(10)PBEN:1:16位脈沖累加器B激活。(11)PBEN:0:810可以激活。第三節(jié)ECT12void{ = =1; =1; }#pragmaCODE_SEGNEAR_SEGvoid{T = }#include<hidef.h> /*commondefinesandmacros*/#include<mc9s12dp256.h> /*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12dp256b"intcount=0;floatf;doublef1= voidmain(void){ //pt0{;}#pragmaCODE_SEGNEAR_SEGinterruptvoid{ }interruptvoid{}6doublecount,counter;voidmain(void){{;}#pragmaCODE_SEGNEAR_SEGinterruptvoid{ }7試驗(yàn)?zāi)康模豪猛ǖ?輸出比較中斷產(chǎn)生脈沖周期,利用通道6、4輸出比#include<hidef.h> /*commondefinesandmacros*/#include /*derivativeinformationdoublecount,counter;voidmain(void)T {;}#include<hidef.h> /*commondefinesandmacros*/#include<mc9s12dp256.h> /*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12dp256b"longcounter=0;void{{;}#pragmaCODE_SEGNEAR_SEGinterruptvoid{{}{}{}{} } /SCI第一節(jié)SCISCI是一種采用NRZ格式的異步串行通口,它內(nèi)置獨(dú)立的波特率產(chǎn)生SCI89個(gè)數(shù)據(jù)位(其中一位可以指定為奇或偶SCI是全雙工異步串行通口,主要用于MCU與其他計(jì)算機(jī)或設(shè)備之間的通信,幾個(gè)獨(dú)立的MCU也能通過(guò)SCI實(shí)現(xiàn)串行通信,形成網(wǎng)絡(luò)。SCI1SCIBDHSCIBDL16位的波特率控制寄存器。SBR09-19-1 位SCI的波特率由下述決定:其中BR是波特率常數(shù),設(shè)定時(shí)寫(xiě)入到SBRl2~SBR0。復(fù)位后,在TERE1—SBR0=0時(shí),波特率發(fā)生器也會(huì)被關(guān)閉。9600。BTST、BSPL和BRLDSCI9-3。其各位意義如下:9-3SCI 位M、LOOPS:SCI回送模式/單線(xiàn)模式允許位,的輸入由RSRC位選擇確DDRS位(SI/O方向控制位)控制。要使用回送或者單線(xiàn)模式發(fā)送必須同時(shí)允許工作在LOOPS=1期間如果與TxD1TxDSCI的信號(hào);如果方向控0RSRC=0,TxD引腳就變成高電平(空閑狀態(tài)),反之若RSRC=1,TxD引腳就變成高阻態(tài)。、0:SCI1:SCIRxDRxD引腳可以用作通用I/O0:在等待模式下允許1:在等待模式下RSRC:信號(hào)源選擇位,當(dāng)LOOPS=1時(shí),RSRC決定的內(nèi)部反饋0:的輸入在內(nèi)部連接到發(fā)送器輸出(并非TxD引腳)1:的輸入連接到TxD引腳M:方式選擇位(選擇字符幀格式)0:1個(gè)起始位,8個(gè)數(shù)據(jù)位,11:1個(gè)起始位,89個(gè)數(shù)據(jù)位,10I:地址標(biāo)志(1)位以及停止位前面的任何“1PE0:奇偶校驗(yàn)1019-4SCI 位TIE:發(fā)送中斷允許位,清0時(shí)TDRE產(chǎn)生中斷,若置1則允許TDRE位1時(shí)產(chǎn)生SCI中斷請(qǐng)求。TCIE:發(fā)送結(jié)束中斷允許位,清0時(shí)TC產(chǎn)生中斷,若置1則允許TC位時(shí)產(chǎn)生SCIRIE:接收中斷允許位清0時(shí)RDRF和OR產(chǎn)生中斷若置1則允許OR1時(shí)產(chǎn)生SCIILIE:空閑中斷允許位,清0時(shí)IDLE產(chǎn)生中斷,若置1則允許IDLE位時(shí)產(chǎn)生SCITE:010:發(fā)送器1:允許SCI發(fā)送部分工作,TxD引腳(PSl/PS3)RE:0:1;允許SCI工作。RWU:?jiǎn)拘芽刂莆籖WU:?jiǎn)拘芽刂?:SCI正常工作,發(fā)送器就不停地發(fā)出“00,當(dāng)前的全“0”幀發(fā)送結(jié)束后,TxD引腳將變成空閑狀態(tài)。如果SBK開(kāi)個(gè)“00:個(gè)連續(xù)的“0該寄存器反映SCI運(yùn)行過(guò)程中的各種狀態(tài),包括發(fā)送器和的狀態(tài)信息和的出錯(cuò)信息,見(jiàn)表9-5。9-5SCI 位讀SCI硬件處于某些狀態(tài)時(shí),SCISR1中的對(duì)應(yīng)位置位,并通過(guò)特定的確認(rèn)SCISR1SCIDRL(RDRF、IDLE、ORNF、FEPF)SCISR1SCIDRL將清除與發(fā)送有關(guān)的標(biāo)志位(TDRE和TC)。:1。0:SC0DRTC:發(fā)送結(jié)束標(biāo)志。該位在發(fā)送器空閑(無(wú)發(fā)送動(dòng)作)SCISRl,然后寫(xiě)SCIDR將清除該位。01RDRF線(xiàn)變?yōu)榛顒?dòng),然后重新變成空閑以后,IDLE1。0:SCIDR1:SCIDRIDLE:空閑標(biāo)志。檢測(cè)到RxD端空閑(收到10或者11個(gè)以上連續(xù)的到RDRF置位(RxD),IDLE10:RxD1:RxD0:無(wú)1:出現(xiàn)錯(cuò)誤NF:RDRF在同一個(gè)周器內(nèi)置位,但如果同時(shí)或已經(jīng)出現(xiàn)錯(cuò)誤,該位不置位。01寄存器SCISRl和SCIDR將清除FE標(biāo)志。010PF:(PE=1)時(shí),該標(biāo)志才有意義。所要求的奇偶性由SC0CR1中的PT019-6SCI 位01011113140:?jiǎn)尉€(xiàn)模式下TxD1:?jiǎn)尉€(xiàn)模式下TxD聲或波特率匹配錯(cuò)誤引起)時(shí),該位清0。該位由前端控制,SCISCIDRL訪RDR B 位讀000000寫(xiě) B 位讀000000寫(xiě)9位。ROT07-0,讀操作返回只讀寄存器RDR的內(nèi)容,寫(xiě)操作寫(xiě)入只寫(xiě)寄存器TDR。第二節(jié)SCIV2.025V上電后建立新建文件,在main.c中輸入下面程序并寫(xiě)如3ASCII碼或十六進(jìn)制的形式(可選)顯示出來(lái)。4#include /*commondefinesandmacros#include<mc9s12dp256.h> /*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12dp256b"bytevoidSCI_Transmit(bytedata){while(!SCI0SR1_TDRE);//SC0DR處于忙狀態(tài),等待。}voidSCI_Receive(byte{}void{SCI0BDL=0x34;//8M9600SCI0CR2=0X2C允許中斷,允許發(fā)送,允許接受{ }}#include<hidef.h> /*commondefinesandmacros*/#include<mc9s12dp256.h> /*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12dp256b"bytevoidSCI_Init(void){}voidSCI_Transmit(bytedata){while(!SCI0SR1_TDRE);}voidSCI_Receive(byte}voidprintf(char*str){}}N0Choose(bytedata){casecasebreak;casecasecase}}voidmain(void){ etolipu'sfootball-quizsystem!\n\r");printf("choosetheproblemnumber(1to5)\n\r");}}voidprintf("\nyouareRIGHT.\nchoosethenextquestion\n\r");}voidWrong(void){printf("\nyouareWRONG.\nchoosethenextquestion\n\r");}intNO1(void){printf(".whichcountryisthechampionofWorldCupat2006?\n\r") casecase'B':}}intprintf(".whichcountryhavethemostchampionsofWorldCup?\n\r"); casecase'A':}}intprintf(".whichclubisthechampionofSpanishPrineraDivisonat06-07\n\r"); B:RealMadrid\n\r");casecase'B':}}intprintf(".whichclubisthechampionofItalianSerieAat06-07\n\r");printf("A:InterMilan casecase'A':}}intprintf(".whoistheFIFAWorldyerat2006\n\r"); casecase'A':}} /SPI第一節(jié)SPISPI串行設(shè)備接口SPI主要用于同步串行通信它使MCU具備了與設(shè)備以可連接的設(shè)備包括簡(jiǎn)單的移位寄存器(例如74LSl65用作并行輸或74LSl64用作并行輸出口等)、LCDAID轉(zhuǎn)換器的接口。MCU8種個(gè)廠家生產(chǎn)的多種標(biāo)準(zhǔn)的串行接口器件連接。在串行接口中,數(shù)據(jù)和時(shí)SPI格式中,時(shí)鐘不包括在數(shù)據(jù)流中,它必須是另一個(gè)獨(dú)立的信號(hào)線(xiàn)。MC9S12DP256的SPI可定義為主機(jī)或從機(jī)方式,主要特性如下:(1)全(5)4MHzMCU總線(xiàn)頻率=8MHz31.25kHz。(6)4MHz0-4MHz??沙炭卦O(shè)置位時(shí)鐘極性相位和數(shù)據(jù)位傳送順序即可選或低位多主機(jī)系統(tǒng)控制保護(hù)中斷標(biāo)志寫(xiě)標(biāo)志保護(hù)PLL、D/A、鎖存器、LCD顯示驅(qū)SPI一個(gè)主MCU和一個(gè)或者幾個(gè)從MCU幾個(gè)MCU相互聯(lián)接構(gòu)成多主機(jī)的系統(tǒng)(全分布式系統(tǒng))一個(gè)主MCU和一個(gè)或者幾個(gè)從I/O一個(gè)其他主微機(jī)系統(tǒng)和一個(gè)或者幾個(gè)從MCU(一)SPlSPISPI8位移位寄存器、時(shí)鐘控制邏輯、引腳控制邏輯、SPI控制邏輯和分頻器以及波特率寄存器SPIBRSPISR1SPICR1、2SPICR2、數(shù)據(jù)寄存器SPIDR51所示。SPI的是一個(gè)8位移位寄存器。發(fā)送或接收時(shí),引腳的數(shù)據(jù)流在時(shí)鐘信號(hào)SCKCPU通過(guò)SPIDRSPIDR將直接進(jìn)入移位寄存器,即所謂單緩沖;而接受到的數(shù)據(jù)則通過(guò)讀數(shù)據(jù)緩沖器到達(dá)SPIDR證移位寄存器正在接收時(shí),CPU能正確上一個(gè)收到的字節(jié)。外部主器件通過(guò)SCKSPIBD的設(shè)定SPICR1、SPICR2SPIBRSPI存器SPISR保存SPI的工作狀態(tài),包括傳送結(jié)束、寫(xiě)和模式錯(cuò)誤等。SPI0PSPS7-PS4引腳,SPI1與PPPP7-PP4引腳,SPI2與PP口共享PP3-PP0SPII/O變?yōu)镾PI仍可用作通用I/O。1SPISPI對(duì)于SPI0,當(dāng)SPE=1即SPI系統(tǒng)使能時(shí),SPIPS口的四個(gè)引腳:串行位和低有效的從機(jī)選擇線(xiàn)SSSPII/O線(xiàn)PS7-PS4I/ODDRSPS口引腳的數(shù)據(jù)方向,但SPI系統(tǒng)使能后,DDRS仍然參與對(duì)PS7-PS4引腳的控制,它與SPI控制從機(jī)選擇信號(hào)SSMSTR=0時(shí),MCUSPI被設(shè)置為從機(jī)方式,其SS引腳為自身工作允SCKMISO引腳為高阻抗?fàn)顟B(tài)。當(dāng)SS0時(shí),SPISSOE的控制,固定為器件選擇輸入引腳。若MSTR=1,SPI處于主機(jī)方式,其SSSS0,外部從機(jī)在SCK的作用下接收或發(fā)送數(shù)據(jù)。當(dāng)SS輸出邏輯1時(shí),從器件被。每一次傳送時(shí),SS輸出自動(dòng)變當(dāng)DDS7=SSOE=1時(shí),SS引腳為SPI系統(tǒng)的工作方式錯(cuò)誤檢測(cè)輸入,0MCU將自身SPIMSTR=1,SPI將會(huì)發(fā)現(xiàn)SS已經(jīng)為邏輯0,表示已經(jīng)存在主機(jī),于是發(fā)生了工作方式錯(cuò)誤,SPI自動(dòng)置位MODF標(biāo)志,并在SPIE=1時(shí)申請(qǐng)中斷,通知CPU處理。DDS7=1、SSOE=0SS引腳為通用輸出引腳,與SPI系統(tǒng)無(wú)關(guān)。DDS7=0、SSOE=1SS引腳為系統(tǒng)保留功能,用戶(hù)不能使用。串行數(shù)據(jù)線(xiàn)(MISO、MOSI)。MISO為主入/從出線(xiàn),MOSI為主出/從入線(xiàn),它們用于串行接收和發(fā)送數(shù)據(jù);數(shù)據(jù)高低位傳送順序由LSBF選擇。每個(gè)MOSI、MISOSPICRMSTR1時(shí),SPI設(shè)置為主機(jī)方式,其MISO、MOSI分別是數(shù)據(jù)輸入/輸出線(xiàn),這時(shí)主機(jī)從MOSIMISO引腳輸入數(shù)據(jù)。當(dāng)器件設(shè)置為從機(jī)方式MISO變?yōu)閿?shù)據(jù)輸出線(xiàn),而MOSI成為數(shù)據(jù)輸入線(xiàn)。在多主機(jī)系統(tǒng)中,無(wú)SCK引腳、MISO引腳和MOSISPI的SCK引腳輸出,送到所有的從SPI的SCK引腳,主SPI的數(shù)據(jù)從其MOSI引SPIMOSISPIMISO輸出,送到主SPI的MISO引腳。串行時(shí)鐘(SCK)SPI設(shè)置為主機(jī)方式時(shí),SCK信號(hào)來(lái)自?xún)?nèi)部MCU時(shí)SCKSCK8個(gè)SCK時(shí)鐘脈沖。對(duì)于從機(jī),只有其SS引腳為邏輯低電平時(shí),才接收SCK時(shí)鐘信SCKSPISPI,都是在SCK信號(hào)SPIBRSPI數(shù)據(jù)與位時(shí)鐘之間的傳送定時(shí)關(guān)系必須相同(由SPICR1的CPOLCPHA位控制)。DDRS4-DDRS6MISO、MOSISCKSPI的雙向模式(MOMI或當(dāng)控制寄存器SPOCR2中的SPC0=1時(shí),SPISPISPIMSTR控制位決定,在主模式下MOSI成為雙向引腳MOMIMISOSISO,引腳數(shù)DDRS1所示。在使用雙向模式的系統(tǒng)中,所有需SPI作為主器件或從器件,均有一引腳重新獲得通用I/O功能。1SPIMCU將CPOL1相當(dāng)于在時(shí)鐘信號(hào)中串入一個(gè)反相器。除此以外,SPI還可以選擇MISO、MOSI、SCK分別直23CPHA0、1時(shí),單個(gè)字節(jié)數(shù)據(jù)傳送的時(shí)序。由圖CPOL=O、LSBF=O2CHPA=O3CHPA=12中,主機(jī)的SS0MOSI輸出數(shù)據(jù)最高M(jìn)OSI9-5類(lèi)似。SPI向主機(jī)發(fā)送數(shù)據(jù),這個(gè)過(guò)程就好像分別位于主從器件的兩個(gè)816位寄存器。當(dāng)進(jìn)行數(shù)據(jù)傳輸時(shí),該寄存器在SCK8位,于是數(shù)據(jù)在主從器件之間實(shí)現(xiàn)了SPIDR寄存器的數(shù)據(jù)成為送往從器件SPIDRSPISPICR1SPE=1時(shí),SPI系統(tǒng)使能。SPICR1中的相位控制位CPHA和極性控制位CPOL用于決定當(dāng)前的SPI系統(tǒng)使用的時(shí)鐘格式。CPOLCPHA180度,在主機(jī)方式中,CPUSPIDR時(shí)(SPIDR8位移位寄存器中),起動(dòng)一個(gè)傳送過(guò)程。SCK8個(gè)位傳送時(shí)鐘,MOSI腳串行移位輸出數(shù)據(jù)到從機(jī)SPI。同時(shí),數(shù)據(jù)也由從SPI通過(guò)MISO腳串行移位輸88SPIDR,此后,CPU可讀出它的內(nèi)容。每完成一次數(shù)據(jù)傳送,SPRF狀態(tài)位置位,讀SPISR(SPRF為1時(shí)),SPIDR,將SPIF位清0。在從機(jī)方式中,CPUSPIDR寫(xiě)入需傳送到主機(jī)的數(shù)據(jù),該數(shù)據(jù)從內(nèi)在SCK的第一個(gè)跳變沿采樣輸入,在另一個(gè)跳變沿將數(shù)據(jù)的次輸出,當(dāng)CPHA=1且SS=0時(shí),SCK引腳的第一個(gè)跳變沿啟動(dòng)從機(jī)移位,將數(shù)據(jù)的最位置1,這時(shí)讀SPSR隨后SPIDR將SPRF位清0。SPIDR起動(dòng)一次發(fā)送過(guò)程。對(duì)于主機(jī)收、從機(jī)發(fā)的場(chǎng)合,也由主機(jī)寫(xiě)入SPIDR起動(dòng)一次傳送過(guò)程,不過(guò)寫(xiě)入SPIDR的數(shù)據(jù)傳送,對(duì)從機(jī)若寫(xiě)入SPIDR,對(duì)數(shù)據(jù)的傳送無(wú)影響。(二)PSPISPIBR寄存器中的SPPR2~SPPR0和SPR2~SPR0共六位控制。波特率分頻因子的表達(dá)式為:(三)CCRI=1CPUSPOSR寄存器、然后讀或?qū)慡PI數(shù)據(jù)寄存器將清除標(biāo)志位SPIFSPOSR寄存器、然后寫(xiě)SPI數(shù)據(jù)寄存器將清除標(biāo)志位MODF。第二節(jié)SPISPI的工作方式主要由該寄存器設(shè)置,包括主從方式、單線(xiàn)雙向模式選擇,2。其各位意義如下:2SPI B;讀操作:任意;寫(xiě)操作:任意位SPIE:SPI SPI中斷。 每次SPRFMODFSPE:SPI0:SPI內(nèi)部硬件完成初始化,但SPI系統(tǒng)處于低功耗的狀態(tài)1:SPI0:SPTEF1:SPTEFMSTR:主、從模式選擇位,用于設(shè)定本機(jī)SPI以主器件還是從器件出現(xiàn)01CPOL、CPHA:SPISPI的時(shí)鐘格CPOL=0SCKCPOL=1,SCK9-69-7。SSOE:從器件選中輸出信號(hào)SS)SS輸出功能只有在主模式下通過(guò)置位SSOEDDRS7實(shí)現(xiàn)。 允許SSDDRS71LSBF=0讀寫(xiě)操作正常進(jìn)行,即(MSB)在第7位(BIT7)。對(duì)于僅由MC9S12DP256構(gòu)成的互連系統(tǒng),只要各個(gè)SPI的LSBF相同,對(duì)傳輸結(jié)果無(wú)影響,但在與設(shè)備或器件連接時(shí),SPI必須根據(jù)該設(shè)備或器件所要求的位順序正確設(shè)置LSBF。0:數(shù)據(jù)傳輸(MSB)在先1:數(shù)據(jù)傳輸?shù)臀?LSB)3SPI 位MODFEN:0:模式錯(cuò)誤標(biāo)志位置位0:雙向模式下輸出緩沖。10:等待模式下停止SPI1:等待模式下SPISPC0:MSTR該寄存器只有六個(gè)有效位SPPR2~SPPR0和SPR2~SPR0SPI系統(tǒng)工作時(shí)鐘SCK09-11。4SPI 位BaudRateDivisor(SPPR1SPI09—12。其各位意義如下:5SPI 位讀SPIF:SPI中斷請(qǐng)求位,在數(shù)據(jù)傳輸過(guò)程中,SPRF8SCK周期后置位,通過(guò)讀SPISRSPIDR0。01SPTEF當(dāng)SPIDR1。同時(shí)如果SPTIE位1,則向CPU發(fā)出中斷請(qǐng)求。讀SPISR然后寫(xiě)SPIDR將清除該位。0:SPI1:SPIDDRS7=1時(shí),PS7是通用輸出或SS輸出引腳,而不是于SPI系統(tǒng)的SS輸入引腳,在這種特殊情況下,模MODF01SPI6SPI后位8位寄存器是SPI6。對(duì)該寄存器進(jìn)行讀操作時(shí)所的輸入部分是雙緩沖的但寫(xiě)操作則直接將數(shù)據(jù)送到TTL邏輯電路:或者只有接TTL邏輯電向SPODRSPODR中的第三節(jié)SPI利用單片機(jī)與顯示驅(qū)動(dòng)MC14489的SPI通訊實(shí)現(xiàn)計(jì)時(shí)器功實(shí)驗(yàn)設(shè)備:HCS12編程器、開(kāi)發(fā)板、MC14489驅(qū)動(dòng)、數(shù)碼本例子利用HCS12單片機(jī)與MC14489構(gòu)成的具有串型通訊功能的電路實(shí)#include<hidef.h> /*commondefinesandmacros*/#include<mc9s12dp256.h> /*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12dp256b"/*變量intn1,n2,n3,n4,n5,j=0;wordt1,t2,time;byte/*SPI初始化*/voidSPIvoid) DDRS=0x60;S5,S6}void }voiddelay(wordtime){}}}/*14489的配置寄存器*/voidDanZiJie(void){ }voidSanZiJievoid}voidmain(void){}}#pragmaCODE_SEGNEAR_SEGinterruptvoidPortJISR(void){ //Jcase0x01:mode=0; for(;;){}}}99999s計(jì)時(shí)停止,記錄時(shí)間,按下Reset /A/D第一節(jié)A/DA/DA/D轉(zhuǎn)換器精確轉(zhuǎn)換。A/D、控制和顯示。在工業(yè)控制和及許多其他領(lǐng)域中,A/D轉(zhuǎn)換器是不A/D12A/D8個(gè)輸入通道,使用時(shí)應(yīng)以標(biāo)ATD0ATD1標(biāo)識(shí)。2.1A/D模塊的功能結(jié)構(gòu),這個(gè)功能模塊被虛線(xiàn)劃分成為圖示所示的虛線(xiàn)所的三個(gè)部分:IP總線(xiàn)接口、轉(zhuǎn)換模式控制/寄存器列表,自定義IPA/DI/O的目的,HCS12A/D8/107us10-位單次轉(zhuǎn)換時(shí)間ATD模塊有模擬量前端模擬量轉(zhuǎn)換控制部分及結(jié)果等四部分組成。8個(gè)16位的器和反映工作狀態(tài)的若干標(biāo)志位。第二節(jié)A/D中,ATDCTL2,3,4,5為常用的控制寄存器,ATDSTAT0,1為常用的兩個(gè)狀態(tài)控制器,ATDDR0-7為八個(gè)結(jié)果寄存器。ATD工作時(shí),由CPU發(fā)出啟動(dòng)命令,然后經(jīng)采樣、模數(shù)轉(zhuǎn)換,最后將結(jié)果ATD個(gè)轉(zhuǎn)換序列能包含1-8最多8次轉(zhuǎn)換,由控制寄存器ATDCTL3中的S8C/S4C/S2C/S1C等位來(lái)決定。過(guò)一次啟動(dòng)命令快速瀏覽多個(gè)信號(hào),中間無(wú)需CPU,節(jié)約了CPU時(shí)間。ATD模塊暫停。SCFATD05ATDCTL5實(shí)現(xiàn)的。ATD轉(zhuǎn)換所需要的時(shí)鐘周期數(shù)是固定不變的,但是采樣時(shí)間和時(shí)鐘頻率可ATDCTL4在一定范圍內(nèi)選擇,因此轉(zhuǎn)換時(shí)間也可以選擇。ADPU-A/D電源使能/1= A/D模塊上電0 AFFCA/D快速轉(zhuǎn)換完成標(biāo)志位1=快速標(biāo)志位順 每次結(jié)果寄存器自動(dòng)0=正常標(biāo)志位順 需要手動(dòng)對(duì)狀態(tài)標(biāo)志位AWAIA/D1=0=等待模式下,轉(zhuǎn)ASCIEA/Dxx00xx01001X011X101X111XFIFO–結(jié)果寄存器1=0=FRZIgnoreIReservFinishconversion,thenfzeImmediaSRES8A/D1=80=105A/D控制寄存器中的PRS[4:0]2PRS[4:0]0,注:設(shè)置PRS[4:0]時(shí),A/DClock255除

A/D2A/D時(shí)鐘4A/D時(shí)鐘8A/D時(shí)鐘16A/D時(shí)例(2MHZA/D時(shí)鐘頻率InitialSampleTimeProgrammedSampleTimeResolution=2+2+10=14A/D=例轉(zhuǎn)換時(shí)間InitialSampleTimeProgrammedSampleTimeResolution=2+16+10=28A/D

Address000=Chan1 =ChanDJM–1=0=SCAN–1=0=DSGN–1=0=MULT–多通道采樣模1=0=采樣通道的數(shù)量取決于1

AddressSCF-(SCAN=在連續(xù)轉(zhuǎn)換模式時(shí),當(dāng)?shù)谝淮无D(zhuǎn)換完成后置位(SCAN=當(dāng)(AFFC=0),寫(xiě)1ETORF- 如果在轉(zhuǎn)換過(guò)程中高/低電平出現(xiàn),置位–當(dāng)結(jié)果寄存器在讀出之前已經(jīng)被寫(xiě)入時(shí),置位(CCF沒(méi)有)CCF7CCF0–獨(dú)立通道轉(zhuǎn)換完成標(biāo)志位每個(gè)相應(yīng)的通道轉(zhuǎn)換結(jié)束后置位,A/D,AFFC位不同時(shí)的情況第三節(jié)A/DADPU1ATD#include<hidef.h> /*commondefinesandmacros*/#include<mc9s12dp256.h> /*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12dp256b"int//{ATD0DIEN=0x00;//數(shù)字輸}{ }void{ //ADDDRB0xFF;//portB ={ PORTB //B}}A/D程序示例—12中A/D系統(tǒng)啟動(dòng)一次A/DA/D轉(zhuǎn)換結(jié)果。#include<hidef.h> /*commondefinesandmacros*/#include<mc9s12dp256.h> /*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12dp256b"longa,b,c,d;longm,n,sum;longmax();longmin();//{ATD0CTL5=0x86;//5ATD0DIEN=0x00;//數(shù)字輸入}{ }{ADValue1=ATD0DR1; //1}{ADValue2=ATD0DR2; //2}{ADValue3=ATD0DR3; //3}void{ //ADDDRB=0xFF; =0x00;{ }}時(shí)A/D12A/DA/D讀入數(shù)據(jù)。為了不浪費(fèi)CPU處理程序。CCF為標(biāo)志字節(jié),它的最為1,表示完成一次A/D轉(zhuǎn)換,由程序狀態(tài);=1表示為等待定時(shí)時(shí)間到,以便下次采樣。#include<hidef.h> /*commondefinesandmacros*/#include<mc9s12dp256.h> /*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12dp256b"intADValue0;unsignedinti=0; //{ATD0CTL5=0xa0;//5ATD0DIEN=0x00;//數(shù)字輸入}{ }void{ =7; //prescalefactoris8,busclock/128=8Mhz/8 =1; //timeroverflowinterruptenable =1; //timerenable //ADDDRB=0xFF; =for(;;){}}#pragmaCODE_SEGNON_BANKED#pragmaTRAP_PROCvoid{{{ PORTB=(int)ADValue0; //在B口顯示轉(zhuǎn)換值 }} = //cleartimeroverflow}#pragmaCODE_SEG /EEPROMMC9S12DP256B內(nèi)部同時(shí)集成了兩種非易失器FLASH和EEPROM,前者用于程序,后者可用來(lái)保存組態(tài)、設(shè)置等關(guān)鍵數(shù)據(jù),它們均為防止誤操EEPROM的功能、特點(diǎn)及使用,包括第一節(jié)EEPROMEEPROM、MC9S12DP256內(nèi)部集成了4KB的EEPROM器具有單塊和整塊擦除、單總線(xiàn)周期內(nèi)完成EEPROM是一種非易失性介質(zhì)具有穩(wěn)定性好的短時(shí)間不變的內(nèi)容(如環(huán)境參數(shù)、產(chǎn)品序列等。EEPROMRAM一樣地EEPROMRAM多的時(shí)間,即需要一段特定的程序來(lái)寫(xiě)EEPROM。、EEPROM$0000~$0FFF是4KB為EEPROM的空間,復(fù)位時(shí)默認(rèn)的EEPROM地空間,故EEPROM1KB空間($0000$03FF)看不到了,所以實(shí)際上用戶(hù)可以的是$0400$0FFF的3KB的空間。EEPROM設(shè)有保護(hù)機(jī)制,用戶(hù)可以通過(guò)編程$0FFD,在普通模式下設(shè)定需要中進(jìn)行選擇,相應(yīng)的保護(hù)區(qū)在$0XXX$0FFFF。由于設(shè)定保護(hù)地址所的地址也在所保護(hù)的區(qū)域中,所以一旦用戶(hù)在普通模式下對(duì)$0FFD的內(nèi)容進(jìn)行了編擦除的效果。要改變保護(hù)區(qū)的設(shè)定,需要單片機(jī)工作在“特殊模式”下,EPROT寄存器,而一旦在特殊模式下取消了屬性,該區(qū)的內(nèi)容也就被擦EEPROM第二節(jié)EEPROM0FCLKDIV之前,擦寫(xiě)和編程eeprom將引起進(jìn)入錯(cuò)誤和命令不被執(zhí)行。1PRDIV8:8分頻控制。-晶振時(shí)鐘為EEPROM-8后,為EEPROMEDIV[5:0]PRDIV8和EDIV[5:0]150~200KHZ。注意:在對(duì)EEPROM進(jìn)行操作之前,必須對(duì)時(shí)鐘進(jìn)行初始化EEPROM12.8MHZ,PRDIV81位,CLK=OSCCLK/8。反之,PRDIV8置零,CLK=OSCCLK。EL/(EI[5:0]+11CCIE—0EPOPENEEPROM編程/1:全部EEPROM或是部分EEPROM0:所有EEPROM塊保護(hù)。EPDIS:EEPROM部分保護(hù)位1:不作部分保護(hù)EEPROM。0:EEPROMEP[2:0]——EEPROM“11:緩沖準(zhǔn)備好接受新令0CCIF—命令完成中斷標(biāo)志,表明不再有未決的指令。該標(biāo)志通過(guò)硬件寫(xiě)入10PVIOL:保護(hù)標(biāo)志。表示在保護(hù)地址空間內(nèi)進(jìn)行了擦寫(xiě)或編程操作,在無(wú)影響在CBEIF后或者當(dāng)CCIF時(shí)寫(xiě)入新的有效命令可以使保護(hù)錯(cuò)誤標(biāo)志。1:保護(hù)已發(fā)生0BLANK—表明在響應(yīng)一條擦除校驗(yàn)指令后EEPROM塊已被完全地擦除1=EEPROM被完全擦除0EEPROMACCERR—1=0=ACCERR:進(jìn)入錯(cuò)誤標(biāo)志。表示進(jìn)入EEPROM塊或者與定義命令序ACCERR在初始化ECLKDIV之前,向EEPROM向EEPROM在CBEIF1時(shí),向EEPROM在執(zhí)行前一個(gè)編程或擦除命令之前,向EEPROM在向EEPROMEEPROMECMD在執(zhí)行前一個(gè)寫(xiě)好令之前,向ECMD寄存器寫(xiě)入第二個(gè)命令在對(duì)有保護(hù)的EEPROM空間,向ECMD在對(duì)有保護(hù)的EEPROM空間,向ECMD在寫(xiě)完命令寄存器后,接著寫(xiě)其它EEPROM寄存器,而沒(méi)有寫(xiě)ESTAT寄在命令行列已開(kāi)始或擦/寫(xiě)命令已執(zhí)行的同時(shí)從EEPROM塊這樣ERASE:EEPROM 在MASS=0時(shí),區(qū)域擦除;在MASS=1PROG:EEPROM 1:EEPROM編程。 MASS01注意:只有在ERASE和MASS1時(shí),才能實(shí)現(xiàn)全部擦除。有關(guān)寄存器ECMD令字的設(shè)置:第三節(jié)EEPROMEEPROMECLKDIV檢查EEPROM時(shí)鐘分頻寄存器(ECLKDIV_EDIVLD)是否已將編程的數(shù)據(jù)賦值給要編程的EEPROM對(duì)EEPROM命令寄存器(ECMD)寫(xiě)入編程命令ECLKDIV檢查EEPROM時(shí)鐘分頻寄存器(ECLKDIV_EDIVLD)在要擦除的EEPROM對(duì)EEPROM命令寄存器(ECMD)寫(xiě)入段擦除命令EEPROM#include<hidef.h> /*commondefinesandmacros*/#include<mc9s12dp256.h> /*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12dp256b"#defin

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論