tft每日頭條

 > 生活

 > pic 單片機怎麼進休眠模式

pic 單片機怎麼進休眠模式

生活 更新时间:2024-12-05 10:52:02

(注:本文檔主要根據PIC16F193X數據手冊編寫,對于其他型号的單片機,其配置字可能略有不同,此外本文部分參考了PIC18F78K22數據手冊,因而部分注釋了兩個系列單片機的區别)

1、FCMEN:故障保護時鐘監視器使能位

FCMEN_ON:使能 FCMEN_OFF: 禁止(紅色表示本人使用PIC單片機所選擇的配置,下同)

詳細說明:在使器件能在外部振蕩器發生故障時繼續運行。 FSCM 可以檢測當振蕩器起振定時器(OST)延時結束後的任何時刻發生的振蕩器故障。

如圖所示,故障檢測器模塊内部有一個鎖存器。在外部時鐘的每個下降沿上将鎖存器置1。 在采樣時鐘的每個上升沿将鎖存器清零。 如果采樣時鐘的一個完整半周期在外部時鐘變為低電平之前結束,則将檢測到故障。

pic 單片機怎麼進休眠模式(PIC系列單片機配置字詳細介紹)1

FC時鐘監控框圖

pic 單片機怎麼進休眠模式(PIC系列單片機配置字詳細介紹)2

FC時鐘監控時序

結論:若外部時鐘在采樣時鐘為高電平時間内(約1ms)沒有下降沿,則當采樣時鐘為低電平時認為時鐘故障。

注:外部時鐘沒有經過PLL倍頻

2、IESO:内部/外部時鐘切換位

IESO_ON:使能切換 IESO_OFF:禁止切換

詳細說明:使能後,當外部晶振出錯後,單片機會自動切換到内部RC震蕩電路作為其工作時鐘。

16F1936資料:當MCU上電複位或從休眠模式喚醒時,由于外部震蕩電路可能還沒穩定,此時可允許先使用内部時鐘,然後再切換到外部時鐘。

3、CLKOUTEN:時鐘輸出使能位

CLKOUTEN_ON: 使能 CLKOUTEN_OFF: 禁止

詳細說明:使能RA6/CLKOUT 引腳上的CLKOUT 功能,若MPU連接外部石英晶振或陶瓷諧振器,不能使用該功能

4、BOREN<1:0>:欠壓複位使能位

BOREN_ON:使能BOR

BOREN_NSLEEP: BOR 在工作時使能,在休眠時禁止

BOREN_SBODEN: BOR 由PCON 寄存器的SBOREN 位控制

BOREN_OFF: 禁止

詳細說明:當Vdd 到達可選的最低電平時, BOR 電路将器件保持在複位狀态。 在BOR 和POR 之間的整個電壓範圍内,可實現執行保護功能。可配合PWRT(複位延遲)使用。

pic 單片機怎麼進休眠模式(PIC系列單片機配置字詳細介紹)3

BOR原理

5、CPD:數據代碼保護位

CPD_ON:使能 CPD_OFF:禁止

詳細說明:使能/禁止數據存儲器代碼保護,擦除操作期間關閉代碼保護時,将擦除整個數據EEPROM 的内容。在數據存儲器受代碼保護時,隻有CPU 可對數據EEPROM進行讀寫操作。

6、CP:代碼保護位

CP_ON:使能 CP_OFF:禁止

詳細說明:使能/禁止程序存儲器代碼保護,當關閉代碼保護時,将擦除整個程序存儲器的内容。使能後,禁止對程序存取器的外部讀寫操作,若進行讀操作,返回0。

7、MCLRE:MCLR/VPP 引腳功能選擇位

MCLRE_ON:使能 MCLRE_OFF:禁止

詳細說明:僅當LVP=0時有效,外部複位

pic 單片機怎麼進休眠模式(PIC系列單片機配置字詳細介紹)4

MCLRE引腳

8、PWRTE:上電延 時定時器使能位

(如果電源上電慢,防止無法啟動,MCU必須具有該功能,且必須使能)

PWRET_ON:使能 PWRET_OFF:禁止

詳細說明:上電、欠壓複位後提供64ms的延遲。

(注:16F1936,16F1946中僅說有64ms的延遲,18F87K22資料中有如下說明:采用LF-INTOSC時鐘(31.25KHz,周期為32us)計數,計數寄存器為11bits,因而延遲時間為2048*32us=65.5ms)

pic 單片機怎麼進休眠模式(PIC系列單片機配置字詳細介紹)5

複位原理圖

9、WDTE<1:0>:看門狗定時器使能位

WDTE_ON:使能

WDTE_NSLEEP:在運行時使能,休眠時禁止

WDTE_SWDTEN:由WDTCON 寄存器中的SWDTEN 位控制

WDTE_OFF:禁止

詳細說明:看門狗定時器是系統定時器,如果固件在超時周期内未發出CLRWDT 指令,看門狗定時器将産生複位。

pic 單片機怎麼進休眠模式(PIC系列單片機配置字詳細介紹)6

看門狗原理圖

通過配置WDTPS,可是設置複位時間2ms-256s(18F為4ms-4196s)。

(注:任何複位,進入休眠模式,從休眠模式喚醒,振蕩器故障都會使WDT清0,且複位後默認超時周期為2秒)

10、FOSC<2:0>:振蕩器選擇位

111 = ECH:外部時鐘,高功耗模式:RA7/OSC1/CLKIN 引腳為CLKIN 功能

110 = ECM:外部時鐘,中等功耗模式:RA7/OSC1/CLKIN 引腳為CLKIN 功能

101 = ECL:外部時鐘,低功耗模式:RA7/OSC1/CLKIN 引腳為CLKIN 功能

100 = INTOSC振蕩器:RA7/OSC1/CLKIN 引腳為I/O 功能

011 = EXTRC 振蕩器:RA7/OSC1/CLKIN 引腳為RC 功能

010 = HS振蕩器:高速晶振/ 諧振器連接到RA6/OSC2/CLKOUT 和RA7/OSC1/CLKIN 引腳

001 = XT振蕩器:晶振/ 諧振器連接到RA6/OSC2/CLKOUT 和RA7/OSC1/CLKIN 引腳

000 = LP振蕩器:低功耗晶振連接到RA6/OSC2/CLKOUT 和RA7/OSC1/CLKIN 引腳

詳細說明:EC模式将外部産生的邏輯電平作為系統時鐘源,其中ECH對應4-32 MHz,ECM對應0.5-4 MHz,ECL對應0-0.5 MHz。INTOSC模式采用内部時鐘源作為其工作時鐘,通過PLL倍頻、分頻,可産生31KHz-16MHz時鐘。LP、XT 和HS 模式支持在OSC1 和OSC2 引腳之間連

接石英晶振或陶瓷諧振器的應用,EXTRC模式支持使用外部RC 電路。

pic 單片機怎麼進休眠模式(PIC系列單片機配置字詳細介紹)7

時鐘源整體框圖

pic 單片機怎麼進休眠模式(PIC系列單片機配置字詳細介紹)8

EC模式

pic 單片機怎麼進休眠模式(PIC系列單片機配置字詳細介紹)9

石英晶振(LP、XT 或HS模式)

pic 單片機怎麼進休眠模式(PIC系列單片機配置字詳細介紹)10

陶瓷諧振器(XT或HS模式)

pic 單片機怎麼進休眠模式(PIC系列單片機配置字詳細介紹)11

RC模式

“pic系列單片機有rc、lp、xt、hs等振蕩模式。除rc模式外,振蕩模式的選擇實際上就是環路增益的選擇。低增益對應低振蕩頻率,高增益對應高振蕩頻率。一般根據實際需要的工作頻率可參考數據手冊來選擇。

11、LVP:低壓編程使能位

LVP_ON = 使能低壓編程

LVP_OFF = 必須使用MCLR/VPP 引腳上的高壓進行編程

詳細說明:允許器件在沒有高壓的情況下僅使用VDD 進行編程。如果使能了低壓編程(LVP = 1),将自動使能MCLR複位功能,且無法禁止。

12、DEBUG:在線調試器模式位

DEBUG_OFF = 禁止在線調試器, RB6/ICSPCLK 和RB7/ICSPDAT 是通用I/O 引腳

DEBUG_ON = 使能在線調試器, RB6/ICSPCLK 和RB7/ICSPDAT 專用于調試器

13、BORV:欠壓複位電壓選擇位

BORV_19 = 欠壓複位電壓設置為1.9V

BORV_= 欠壓複位電壓設置為2.5V (注:1936,1946資料為2.5V,代碼注釋為2.7V)

(注:18F87K22為BORV<1:0>,1.8V,2.0V,2.7V,3.0V)

14、STVREN:堆棧上溢/ 下溢複位使能位

STVREN_ON = 堆棧上溢或下溢将導緻複位

0STVREN_OFF = 堆棧上溢或下溢不會導緻複位

詳細說明:MPC在執行調用函數、中斷函數等操作時,進行對當前PC值進行堆棧操作,若不使能該功能,堆棧将作為循環緩沖區使用,溢出的PC值将覆蓋最早進入堆棧的PC值。

15、PLLEN:PLL 使能位

PLLEN_ON = 使能4xPLL

PLLEN_OFF = 禁止4xPLL

注:配置字禁止該功能時,可在程序中通過設置SPLLEN,選擇是否使能4xPLL功能。 (軟件啟動時,需一段時間後鎖相環倍頻才能穩定,可查詢PLLR,測試PIC16F1946,采用外部4M晶振,震蕩器選擇HS模式,軟件SPLLEN置1,約600指令周期後PLLR為1)

16、 VCAPEN<1:0>:穩壓器電容使能位

00 = 在RA0 引腳上使能VCAP 功能

01 = 在RA5 引腳上使能VCAP 功能

10 = 在RA6 引腳上使能VCAP 功能

11 = VCAP 引腳上無電容

詳細說明:Vcap是提供給内部穩壓器使用的,如果你5V的系統,必須在三個Vcap腳上選擇一個接上Cap,而且要在配置位中指定該引腳。如果系統隻需要3.3V,無需選擇Vcap.

17、WRT<1:0>:閃存自寫保護位

4 kW 閃存(僅PIC16F1933/PIC16LF1933 和PIC16F1934/PIC16LF1934):

11 = 寫保護關閉

10 = 000h 至1FFh 受寫保護, 200h 至FFFh 可以由EECON 控制寄存器修改

01 = 000h 至7FFh 受寫保護, 800h 至FFFh 可以由EECON 控制寄存器修改

00 = 000h 至FFFh 受寫保護,無可由EECON 控制寄存器修改的地址址

8 kW 閃存(僅PIC16F1936/PIC16LF1936 和PIC16F1937/PIC16LF1937):

11 = 寫保護關閉

10 = 000h 至1FFh 受寫保護, 200h 至1FFFh 可以由EECON 控制寄存器修改

01 = 000h 至FFFh 受寫保護, 1000h 至1FFFh 可以由EECON 控制寄存器修改

00 = 000h 至1FFFh 受寫保護,無可由EECON 控制寄存器修改的地址

16 kW 閃存(僅PIC16F1938/PIC16LF1938 和PIC16F1939/PIC16LF1939):

11 = 寫保護關閉

10 = 000h 至1FFh 受寫保護, 200h 至3FFFh 可以由EECON 控制寄存器修改

01 = 000h 至1FFFh 受寫保護, 2000h 至3FFFh 可以由EECON 控制寄存器修改

00 = 000h 至3FFFh 受寫保護,無可由EECON 控制寄存器修改的地址

詳細說明:寫保護用于保護器件不受意外的自寫訪問。在允許修改程序存儲器其他區域的同時可以保護應用程序,例如引導加載程序軟件。

推薦配置:__CONFIG(FOSC_HS & WDTE_ON(1) & PWRTE_ON & MCLRE_ON&CP_ON & CPD_OFF & BOREN_ON &CLKOUTEN_OFF & IESO_OFF & FCMEN_ON);

__CONFIG(WRT_OFF & VCAPEN_OFF(2)& PLLEN_ON(3)& STVREN_ON & BORV_19 (4)& DEBUG_OFF & LVP_OFF);

注:

1、關于看門狗配置字WDTE,若某些單片機超時時間較短,而程序初始化時間較長,可選擇軟件啟動,WDTE_SWDTEN,注意對相關寄存器定時設置,或者在初始化程序中 多次清狗

2、如果MCU采用 3.3V供電,則可以不使能VCAP,如果采用 5.0V供電必須使用VCAP。

3、若采用4M外部晶振,采用FOSC_HS 或FOSC_XT可能還需測試确認。

4、複位電壓根據MCU工作電壓、電源電壓範圍以及RAM保持電壓确認。 3.3V工作推薦為1.9V, 5.0V工作推薦為 5.0V。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved