龍林星,藍(lán)國財(cái),楊美紅,楊慧欣,黃姿妹,黃江,黃燦勝
(廣西民族師范學(xué)院 數(shù)理與電子信息工程學(xué)院,廣西崇左,532200)
近些年來,由于人們?nèi)粘I罟?jié)律的增加,壓力的加大,運(yùn)動(dòng)量的減少以及其他因素所造成的煩躁、精神緊張,使得失眠人群越來越多。最近一項(xiàng)針對(duì)中國北京、上海等六座城市的研究顯示,成年人在過去十二個(gè)月中入睡困難的發(fā)生率達(dá)到57%。并且根據(jù)目前社會(huì)的發(fā)展趨勢,失眠人數(shù)的增長還會(huì)呈上升的態(tài)勢,嚴(yán)峻影響著人們的身心健康,造成了工作效率和生活品質(zhì)的大大降低。于是我們欲設(shè)計(jì)一款有助于失眠患者入睡的電子催眠器。
本設(shè)計(jì)主要由心率檢測電路、語音播報(bào)模塊、LCD1602顯示屏、電源電路、LED 閃爍電路、復(fù)位電路、單片機(jī)主控等部分組成。系統(tǒng)框圖如圖1 所示。
圖1 系統(tǒng)框圖
AT89C52 單片機(jī)是一塊功耗低、運(yùn)行速度快的微控制器,它幾乎兼容80C51 所有型號(hào)的指令和引腳功能。它采用模塊化設(shè)計(jì)思想,通過擴(kuò)展可配置寄存器單元(SDRAM),實(shí)現(xiàn)了各種功能;通過優(yōu)化I/O 接口電路結(jié)構(gòu),降低功耗。配備8K 字節(jié)閃存存儲(chǔ),RAM256 字節(jié)存儲(chǔ)空間、32 個(gè)I/0端口、定時(shí)器/計(jì)數(shù)器、外部中斷、UART 串口等外設(shè)。另外AT89C52 可配置休眠模式。在休眠模式時(shí),系統(tǒng)會(huì)進(jìn)入休眠狀態(tài),當(dāng)工作時(shí),系統(tǒng)會(huì)自動(dòng)啟動(dòng)。空閑模式時(shí),CPU的數(shù)據(jù)由RAM 中讀取并存儲(chǔ)在定時(shí)器和/或計(jì)數(shù)器上,然后通過串口發(fā)送中斷。掉電保護(hù)時(shí),RAM 內(nèi)容可由振蕩器和單片機(jī)完成硬件復(fù)位。而在節(jié)能模式下,該芯片仍保持低功耗狀態(tài)。本文詳細(xì)介紹了AT89C52 硬件系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)方法,并給出相應(yīng)程序流程圖和設(shè)計(jì)流程講解。AT89C52 系列單片機(jī)是嵌入式控制系統(tǒng)中應(yīng)用最為廣泛的一種芯片,它具有體積小、功能強(qiáng)和靈活性好等特點(diǎn)。所以本設(shè)計(jì)中采用AT89C52 芯片作為主控芯片。主控電路圖如圖2 所示。
圖2 主控電路圖
無論是哪種系列單片機(jī)都會(huì)采用到復(fù)位電路,復(fù)位電路決定著整個(gè)系統(tǒng)工作的可靠性,AT89C52 單片機(jī)復(fù)位方式簡單便捷,可以通過上電復(fù)位或者按下復(fù)位鍵使其單片機(jī)回到初始狀態(tài)。復(fù)位電路原理圖如圖3 所示。
圖3 復(fù)位電路原理圖
心率檢測電路主要是利用ST188 光電傳感器對(duì)脈搏信號(hào)進(jìn)行數(shù)據(jù)采集,將這些數(shù)據(jù)轉(zhuǎn)換成脈搏信號(hào)后輸出,經(jīng)過濾波器將雜波濾掉,經(jīng)過放大信號(hào)處理,經(jīng)過整形電路將不規(guī)則的尖峰脈沖信號(hào)整形,然后將整形后的脈沖電信號(hào)傳輸至單片機(jī)的I/O 接口。此后,單片機(jī)就可以通過外部中斷的方式對(duì)已處理過的脈沖電信號(hào)加以測量,一般都是先利用單片機(jī)測量六次脈沖數(shù)據(jù)后,然后就可以計(jì)算出測量者在1min 內(nèi)的心跳脈搏次數(shù),最后根據(jù)脈搏程度范圍的劃分將最終的結(jié)果顯示在LCD1602 液晶顯示屏上。心率檢測電路原理圖如圖4 所示。
圖4 心率檢測電路原理圖
2.3.1 濾波電路
ST188 光電傳感器采集到的脈搏信號(hào),在輸出端有時(shí)候會(huì)出現(xiàn)的電壓偏低,而有時(shí)候又會(huì)出現(xiàn)輸出電壓比正常時(shí)間高的情況。這說明傳感器輸出的信號(hào)中存在著一定的直流分量,并且經(jīng)過研究表明,人體的脈搏波信號(hào)頻率一般處于0.6~6Hz 之間,于是可以采用0.6Hz 左右的高通濾波器來濾除信號(hào)中的直流分量,保持電路穩(wěn)定。
2.3.2 放大電路
因?yàn)樗璨杉拿}搏信號(hào)比較微弱,并且在傳輸?shù)倪^程中會(huì)有一定的衰減,所以我們需要對(duì)信號(hào)進(jìn)行放大處理。本設(shè)計(jì)使用LM358 芯片搭建電路對(duì)輸入的電壓進(jìn)行放大100倍后,再通過單片機(jī)I/O 口進(jìn)行檢測。
2.3.3 整形電路
采集的脈搏信號(hào)雖然經(jīng)過濾波和放大處理,但仍是不規(guī)則的,仍存在一定的低頻干擾,導(dǎo)致不能被單片機(jī)很好識(shí)別,所以需要通過整形電路將不規(guī)則的波形進(jìn)行修真或變換。在此,主要是通過利用LM358 的第二個(gè)運(yùn)算放大器和R6、R10 構(gòu)成的電壓比較器實(shí)現(xiàn)。
WT588D 語音模塊,是一款可以反復(fù)擦除燒寫且功能實(shí)用、操作簡單的語音芯片。該模塊可以不再因?yàn)榭刂颇J蕉で筮m合它的外圍單片機(jī)或者微型計(jì)算機(jī)集成電路,現(xiàn)在高集成化類單片機(jī)控制器的能力是非常適合且可以代替其他繁瑣的外設(shè)檢測電路。通過配套WT588D Voice Chip上位機(jī)控制軟件,可以隨時(shí)更改WT588D 語音芯片的任意一個(gè)操作方式,只需要把數(shù)據(jù)直接加載到SPI-Flash 文件中即可。當(dāng)WT588D 語音芯片收到來自脈搏監(jiān)測系統(tǒng)的信息時(shí),語音模塊會(huì)判斷單片機(jī)發(fā)送過來的指令并播放對(duì)應(yīng)的音樂。語音模塊電路原理圖如圖5所示。
圖5 語音播報(bào)模塊電路原理圖
在本設(shè)計(jì)中,脈搏跳動(dòng)的速度、程度的顯示以及計(jì)時(shí)時(shí)間的顯示主要由LCD1602 與外圍電路組成,在電路連接過程中,LCD1602 的3 號(hào)引腳與電位器相連接,通過編制程序的方式,將相關(guān)數(shù)據(jù)在液晶顯示屏進(jìn)行實(shí)時(shí)顯示。其中,LCD1602 液晶屏的第一行顯示脈搏跳動(dòng)的次數(shù),而第二行則顯示脈搏跳動(dòng)程度和系統(tǒng)運(yùn)行的時(shí)間。顯示屏電路原理圖如圖6 所示。
圖6 顯示屏電路原理圖
LM2596S 電源模塊的輸出驅(qū)動(dòng)電流高達(dá)3A、并且輸出電壓穩(wěn)定、效率高,由于本設(shè)計(jì)采用的模塊和電路居多,單片機(jī)的驅(qū)動(dòng)電流是遠(yuǎn)遠(yuǎn)不夠的,所以采用此模塊可以更好地為該設(shè)計(jì)提供穩(wěn)定的供電。
通過脈搏監(jiān)測電路,分析患者脈搏的跳動(dòng)頻率、波形情況后對(duì)患者的失眠程度進(jìn)行分級(jí),之后患者可通過自己的失眠程度播放體感音樂同時(shí)配合LED 閃爍電路使其更好入眠。LED 閃爍電路原理圖如圖7 所示。
圖7 LED 閃爍電路原理圖
為保證系統(tǒng)能夠正常工作,在完成硬件系統(tǒng)的構(gòu)建工作后,還需要為其提供合適的軟件程序。具體來說,該軟件系統(tǒng)主要由主程序與子程序兩部分組成,其中主程序作為本設(shè)計(jì)的核心程序即單片機(jī)程序,用來協(xié)調(diào)執(zhí)行各個(gè)模塊發(fā)送和接收的指令,子程序?yàn)檎Z音模塊的程序和音樂存入等工作。下面就從以上提到的幾個(gè)方面分別介紹。
程序設(shè)計(jì)的主要流程為:首先配置定時(shí)器的工作模式,然后初始化定時(shí)器、采集脈搏跳動(dòng)次數(shù)、計(jì)算脈搏跳動(dòng)次數(shù)、根據(jù)脈搏次數(shù)播放音樂以及各個(gè)IO口的狀態(tài)。其中,定時(shí)器、外部中斷和LCD1602 顯示屏的初始化操作是必需的。其次,待初始化完成之后,則需要對(duì)有關(guān)硬件電路進(jìn)行動(dòng)作,使其能夠與程序相對(duì)應(yīng)。采集一分鐘內(nèi)的脈搏跳動(dòng)的次數(shù),當(dāng)采集到6 次脈沖信號(hào)后,進(jìn)行數(shù)據(jù)分析和計(jì)算;然后根據(jù)脈搏跳動(dòng)次數(shù)劃分的程度范圍,調(diào)用語音播報(bào)模塊,進(jìn)行音樂的選擇。完成后將在顯示屏的第一行顯示采集到的脈搏跳動(dòng)次數(shù),第二行顯示脈搏跳動(dòng)的程度、語音模塊驅(qū)動(dòng)喇叭播放對(duì)應(yīng)音樂、單片機(jī)根據(jù)采集到的脈搏次數(shù)輸出對(duì)應(yīng)頻率,驅(qū)動(dòng)LED 燈達(dá)到催眠效果。單片機(jī)外部中斷是邊沿觸發(fā)的方式,當(dāng)脈沖信號(hào)為下降沿時(shí),單片機(jī)觸發(fā)外部中斷,定時(shí)器T0 啟動(dòng)計(jì)時(shí)。定時(shí)器T0 設(shè)置為定時(shí)時(shí)間50ms 中斷一次,即執(zhí)行一次計(jì)數(shù)操作,若時(shí)間超過1.5s 還沒有檢測到脈沖信號(hào),那么LCD 顯示屏就會(huì)停止顯示,并允許觸發(fā)外部中斷T0。單片機(jī)設(shè)置定時(shí)操作,當(dāng)催眠器運(yùn)行20 分鐘無任何操作的情況下,單片機(jī)就會(huì)自動(dòng)斷電,這樣一來既提高了安全系數(shù)也節(jié)約了用電。單片機(jī)程序流程圖如圖8 所示。
圖8 單片機(jī)程序流程圖
WT588D 語音模塊配備一款WT588D VoiceChip 軟件進(jìn)行拓展語音模塊的功能,完成編譯工作。在該軟件中進(jìn)行音頻裝載和編輯。其主要步驟是:第一步點(diǎn)擊新建工程、第二步根據(jù)語音長度設(shè)置存儲(chǔ)器的大小、第三步裝載語音、音頻加載進(jìn)來后,可以在音頻裝載區(qū)顯示相關(guān)信息、第四步選擇控制模式,在本設(shè)計(jì)中采用按鍵模式、第五步,音頻輸出模式的設(shè)定,芯片主要是提供外接功放模式、揚(yáng)聲器模式為直驅(qū)模式、第六步設(shè)置BUSY 端的輸出電平為“1”或“0”、第七步插入靜音,其主要目的在于增加播放延時(shí)的時(shí)間,如果是不需要的音頻則可以在音頻裝載區(qū)或音頻編輯區(qū)刪除或清空、第八步編譯工程并下載,將其編譯成BIN 文件,生成BIN 文檔后再下載到SPI-Flash 存儲(chǔ)器中。音頻載入頁面如圖9 所示。
圖9 音頻載入頁面
總而言之,電子催眠器作為一款無副作用助眠的產(chǎn)品,在當(dāng)今社會(huì)越來越受歡迎,而本款電子催眠器的主要作用是先采集使用者的心率情況,然后對(duì)采集結(jié)果進(jìn)行數(shù)據(jù)分析后選擇合適的音樂以達(dá)到幫助使用者達(dá)到放松身心、順利入眠的效果。