It計(jì)算機(jī)課件 PIC單片機(jī)第10章_第1頁
It計(jì)算機(jī)課件 PIC單片機(jī)第10章_第2頁
It計(jì)算機(jī)課件 PIC單片機(jī)第10章_第3頁
It計(jì)算機(jī)課件 PIC單片機(jī)第10章_第4頁
It計(jì)算機(jī)課件 PIC單片機(jī)第10章_第5頁
已閱讀5頁,還剩111頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第10章PIC單片機(jī)的可靠運(yùn)行和降耗設(shè)計(jì)

m本章重點(diǎn)圍繞著PIC16F87X系列單片機(jī)在嵌

入式系統(tǒng)的實(shí)際應(yīng)用中,如何確保安全生產(chǎn)、

安全運(yùn)行、增加適應(yīng)性、提高可靠性和降低功

耗等方面的問題進(jìn)行分析。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌1

Cl本章主要介紹的內(nèi)容有:

①系統(tǒng)配置字:定義單片機(jī)部分硬件功能;

②時(shí)鐘系統(tǒng):維持內(nèi)部由數(shù)字電路組成電路的正常工作;

③復(fù)位系統(tǒng):保證單片機(jī)進(jìn)入正常工作狀態(tài)及恢復(fù)正常工

作秩序;

④監(jiān)視定時(shí)器:將陷入死機(jī)狀態(tài)的單片機(jī)強(qiáng)行拉回到正常的

工作狀態(tài)中來;

⑤睡眠與喚醒技術(shù):控制單片機(jī)進(jìn)入低功耗的睡眠狀態(tài)以及

從睡眠狀態(tài)返回到正常工作狀態(tài)的方法。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌2

10.1系統(tǒng)配置字以及特殊存儲(chǔ)單元

m在PIC系列單片機(jī)中,大都設(shè)置了6個(gè)特殊的程序存儲(chǔ)單元,

由用戶自由定義和支配單片機(jī)內(nèi)部部分硬件電路,完成一

些特殊功能的定義—“硬件功能軟件化”。

m對(duì)于PIC16F87X系列單片機(jī)而言,這6個(gè)特殊的程序存儲(chǔ)

單元地址為2000H?2003H、2006H和2007H單元。這些

單元已經(jīng)超出了13位PC(0000H?1FFFH)8M的尋址范

圍,所以用戶是無法直接使用指令訪問。

■這些特殊的存儲(chǔ)單元的內(nèi)容只能在單片機(jī)進(jìn)行程序燒寫和

效驗(yàn)時(shí),借助燒寫器(編程器)進(jìn)行寫入和讀出。對(duì)于

flash結(jié)構(gòu)的程序存儲(chǔ)器,這些單元可以反復(fù)多次擦寫。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌3

圖10.1PIC系列單片機(jī)程序存儲(chǔ)器總體布局圖

0000H

2000H用戶識(shí)別碼K03FFH

\0400H

2001H用戶識(shí)別碼\07FFH用

\0800H

2002H用戶識(shí)別碼戶

\0FFFH程

2003H用戶識(shí)別碼序

\1000H

2004H保留空間\區(qū)

2005H保留空間

2006H器件識(shí)別碼

\1FFFH

2007H系統(tǒng)配置字2000H

2007H

2008H

圖例說明

已配置保留特殊存I

|空間空間儲(chǔ)空間|3FFFH

返回上?次

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌4

10.1.1系統(tǒng)配置字(configurationword)

B在程序存儲(chǔ)器的2007H單元。

口用來為單片機(jī)的用戶自由配置或定義其內(nèi)部一些功能電路

單元性能的選項(xiàng)。

m單片機(jī)生產(chǎn)廠家將一部分“硬件功能軟件化”的設(shè)計(jì)手法,

使單片機(jī)的開發(fā)具有更大的靈活性和更寬的選擇性。

【注】系統(tǒng)配置字各位具體說明是以2000年發(fā)布的最新版

本:《InCircuitSerialProgramming》為準(zhǔn)。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌5

圖10.2系統(tǒng)配置字單元

|CP^

CP0RESV□WRTCPDBODENHCPO/PWRTEWDTEF0SC1FOSCO

bit13bitO

MCP1>CPO:用于flash程序存儲(chǔ)器中的代碼保護(hù)

^儲(chǔ)器8K4K2K

CPI.CPO^^^876/877874/873870/871/872

11放棄保護(hù)放棄保護(hù)放棄保護(hù)

部分保護(hù)

10不支持不支持

1F00H-1FFFH

部分保護(hù)

01不支持不支持

1000H-1FFFH

保護(hù)全部保護(hù)全部保護(hù)全部

00

0000H-1FFFH0000H?OFFFH0000H-03FFH

保護(hù)時(shí):高10位代碼被屏蔽,讀出值為“0”。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌6

|CPICP0RESVWRTCPDLVPBODENCP1CPO/PWRTEWDTEF0SC1F0SC0

bit13bit11bit9bitO

9RESV:正常操作時(shí)為1。

rnWRT:用于flash存儲(chǔ)器燒寫的使能位。

WRT=1,沒有設(shè)置保護(hù)的存儲(chǔ)部分可以通過軟件、調(diào)用

EECON寄存器控制燒寫;

WRT=0,沒有設(shè)置保護(hù)的存儲(chǔ)部分不能通過軟件、使用

EECON寄存器控制燒寫。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌7

CP1CPORESVWRTCPDLVPBODENCP1CPO〃PWRT日WDTEF0SC1FOSCO

bit13bit8bitO

nCPD:用于EEPROM數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)保護(hù);

CPD=1:數(shù)據(jù)保護(hù)功能放棄;

CPD=0:EEPOR中的數(shù)據(jù)被保護(hù)。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌8

BODEI^

|cpijCP0RESV□WRTCPDCP1CPO/PWRTEWDTEF0SC1F0SC0

bit13bit7bitO

BLVP:用于低電壓編程使能控制。

LVP=1:RB3/PGM引腳具有PGM功能,允許低壓編程;

LVP=0:RB3為普通的I/O引腳,燒寫編程高壓必須通過

/MCLR引腳進(jìn)行。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌9

CP1CPORESV-WRTCPDLVPBODENCP1CPO/PWRTEWDTEF0SC1FOSCO

bit13bit6bitO

rnBODEN:用于電源電壓跌落BOR(掉電)復(fù)位使能位。

BODEN=1:BOR功能被使能;

BODEN=0:BOR功能被禁止。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌10

|CPI|CP0RESV□WRTCPDBODENHCPO/PWRTEWDTEF0SC1F0SC0

bit13bit3bitO

d/PWRTE:用于上電延時(shí)定時(shí)器RWRT的啟動(dòng)。

/PWRTE=1:PWRT功能被禁止;

/PWRTE=0:PWRT功能被啟動(dòng)。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌11

CP1CPORESVWRTCPDLVPBODENCP1CPO〃PWRT日WDTEF0SC1FOSCO

bit13bit2bitO

BWDTE:用于看門狗定時(shí)器WDT使能控制。

WDTE=1:WDT被啟動(dòng);

WDTE=0:WDT被禁止。

返回上一次

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌12

CP1CPORESV-WRTCPDLVPBODENCP1CPO/PWRTEWDTEF0SC1FOSCO

bit13bit1bitO

FOSCO、FOSC1:用于系統(tǒng)時(shí)鐘振蕩器模式選擇。

FOSCO、FOSC1=11:RC阻容震蕩方式(使用RC元件);

=10:HS高頻震蕩方式(4MHz以上);

=01:XT標(biāo)準(zhǔn)震蕩方式(200K?4MHz);

=00:LP低頻震蕩方式(200KHZ以下)o

返回上一次

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌13

10.1.2用戶識(shí)別碼ID-用戶使用的代碼

(identificationcode)

■在單片機(jī)內(nèi)部有一個(gè)16位的特殊的存儲(chǔ)區(qū)域,讓用戶編寫4

位16進(jìn)制碼,以作為計(jì)算機(jī)的識(shí)別碼ID。該碼無論什么內(nèi)

容都不會(huì)影響到單片機(jī)的正常運(yùn)行,僅僅是起一個(gè)識(shí)別的

作用。用戶可以利用此碼對(duì)程序(芯片)編號(hào),以便對(duì)芯

片進(jìn)行查詢、識(shí)別和管理。

B該區(qū)域?qū)嶋H上是4個(gè)14位的存儲(chǔ)單元(2000H?2003H),

但按廠家建議僅僅使用每個(gè)單元中的低4位,所以是16位。

■通常,在燒寫程序時(shí),其軟件系統(tǒng)在缺省狀態(tài)時(shí),自動(dòng)的

將程序代碼的效驗(yàn)碼作為用戶識(shí)別碼ID。

結(jié)構(gòu)圖

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌14

10.1.3器件識(shí)別碼一芯片廠家使用的代碼

m在PIC16F87X系列單片機(jī)中,其芯片中增設(shè)了一個(gè)特殊的

存儲(chǔ)單元2006H,其內(nèi)容在出廠前就已經(jīng)固化好了。是用

來識(shí)別單片機(jī)的具體型號(hào),這樣即使芯片上的型號(hào)磨損后

仍可以被廠家識(shí)別。

器件型號(hào)定義位(高9位)保留位(低5位)

PIC16G870001101000XXXXX

PIC16G871001101001XXXXX

PIC16G872001000111XXXXX

PIC16G873001001011XXXXX

PIC16G874001001001XXXXX

PIC16G876001001111XXXXX

PIC16G877001001101XXXXX

2012-湍環(huán)勾圖大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌返回本章目錄

10.2時(shí)鐘系統(tǒng)

BPic系列單片機(jī)設(shè)計(jì)了4種類型的震蕩方式;

B而不同的震蕩頻率所對(duì)應(yīng)的電路結(jié)構(gòu)、參數(shù)各不相同。為

了保證震蕩電路與震蕩頻率處于最佳的匹配狀態(tài),可以同

過參數(shù)的配置得以實(shí)現(xiàn);

1.標(biāo)準(zhǔn)的晶體振蕩器/陶瓷諧振器方式XT;

2.高頻的晶體振蕩器/陶瓷諧振器方式HS(4MHz以上);

3.低頻的晶體振蕩器/陶瓷諧振器方式LP(32.768KHZ);

4.外接電阻、電容元件的阻容震蕩方式RC。

B4種不同的方式各有其特點(diǎn),用戶可根據(jù)具體情況選擇。

用戶在使用編程器燒寫程序代碼時(shí),連同系統(tǒng)配置字的

F0SC0、F0SC1一起固化到芯片中。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌16

10.2.1外接晶體/陶瓷震蕩器(LP/XT/HS)

3由G1、電阻RF構(gòu)成放大器,并與XTAL和電容構(gòu)成三點(diǎn)式自

激多諧振蕩器。

fflG1是受控三態(tài)門,當(dāng)執(zhí)行SLEEP指令時(shí)G1呈現(xiàn)出高阻狀態(tài),

迫使內(nèi)部大多電路停止工作,已達(dá)到降低功耗的目的。

3RS是在HS、XT方式下才使用的電阻,其值為100C〈RS〈lK。

BG2、G3為隔離緩沖電路。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌17

表10.4外接陶瓷振蕩器時(shí)C1、C2建議值

方式頻率C1C2

455kHz68?100pF68?100pF

XT2.0MHz15?68pF15?68pF

4.0MHz15?68pF15?68pF

8.0MHz10?68pF10?68pF

HS

16.0MHz10?22pF10?22pF

【注】電容值越大越有利于振蕩器的工作穩(wěn)定,但會(huì)加

大振蕩器延時(shí)啟動(dòng)時(shí)間

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌18

表10.5外接晶體振蕩器時(shí)C1、C2建議值

方式頻率C1C2

32kHz33pF33pF

LP

200kHz15pF15pF

200kHz47?68pF47?68pF

XT1.0MHz15pF15pF

4.0MHz15pF15pF

4.0MHz15pF15pF

HS8.0MHz15?33pF15?33pF

20.0MHz15?33pF15?33pF

【注】電容值越大越有利于振蕩器的工作穩(wěn)定,但會(huì)加大振蕩器延時(shí)啟

動(dòng)時(shí)間

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌19

1022外接阻容器件(RC)

aRC方式的最大優(yōu)點(diǎn)是成本低廉(幾分錢的成本);

■缺點(diǎn):

①穩(wěn)定性差(由于電阻、電容的穩(wěn)定性差,且標(biāo)稱值有很

大的離散性),其頻率會(huì)隨著溫度、電壓的變化而變化;

②并且對(duì)于同樣的參數(shù),不同的芯片其震蕩頻率也不同。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌20

RC建議值:

3k<Rext<100k

Cext三20pF

m工作原理:

①上電瞬間電容器C上的電壓為0V,所以觸發(fā)器G1輸

出=0V。這樣,場(chǎng)效應(yīng)管截止。此時(shí)電源對(duì)電容C充電;

②隨著時(shí)間的延續(xù),電容器C上的電壓逐漸升高,當(dāng)

Vc超過觸發(fā)器的門限值后,G1翻轉(zhuǎn)為高電平。G1輸出的

高電平有使場(chǎng)效應(yīng)管導(dǎo)通并飽和,使管子的源極與漏極之

間導(dǎo)通,使電容器上的電荷迅速放掉,這樣觸發(fā)器重新截

止并導(dǎo)致場(chǎng)效應(yīng)管再次截止。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌21

9Vdd

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌22

表10.6外接RC時(shí)的Rext和Cext建議值

CextRext頻率誤差率

3.3KQ4.973MHz±27%

5KQ3.82MHz±21%

20pF

10KQ2.22MHz±21%

100KQ0.26215MHz±31%

3.3KQ1.63MHz±13%

5KQ1.19MHz±13%

100pF

10KQ0.68464MHz±18%

100KQ0.07156MHz±25%

3.3KQ660.0KHZ±10%

5KQ484.1KHz±14%

300pF

10KQ267.63KHZ±15%

100KQ29.44KHZ±19%

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌23

1023引入外來時(shí)鐘源(LP/XT/HS)

B當(dāng)單片機(jī)系統(tǒng)配置字將時(shí)鐘設(shè)定為L(zhǎng)P/XT/HS方式時(shí),可

以使用外部引入的時(shí)鐘信號(hào),此時(shí)信號(hào)從OSC1腳輸入,

OSC2腳開路即可。

來自外OSC1

部時(shí)鐘__(_C_L_K__IN__)________

PIC16

開路-——IOSC2

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌24

外接并聯(lián)諧振電路

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌25

外接串聯(lián)諧振電路

330K330K到其它芯片

PIC16

On------'OSC1

O.1pF

XTAL

返回本章目錄

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌26

小結(jié)

1.根據(jù)實(shí)際需要,綜合考慮PIC時(shí)鐘系統(tǒng)的類型。

如:需要準(zhǔn)確定時(shí)地場(chǎng)合下,要選用晶體震蕩方式(XT、

HS或LP);在低成本設(shè)計(jì)中可采用RC模式等。

2.選擇的頻率將影響單片機(jī)的功耗:頻率越高,單片機(jī)所

消耗的電流就越大;頻率越低功耗越小。

3.RC振蕩模式具有成本低的優(yōu)點(diǎn),適用于無準(zhǔn)確定時(shí)要

求的場(chǎng)合。

4.單片機(jī)振蕩器模式的設(shè)定是運(yùn)行“MPLAB-ICD”燒寫程

序時(shí),通過對(duì)“配置位ConfigurationBit”中的“震蕩模

式Oscillator”來確定。

返叵

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌27

10.3復(fù)位系統(tǒng)

m復(fù)位(RESET)的英文原意是“重新設(shè)置”的意思。在

單片機(jī)內(nèi)部,對(duì)應(yīng)一個(gè)最明顯的操作:PC=0000H;

m各種類型的微處理器都需要有復(fù)位電路,以確保從頭開始

執(zhí)行程序或者重新從頭開始執(zhí)行程序。

n復(fù)位操作是單片機(jī)的重要操作內(nèi)容,它保證單片機(jī)在運(yùn)行

時(shí),有一個(gè)確定的、良好的開端。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌28

10.3.1幾種不同的復(fù)位方式

mPIC單片機(jī)的復(fù)位電路設(shè)計(jì)的比較完善。引起單片機(jī)內(nèi)部復(fù)位的

條件和原因大致可歸納為5種情況:

1.上電復(fù)位(/POR);

2.人工復(fù)位(/MCLR);

3.人工復(fù)位(睡眠狀態(tài)下):

4.看門狗復(fù)位(/TO);

5.電源欠壓(掉電)復(fù)位(/BOR)o

■引起復(fù)位的方式不同,復(fù)位后,對(duì)內(nèi)部特殊功能寄存

器的影響也各不相同,這是編程者需要注意的問題。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌29

(一)上電復(fù)位

m每次單片機(jī)上電時(shí),上電復(fù)位電路都要對(duì)電源電壓進(jìn)行Vdd的上升進(jìn)

行檢測(cè),當(dāng)Vdd上升到1.6?1.8V時(shí),就會(huì)產(chǎn)生一個(gè)有效的復(fù)位信號(hào)。

n復(fù)位后PC=0000H。

m整個(gè)復(fù)位過程為:72mS+1024個(gè)時(shí)鐘周期

Vdd系統(tǒng)電源

―1.6-1.8V

電源檢測(cè)POR上電

上電延時(shí)器

PWRT輸出-72mS

振蕩器定時(shí)器J1024Tosc

I

I

OST輸出

內(nèi)部復(fù)位

單片機(jī)狀態(tài)開始上電復(fù)位時(shí)間開始工作

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌

注意:不是所有的單片機(jī)都具備上電復(fù)位功能

m對(duì)于不具備上電復(fù)位電路的單片機(jī),在構(gòu)造系統(tǒng)時(shí)必須外

加“上電復(fù)位電路”(如MCS-51系列單片機(jī))。也可以

選擇、使用具有上電復(fù)位功能的“微處理器監(jiān)控電路”實(shí)

現(xiàn)上述功能,但復(fù)位的電平極性要嚴(yán)格對(duì)應(yīng),否則系統(tǒng)將

無法正常工作。

具有高電平復(fù)位功能的上電復(fù)位電路具有低電平復(fù)位功能的上電復(fù)位電路

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌31

(二)人工復(fù)位

X無論單片機(jī)處在何種狀態(tài),只要在人工復(fù)位引腳/MCLR上

加入低電平,就會(huì)使單片機(jī)復(fù)位(令PC=0000H);

■當(dāng)/MCLR回到高電平時(shí),單片機(jī)恢復(fù)工作,并從程序存儲(chǔ)

器的0000H處運(yùn)行程序(因?yàn)镻C=0000H)o

Vdd

/MCLR

PIC

復(fù)

位T

x

-6/MCLR

]0n

--y

_o

返回上一次

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌32

(三)人工復(fù)位(單片機(jī)在睡眠期間)

■使單片機(jī)脫離低功耗的睡眠狀態(tài)的方法之一;

■單片機(jī)處于睡眠狀態(tài)時(shí),時(shí)鐘系統(tǒng)和大多數(shù)電路都停止工

作。只要在人工復(fù)位引腳/MCLR上加入低電平,就會(huì)令

單片機(jī)復(fù)位。

B睡眠狀態(tài)下的人工復(fù)位:PC=OOOOH;

H/MCLR低電平撤出后,系統(tǒng)重新開始工作(從0000H開

始)。

返回上一次

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌33

(四)看門狗復(fù)位

B如果單片機(jī)啟用了看門狗WDT電路,只要沒有對(duì)WDT

周期性的清零(CLRWDT——喂狗指令),WDT就會(huì)

出現(xiàn)超時(shí)溢出,這個(gè)溢出信號(hào)就會(huì)引發(fā)單片機(jī)的復(fù)位。

m單片機(jī)的工作狀態(tài)分為“工作狀態(tài)”和“睡眠狀態(tài)”。

其復(fù)位的結(jié)果是不同的:

1.若單片機(jī)處在運(yùn)行程序的“工作狀態(tài)”時(shí),看門狗電路

的溢出將單片機(jī)復(fù)位(程序拉回到0000H開始執(zhí)行);

2.若單片機(jī)處在低功耗的“睡眠狀態(tài)”時(shí),看門狗電路

的溢出只能將單片機(jī)從SLEEP狀態(tài)下喚醒,開始執(zhí)行

SLEEP后面的程序(一般為NOP指令)。

返回上一次

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌34

(五)電源欠壓(掉電)復(fù)位

m供電電壓過低(如3.8?4.2V——也稱危險(xiǎn)電壓區(qū))時(shí),盡

管可能RAM寄存器中的數(shù)據(jù)不會(huì)丟失,但可能造成CPU讀

程序的出錯(cuò)!這往往比“死機(jī)”所產(chǎn)生的后果更嚴(yán)重。

表10.11PIC16F877復(fù)位或喚醒后部分SFR的內(nèi)容

寄存器名稱上電、掉電復(fù)位人工、WDT復(fù)位中斷、WDT喚醒

Wxxxxxxxxuuuuuuuuuuuuuuuu

TMR0xxxxxxxxuuuuuuuuuuuuuuuu

PCL00OOH00OOHPC+1

STATUS00011xxxOOOqquuuuuuqquuu

PORTA—Ox0000—Ou0000--uuuuuu

PORTB.C.Dxxxxxxxxuuuuuuuuuuuuuuuu

PCLATH—00000—00000——uuuuu

INTCON0000OOOx0000OOOuuuuuuuuu

OPTION_REG1111111111111111uuuuuuuu

TRISB1111111111111111uuuuuuuu

【注】U:無影響X:未知q:該值取決于條件-:未使用,讀出時(shí)為0

返回匕一次

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌

10.3.2單片機(jī)內(nèi)部的復(fù)位操作處理

B由于引發(fā)復(fù)位的方式不同,所以復(fù)位操作對(duì)單片機(jī)的影響

也不同。

1.無論何種方式,對(duì)單片機(jī)均會(huì)產(chǎn)生下列影響:

①時(shí)基振蕩器處于起振準(zhǔn)備狀態(tài);

②各個(gè)端口方向寄存器固定設(shè)定位“1”,高阻輸入狀態(tài);

③程序計(jì)數(shù)器PC清零,CPU指向程序存儲(chǔ)器的0000H單元;

④選項(xiàng)寄存器OPTION_REG被置為全“1”;

⑤看門狗WDT和預(yù)分頻器全部清零;

⑥狀態(tài)寄存器STATUS的體選位(高3位)清零;

⑦當(dāng)采用RC振蕩方式時(shí),OSC2被置為低電平輸出。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌37

2.除了上述的操作外,復(fù)位后有一些特殊功能寄存器的

內(nèi)容會(huì)因復(fù)位方式而不同。

①狀態(tài)寄存器STATUS(03H)中的/TO和/PD;

②電源控制寄存器PCON(8EH)的/POR和/BOR。

OPIC單片機(jī)有5種復(fù)位的操作。而/TO、/PD、/POR和

/BOR這些信息可以作為程序設(shè)計(jì)人員對(duì)單片機(jī)復(fù)位原

因的判斷,再根據(jù)判斷結(jié)果采取不同的處理。這些判

斷程序?qū)嶋H上就安排在0000H(復(fù)位矢量入口地址)

開始的地方。

■當(dāng)然,對(duì)于一些簡(jiǎn)單的程序設(shè)計(jì)可以忽略這些復(fù)位信

息:即一旦產(chǎn)生復(fù)位重新運(yùn)行程序即可。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌38

/POR/BOR/TO/PD

上電復(fù)掉電復(fù)WDT超降耗標(biāo)志復(fù)位原因

位標(biāo)志位標(biāo)志時(shí)標(biāo)志

0X11上電復(fù)位

0X0X非法組合

0XX0非法組合

1011掉電(電源電壓跌落)鎖定復(fù)位

1101CPU工作期間的WDT溢出復(fù)位

1100CPU睡眠期間WDT的溢出復(fù)位

11UUCPU工作期間的/MCLR手工復(fù)位

1110CPU睡眠期間的/MCLR手工復(fù)位

③其它特殊功能寄存器因不同復(fù)位方式而顯現(xiàn)的狀態(tài)請(qǐng)參

見教材295頁。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌39

10.3.3復(fù)位系統(tǒng)硬件邏輯

/MCLR/SLEEP(睡眠狀態(tài))

WDT______G3)_?

Vdd±

Vdd升沿檢測(cè)

L-電源跌落

-------G4/s

復(fù)位BODEN(電源跌落使能)

復(fù)位

鎖存

晶體10位串行計(jì)數(shù)器G6R/Q

震蕩

時(shí)鐘起振1024個(gè)時(shí)鐘延時(shí)電路芯片復(fù)位

片內(nèi)RC410位串行計(jì)數(shù)器

振蕩器第三部分

上電72ms延時(shí)系統(tǒng)

OSC1/CLKIN一使能/PWRT=1時(shí)啟用

-----使能OST=1時(shí)啟用

2cfe^l|上.次大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌40

m整個(gè)電路分為三個(gè)部分:

1.上半部分將實(shí)現(xiàn)4種復(fù)位信號(hào)的邏輯或運(yùn)算。或門的高

電平輸出將R-S觸發(fā)器置一(/Q=0),從而實(shí)現(xiàn)對(duì)系統(tǒng)的

復(fù)位??梢援a(chǎn)生復(fù)位信號(hào)的四種信號(hào)分別是:

①人工復(fù)位;

②看門狗超時(shí)溢出復(fù)位(受到狀態(tài)/SLEEP的屏蔽);

③電源上電復(fù)位(POR);

④電源跌落復(fù)位也稱掉電復(fù)位(受到系統(tǒng)配置字中的

BODEN=0的屏蔽)。

返回上一次

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌41

2.右邊的R-S觸發(fā)器構(gòu)成了復(fù)位鎖存器:

/Q=0對(duì)CPU復(fù)位;

/Q=1復(fù)位解除,CPU開始工作。

①上半部電路的或門輸出G2為高電平時(shí),通過觸發(fā)器的S端,

使之置一,從/Q端輸出低電平,迫使CPU以及片內(nèi)各個(gè)

功能電路單元進(jìn)入復(fù)位狀態(tài);

②只有當(dāng)S端的高電平消失,且觸發(fā)器的R端變?yōu)楦唠娖綍r(shí),

才能使鎖存器清零(/Q=1),使得CPU以及片內(nèi)各個(gè)功

能電路單元脫離復(fù)位狀態(tài),進(jìn)入到程序運(yùn)行狀態(tài);

返回上一次

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌42

3.下半部分實(shí)現(xiàn)撤出復(fù)位的操作,包含兩個(gè)延時(shí)定時(shí)器。

①上電72ms延時(shí)電路PWRTo

,擁有獨(dú)立的片內(nèi)RC振蕩電路,頻率為:1024/72mSo

n該位還受到系統(tǒng)配置字/PWRT的控制,當(dāng)PWRT=1時(shí),該

功能被啟用,反之PWRT=0時(shí),G8門輸出為高電平,該定

時(shí)器的功能被取消(參見講義126頁)。

mPWRT電路還受到Vdd上電檢測(cè)電路的控制,當(dāng)Vdd上升沿

檢測(cè)電路產(chǎn)生下降沿信號(hào)時(shí),PWRT電路才開始震蕩。

復(fù)位電路

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌43

②系統(tǒng)時(shí)鐘振蕩器起振延時(shí)定時(shí)器OST。

延時(shí)時(shí)間為1024個(gè)系統(tǒng)震蕩周期Tose。受到兩個(gè)信號(hào)控制:

1.輸出受“使能OST”的控制(并不是所有復(fù)位都可以產(chǎn)生OST

操作的——見下頁):

OST=1時(shí),或門G7輸出取決于計(jì)數(shù)器輸出,OST功能有效;

OST=0時(shí),或門G7輸出為高電平,OST功能被屏蔽;

2.1024計(jì)數(shù)器輸入由G8的輸出控制,只有在G8輸出為高電平時(shí)

(72ms延時(shí)完成)G9門才能打開,或PWRT被屏蔽時(shí)OST

延時(shí)才能開始。

該電路的作用是為了確保振蕩器有足夠的時(shí)間和建立穩(wěn)定的

震蕩,以便為芯片提供精確、穩(wěn)定的時(shí)基信號(hào)。

復(fù)位電路

返回上一次

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌44

【注意】:

只有振蕩器在XT、LP、和HS模式下,且僅在上電復(fù)

位,或芯片從睡眠狀態(tài)被喚醒時(shí)(因?yàn)镾LEEP時(shí),系統(tǒng)停

振),才能啟動(dòng)OST工作,否則,OST是不起作用的

(如:WDT復(fù)位、掉電復(fù)位/BOR)o

由于G5門的作用,下半部電路產(chǎn)生高電平只有S端為低

時(shí),才能施加到觸發(fā)器的R端。

兔位電路

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌45

10.3.4內(nèi)部上電延時(shí)復(fù)位電路POR功能

a單片機(jī)上電時(shí),復(fù)位系統(tǒng)首先投入工作的是Vdd上升沿檢

測(cè)電路。

m當(dāng)Vdd上升至6V?1.8V時(shí),就會(huì)產(chǎn)生很窄的正脈沖。該

脈沖一方面將復(fù)位鎖存器的/Q端變?yōu)榈碗娖?,迫使CPU等

電路復(fù)位,同時(shí)在其下降沿啟動(dòng)“上電延時(shí)計(jì)數(shù)

器”PWRT開始計(jì)數(shù)、定時(shí)(72mS)。延時(shí)時(shí)間一到,

便啟動(dòng)“振蕩器延時(shí)定時(shí)器”O(jiān)ST工作,進(jìn)行1024個(gè)

Tose的延時(shí)。

即:72mS+1024Tosc

■上電延時(shí)復(fù)位的延時(shí)時(shí)間長(zhǎng)短與振蕩器的震蕩方式、OST

是否關(guān)閉有關(guān)(詳見表10.12)。復(fù)位電路

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌46

10.12上電復(fù)位延時(shí)時(shí)長(zhǎng)表

電源上電復(fù)位

振湯方式掉電復(fù)位睡眠喚醒

/PWRTE=0/PWRTE=l1

10241

XT.HS.LP72mS+102472mS+10241024Tosc

RC72mS72mS—

*掉電復(fù)位:不應(yīng)當(dāng)包含1024Tosc——參見257頁

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌47

10.3.5外部上電延時(shí)復(fù)位電路

B單片機(jī)內(nèi)部設(shè)計(jì)的上電復(fù)位電路,可以解決單片機(jī)上電時(shí),

避免因電源建立過程中CPU執(zhí)行程序的不可靠性。這主要

是靠PWRT(72mS)和OST(1024Tosc)的兩個(gè)延時(shí)來

實(shí)現(xiàn)的。

■如果單片機(jī)的電源系統(tǒng)采用較大的電源電容耦合時(shí),可能

Vdd上升較慢。當(dāng)電源建立的時(shí)間大于IOOJJS時(shí),片內(nèi)上

電復(fù)位功能POR和上電延時(shí)電路PWRT不能正常工作。在

這種情況下,采用外部上電復(fù)位電路是一個(gè)比較可靠的方

法。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌48

圖10.15外部上電延時(shí)復(fù)位電路

OR的取值:<40KQ;

mR1:限流保護(hù)電阻。取值100Q~1000Q;

BD:放電二極管。當(dāng)電源掉電時(shí),能夠迅速的將電容C上的

電荷釋放掉,以保證電源恢復(fù)后能及時(shí)產(chǎn)生復(fù)位操作。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌49

由RC元件構(gòu)成的復(fù)位電路工作原理

/MCLR

9Vdd

7=RC

等效復(fù)位信號(hào)

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌50

10.3.6外部人工復(fù)位開關(guān)電路

9Vdd

返回上一次

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌51

/MCLR

7=RC

Vi/?

;二-----/I___________

!±<!,按下SW

-----------1-------------」,-------------------:!松開SW

等效復(fù)位信號(hào)

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌52

10.3.7內(nèi)部掉電鎖定復(fù)位電路

■單片機(jī)系統(tǒng)無論是采用干電池、充電電池或市電供電,都

存在供電電壓的波動(dòng)問題。電源電壓的不穩(wěn)定是造成單片

機(jī)執(zhí)行程序發(fā)生混亂甚至死機(jī)的重要原因。

■世界許多著名半導(dǎo)體生產(chǎn)廠家研制出許多“電壓監(jiān)測(cè)器”

和“yp監(jiān)控器”的專用集成電路,使之與單片機(jī)配套使用。

在PIC系列單片機(jī)中有許多型號(hào)內(nèi)部已經(jīng)集成了這項(xiàng)功能

(BOR)電路,如PIC16F87X。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌53

圖10.19與掉電鎖定復(fù)位相關(guān)的硬件電路

Vdd

時(shí)

片內(nèi)RC

振蕩器

OSC1/CLKIN

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌返回上5彳次

B當(dāng)Vdd降低至(J3.8?4.2V時(shí),鎖定復(fù)位電路將單片機(jī)進(jìn)入并

鎖定在復(fù)位狀態(tài);當(dāng)Vdd回升到正常的電壓以后上電延時(shí)

定時(shí)器PWRT被啟動(dòng),產(chǎn)生72ms的延時(shí)后,將復(fù)位鎖存

器清零,使單片機(jī)結(jié)束復(fù)位狀態(tài)進(jìn)入執(zhí)行程序狀態(tài)

M掉電復(fù)位期間,不會(huì)改變單片機(jī)中各個(gè)寄存器內(nèi)的數(shù)據(jù)。

這樣當(dāng)Vdd恢復(fù)正常后,使程序能夠繼續(xù)前面的過程。

當(dāng)然,這一切指在電源Vdd還沒有跌落到單片機(jī)內(nèi)部

RAM中的數(shù)據(jù)不能保存的地步,否則BOR的功能也就毫

無意義。

B與上電復(fù)位相比,掉電復(fù)位可以保留RAM中的前期數(shù)據(jù),

且Vdd正常后啟動(dòng)的時(shí)間只是72mS。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌56

10.3.8外部掉電鎖定復(fù)位電路

B在許多單片機(jī)(如MCS-51和部分PIC系列)內(nèi)部沒有

BOR電路,這樣就需要外加掉電復(fù)位電路。電路可以采用

分離元件或?qū)S玫腂OR集成IC芯片來實(shí)現(xiàn);

B這里將介紹使用專用的IC芯片進(jìn)行外部連接BOR電路的幾

個(gè)實(shí)例;

m參見講義《附錄G》327頁

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌57

(一)使用IMP809/810實(shí)現(xiàn)BOR

aIMP809(或IMP810)是美國(guó)IMP公司研制生產(chǎn)的一組微

功耗“微控制器電源監(jiān)控電路”,監(jiān)控電壓為3?5V。在

電源上電、掉電和跌落期間,電源恢復(fù)正常后產(chǎn)生240ms

的上電延時(shí)。只要電源電壓還大于1.1V就能保證/RESET

端輸出0.4V的低電平。

IMP809應(yīng)用舉例(低電平復(fù)位)IMP810應(yīng)用舉例(高電平復(fù)位)

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌58

IMP809/810特性參數(shù)表

型號(hào)復(fù)位門限

IMP809LIMP810L4.63(V)

IMP809MIMP810M4.38(V)

IMP809JIMP810J4.00(V)

IMP809TIMP810T3.08(V)

芯片封裝外形

IMP809SIMP810S2.93(V)

IMP809RIMP810R2.63(V)

B復(fù)位門限參數(shù)的選擇是根據(jù)被控單片機(jī)及相關(guān)的外圍電路

對(duì)電源電壓的要求來選擇的。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌59

IMP809電源復(fù)位時(shí)序圖

BVth:復(fù)位門限電壓;

ClTrs:復(fù)位時(shí)間240ms.

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌60

(二)帶有人工復(fù)位的專用電壓檢測(cè)芯片

aIMP811/812也是美國(guó)IMP研制的一種帶有人工復(fù)位的電源

監(jiān)控電路,其特性與809/810相同。

c的作用是避免噪聲干擾,提高可靠性防止誤操作。返回上.次

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌61

IMP811/812特性參數(shù)表

復(fù)位門限

型號(hào)

(V)

IMP811LIMP812L4.63

IMP811MIMP812M4.38

IMP811JIMP812J4.00

IMP811TIMP812T3.08

芯片封裝外形

IMP811SIMP812S2.93

IMP811RIMP812R2.63

B復(fù)位門限參數(shù)的選擇是根據(jù)被控單片機(jī)及相關(guān)的外圍電路

對(duì)電源電壓的要求來選擇的。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌62

(三)帶有電源故障報(bào)警的專用芯片

BMAX707/708是美國(guó)MAXIM公司研制的具有電源監(jiān)控、報(bào)

警功能,同時(shí)具備RESET和/RESET輸出的芯片8腳芯片。

■該芯片提供3種功能:

①電源上電/掉電產(chǎn)生復(fù)位信號(hào);

②有一個(gè)門限值為L(zhǎng)25V的電壓檢測(cè)輸入。當(dāng)PFI輸入電壓

小于L25V時(shí),PFO腳輸出低電平,此信號(hào)用于電源報(bào)警;

③具有防抖功能的人工復(fù)位輸入。

H電源門限電壓分別為4.65V(MAX707)和4.4V(MAX708)。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌64

MAX707/708應(yīng)用舉例

a合理的設(shè)計(jì)電阻的分壓比,使穩(wěn)壓器輸入電壓的最小值對(duì)

應(yīng)的PFI端的電壓為1.25V,這樣利用芯片的/PFO信號(hào)向單

片機(jī)發(fā)中斷申請(qǐng),單片機(jī)進(jìn)行相應(yīng)的緊急處理。

返回本章目錄

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌65

10.4監(jiān)視定時(shí)器WDT

ffl單片機(jī)工作的可靠性將直接影響到整個(gè)系統(tǒng)的安全;

a影響可靠性的因數(shù)有:軟件、硬件(系統(tǒng)設(shè)計(jì)、系統(tǒng)結(jié)構(gòu)、

電路布局和電磁兼容性等)因素,其中系統(tǒng)的抗干擾性是系

統(tǒng)可靠性的重要指標(biāo)。

B因干擾而“失?!钡木唧w表現(xiàn)為用戶程序進(jìn)入不正常狀態(tài)。

口盡管人們千方百計(jì)的提高系統(tǒng)的可靠性,但是絕對(duì)可靠是很

難實(shí)現(xiàn)的。因此,當(dāng)單片機(jī)出現(xiàn)不正常時(shí),及時(shí)地將單片機(jī)

復(fù)位,是解決問題的唯一方法。

aWDT就是一個(gè)監(jiān)視CPU工作狀態(tài)的“眼睛”。正常時(shí)WDT”

默默無語”,只有當(dāng)單片機(jī)不正常時(shí),WDT對(duì)單片機(jī)復(fù)位,

將其拉回到程序的起點(diǎn)上來。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌66

10.4.1程序失控的恢復(fù)

?程序失控的現(xiàn)象

?程序失捽后的回復(fù)措施

?程序失控恢復(fù)之后的后續(xù)處理

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌67

1.程序失控的現(xiàn)象:

①程序失控后,雖然仍在執(zhí)行用戶的程序,但會(huì)不正常

的重復(fù)執(zhí)行(或漏掉)一段指令。這往往與軟件設(shè)計(jì)有

關(guān),如干擾對(duì)一些標(biāo)志或關(guān)鍵的變量造成錯(cuò)誤影響等。

②程序失控后,轉(zhuǎn)向程序存儲(chǔ)器的空白區(qū)。CPU將空白區(qū)

中的隨機(jī)碼作為指令來執(zhí)行。

③程序失控后的非法尋址。在正常時(shí),PC的內(nèi)容是指向

正常執(zhí)行順序的指令地址。但是如果因干擾,PC的值發(fā)

生不正常的“突變”,甚至內(nèi)容已超過了正常程序存儲(chǔ)

器的范圍,在這種情況下,CPU取低位的有效地址,形

成非法尋址。

返叵

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌68

2.程序失控后的回復(fù)措施:

軟件陷阱法

看門狗定時(shí)器WDT法

人工復(fù)位法

①軟件陷阱法。

在程序的某些位置上安放一個(gè)“陷阱”,使失控的

CPU掉到陷阱中,再通過引導(dǎo)轉(zhuǎn)向程序的開始部分。很

明顯,這些陷阱只能安放在正常運(yùn)行時(shí),PC指不到存

儲(chǔ)單元如在轉(zhuǎn)移指令后面的程序存儲(chǔ)器的空白區(qū)等。

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌69

所謂的陷阱就是無條件轉(zhuǎn)移語句:

對(duì)于2K*14程序ROM芯片只要一條指令:

GOTO0000H即可;

對(duì)于4K*14程序ROM芯片要使用兩條指令:>常

BCFPCLATH.3;令

GOTO0000H

對(duì)于8K*14程序ROM芯片使用3條指令:

y

BCFPCLATH.3;

BCFPCLATH.4;\

NOP

GOTO0000H閑

NOP>加

如果在程序存儲(chǔ)區(qū)空白區(qū)較大時(shí),安放陷6的

NOP阱

時(shí),可先使用NOP指令進(jìn)行引導(dǎo)。陷

NOP

GOTO0000H

2012-9-19大連理工大學(xué)電工電子實(shí)驗(yàn)中心陳育斌70

②看門狗定時(shí)器WDT法

B看門狗WDT是一個(gè)獨(dú)立運(yùn)行的定時(shí)器,它具有清零端和溢

出端,其中溢出端直接與單片機(jī)的復(fù)位端相連接;

B在用戶的程序的循環(huán)體內(nèi)安置“喂狗(CLRWDT)”指令,

這樣在程序正常執(zhí)行中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論