欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    今天給大家分享一下8051單片機的有限狀態(tài)機例子。

    學習本例程之前,建議大家先學習《15、Proteus仿真8051—串口接收數(shù)據(jù)(中斷方式)》這篇文章:

    15、Proteus仿真8051—串口接收數(shù)據(jù)(中斷方式)

    大家可以從Gitee倉庫上下載它的Proteus工程文件,鏈接如下:

    https://gitee.com/anglai-tech/AL_Proteus_8051/blob/master/16_8051_FiniteStateMachine.pdsprj

    無線鼠標使用很方便,但是電池不太耐用,即使是充電電池,也需要充電。很多鼠標帶有電源開關,可以關閉電源節(jié)省電池能量,但是使用后也會容易忘記關閉開關,造成浪費。雖說大部分鼠標都有自動休眠功能,但是看起來休眠的效果并不理想,試過多個2.4G無線、藍牙鼠標,都經(jīng)常被電池問題困擾,沒有找到一個合適的,于是就想自己改造一下。

    理想情況下,拿起鼠標就可以使用,放下鼠標一段時間后,就自動切換電源,這樣無論鼠標的低功耗功能是否足夠好,都不會損耗電池了,使用起來比較省心。正好有一個閑置的藍牙鼠標,就動手進行了改造了一番。

    這個鼠標是最常見的公模鼠標了,它使用1節(jié)14550鋰電池供電,可能是電池容量小,加上通常沒有關閉電源開關,所以一般情況下,充電一次可以使用7-15天(與使用頻率有關)。

    鼠標很容易拆,將電池取下后,就可以看到固定螺絲。這個鼠標只用1個螺絲固定,在鼠標腳墊下沒有螺絲(有些鼠標可能有,后面兩個鼠標腳墊處有螺絲柱)。取下螺絲后,就很容易將鼠標上蓋和底部分離,看到里面的主板了。

    要實現(xiàn)前面的想法,其實不難,只需要一個低功耗單片機(現(xiàn)在大部分單片機都可以),一個觸摸按鍵芯片,一個P-MOS管就可以。使用觸摸按鍵芯片檢測手接觸鼠標,當接觸鼠標后就會輸出信號,單片機檢測到這個信號后,就控制MOS管導通,給鼠標供電;當信號消失(手離開),延時一段時間后切斷電源,就可以自動節(jié)省電池能量。有的單片機支持大電流輸出引腳(輸出電流不小于50mA),那么MOS也可以省掉。

    確定了基本方案,下一步就是選擇合適的元件了。一節(jié)鋰電池的電壓范圍在2.7-4.2V,因此需要選擇一個支持2.7-5V的單片機,否則還需要增加一個LDO防止電壓超出范圍。MOS和觸摸芯片也是如此,需要選擇合適電壓范圍的。這些元件還是比較容易找到的,相信大家都有一些自己熟悉的。不過DIY的樂趣在于盡量使用少的成本和現(xiàn)有的東西,而不是花很多錢去買一個現(xiàn)成的,因此到雜物箱中找了找,找出了下面幾個元件,正好可以滿足要求:

    • ATTiny13V,8引腳的AVR單片機
    • TTP223,單觸摸傳感器
    • SI2301,P-MOS

    ATTiny13V是8引腳的單片機,最大10M主頻,1KB flash,64B ram和64B eeprom。休眠時功耗大約是5uA(看門狗使能)。

    TTP223是一個SOT23-6封裝的芯片,支持多種方式輸出和自校正。為了讓程序簡單,這里使用了直接輸出方式,低電平有效。因此需要將TOG接地,而AHLB接VCC。

    SI2301就是一個普通MOS,其它類似型號都可以使用。

    AVR單片機好幾年沒有用過了,順便把編程器找出來,這還是以前DIY的,使用了AVRUSB方式。為此還把安裝了XP的舊計算機找出來,因為win7以后的系統(tǒng)都不能直接使用AVRUSB。

    因為沒有(也不需要)仿真器,因此程序就使用了proteus,可以在proteus中仿真、編寫代碼、模擬運行、設置斷點,模擬運行結(jié)果正常,一般就沒有大問題了。

    好長時間不用AVR,一些用法都忘記了。好在有以前寫的通用驅(qū)動層,不看手冊也很快就完成了功能。使用一個IO做觸摸檢測,一個IO做MOS控制。單片機平時休眠,通過WDG定時喚醒,休眠時功耗應該低于20uA。以前還體會不深,現(xiàn)在就越來越感到一個好的HAL是非常重要的。


    將程序先下載到單片機,然后將信號線焊接上去,就完成了。使用了一個長導線作為觸摸感應,并將它固定到上蓋下方位置。

    安裝電池后運行,效果不錯,靈敏度也很高。就是使用中發(fā)現(xiàn)延時關閉電源的時間稍短了一點,程序中設計的是5秒,有時拿東西是電源就關閉了,以后改為10-30秒可能更好。

    后記:

    • 第一次安裝后運行發(fā)現(xiàn)了一個問題,TTP223輸出不能拉到0V,只有2.8V。檢查發(fā)現(xiàn)程序中使能了IO的上拉電阻,關閉上拉后就正常了。
    • 如果要更好的防止干擾,可以使用多路觸摸信號進行控制,在多個信號同時有效時,才打開電源,這樣效果更好。
    • 對于1節(jié)AA電池供電的鼠標,因為電壓范圍是0.9-1.5V,上面的元件就不能使用了。因此需要選擇合適的元件,或者使用升壓方式。
網(wǎng)站首頁   |    關于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權(quán)所有