PIC16C5X單片機(jī)睡眠狀態(tài)的退出方法
發(fā)布時(shí)間:2008/8/19 0:00:00 訪問(wèn)次數(shù):545
在有些應(yīng)用場(chǎng)合下,cpu只需間斷性工作或?qū)ν獠渴录鞒鎏幚,平時(shí)處于待機(jī)狀態(tài)。pic16c5x單片機(jī)有一種節(jié)能方式,睡眠(sleep)方式,在這種狀態(tài)中,振蕩驅(qū)動(dòng)器停止工作, i/o口保持執(zhí)行sleep指令前的狀態(tài),從而大大降低系統(tǒng)功耗。由于pic16c5x單片機(jī)無(wú)中斷功能,要退出睡眠方式,只有兩種方法:
(1)“看門狗”(wdt)溢出。
。2)在復(fù)位腳加低電平,而使芯片復(fù)位。
本文采用第二種方法。在圖1給出的例子中,pic16c5x平時(shí)處于睡眠態(tài),當(dāng)任意一鍵按下時(shí),將它從睡眠狀態(tài)中喚醒,進(jìn)行鍵盤(pán)處理。為便于說(shuō)明,在本例中,sw1按下時(shí),點(diǎn)亮,如下圖所示
綠燈;當(dāng)sw2按下時(shí),紅燈亮。讀者可按實(shí)際需要編寫(xiě)處理程序,參見(jiàn)圖2。
在進(jìn)入睡眠態(tài)前,將鍵掃描輸出線scan1和scan2置為低電平。這樣,當(dāng)進(jìn)入睡眠狀后,無(wú)鍵按下時(shí),電容c充電充分,使pic16c5x單片機(jī)復(fù)位腳保持著高電平。一旦有鍵按下,c通過(guò)電阻r2或r3放電,使c上的電壓快速下降(大約1ms),從而將復(fù)位腳拉為低電平,迫使pic16c5x退出睡眠態(tài)而進(jìn)入復(fù)位。復(fù)位時(shí),scan1和scan2自動(dòng)從輸出態(tài)變?yōu)檩斎霊B(tài)(高阻態(tài)),c的放電回路被阻斷,vcc經(jīng)電阻r1需注意的是,rc 值要選擇恰當(dāng),使充放電周期小于
pic16c5x的復(fù)位時(shí)間(大約18ms)。更遠(yuǎn)遠(yuǎn)小于鍵按下的最小時(shí)間(大約50--100ms)。復(fù)位結(jié)束后,在程序中,每隔20ms將scan1和scan2置低電平一次以采樣鍵值。為避免電容放電時(shí)間過(guò)長(zhǎng),將拉低,再次造成復(fù)位,每次掃描即scan1或scan2 為低電平的時(shí)間大約為10us。當(dāng)鍵處理程序完成后,程序?qū)︽I盤(pán)循環(huán)掃描直至鍵釋放。然后將scan1和scan2輸出置成低電平,并重新進(jìn)入睡眠狀態(tài)。 r4-r8主要用于防止c放電而可能對(duì)芯片造成的傷害。工作時(shí)序見(jiàn)圖3所示。
欲知詳情,請(qǐng)登錄維庫(kù)電子市場(chǎng)網(wǎng)(www.dzsc.com)
在有些應(yīng)用場(chǎng)合下,cpu只需間斷性工作或?qū)ν獠渴录鞒鎏幚,平時(shí)處于待機(jī)狀態(tài)。pic16c5x單片機(jī)有一種節(jié)能方式,睡眠(sleep)方式,在這種狀態(tài)中,振蕩驅(qū)動(dòng)器停止工作, i/o口保持執(zhí)行sleep指令前的狀態(tài),從而大大降低系統(tǒng)功耗。由于pic16c5x單片機(jī)無(wú)中斷功能,要退出睡眠方式,只有兩種方法:
。1)“看門狗”(wdt)溢出。
。2)在復(fù)位腳加低電平,而使芯片復(fù)位。
本文采用第二種方法。在圖1給出的例子中,pic16c5x平時(shí)處于睡眠態(tài),當(dāng)任意一鍵按下時(shí),將它從睡眠狀態(tài)中喚醒,進(jìn)行鍵盤(pán)處理。為便于說(shuō)明,在本例中,sw1按下時(shí),點(diǎn)亮,如下圖所示
綠燈;當(dāng)sw2按下時(shí),紅燈亮。讀者可按實(shí)際需要編寫(xiě)處理程序,參見(jiàn)圖2。
在進(jìn)入睡眠態(tài)前,將鍵掃描輸出線scan1和scan2置為低電平。這樣,當(dāng)進(jìn)入睡眠狀后,無(wú)鍵按下時(shí),電容c充電充分,使pic16c5x單片機(jī)復(fù)位腳保持著高電平。一旦有鍵按下,c通過(guò)電阻r2或r3放電,使c上的電壓快速下降(大約1ms),從而將復(fù)位腳拉為低電平,迫使pic16c5x退出睡眠態(tài)而進(jìn)入復(fù)位。復(fù)位時(shí),scan1和scan2自動(dòng)從輸出態(tài)變?yōu)檩斎霊B(tài)(高阻態(tài)),c的放電回路被阻斷,vcc經(jīng)電阻r1需注意的是,rc 值要選擇恰當(dāng),使充放電周期小于
pic16c5x的復(fù)位時(shí)間(大約18ms)。更遠(yuǎn)遠(yuǎn)小于鍵按下的最小時(shí)間(大約50--100ms)。復(fù)位結(jié)束后,在程序中,每隔20ms將scan1和scan2置低電平一次以采樣鍵值。為避免電容放電時(shí)間過(guò)長(zhǎng),將拉低,再次造成復(fù)位,每次掃描即scan1或scan2 為低電平的時(shí)間大約為10us。當(dāng)鍵處理程序完成后,程序?qū)︽I盤(pán)循環(huán)掃描直至鍵釋放。然后將scan1和scan2輸出置成低電平,并重新進(jìn)入睡眠狀態(tài)。 r4-r8主要用于防止c放電而可能對(duì)芯片造成的傷害。工作時(shí)序見(jiàn)圖3所示。
欲知詳情,請(qǐng)登錄維庫(kù)電子市場(chǎng)網(wǎng)(www.dzsc.com)
熱門點(diǎn)擊
- 用于ATmega128的軟件UART范例程序
- 單片機(jī)驅(qū)動(dòng)蜂鳴器原理與設(shè)計(jì)
- 51單片機(jī)8*8點(diǎn)陣LED顯示原理及程序
- PIC單片機(jī)CRC校驗(yàn)程序
- 80C51原始IP核內(nèi)部RAM的擴(kuò)展方案
- 單片機(jī)的圖形化編程方法探討
- 用AT89S51單片機(jī)來(lái)制作的手動(dòng)計(jì)數(shù)器
- Proteus在單片機(jī)系統(tǒng)設(shè)計(jì)中的應(yīng)用
- TEA5767收音機(jī)模塊的C51控制程序
- pic單片機(jī)的模擬I2C通信
推薦技術(shù)資料
- 硬盤(pán)式MP3播放器終級(jí)改
- 一次偶然的機(jī)會(huì)我結(jié)識(shí)了NE0 2511,那是一個(gè)遠(yuǎn)方的... [詳細(xì)]
- 高效率降壓 DC/DC 變換器
- 集成隔離電源 3kVRMS多
- 隔離式、雙輸入控制、高/低端半
- 隔離式、獨(dú)立雙通道柵極驅(qū)動(dòng)器
- Virtual Bench P
- 雙路輸出、數(shù)字、16 相控制器
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究