第7章PIC系列單片機(jī)原理與應(yīng)用_第1頁
第7章PIC系列單片機(jī)原理與應(yīng)用_第2頁
第7章PIC系列單片機(jī)原理與應(yīng)用_第3頁
第7章PIC系列單片機(jī)原理與應(yīng)用_第4頁
第7章PIC系列單片機(jī)原理與應(yīng)用_第5頁
已閱讀5頁,還剩222頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第7章 PIC系列單片機(jī)原理與應(yīng)用 7.1 PIC系列單片機(jī)簡介 7.2 PIC16C54單片機(jī)的硬件結(jié)構(gòu) 7.3 PIC16C5X單片機(jī)的指令系統(tǒng) 7.4 PIC單片機(jī)的開發(fā)環(huán)境 7.5 PIC16C73單片機(jī)簡介 7.1.1 PIC單片機(jī)的主要特點(diǎn) 7.1.2 PIC單片機(jī)選型指南 7.1 PIC系列單片機(jī)簡介 7.1.1 PIC單片機(jī)的主要特點(diǎn) PICPIC系列單片機(jī)是美國系列單片機(jī)是美國MicrochipMicrochip公司推出的公司推出的RISCRISC型高性價(jià)比型高性價(jià)比 嵌入式控制器,具有運(yùn)行速度高、功耗小、驅(qū)動能力強(qiáng)等優(yōu)點(diǎn),嵌入式控制器,具有運(yùn)行速度高、功耗小、驅(qū)動能力強(qiáng)等優(yōu)

2、點(diǎn), 在電腦外設(shè)、家電控制、電訊通信、智能儀器儀表、汽車電子以在電腦外設(shè)、家電控制、電訊通信、智能儀器儀表、汽車電子以 及金融電子等領(lǐng)域得到了廣泛應(yīng)用。及金融電子等領(lǐng)域得到了廣泛應(yīng)用。 7.1.1 PIC單片機(jī)的主要特點(diǎn) PICPIC單片機(jī)具有如下特點(diǎn):單片機(jī)具有如下特點(diǎn): (1 1)型號豐富。便于用戶根據(jù)所需的功能和資源選擇型號。)型號豐富。便于用戶根據(jù)所需的功能和資源選擇型號。 (2 2)采用低價(jià))采用低價(jià)OTPOTP型芯片降低成本。型芯片降低成本。 (3 3)每個(gè)型號的單片機(jī)都有相應(yīng)的仿真芯片,開發(fā)實(shí)時(shí)性好。)每個(gè)型號的單片機(jī)都有相應(yīng)的仿真芯片,開發(fā)實(shí)時(shí)性好。 (4 4)采用)采用RIS

3、CRISC型型CPUCPU和單字指令系統(tǒng),取指令和執(zhí)行指令是并行進(jìn)和單字指令系統(tǒng),取指令和執(zhí)行指令是并行進(jìn) 行的,程序執(zhí)行效率高。行的,程序執(zhí)行效率高。 (5 5)驅(qū)動能力強(qiáng),最大輸入電流達(dá))驅(qū)動能力強(qiáng),最大輸入電流達(dá)25mA25mA,最大輸出電流達(dá),最大輸出電流達(dá)20mA20mA。 (6 6)具有睡眠和低功耗模式,可保持較低的功耗。)具有睡眠和低功耗模式,可保持較低的功耗。 (7 7)自帶看門狗定時(shí)器,內(nèi)置)自帶看門狗定時(shí)器,內(nèi)置RCRC振蕩計(jì)時(shí)器,運(yùn)行可靠性高。振蕩計(jì)時(shí)器,運(yùn)行可靠性高。 (8 8)采用熔絲深埋工藝,保密性能好。)采用熔絲深埋工藝,保密性能好。 7.1.1 PIC單片機(jī)的主

4、要特點(diǎn) PICPIC單片機(jī)的內(nèi)部資源:單片機(jī)的內(nèi)部資源: (1 1)EEPROMEEPROM數(shù)據(jù)區(qū):僅用作數(shù)據(jù)存儲器,具有掉電保護(hù)功能。數(shù)據(jù)區(qū):僅用作數(shù)據(jù)存儲器,具有掉電保護(hù)功能。 (2 2)FLASHFLASH程序程序/ /數(shù)據(jù)區(qū):數(shù)據(jù)既可長期保存,又能快速擦寫。數(shù)據(jù)區(qū):數(shù)據(jù)既可長期保存,又能快速擦寫。 (3 3)A/DA/D轉(zhuǎn)換器:簡稱轉(zhuǎn)換器:簡稱ADCADC,將模擬量轉(zhuǎn)換成數(shù)字量。,將模擬量轉(zhuǎn)換成數(shù)字量。 (4 4)CCPCCP模塊:它可工作于捕捉模式、比較模式或脈寬調(diào)制模式。模塊:它可工作于捕捉模式、比較模式或脈寬調(diào)制模式。 (5 5)USARTUSART模塊:也稱為模塊:也稱為SCI

5、SCI模塊,它是一種串行通信接口。模塊,它是一種串行通信接口。 (6 6)CANCAN模塊:可用于組成過程監(jiān)測與控制的局域網(wǎng)絡(luò)。模塊:可用于組成過程監(jiān)測與控制的局域網(wǎng)絡(luò)。 (7 7)LINLIN:低成本的串行通信網(wǎng)絡(luò),用作輔助總線網(wǎng)絡(luò)。:低成本的串行通信網(wǎng)絡(luò),用作輔助總線網(wǎng)絡(luò)。 (8 8)SPISPI:即串行外設(shè)接口,它可實(shí)現(xiàn)單片機(jī)與外部器件的通信。:即串行外設(shè)接口,它可實(shí)現(xiàn)單片機(jī)與外部器件的通信。 (9 9)I I2 2C C:用于實(shí)現(xiàn)單片機(jī)與外部器件之間的串行通信。:用于實(shí)現(xiàn)單片機(jī)與外部器件之間的串行通信。 (1010)USBUSB:用于實(shí)現(xiàn)單片機(jī)與外部器件之間的快速通信。:用于實(shí)現(xiàn)單片機(jī)

6、與外部器件之間的快速通信。 7.1.1 PIC單片機(jī)的主要特點(diǎn) PICPIC單片機(jī)的產(chǎn)品可分為三個(gè)級別:單片機(jī)的產(chǎn)品可分為三個(gè)級別: (1 1)基本級產(chǎn)品,如)基本級產(chǎn)品,如PIC12CXXPIC12CXX和和PIC16C5XPIC16C5X系列。特點(diǎn):價(jià)格低,系列。特點(diǎn):價(jià)格低, 體積小,使用數(shù)量大,便于嵌入便攜式電子產(chǎn)品。體積小,使用數(shù)量大,便于嵌入便攜式電子產(chǎn)品。 (2 2)中級產(chǎn)品,如)中級產(chǎn)品,如PIC16CXXPIC16CXX系列。特點(diǎn):品種豐富,性價(jià)比高,系列。特點(diǎn):品種豐富,性價(jià)比高, 可應(yīng)用于各種高、中、低檔電子產(chǎn)品??蓱?yīng)用于各種高、中、低檔電子產(chǎn)品。 (3 3)高級產(chǎn)品,如

7、)高級產(chǎn)品,如PIC17CXXPIC17CXX和和PIC18CXXPIC18CXX系列。特點(diǎn):速度快,指系列。特點(diǎn):速度快,指 令周期最短為令周期最短為160ns160ns,在一些應(yīng)用場合可取代,在一些應(yīng)用場合可取代DSPDSP,廣泛應(yīng)用,廣泛應(yīng)用 于中高檔電子設(shè)備。于中高檔電子設(shè)備。 根據(jù)溫度,根據(jù)溫度,PICPIC單片機(jī)的所有型號又都有商用級(單片機(jī)的所有型號又都有商用級(00+70+70)、)、 工業(yè)級(工業(yè)級(-40-40+85+85)和汽車級()和汽車級(-40-40+125 +125 )芯片。)芯片。 7.1.2 PIC單片機(jī)選型指南 PICPIC系列系列8 8位單片機(jī)選擇表位單片

8、機(jī)選擇表1 1 管腳管腳類型類型具體型號具體型號 8 8 基本級基本級PIC12C508,PIC12C509,PIC12CE518,PIC12CE519 中級中級PIC12C671,PIC12C672,PIC12CE673,PIC12CE674 高級高級PIC18F010,PIC18F020,PIC18F012,PIC18F022 1414基本級基本級PIC16C505,PIC16F508 18/2018/20 基本級基本級PIC16C52,PIC16C54,PIC16C56,PIC16C58,PIC16HV540 中級中級 PIC16C554,PIC16C558,PIC16C432,PIC1

9、6C433,PIC16C620 PIC16C621,PIC16CE623,PIC16CE624,PIC16CE625,PIC16F627 PIC16F628,PIC16C710,PIC16C71,PIC16C711,PIC16C715 PIC16C712,PIC16C716,PIC16C717,PIC16C781,PIC16C782 PIC16C770,PIC16C771,PIC16F83,PIC16F84,PIC16F85 PIC16F86,PIC16F812,PIC16F816 7.1.2 PIC單片機(jī)選型指南 PICPIC系列系列8 8位單片機(jī)選擇表位單片機(jī)選擇表2 2 管腳管腳類型類型

10、具體型號具體型號 2828 基本級基本級PIC16C55,PIC16C57 中級中級 PIC16C62,PIC16C63,PIC16C66,PIC16C642,PIC16C72 PIC16C73,PIC16C76,PIC16F73,PIC16F76,PIC16C745 PIC16C773,PIC16F870,PICA6F872,PIC16F873,PIC16F876 PIC14000 高級高級PIC18F2331,PIC18F2420,PIC18F2520,PIC18F2480,PIC18F2580 40/4440/44 中級中級 PIC16C64,PIC16C65,PIC16C67,PIC1

11、6C661,PIC16C662 PIC16C74,PIC16C77,PIC16C765,PIC16C774,PIC16F74 PIC16F77,PIC16F874,PIC16F877 高級高級 PIC17C(R)42,PIC17C(R)43,PIC17C44,PIC18F4321 PIC18F4420,PIC18F4520,PIC18F4480,PIC18F4580 64/6864/68 中級中級PIC16C923,PIC16C924,PIC16C925,PIC16C926 高級高級PIC17C752,PIC17C756,PIC18F6520,PIC18F6622 PIC18F6722,PIC

12、18F6585,PIC18F6680 7.2.1 主要資源及引腳功能 7.2.2 中央處理器 7.2.3 存儲器結(jié)構(gòu) 7.2.4 特殊功能寄存器 7.2.5 系統(tǒng)配置字 7.2.6 看門狗 7.2 PIC16C54單片機(jī)的硬件結(jié)構(gòu) 7.2.1 主要資源及引腳功能:主要資源 PIC16C54PIC16C54單片機(jī)主要具有下列硬件資源:單片機(jī)主要具有下列硬件資源: (1 1)RISCRISC型型8 8位中央處理器(位中央處理器(CPUCPU);); (2 2)3232字節(jié)的片內(nèi)數(shù)據(jù)存儲器字節(jié)的片內(nèi)數(shù)據(jù)存儲器RAMRAM; (3 3)5125121212位程序存儲器;位程序存儲器; (4 4)采用數(shù)

13、據(jù)總線和指令總線分離的哈佛結(jié)構(gòu);)采用數(shù)據(jù)總線和指令總線分離的哈佛結(jié)構(gòu); (5 5)1212位雙向輸入位雙向輸入/ /輸出口;輸出口; (6 6)1 1個(gè)帶預(yù)分頻器的個(gè)帶預(yù)分頻器的8 8位定時(shí)位定時(shí)/ /計(jì)數(shù)器,簡稱計(jì)數(shù)器,簡稱TIMER0TIMER0; (7 7)兩級硬件堆棧;)兩級硬件堆棧; (8 8)復(fù)位電路:內(nèi)部集成了上電復(fù)位電路和看門狗復(fù)位電路;)復(fù)位電路:內(nèi)部集成了上電復(fù)位電路和看門狗復(fù)位電路; (9 9)時(shí)鐘電路:支持)時(shí)鐘電路:支持4 4種振蕩類型,工作頻率范圍為種振蕩類型,工作頻率范圍為0 020MHz20MHz。 PIC16C5XPIC16C5X系列單片機(jī)的內(nèi)部結(jié)構(gòu)框圖系列

14、單片機(jī)的內(nèi)部結(jié)構(gòu)框圖 7.2.1 主要資源及引腳功能:主要資源 PIC16C54PIC16C54單片機(jī)共有單片機(jī)共有1818個(gè)引腳,各個(gè)引腳的功能如下:個(gè)引腳,各個(gè)引腳的功能如下: (1 1)VDDVDD:電源正極。額定電壓為:電源正極。額定電壓為5V5V,可工作電壓范圍,可工作電壓范圍2.52.56.25V6.25V。 (2 2)VSSVSS:電源負(fù)極,即地線。:電源負(fù)極,即地線。 (3 3)OSC1/CLKINOSC1/CLKIN:振蕩信號輸入端。:振蕩信號輸入端。 (4 4)OSC2/CLKOUTOSC2/CLKOUT:振蕩信號輸出端:振蕩信號輸出端 (5 5)#MCLR#MCLR:復(fù)位

15、端,內(nèi)帶施密特電路。該引腳為低時(shí)單片機(jī)復(fù)位。:復(fù)位端,內(nèi)帶施密特電路。該引腳為低時(shí)單片機(jī)復(fù)位。 (6 6)TOCKITOCKI:TIMER0TIMER0的外部計(jì)數(shù)輸入端,內(nèi)帶施密特電路。當(dāng)?shù)耐獠坑?jì)數(shù)輸入端,內(nèi)帶施密特電路。當(dāng)TIMER0TIMER0 設(shè)置為定時(shí)器時(shí),為避免干擾,應(yīng)將其接設(shè)置為定時(shí)器時(shí),為避免干擾,應(yīng)將其接VDDVDD或或VSSVSS。 (7 7)RA0RA0RA3RA3:端口:端口A A。它是。它是4 4位的雙向三態(tài)位的雙向三態(tài)I/OI/O口,可以位操作,每口,可以位操作,每 一位可單獨(dú)定義為輸入或輸出。一位可單獨(dú)定義為輸入或輸出。 (8 8)RB0RB0RB7RB7:端口:端

16、口B B。它是。它是8 8位的雙向三態(tài)位的雙向三態(tài)I/OI/O口,可以位操作,每口,可以位操作,每 一位可單獨(dú)定義為輸入或輸出。一位可單獨(dú)定義為輸入或輸出。 7.2.1 主要資源及引腳功能:引腳功能 PIC16C5X PIC16C5X系列其它型號單片機(jī)的結(jié)構(gòu)與系列其它型號單片機(jī)的結(jié)構(gòu)與PIC16C54PIC16C54單片機(jī)的單片機(jī)的 結(jié)構(gòu)基本相同,只是具有更多的結(jié)構(gòu)基本相同,只是具有更多的I/OI/O引腳和更大的存儲器空間,引腳和更大的存儲器空間, 例如例如PIC16C55PIC16C55單片機(jī)有單片機(jī)有2020個(gè)個(gè)I/OI/O口,口,PIC16C56PIC16C56單片機(jī)有單片機(jī)有1K1K的

17、程的程 序存儲器。此外,序存儲器。此外,C C系列的系列的PICPIC單片機(jī)均采用單片機(jī)均采用OTPOTP型程序存儲器,型程序存儲器, 相比同類產(chǎn)品具有較好的價(jià)格優(yōu)勢,而對應(yīng)的相比同類產(chǎn)品具有較好的價(jià)格優(yōu)勢,而對應(yīng)的F F系列則采用系列則采用 FLASHFLASH程序存儲器。程序存儲器。 7.2.1 主要資源及引腳功能:引腳功能 PIC16C54PIC16C54單片機(jī)引腳定義圖單片機(jī)引腳定義圖 7.2.1 主要資源及引腳功能:引腳功能 7.2.2 中央處理器:時(shí)鐘 PIC16C54PIC16C54單片機(jī)支持以下種時(shí)鐘振蕩類型:單片機(jī)支持以下種時(shí)鐘振蕩類型: (1 1)LPLP型:低功率晶體振蕩

18、,適用頻率范圍為型:低功率晶體振蕩,適用頻率范圍為32KHz32KHz40KHz40KHz; (2 2)XTXT型:標(biāo)準(zhǔn)晶體型:標(biāo)準(zhǔn)晶體/ /陶瓷振蕩,適用頻率范圍為陶瓷振蕩,適用頻率范圍為100KHz100KHz4MHz4MHz; (3 3)HSHS型:高速晶體振蕩,適用的頻率范圍為型:高速晶體振蕩,適用的頻率范圍為4MHz4MHz20MHz20MHz; (4 4)RCRC型:阻容振蕩。型:阻容振蕩。 LPLP型、型、XTXT型和型和HSHS型振蕩器既能通過晶體與片上振蕩器配合產(chǎn)生時(shí)鐘,型振蕩器既能通過晶體與片上振蕩器配合產(chǎn)生時(shí)鐘, 也可以直接作為外部時(shí)鐘源。在也可以直接作為外部時(shí)鐘源。在R

19、CRC型振蕩器中,型振蕩器中,R R的典型值為的典型值為3K3K100K100K, C C的典型值不小于的典型值不小于20pF20pF。RCRC型振蕩器有利于降低系統(tǒng)成本,但是振蕩頻型振蕩器有利于降低系統(tǒng)成本,但是振蕩頻 率精確性較差,只適用于時(shí)間精確度要求不高的應(yīng)用場合。率精確性較差,只適用于時(shí)間精確度要求不高的應(yīng)用場合。 PIC16C54PIC16C54單片機(jī)的時(shí)鐘電路如下圖所示:單片機(jī)的時(shí)鐘電路如下圖所示: (1 1)當(dāng))當(dāng)PIC16C54PIC16C54單片機(jī)使用外部晶體振蕩器時(shí),單片機(jī)使用外部晶體振蕩器時(shí),OSC1OSC1引腳和引腳和 OSC2OSC2引腳分別接晶體的兩端;引腳分別接

20、晶體的兩端; (2 2)當(dāng))當(dāng)PIC16C54PIC16C54單片機(jī)使用外部振蕩信號時(shí),單片機(jī)使用外部振蕩信號時(shí),OSC1OSC1引腳接振蕩引腳接振蕩 信號,信號,OSC2OSC2引腳懸空;引腳懸空; (3 3)當(dāng))當(dāng)PIC16C54PIC16C54單片機(jī)使用單片機(jī)使用RCRC振蕩器時(shí),振蕩器時(shí),OSC1OSC1接接RCRC電路,電路,OSC2OSC2 引腳輸出頻率為振蕩器頻率引腳輸出頻率為振蕩器頻率1/41/4的時(shí)鐘信號。的時(shí)鐘信號。 7.2.2 中央處理器:時(shí)鐘 使用片外晶體使用片外晶體 (適用于(適用于HSHS、XTXT、LPLP型)型) RCRC振蕩型時(shí)鐘電路振蕩型時(shí)鐘電路 使用外部時(shí)

21、鐘源使用外部時(shí)鐘源 (適用于(適用于HSHS、XTXT、LPLP型)型) 7.2.2 中央處理器:時(shí)鐘 PIC16C54PIC16C54單片機(jī)主要有以下單片機(jī)主要有以下3 3種復(fù)位方式:種復(fù)位方式: (1 1)上電復(fù)位()上電復(fù)位(Power on ResetPower on Reset,簡稱,簡稱PORPOR)。單片機(jī)內(nèi)部集成有)。單片機(jī)內(nèi)部集成有 上電復(fù)位電路,即上電復(fù)位電路,即PORPOR電路。上電復(fù)位時(shí),引腳電路。上電復(fù)位時(shí),引腳#MCLR#MCLR可以接可以接 VDDVDD也可以懸空,但兩種情況下復(fù)位的時(shí)序不同。也可以懸空,但兩種情況下復(fù)位的時(shí)序不同。 (2 2)手動復(fù)位。當(dāng)引腳)手

22、動復(fù)位。當(dāng)引腳#MCLR#MCLR為低電平時(shí),單片機(jī)進(jìn)入復(fù)位狀態(tài);為低電平時(shí),單片機(jī)進(jìn)入復(fù)位狀態(tài); 當(dāng)引腳當(dāng)引腳#MCLR#MCLR恢復(fù)為高電平時(shí),恢復(fù)為高電平時(shí),DRTDRT開始計(jì)時(shí),并繼續(xù)保持復(fù)開始計(jì)時(shí),并繼續(xù)保持復(fù) 位狀態(tài);位狀態(tài);DRTDRT計(jì)時(shí)計(jì)時(shí)18ms18ms后溢出,完成手動復(fù)位。后溢出,完成手動復(fù)位。 (3 3)看門狗()看門狗(WDTWDT)復(fù)位:單片機(jī)內(nèi)部集成有看門狗電路,它使用)復(fù)位:單片機(jī)內(nèi)部集成有看門狗電路,它使用 獨(dú)立的內(nèi)部獨(dú)立的內(nèi)部RCRC振蕩電路,當(dāng)計(jì)時(shí)溢出時(shí)對單片機(jī)復(fù)位。看門振蕩電路,當(dāng)計(jì)時(shí)溢出時(shí)對單片機(jī)復(fù)位??撮T 狗的基本溢出周期為狗的基本溢出周期為18ms

23、18ms。 7.2.2 中央處理器:復(fù)位 上電復(fù)位過程上電復(fù)位過程: : (1 1)如果引腳)如果引腳#MCLR#MCLR接接VDDVDD,上電時(shí),上電時(shí)PORPOR電路產(chǎn)生復(fù)位信號,引腳電路產(chǎn)生復(fù)位信號,引腳 #MCLR#MCLR隨隨VDDVDD一同上升;當(dāng)它達(dá)到一同上升;當(dāng)它達(dá)到“1”1”時(shí),復(fù)位定時(shí)器時(shí),復(fù)位定時(shí)器DRTDRT開開 始計(jì)時(shí),并繼續(xù)保持復(fù)位狀態(tài);始計(jì)時(shí),并繼續(xù)保持復(fù)位狀態(tài);DRTDRT計(jì)時(shí)計(jì)時(shí)18ms18ms后溢出,完成上后溢出,完成上 電復(fù)位。這里電復(fù)位。這里18ms18ms是是DRTDRT的計(jì)時(shí)周期的計(jì)時(shí)周期TDRTTDRT。 (2 2)如果引腳)如果引腳#MCLR#M

24、CLR懸空,上電時(shí)懸空,上電時(shí)VDDVDD迅速升高并由迅速升高并由PORPOR電路產(chǎn)生復(fù)電路產(chǎn)生復(fù) 位信號,引腳位信號,引腳#MCLR#MCLR仍為低電平,單片機(jī)仍處于復(fù)位狀態(tài);待仍為低電平,單片機(jī)仍處于復(fù)位狀態(tài);待 引腳引腳#MCLR#MCLR變?yōu)楦唠娖胶螅優(yōu)楦唠娖胶?,DRTDRT開始計(jì)時(shí),并繼續(xù)保持復(fù)位狀開始計(jì)時(shí),并繼續(xù)保持復(fù)位狀 態(tài);態(tài);DRTDRT計(jì)時(shí)計(jì)時(shí)18ms18ms后溢出,完成上電復(fù)位。后溢出,完成上電復(fù)位。 7.2.2 中央處理器:復(fù)位 引腳引腳#MCLR#MCLR接接VDDVDD時(shí)的上電復(fù)位過程時(shí)的上電復(fù)位過程引腳引腳#MCLR#MCLR懸空時(shí)的上電復(fù)位過程懸空時(shí)的上電復(fù)位

25、過程 7.2.2 中央處理器:復(fù)位 復(fù)位后部分寄存器的狀態(tài)復(fù)位后部分寄存器的狀態(tài) 寄存器寄存器 內(nèi)容內(nèi)容 寄存器寄存器 內(nèi)容內(nèi)容 上電復(fù)位上電復(fù)位手動或手動或WDTWDT上電復(fù)位上電復(fù)位手動或手動或WDTWDT W W不確定不確定不變不變STATUSSTATUS00011XXXB00011XXXB000QQUUUB000QQUUUB INDFINDF不確定不確定不變不變PCLPCLFFHFFHFFHFFH TMR0TMR0不確定不確定不變不變FSRFSR1XXXXXXXB1XXXXXXXB1UUUUUUUB1UUUUUUUB PORTAPORTA不確定不確定不變不變TRISTRISFFHFFH

26、FFHFFH PORTBPORTB不確定不確定不變不變OPTIONOPTION3FH3FH3FH3FH 注:注:XX不確定,不確定,UU不變,不變,QQ特定值,特定值,BB二進(jìn)制數(shù),二進(jìn)制數(shù),HH十六進(jìn)制數(shù)十六進(jìn)制數(shù) 7.2.2 中央處理器:復(fù)位 如下圖所示,如下圖所示,PIC16C54PIC16C54單片機(jī)的將輸入時(shí)鐘單片機(jī)的將輸入時(shí)鐘4 4分頻形成分頻形成4 4個(gè)個(gè) 互不重疊的節(jié)拍互不重疊的節(jié)拍Q1Q1,Q2Q2,Q3Q3,Q4Q4,它們構(gòu)成單片機(jī)的一個(gè),它們構(gòu)成單片機(jī)的一個(gè)“指指 令周期令周期”,每個(gè)指令周期包含,每個(gè)指令周期包含4 4個(gè)振蕩周期。個(gè)振蕩周期。 PIC16C54PIC16

27、C54單片機(jī)所有的微操作都同步于節(jié)拍的上升沿。在單片機(jī)所有的微操作都同步于節(jié)拍的上升沿。在 Q1Q1節(jié)拍,程序計(jì)數(shù)器節(jié)拍,程序計(jì)數(shù)器PCPC加加1 1;指令碼在;指令碼在Q4Q4節(jié)拍從程序存儲器中取節(jié)拍從程序存儲器中取 出,并鎖存于指令寄存器中,在下一指令周期被譯碼并執(zhí)行。出,并鎖存于指令寄存器中,在下一指令周期被譯碼并執(zhí)行。 因此,取指令與執(zhí)行指令是并行進(jìn)行的,加快了指令執(zhí)行速度。因此,取指令與執(zhí)行指令是并行進(jìn)行的,加快了指令執(zhí)行速度。 7.2.2 中央處理器:時(shí)序 PIC16C54PIC16C54單片機(jī)的時(shí)序單片機(jī)的時(shí)序 7.2.2 中央處理器:時(shí)序 7.2.3 存儲器結(jié)構(gòu):程序存儲器 P

28、IC16C54 PIC16C54單片機(jī)的程序存儲器采用單片機(jī)的程序存儲器采用OTPOTP型型EPROMEPROM,存,存 儲空間為儲空間為1212位位512512字,地址指針為字,地址指針為9 9位的程序計(jì)數(shù)器位的程序計(jì)數(shù)器PCPC, 如下圖所示。如下圖所示。 PICPIC單片機(jī)的所有指令都是單字指令,但不同級別單單片機(jī)的所有指令都是單字指令,但不同級別單 片機(jī)的指令字長有時(shí)不同。片機(jī)的指令字長有時(shí)不同。PIC16C54PIC16C54單片機(jī)的字長是單片機(jī)的字長是1212 位。有些型號的位。有些型號的PICPIC單片機(jī)具有更大的程序存儲空間,它單片機(jī)具有更大的程序存儲空間,它 們通常被分為若干

29、頁(們通常被分為若干頁(PagePage)。)。 PIC16C54PIC16C54單片機(jī)的程序存儲器空間單片機(jī)的程序存儲器空間 7.2.3 存儲器結(jié)構(gòu):程序存儲器 PIC16C54 PIC16C54片內(nèi)有片內(nèi)有3232個(gè)個(gè)8 8位的數(shù)據(jù)存儲器位的數(shù)據(jù)存儲器RAMRAM,為了方便編程,它們被,為了方便編程,它們被 當(dāng)作寄存器來尋址使用。數(shù)據(jù)存儲器當(dāng)作寄存器來尋址使用。數(shù)據(jù)存儲器RAMRAM按功能可分為特殊功能寄存器按功能可分為特殊功能寄存器 組和通用寄存器組,它們都具有位尋址能力,可以進(jìn)行位操作。在數(shù)據(jù)組和通用寄存器組,它們都具有位尋址能力,可以進(jìn)行位操作。在數(shù)據(jù) 存儲器區(qū),特殊功能寄存器有存儲

30、器區(qū),特殊功能寄存器有7 7個(gè);通用寄存器有個(gè);通用寄存器有2525個(gè)。個(gè)。 有些型號的有些型號的PICPIC單片機(jī)具有更大的數(shù)據(jù)存儲空間,它們通常被分為單片機(jī)具有更大的數(shù)據(jù)存儲空間,它們通常被分為 若干區(qū)(若干區(qū)(BankBank), ,例如例如PIC16C57PIC16C57單片機(jī)的數(shù)據(jù)存儲空間就被分為單片機(jī)的數(shù)據(jù)存儲空間就被分為4 4個(gè)區(qū)。個(gè)區(qū)。 程序員在同一時(shí)刻只能訪問同區(qū)內(nèi)的數(shù)據(jù)存儲器,跨區(qū)訪問時(shí)必須先通程序員在同一時(shí)刻只能訪問同區(qū)內(nèi)的數(shù)據(jù)存儲器,跨區(qū)訪問時(shí)必須先通 過過FSRFSR寄存器改變區(qū)號。寄存器改變區(qū)號。 7.2.3 存儲器結(jié)構(gòu):數(shù)據(jù)存儲器 PIC16C54CPIC16C5

31、4C的數(shù)據(jù)空間的數(shù)據(jù)空間 PIC16C57PIC16C57的數(shù)據(jù)空間的數(shù)據(jù)空間 7.2.3 存儲器結(jié)構(gòu):數(shù)據(jù)存儲器 PIC16C54 PIC16C54單片機(jī)有單片機(jī)有2 2級硬件堆棧,因此最多只能嵌級硬件堆棧,因此最多只能嵌 套調(diào)用套調(diào)用2 2級子程序。級子程序。PICPIC系列單片機(jī)的堆棧不占用程序存系列單片機(jī)的堆棧不占用程序存 儲器和數(shù)據(jù)存儲器空間。儲器和數(shù)據(jù)存儲器空間。 7.2.3 存儲器結(jié)構(gòu):堆棧 PIC16C54PIC16C54單片機(jī)的特殊功能寄存器的地址及功能單片機(jī)的特殊功能寄存器的地址及功能 符號符號地址地址功能介紹功能介紹符號符號地址地址功能介紹功能介紹 INDFINDF00H

32、00H間址寄存器間址寄存器PORTAPORTA05H05HPORTAPORTA口口 TMR0TMR001H01H8 8位計(jì)數(shù)位計(jì)數(shù)/ /定時(shí)寄存器定時(shí)寄存器PORTBPORTB06H06HPORTBPORTB口口 PCLPCL02H02HPCPC的低的低8 8位位W WN/AN/A工作寄存器工作寄存器 STATUSSTATUS03H03H程序狀態(tài)字程序狀態(tài)字TRISTRISN/AN/AI/OI/O方向控制寄存器方向控制寄存器 FSRFSR04H04H數(shù)據(jù)空間間接尋址指針數(shù)據(jù)空間間接尋址指針OPTIONOPTIONN/AN/ATIMER0TIMER0和和WDTWDT控制寄存器控制寄存器 7.2.

33、4 特殊功能寄存器 PIC16C54 PIC16C54單片機(jī)有單片機(jī)有7 7個(gè)具有特殊功能的寄存器:間址寄存器個(gè)具有特殊功能的寄存器:間址寄存器 INDFINDF、8 8位定時(shí)位定時(shí)/ /計(jì)數(shù)寄存器計(jì)數(shù)寄存器TMR0TMR0、程序計(jì)數(shù)器的低、程序計(jì)數(shù)器的低8 8位位PCLPCL、狀態(tài)、狀態(tài) 寄存器寄存器STATUSSTATUS、存儲體選擇寄存器、存儲體選擇寄存器FSRFSR、I/OI/O寄存器寄存器PORTAPORTA和和I/OI/O寄寄 存器存器PORTBPORTB;它們占有內(nèi)部;它們占有內(nèi)部RAMRAM空間的低空間的低7 7字節(jié)地址。字節(jié)地址。 此外,它還有此外,它還有3 3個(gè)特殊寄存器:

34、個(gè)特殊寄存器:W W、TRISTRIS和和OPTIONOPTION,它們不占,它們不占 用數(shù)據(jù)存儲器空間或程序存儲器空間。用數(shù)據(jù)存儲器空間或程序存儲器空間。 下面對這些寄存器分別進(jìn)行介紹。下面對這些寄存器分別進(jìn)行介紹。 7.2.4 特殊功能寄存器 (1 1)W W寄存器:它是最常用的工作寄存器,不可尋址,用來存放指令中寄存器:它是最常用的工作寄存器,不可尋址,用來存放指令中 的第二個(gè)操作數(shù),或進(jìn)行內(nèi)部數(shù)據(jù)傳送,或存放運(yùn)算結(jié)果。的第二個(gè)操作數(shù),或進(jìn)行內(nèi)部數(shù)據(jù)傳送,或存放運(yùn)算結(jié)果。 (2 2)INDFINDF:間址寄存器。它只是一個(gè)邏輯寄存器,物理上不存在,對:間址寄存器。它只是一個(gè)邏輯寄存器,物

35、理上不存在,對 它尋址相當(dāng)于對由它尋址相當(dāng)于對由FSRFSR指示的寄存器進(jìn)行間接尋址。指示的寄存器進(jìn)行間接尋址。 (3 3)PORTAPORTA、PORTBPORTB:2 2個(gè)并行個(gè)并行I/OI/O口的寄存器??诘募拇嫫?。PORTAPORTA僅低僅低4 4位有效,對位有效,對 應(yīng)引腳應(yīng)引腳RA0RA0RA3RA3;PORTBPORTB的的8 8位都有效,對應(yīng)引腳位都有效,對應(yīng)引腳RB0RB0RB7RB7。I/OI/O口口 作為輸入時(shí)沒有鎖存,外部信號必須保持至作為輸入時(shí)沒有鎖存,外部信號必須保持至CPUCPU讀入為止;作為輸讀入為止;作為輸 出時(shí)有鎖存。復(fù)位后所有出時(shí)有鎖存。復(fù)位后所有I/OI

36、/O口都置成輸入態(tài)。口都置成輸入態(tài)。 (4 4)TRISTRIS:I/OI/O方向控制寄存器,它的每一位對應(yīng)一個(gè)方向控制寄存器,它的每一位對應(yīng)一個(gè)I/OI/O口的方向,口的方向, “1”1”表示輸入,表示輸入,“0”0”表示輸出。表示輸出。TRISTRIS寄存器不可尋址,通過執(zhí)寄存器不可尋址,通過執(zhí) 行行TRISTRIS指令可將指令可將W W寄存器的內(nèi)容寫入寄存器的內(nèi)容寫入TRISTRIS寄存器。寄存器。 7.2.4 特殊功能寄存器 (5 5)TMR0TMR0:帶預(yù)分頻器的:帶預(yù)分頻器的8 8位循環(huán)定時(shí)位循環(huán)定時(shí)/ /計(jì)數(shù)寄存器。計(jì)數(shù)寄存器。TMR0TMR0是定時(shí)是定時(shí)/ /計(jì)計(jì) 數(shù)器數(shù)器TI

37、MER0TIMER0的寄存器,并且可帶有預(yù)分頻器。的寄存器,并且可帶有預(yù)分頻器。TIMER0TIMER0采用遞增采用遞增 方式循環(huán)計(jì)數(shù),當(dāng)計(jì)數(shù)至方式循環(huán)計(jì)數(shù),當(dāng)計(jì)數(shù)至0FFH0FFH時(shí),在下一個(gè)計(jì)數(shù)發(fā)生后,它將時(shí),在下一個(gè)計(jì)數(shù)發(fā)生后,它將 自動清零,重新開始計(jì)數(shù)。自動清零,重新開始計(jì)數(shù)。TIMER0TIMER0的輸入脈沖可以是內(nèi)部時(shí)鐘、的輸入脈沖可以是內(nèi)部時(shí)鐘、 外部信號或是預(yù)分頻器的輸出。外部信號或是預(yù)分頻器的輸出。TMR0TMR0寄存器對所有輸入脈沖的寄存器對所有輸入脈沖的 響應(yīng)延遲時(shí)間都是響應(yīng)延遲時(shí)間都是2 2個(gè)指令周期。當(dāng)使用外部信號時(shí),它的脈沖個(gè)指令周期。當(dāng)使用外部信號時(shí),它的脈沖

38、寬度不得小于寬度不得小于1/21/2指令周期。預(yù)分頻器的輸入脈沖可以是內(nèi)部時(shí)指令周期。預(yù)分頻器的輸入脈沖可以是內(nèi)部時(shí) 鐘或外部信號,用外部信號時(shí)其頻率不能超過鐘或外部信號,用外部信號時(shí)其頻率不能超過50MHz50MHz;輸出脈沖;輸出脈沖 寬度不得小于寬度不得小于1 1個(gè)指令周期。通過設(shè)置個(gè)指令周期。通過設(shè)置OPTIONOPTION寄存器,可以配置寄存器,可以配置 TIMER0TIMER0的時(shí)鐘源和預(yù)分頻器。通過讀取的時(shí)鐘源和預(yù)分頻器。通過讀取TMR0TMR0寄存器,可以實(shí)現(xiàn)寄存器,可以實(shí)現(xiàn) 定時(shí)定時(shí)/ /計(jì)數(shù)的功能。計(jì)數(shù)的功能。 7.2.4 特殊功能寄存器 (6 6)OPTIONOPTION

39、:參數(shù)定義寄存器,用來定義:參數(shù)定義寄存器,用來定義TIMER0TIMER0的時(shí)鐘源和預(yù)分頻的時(shí)鐘源和預(yù)分頻 器的工作參數(shù)。器的工作參數(shù)。OPTIONOPTION寄存器不可尋址,通過執(zhí)行寄存器不可尋址,通過執(zhí)行OPTIONOPTION指令指令 可對它進(jìn)行設(shè)置。由可對它進(jìn)行設(shè)置。由OPTIONOPTION寄存器定義的參數(shù)包括寄存器定義的參數(shù)包括TIMER0TIMER0時(shí)鐘時(shí)鐘 源選擇位源選擇位TOCSTOCS、TIMER0TIMER0時(shí)鐘源觸發(fā)沿選擇位時(shí)鐘源觸發(fā)沿選擇位TOSETOSE、預(yù)分頻控制、預(yù)分頻控制 位位PSAPSA以及預(yù)分頻系數(shù)選擇位以及預(yù)分頻系數(shù)選擇位PS2PS2PS0PS0。 7

40、.2.4 特殊功能寄存器 OPTIONOPTION各位的含義各位的含義 D7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0 T0CST0CST0SET0SEPSAPSAPS2PS2PS1PS1PS0PS0 7.2.4 特殊功能寄存器 OPTIONOPTION各位的功能描述各位的功能描述 位位名稱名稱描述描述 5 5T0CST0CS TIMER0TIMER0時(shí)鐘源選擇位。為時(shí)鐘源選擇位。為1 1時(shí),使用來自時(shí),使用來自TOCKITOCKI引腳的時(shí)引腳的時(shí) 鐘;為鐘;為0 0時(shí),使用內(nèi)部時(shí),使用內(nèi)部CPUCPU時(shí)鐘(等于時(shí)鐘(等于CLKOUTCLKOUT)。)。 4 4T0SET0S

41、E TIMER0TIMER0時(shí)鐘源的觸發(fā)沿選擇位。為時(shí)鐘源的觸發(fā)沿選擇位。為1 1時(shí),時(shí)鐘下跳沿有效;時(shí),時(shí)鐘下跳沿有效; 為為0 0時(shí),時(shí)鐘上跳沿有效。時(shí),時(shí)鐘上跳沿有效。 3 3PSAPSA 預(yù)分頻器控制位。為預(yù)分頻器控制位。為1 1時(shí),預(yù)分頻器提供給時(shí),預(yù)分頻器提供給WDTWDT使用;為使用;為0 0 時(shí),預(yù)分頻提供給時(shí),預(yù)分頻提供給TIMER0TIMER0使用。注意預(yù)分頻不能同時(shí)供使用。注意預(yù)分頻不能同時(shí)供 WDTWDT和和TIMER0TIMER0使用。使用。 2 20 0PS2PS2、PS1PS1、RS0RS0預(yù)分頻系數(shù)選擇位。預(yù)分頻系數(shù)選擇位。 7.2.4 特殊功能寄存器 OPTI

42、ONOPTION與預(yù)分頻系數(shù)的對應(yīng)關(guān)系與預(yù)分頻系數(shù)的對應(yīng)關(guān)系 位值位值TIMER0TIMER0WDTWDT 0000001:21:21:11:1 0010011:41:41:21:2 0100101:81:81:41:4 0110111:161:161:81:8 1001001:321:321:161:16 1011011:641:641:321:32 1101101:1281:1281:641:64 1111111:2561:2561:1281:128 7.2.4 特殊功能寄存器 (7 7)STATUSSTATUS:程序狀態(tài)字,存放:程序狀態(tài)字,存放CPUCPU工作時(shí)的狀態(tài),根據(jù)工作時(shí)的狀態(tài)

43、,根據(jù)STATUSSTATUS的值可的值可 以了解以了解CPUCPU的當(dāng)前狀態(tài),并作出相應(yīng)的處理。的當(dāng)前狀態(tài),并作出相應(yīng)的處理。 (8 8)FSRFSR:數(shù)據(jù)空間間接尋址指針。:數(shù)據(jù)空間間接尋址指針。PIC16C54PIC16C54中中FSRFSR的的Bit0Bit0Bit4Bit4在間在間 接尋址中用來選擇接尋址中用來選擇3232個(gè)數(shù)據(jù)寄存器。個(gè)數(shù)據(jù)寄存器。Bit5Bit5Bit7Bit7為只讀位,恒為為只讀位,恒為1 1。 芯片上電復(fù)位時(shí),芯片上電復(fù)位時(shí),F(xiàn)SRFSR為為1 1,F(xiàn)SRFSR是不定的,因此它可能指是不定的,因此它可能指 向任何一個(gè)向任何一個(gè)BankBank;由于;由于PIC

44、16C54PIC16C54只有一個(gè)只有一個(gè)BankBank,所以上電復(fù)位不,所以上電復(fù)位不 會影響會影響FSRFSR的尋址結(jié)果。芯片手動復(fù)位或者看門狗復(fù)位時(shí),的尋址結(jié)果。芯片手動復(fù)位或者看門狗復(fù)位時(shí),F(xiàn)SRFSR 為為1 1,F(xiàn)SRFSR保持原來的值不變。保持原來的值不變。 7.2.4 特殊功能寄存器 STATUSSTATUS各位的含義各位的含義 D7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0 PA2PA2PA1PA1PA0PA0#TO#TO#PD#PDZ ZDCDCC C 7.2.4 特殊功能寄存器 STATUSSTATUS各位的功能描述各位的功能描述 位位名稱名稱描述描述

45、 7 75 5PA2PA2、PA1PA1、PA0PA0 程序頁選擇位。程序頁選擇位。PA2PA2是保留位。由于是保留位。由于C54C54的程序區(qū)只有一頁的程序區(qū)只有一頁 (512512字節(jié)),所以這字節(jié)),所以這3 3位無效。位無效。 4 4#TO#TO超時(shí)指示位。超時(shí)指示位。 3 3#PD#PD低功耗模式指示位。低功耗模式指示位。 2 2Z Z零標(biāo)志位。當(dāng)工作寄存器內(nèi)容為零時(shí),零標(biāo)志位。當(dāng)工作寄存器內(nèi)容為零時(shí),Z=1Z=1,否則,否則Z=0Z=0。 1 1DCDC半進(jìn)位標(biāo)志。如果低半進(jìn)位標(biāo)志。如果低4 4位向高位向高4 4位有進(jìn)位或借位,其值置位有進(jìn)位或借位,其值置1 1。 0 0C C進(jìn)位

46、標(biāo)志。如果在運(yùn)算時(shí)產(chǎn)生進(jìn)位或借位,其值為進(jìn)位標(biāo)志。如果在運(yùn)算時(shí)產(chǎn)生進(jìn)位或借位,其值為1 1。 7.2.4 特殊功能寄存器 影響影響#PD#PD、#TO#TO的事件的事件 事件事件#TO#TO#PD#PD注注 電源上電電源上電1 11 1 WDTWDT溢出溢出0 0X X不影響不影響#PD#PD SLEEPSLEEP指令指令1 10 0 CLRWDTCLRWDT指令指令1 11 1 SLEEPSLEEP1 10 0 7.2.4 特殊功能寄存器 RESETRESET后的后的#PD#PD、#TO#TO狀態(tài)狀態(tài) #TO#TO#PD#PDRESETRESET產(chǎn)生的原因產(chǎn)生的原因 0 00 0WDTWDT

47、溢時(shí)喚醒溢時(shí)喚醒SLEEPSLEEP 0 01 1WDTWDT溢時(shí)(非溢時(shí)(非SLEEPSLEEP狀態(tài)時(shí))狀態(tài)時(shí)) 1 10 0#MCLR#MCLR端加低電平喚醒端加低電平喚醒SLEEPSLEEP 1 11 1電源上電電源上電 X XX X#MCLR#MCLR端加低電平(非端加低電平(非SLEEPSLEEP狀態(tài)時(shí))狀態(tài)時(shí)) 7.2.4 特殊功能寄存器 7.2.5 系統(tǒng)配置字 在在PICPIC系列單片機(jī)內(nèi)有一種特殊的系統(tǒng)配置字(系列單片機(jī)內(nèi)有一種特殊的系統(tǒng)配置字(Configuration Configuration WordWord),它的主要功能是設(shè)置程序加密位、使能),它的主要功能是設(shè)置程

48、序加密位、使能/ /關(guān)閉看門狗,以及選關(guān)閉看門狗,以及選 擇時(shí)鐘振蕩類型,下面給出了系統(tǒng)配置字各位的含義與功能描述。系擇時(shí)鐘振蕩類型,下面給出了系統(tǒng)配置字各位的含義與功能描述。系 統(tǒng)配置字獨(dú)立于程序存儲區(qū)之外,在統(tǒng)配置字獨(dú)立于程序存儲區(qū)之外,在PIC16C54PIC16C54單片機(jī)內(nèi)部它的地址為單片機(jī)內(nèi)部它的地址為 1FFEH1FFEH1FFFH1FFFH。 下面這段程序用于設(shè)置系統(tǒng)配置字,執(zhí)行的結(jié)果是不對程序加密,下面這段程序用于設(shè)置系統(tǒng)配置字,執(zhí)行的結(jié)果是不對程序加密, 使能看門狗,并選擇標(biāo)準(zhǔn)晶體使能看門狗,并選擇標(biāo)準(zhǔn)晶體/ /陶瓷振蕩型(陶瓷振蕩型(XTXT型)時(shí)鐘。型)時(shí)鐘。 _CON

49、FIG B111111111101_CONFIG B111111111101 系統(tǒng)配置字各位的含義系統(tǒng)配置字各位的含義 D11D11D10D10D9D9D8D8D7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0 CPCPCPCPCPCPCPCPCPCPCPCPCPCPCPCPCPCPWDTEWDTEF0SC1F0SC1FOSC0FOSC0 7.2.5 系統(tǒng)配置字 系統(tǒng)配置字的各位的功能描述系統(tǒng)配置字的各位的功能描述 位位名稱名稱描述描述 11113 3CPCP程序加密位。為程序加密位。為1 1時(shí),不加密;為時(shí),不加密;為0 0時(shí),程序加密。時(shí),程序加密。 2 2WDTEWDTE看

50、門狗使能位。為看門狗使能位。為1 1時(shí),時(shí),WDTWDT使能;為使能;為0 0時(shí),時(shí),WDTWDT關(guān)閉。關(guān)閉。 1 10 0FOSC1FOSC1、FOSC0FOSC0時(shí)鐘振蕩類型選擇位。時(shí)鐘振蕩類型選擇位。 7.2.5 系統(tǒng)配置字 時(shí)鐘振蕩類型時(shí)鐘振蕩類型 F0SC1:FOSC0F0SC1:FOSC0振蕩類型振蕩類型 0000LPLP型型低功率晶體振蕩型低功率晶體振蕩型 0101XTXT型型標(biāo)準(zhǔn)晶體標(biāo)準(zhǔn)晶體/ /陶瓷振蕩型陶瓷振蕩型 1010HSHS型型高速晶體振蕩型高速晶體振蕩型 1111RCRC型型阻容振蕩型阻容振蕩型 7.2.5 系統(tǒng)配置字 7.2.6 看門狗 看門狗看門狗WDTWDT(

51、Watch Dog TimerWatch Dog Timer)是一種用來防止單片機(jī)程序)是一種用來防止單片機(jī)程序 運(yùn)行運(yùn)行“失控失控”的電路,它利用獨(dú)立的計(jì)時(shí)器計(jì)時(shí),如果由于程序的電路,它利用獨(dú)立的計(jì)時(shí)器計(jì)時(shí),如果由于程序 失控導(dǎo)致失控導(dǎo)致WDTWDT在規(guī)定的時(shí)間內(nèi)不能被清零,那么在規(guī)定的時(shí)間內(nèi)不能被清零,那么WDTWDT計(jì)時(shí)器溢出時(shí)計(jì)時(shí)器溢出時(shí) 將產(chǎn)生復(fù)位信號,使得單片機(jī)重新啟動。將產(chǎn)生復(fù)位信號,使得單片機(jī)重新啟動。 PIC16C54PIC16C54單片機(jī)內(nèi)部集成一個(gè)自振式的單片機(jī)內(nèi)部集成一個(gè)自振式的RCRC振蕩計(jì)時(shí)器,即使振蕩計(jì)時(shí)器,即使 芯片時(shí)鐘停止振蕩,看門狗依然能正常工作。通過設(shè)置系

52、統(tǒng)配置芯片時(shí)鐘停止振蕩,看門狗依然能正常工作。通過設(shè)置系統(tǒng)配置 字,可以使能字,可以使能/ /關(guān)閉看門狗;通過設(shè)置關(guān)閉看門狗;通過設(shè)置OPTIONOPTION寄存器,可以將預(yù)分寄存器,可以將預(yù)分 頻器提供給看門狗,調(diào)整它的溢出周期??撮T狗的基本溢出周期頻器提供給看門狗,調(diào)整它的溢出周期??撮T狗的基本溢出周期 為為18ms18ms,由于最大分頻比達(dá),由于最大分頻比達(dá)1:1281:128,所以看門狗的最大溢出周期約,所以看門狗的最大溢出周期約 為為2.52.5秒。秒。 7.3.1 指令格式 7.3.2 尋址方式 7.3.3 PIC16C5X的指令集 7.3.4 PIC16C5X指令詳解 7.3 P

53、IC16C5X系列單片機(jī)的指令系統(tǒng) 7.3 PIC16C5X系列單片機(jī)的指令系統(tǒng) PIC PIC單片機(jī)采用精簡指令集,其指令數(shù)量少且都是單字指令。不單片機(jī)采用精簡指令集,其指令數(shù)量少且都是單字指令。不 同級別同級別PICPIC單片機(jī)的指令集略有不同。其中,基本級有單片機(jī)的指令集略有不同。其中,基本級有3333條指令,指條指令,指 令字長為令字長為1212位,如位,如PIC16C54PIC16C54;中級有;中級有3535條指令,每條指令字長條指令,每條指令字長1414位,位, 如如PIC16C73PIC16C73;高級共有;高級共有5858條指令,指令字長條指令,指令字長1616位,如位,如P

54、IC18F4480PIC18F4480。 但是,功能相同的指令對應(yīng)的名稱也相同,使得指令碼的變化對編程但是,功能相同的指令對應(yīng)的名稱也相同,使得指令碼的變化對編程 而言是透明的,從而實(shí)現(xiàn)了匯編語言程序的向下兼容。而言是透明的,從而實(shí)現(xiàn)了匯編語言程序的向下兼容。 本節(jié)以本節(jié)以PIC16C5XPIC16C5X系列單片機(jī)為例,逐一介紹基本級系列單片機(jī)為例,逐一介紹基本級PICPIC系列單片系列單片 機(jī)的機(jī)的3333條指令。條指令。 7.3 PIC16C5X系列單片機(jī)的指令系統(tǒng) 如前所述,特殊功能寄存器如前所述,特殊功能寄存器STATUSSTATUS的低的低5 5位是受指令影響的標(biāo)志位是受指令影響的標(biāo)

55、志 位,它們是超時(shí)標(biāo)志位位,它們是超時(shí)標(biāo)志位#T0#T0、低功耗模式標(biāo)志位、低功耗模式標(biāo)志位#PD#PD、零標(biāo)志位、零標(biāo)志位Z Z、半、半 進(jìn)位位進(jìn)位位DCDC以及進(jìn)位位以及進(jìn)位位C C。這些標(biāo)志位的置位和清零條件參見。這些標(biāo)志位的置位和清零條件參見7.2.47.2.4節(jié)節(jié), , 各指令對標(biāo)志位的具體影響將在指令詳解中說明。各指令對標(biāo)志位的具體影響將在指令詳解中說明。 本節(jié)的常數(shù)采用十進(jìn)制或十六進(jìn)制表示,其中十六進(jìn)制采用本節(jié)的常數(shù)采用十進(jìn)制或十六進(jìn)制表示,其中十六進(jìn)制采用 0 xSS0 xSS格式,如格式,如0 x1F0 x1F。 7.3 PIC16C5X系列單片機(jī)的指令系統(tǒng) 符號定義符號定義

56、 符號符號意義說明意義說明符號符號意義說明意義說明 F F數(shù)據(jù)寄存器(數(shù)據(jù)寄存器(0 x000 x000 x1F0 x1F)labellabel標(biāo)號名稱標(biāo)號名稱 f f數(shù)據(jù)寄存器地址的某數(shù)據(jù)寄存器地址的某1 1位位可有可無可有可無 K K立即數(shù)、常數(shù)或標(biāo)號立即數(shù)、常數(shù)或標(biāo)號()()某寄存器的內(nèi)容某寄存器的內(nèi)容 k k立即數(shù)、常數(shù)或標(biāo)號的某立即數(shù)、常數(shù)或標(biāo)號的某1 1位位寄存器的某一位寄存器的某一位 W W工作寄存器(相當(dāng)于累加器)工作寄存器(相當(dāng)于累加器)2;注釋注釋 指令的指令的4 4個(gè)部分之間用空格隔開,空格可以是個(gè)部分之間用空格隔開,空格可以是1 1個(gè)或多個(gè)。個(gè)或多個(gè)。 (1 1)標(biāo)號)

57、標(biāo)號 標(biāo)號代表指令的符號地址,第一個(gè)字符必須是字母或半角下劃標(biāo)號代表指令的符號地址,第一個(gè)字符必須是字母或半角下劃 線線“_”_”,后面可以是英文、數(shù)字字符、冒號等的組合。標(biāo)號,后面可以是英文、數(shù)字字符、冒號等的組合。標(biāo)號 是指令格式中的可選項(xiàng),沒有標(biāo)號時(shí),指令助記符前面必須保是指令格式中的可選項(xiàng),沒有標(biāo)號時(shí),指令助記符前面必須保 留一個(gè)或多個(gè)空格。留一個(gè)或多個(gè)空格。 (2 2)操作碼助記符)操作碼助記符 操作碼助記符可以是指令助記符,也可以是偽指令及宏命令,操作碼助記符可以是指令助記符,也可以是偽指令及宏命令, 是必選項(xiàng)。是必選項(xiàng)。 (3 3)操作數(shù))操作數(shù) 操作數(shù)由數(shù)值或以符號表示的數(shù)據(jù)或

58、地址值組成,是可選項(xiàng)。操作數(shù)由數(shù)值或以符號表示的數(shù)據(jù)或地址值組成,是可選項(xiàng)。 如果操作數(shù)有兩個(gè),則兩個(gè)操作數(shù)之間用逗號隔開。如果操作數(shù)有兩個(gè),則兩個(gè)操作數(shù)之間用逗號隔開。 (4 4)注釋)注釋 注釋用于程序說明,以便用戶閱讀程序,注釋與指令的其它注釋用于程序說明,以便用戶閱讀程序,注釋與指令的其它 部分之間用分號隔開,是可選項(xiàng)。部分之間用分號隔開,是可選項(xiàng)。 注釋可以單獨(dú)作為一行。在匯編時(shí),它被忽略。注釋可以單獨(dú)作為一行。在匯編時(shí),它被忽略。 7.3.1 指令格式 7.3.2 尋址方式 根據(jù)操作數(shù)的來源,根據(jù)操作數(shù)的來源,PICPIC單片機(jī)指令的尋址方式可分為四單片機(jī)指令的尋址方式可分為四 種

59、:立即數(shù)尋址、直接尋址、寄存器間接尋址和位尋址。下面種:立即數(shù)尋址、直接尋址、寄存器間接尋址和位尋址。下面 對各種尋址方式做簡要的介紹。對各種尋址方式做簡要的介紹。 7.3.2 尋址方式:立即數(shù)尋址 立即數(shù)尋址:操作數(shù)包含在指令中。立即數(shù)尋址:操作數(shù)包含在指令中。 例:例:MOVLW 0 x16MOVLW 0 x16;0 x16(W);0 x16(W) 該例的操作數(shù)該例的操作數(shù)0 x160 x16包含在指令中。匯編后,立即數(shù)包含在包含在指令中。匯編后,立即數(shù)包含在 指令碼中。指令碼中。 7.3.2 尋址方式:直接尋址 直接尋址:直接尋址:PIC16C54PIC16C54共有共有3232個(gè)寄存器

60、,記為個(gè)寄存器,記為F0F0F31F31,對任,對任 何寄存器的訪問都是直接尋址。何寄存器的訪問都是直接尋址。 例:例:MOVWF 8MOVWF 8 ;(W)(F8);(W)(F8) MOVWF 31 MOVWF 31 ;(W)(F31);(W)(F31) 寄存器間接尋址:利用寄存器寄存器間接尋址:利用寄存器INDFINDF和和FSRFSR可以實(shí)現(xiàn)可以實(shí)現(xiàn)“寄存器間接尋寄存器間接尋 址址”。其中,。其中,INDFINDF并不是物理存在的寄存器,而是一個(gè)虛擬的間接尋址并不是物理存在的寄存器,而是一個(gè)虛擬的間接尋址 指針,真正的目標(biāo)寄存器地址保存在指針,真正的目標(biāo)寄存器地址保存在FSRFSR中。對

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論