松瀚SN8P2711學(xué)習(xí)筆記_第1頁(yè)
松瀚SN8P2711學(xué)習(xí)筆記_第2頁(yè)
松瀚SN8P2711學(xué)習(xí)筆記_第3頁(yè)
松瀚SN8P2711學(xué)習(xí)筆記_第4頁(yè)
松瀚SN8P2711學(xué)習(xí)筆記_第5頁(yè)
已閱讀5頁(yè),還剩2頁(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)介

1、0=運(yùn)行,1=停止,但內(nèi)部低速RC仍運(yùn)行。0=普通模式,系統(tǒng)為高速時(shí)鐘1=低速模式,系統(tǒng)為內(nèi)部低速時(shí)鐘CPUM1:0: CPU運(yùn)行模式控制位00:普通模式10:綠色模式5、系統(tǒng)模式之間的轉(zhuǎn)換:(1) 、01:睡眠(省電)模式11:保留(2)、普通模式轉(zhuǎn)低速模式FCLKMD=1;設(shè)置系統(tǒng)時(shí)鐘為內(nèi)部低速時(shí)鐘FSTPHX=1; /停止外部高速時(shí)鐘以省電低速模式轉(zhuǎn)普通模式若外部高速仍運(yùn)行,若外部高速已停止,(3)、普通或低速模式FCPUM0=1;FCPUM1=0;FCLKMD=0;FSTPHX=0;DELAY(20);FCLKMD=0;進(jìn)入睡眠(省電)模式設(shè)置回普通模式即可先啟動(dòng)外部高速/再延時(shí)20毫

2、秒設(shè)置回普通模式/(此句有時(shí)可省略)松瀚SN8P2711學(xué)習(xí)筆記、系統(tǒng)時(shí)鐘SN8P2711是具有高速時(shí)鐘和低速時(shí)鐘的微控制器,高速時(shí)鐘由外部振蕩電路或內(nèi)置16MHZ高速RC振蕩電路(IHRC 16MHZ)提供,外部高速時(shí)鐘又分為晶振和RC振蕩及外部時(shí)鐘輸入。1、外部高速:晶振一般高速為12M,中速為4M,低速為32K。RC振蕩一般小于10M,電容一般為 50P-100P,通過(guò)改變 R來(lái)改變頻率。夕卜部時(shí)鐘輸入作為系統(tǒng)時(shí)鐘信號(hào),由編譯選項(xiàng)HIGH-CLK中的RC選項(xiàng)來(lái)選擇,外部時(shí)鐘輸入,信號(hào)由XIN腳輸入,XOUT作為普通IO 口。2、內(nèi)部高速內(nèi)部高速16MHZRC振蕩器由編譯選項(xiàng)IHRC-16

3、M來(lái)控制,在高速模式下,指令周期FCPU=FOSC/N, N=1-16,N由FCPU編譯選項(xiàng)來(lái)選擇。在低速模式下,指令周期FCPU=FOSC/4。3、內(nèi)部低速時(shí)鐘3V單片機(jī)內(nèi)部低速時(shí)鐘為16KHZ, 5V單片機(jī)內(nèi)部低速時(shí)鐘為 32KHZ。內(nèi)部低速鐘可作為低速模式的系統(tǒng)時(shí)鐘,也是看門(mén)狗定時(shí)器的時(shí)鐘。4、OSCM寄存器是一個(gè)振蕩器控制寄存器,控制著振蕩器的狀態(tài)和系統(tǒng)模式STPHX:外部高速振蕩器控制位CLKMD:系統(tǒng)高低速模式控制位(4)、進(jìn)入綠色模式并使能 TC0的喚醒功能FTC0IEN=0; FTC0ENB;關(guān)定時(shí)器0及其中斷功能TCOM=0X20;定時(shí)器0選擇內(nèi)部時(shí)鐘 FCPU/64;TC0

4、C=0X74;/TC0 初值 10 毫秒FTC0IRQ=0;清中斷請(qǐng)求FTC0GN=1;使能喚醒FTC0ENB=1;開(kāi)始計(jì)數(shù)FCPUM0=0;FCPUM1=1;/進(jìn)入綠色模式6、喚醒睡眠(省電)模式的喚醒是通過(guò)外部觸發(fā)(P0 口的電平轉(zhuǎn)換)實(shí)現(xiàn)。綠色模式可由外部觸發(fā)(P0 口的電平轉(zhuǎn)換)及內(nèi)部觸發(fā)(TC0溢出)實(shí)現(xiàn)。喚醒時(shí)間=1/FOSC*2048+振蕩器穩(wěn)定時(shí)間。二、IO 口的初始設(shè)置1、 若作為輸入:則往 PnM寄存器相應(yīng)位寫(xiě) 0,若外部無(wú)上拉電阻,則需使能相應(yīng)位的內(nèi)部上拉電阻,例如:P0M=0X00;/P0 口全作為輸入端口FP01M=0;/P0.1口作為輸入端口P0UR=0XFF;/P

5、0 口全部使能內(nèi)部上拉電阻2、 若作為輸出:則往 PnM寄存器相應(yīng)位寫(xiě)1,例如:P5M=0XFF;/P5 口作為輸出端口FP53M=1;/P53作為輸出端口3、在輸出模式下,往 IO 口寫(xiě)1和0P0=0XFF; P5=0X00;/P0 口全寫(xiě) 1, P5 口全寫(xiě) 0P01=0;/P01 置 0P0.4僅作為輸入引腳,無(wú)上拉電阻。三、看門(mén)狗時(shí)鐘源為內(nèi)部低速 RC振蕩器16KHZ(3V), 32KHZ(5V),看門(mén)狗溢出時(shí)間=8192/RC頻率3V溢出時(shí)間為512毫秒,5V溢出時(shí)間為256毫秒WDTR=0X5A;/喂狗(清看門(mén)狗計(jì)數(shù)器)般在程序一開(kāi)始就喂狗,然后在主程序中定時(shí)喂狗,若程序跑飛,看門(mén)

6、狗功能可以讓程 序復(fù)位。若要使用看門(mén)狗功能則需在編譯選項(xiàng)中設(shè)置。四、AD轉(zhuǎn)換功能1、P4 口作為12位AD 口和普通IO 口復(fù)用,若作為 AD轉(zhuǎn)換通道,則需作如下幾方面 設(shè)置:(1) 、使能ADC控制位 FADENB=1;此句到首次開(kāi)始 AD轉(zhuǎn)換須間隔100微秒(2) 、設(shè)置為輸入端口 如:FP40M=0;/P40作為AD輸入通道(3 )、設(shè)置為純模擬輸入 如:P4CON=0X01;/P40作為純模擬輸入(4) 、禁止相應(yīng)位的內(nèi)部上拉電阻如:P4UR=0X00;/P40必須禁止內(nèi)部上拉(5) 、設(shè)置AD轉(zhuǎn)換速率:ADR寄存器的ADCKS1,ADCKS0 時(shí)鐘源選擇位00=FCPU/16;01=

7、FCPU/8; 10=FCPU; 11=FCPU/2如:ADCKS1=1; ADCKS0=0; 時(shí)鐘源為 CPU時(shí)鐘,不能直接往 ADR寄存器寫(xiě)(6) 、設(shè)置ADM寄存器選擇通道及使能 ANI通道如:ADM=0X90;/選擇P40為AD轉(zhuǎn)換通道并使能(7) 、如使用內(nèi)部參考電壓則設(shè)置寄存器VREFH中的VHS1,VHS0;11=VDD,10=4V,01=3V,00=2VVREFH中的ADC內(nèi)部參考電壓控制位 EVHENB=0為使能,1為禁止如:VREFH=0X03;/選擇內(nèi)部參考電壓 VDD以上是AD轉(zhuǎn)換前的初始設(shè)置,如需開(kāi)始轉(zhuǎn)換則如下:(8) 、查詢(xún)方式FADS=1;/開(kāi)始AD轉(zhuǎn)換While

8、 (FEOC=0);等待轉(zhuǎn)換完成標(biāo)志為 1FEOC=0;及時(shí)清除轉(zhuǎn)換完成標(biāo)志Ad_h8=ADB;/ADB存放12位AD值的高8位(也是 8位AD/的8位數(shù)據(jù))Ad_l4=ADR&0X0F;/ADR的低四位存放 AD值的低4位(9)、中斷方式FADCIRQ=0;FGIE=1;FADCIEN=1;FADS=1;在中斷函數(shù)里If (FADCIRQ)FADCIRQ=0;Ad_h8=ADB;Ad_l4=ADR&0X0F;如需重復(fù)AD采樣則重復(fù)此第 8項(xiàng)即可。/清AD中斷標(biāo)志/總中斷使能/AD中斷使能/開(kāi)始AD轉(zhuǎn)換/清AD中斷標(biāo)志/ADB存放12位AD值的高 8位(也是 8位 AD/的8位

9、數(shù)據(jù))/ADR的低四位存放AD值的低4位2、注意事項(xiàng)ADC分辨率與使用的參考電壓有關(guān),如使用內(nèi)部參考電壓為4V,3V,2V貝U分辨率為8位,如使內(nèi)部考電壓為 VDD或使用外部參考電壓則分辨率為12位。五、TC01、定時(shí)器功能的初始化設(shè)置 (1)、先關(guān)定時(shí)器 如:FTC0ENB=0;關(guān)定時(shí)器0(2 )、禁止定時(shí)器中斷,清定時(shí)器中斷標(biāo)志 如:FTC0IEN=0;FTC0IRQ=0;(3) 、選擇時(shí)鐘源及分頻數(shù)及自動(dòng)加載功能 如:FTC0CKS=0;/選擇內(nèi)部時(shí)鐘,否則為外部計(jì)數(shù)器模式FTC0X8=0;選擇內(nèi)部FCPU時(shí)鐘,否則為 FOSC系統(tǒng)時(shí)鐘FTC0RATE1=1; /FCPU/64 , TC

10、0RATE2:0=010 (事件計(jì)數(shù)器模式除外)FALOAD0=1;使能自動(dòng)加載也可以直接寫(xiě)TC0M=0X24;(4 )、裝定時(shí)器初值2、PWMTC0C=0X64;TC0R=0X64;(5)、開(kāi)啟中斷,使能定時(shí)器FTC0IEN=1;FGIE=1;FTC0ENB=1;功能定時(shí)器初值使能定時(shí)中斷/使能總中斷/開(kāi)啟定時(shí)器PWM功能的時(shí)鐘源為 TC0,TC1 ,輸出,8位計(jì)數(shù)器范圍可為256,的值(TCnC)與TCnR中的值比較,若相等則為0即溢出時(shí),產(chǎn)生的信號(hào)由 PWM0OUT (P54), PWM1OUT(P53)64, 32, 16,由 ALOADn 和 TCnOUT 控制,計(jì)數(shù)器PWM開(kāi)始輸出

11、低電平,當(dāng) TCnC的值PWM開(kāi)始輸出高電平,占空比為 TCnR/256,/64,/32,/16 。1設(shè)置計(jì)數(shù)器的范圍,2設(shè)置系統(tǒng)時(shí)鐘頻率 3TCnR的值來(lái)PWM的頻率控制可通過(guò)三個(gè)方面改變,設(shè)置定器器的時(shí)基(FCPU的分頻)。占空比用戶(hù)可在任何時(shí)候通過(guò)改變 實(shí)現(xiàn),計(jì)數(shù)器每次溢出 TCnIRQ都將被置位,與 PWM同頻率。設(shè)置PWM頻率,00=范圍 0-255FALOAD0, FTC0OUT.01 =范圍 0-6310=范圍 0-3211=范圍0-16例如:PWM0由P54輸出,夕卜部高速時(shí)鐘30/256, PWM輸出頻率為為 FCPU/4, TC0RATE2-0TC0M=0X60;Date_

12、buf=30;TC0C=Date_buf;TC0R=Date_buf;FTC0OUT=0;FALOAD0=0;FPWM0OUT=1;FTC0ENB=1;4MHZ , FCPU=FOSC/4,PWM時(shí)鐘源來(lái)自外部振蕩器,TC01KHZ, PWM為 110, TC0C=TC0R=30。/設(shè)置TC0的時(shí)鐘分頻數(shù)為 FCPU/4計(jì)數(shù)值緩存/設(shè)置PWM 占空比為 30/256/設(shè)置PWM占空比的范圍即頻率輸出占空比為 的速率(時(shí)基)/使能PWM輸出到P54,并禁止P54輸入輸出功能/使能TC0Date_buf+;TC0R=Date_buf;六、C語(yǔ)言編程/改變緩存的值從而改變TC0R的值 TCnR是只寫(xiě)

13、寄存器1、位變量特殊功能寄存器的位變量在頭文件中定義時(shí),一般都在位變量前面加F,在編寫(xiě)程序時(shí)不要忘記。用戶(hù)位變量一般通過(guò)定義結(jié)構(gòu)體的方法來(lái)實(shí)現(xiàn)。沒(méi)有 bit指令。如下:struct bitDefineunsigned char bit0:1;/uchar 可要可不要unsigned char bit1:1;unsigned char bit2:1;unsigned char bit3:1;unsigned char bit4:1;unsigned char bit5:1;unsigned char bit6:1;unsigned char bit7:1;;struct bitDefine fl

14、ag1,flag2;/準(zhǔn)備位變量#define time_10ms_fg(flag1.bit0)#define error_ad_fg(flag1.bit1)#define work_en(flag1.bit2)#define work_over_fg(flag1.bit3)#define key_down_fg(flag1.bit4)#define long_key_fg(flag1.bit5)#define stop_work_fg(flag1.bit6)#define start_work_fg(flag1.bit7)2、中斷函數(shù)中斷函數(shù)的形式為:_interrupt name (void)最前面如果加上 void編譯會(huì)出錯(cuò)中斷函數(shù)只有一個(gè)入口地址,也就是說(shuō)只能有一個(gè)中斷函數(shù),通過(guò)在中斷函數(shù)中檢測(cè)中斷請(qǐng)求寄存器INTRQ中的各標(biāo)志位來(lái)判斷是何種中斷,從而進(jìn)行相應(yīng)的中斷程序處理,中 斷標(biāo)志位檢測(cè)的順序即為優(yōu)先級(jí)順序。進(jìn)入中斷后應(yīng)盡快處理然后退出,以減少主程序的等待時(shí)間。&數(shù)據(jù)數(shù)據(jù)類(lèi)型長(zhǎng)度 char ,uchar ,int ,uint 均為 8 位,

溫馨提示

  • 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)論