龍林星,藍國財,楊美紅,楊慧欣,黃姿妹,黃江,黃燦勝
(廣西民族師范學院 數理與電子信息工程學院,廣西崇左,532200)
近些年來,由于人們日常生活節律的增加,壓力的加大,運動量的減少以及其他因素所造成的煩躁、精神緊張,使得失眠人群越來越多。最近一項針對中國北京、上海等六座城市的研究顯示,成年人在過去十二個月中入睡困難的發生率達到57%。并且根據目前社會的發展趨勢,失眠人數的增長還會呈上升的態勢,嚴峻影響著人們的身心健康,造成了工作效率和生活品質的大大降低。于是我們欲設計一款有助于失眠患者入睡的電子催眠器。
本設計主要由心率檢測電路、語音播報模塊、LCD1602顯示屏、電源電路、LED 閃爍電路、復位電路、單片機主控等部分組成。系統框圖如圖1 所示。

圖1 系統框圖
AT89C52 單片機是一塊功耗低、運行速度快的微控制器,它幾乎兼容80C51 所有型號的指令和引腳功能。它采用模塊化設計思想,通過擴展可配置寄存器單元(SDRAM),實現了各種功能;通過優化I/O 接口電路結構,降低功耗。配備8K 字節閃存存儲,RAM256 字節存儲空間、32 個I/0端口、定時器/計數器、外部中斷、UART 串口等外設。另外AT89C52 可配置休眠模式。在休眠模式時,系統會進入休眠狀態,當工作時,系統會自動啟動。空閑模式時,CPU的數據由RAM 中讀取并存儲在定時器和/或計數器上,然后通過串口發送中斷。掉電保護時,RAM 內容可由振蕩器和單片機完成硬件復位。而在節能模式下,該芯片仍保持低功耗狀態。本文詳細介紹了AT89C52 硬件系統設計與實現方法,并給出相應程序流程圖和設計流程講解。AT89C52 系列單片機是嵌入式控制系統中應用最為廣泛的一種芯片,它具有體積小、功能強和靈活性好等特點。所以本設計中采用AT89C52 芯片作為主控芯片。主控電路圖如圖2 所示。

圖2 主控電路圖
無論是哪種系列單片機都會采用到復位電路,復位電路決定著整個系統工作的可靠性,AT89C52 單片機復位方式簡單便捷,可以通過上電復位或者按下復位鍵使其單片機回到初始狀態。復位電路原理圖如圖3 所示。

圖3 復位電路原理圖
心率檢測電路主要是利用ST188 光電傳感器對脈搏信號進行數據采集,將這些數據轉換成脈搏信號后輸出,經過濾波器將雜波濾掉,經過放大信號處理,經過整形電路將不規則的尖峰脈沖信號整形,然后將整形后的脈沖電信號傳輸至單片機的I/O 接口。此后,單片機就可以通過外部中斷的方式對已處理過的脈沖電信號加以測量,一般都是先利用單片機測量六次脈沖數據后,然后就可以計算出測量者在1min 內的心跳脈搏次數,最后根據脈搏程度范圍的劃分將最終的結果顯示在LCD1602 液晶顯示屏上。心率檢測電路原理圖如圖4 所示。

圖4 心率檢測電路原理圖
2.3.1 濾波電路
ST188 光電傳感器采集到的脈搏信號,在輸出端有時候會出現的電壓偏低,而有時候又會出現輸出電壓比正常時間高的情況。這說明傳感器輸出的信號中存在著一定的直流分量,并且經過研究表明,人體的脈搏波信號頻率一般處于0.6~6Hz 之間,于是可以采用0.6Hz 左右的高通濾波器來濾除信號中的直流分量,保持電路穩定。
2.3.2 放大電路
因為所需采集的脈搏信號比較微弱,并且在傳輸的過程中會有一定的衰減,所以我們需要對信號進行放大處理。本設計使用LM358 芯片搭建電路對輸入的電壓進行放大100倍后,再通過單片機I/O 口進行檢測。
2.3.3 整形電路
采集的脈搏信號雖然經過濾波和放大處理,但仍是不規則的,仍存在一定的低頻干擾,導致不能被單片機很好識別,所以需要通過整形電路將不規則的波形進行修真或變換。在此,主要是通過利用LM358 的第二個運算放大器和R6、R10 構成的電壓比較器實現。
WT588D 語音模塊,是一款可以反復擦除燒寫且功能實用、操作簡單的語音芯片。該模塊可以不再因為控制模式而去尋求適合它的外圍單片機或者微型計算機集成電路,現在高集成化類單片機控制器的能力是非常適合且可以代替其他繁瑣的外設檢測電路。通過配套WT588D Voice Chip上位機控制軟件,可以隨時更改WT588D 語音芯片的任意一個操作方式,只需要把數據直接加載到SPI-Flash 文件中即可。當WT588D 語音芯片收到來自脈搏監測系統的信息時,語音模塊會判斷單片機發送過來的指令并播放對應的音樂。語音模塊電路原理圖如圖5所示。

圖5 語音播報模塊電路原理圖
在本設計中,脈搏跳動的速度、程度的顯示以及計時時間的顯示主要由LCD1602 與外圍電路組成,在電路連接過程中,LCD1602 的3 號引腳與電位器相連接,通過編制程序的方式,將相關數據在液晶顯示屏進行實時顯示。其中,LCD1602 液晶屏的第一行顯示脈搏跳動的次數,而第二行則顯示脈搏跳動程度和系統運行的時間。顯示屏電路原理圖如圖6 所示。

圖6 顯示屏電路原理圖
LM2596S 電源模塊的輸出驅動電流高達3A、并且輸出電壓穩定、效率高,由于本設計采用的模塊和電路居多,單片機的驅動電流是遠遠不夠的,所以采用此模塊可以更好地為該設計提供穩定的供電。
通過脈搏監測電路,分析患者脈搏的跳動頻率、波形情況后對患者的失眠程度進行分級,之后患者可通過自己的失眠程度播放體感音樂同時配合LED 閃爍電路使其更好入眠。LED 閃爍電路原理圖如圖7 所示。

圖7 LED 閃爍電路原理圖
為保證系統能夠正常工作,在完成硬件系統的構建工作后,還需要為其提供合適的軟件程序。具體來說,該軟件系統主要由主程序與子程序兩部分組成,其中主程序作為本設計的核心程序即單片機程序,用來協調執行各個模塊發送和接收的指令,子程序為語音模塊的程序和音樂存入等工作。下面就從以上提到的幾個方面分別介紹。
程序設計的主要流程為:首先配置定時器的工作模式,然后初始化定時器、采集脈搏跳動次數、計算脈搏跳動次數、根據脈搏次數播放音樂以及各個IO口的狀態。其中,定時器、外部中斷和LCD1602 顯示屏的初始化操作是必需的。其次,待初始化完成之后,則需要對有關硬件電路進行動作,使其能夠與程序相對應。采集一分鐘內的脈搏跳動的次數,當采集到6 次脈沖信號后,進行數據分析和計算;然后根據脈搏跳動次數劃分的程度范圍,調用語音播報模塊,進行音樂的選擇。完成后將在顯示屏的第一行顯示采集到的脈搏跳動次數,第二行顯示脈搏跳動的程度、語音模塊驅動喇叭播放對應音樂、單片機根據采集到的脈搏次數輸出對應頻率,驅動LED 燈達到催眠效果。單片機外部中斷是邊沿觸發的方式,當脈沖信號為下降沿時,單片機觸發外部中斷,定時器T0 啟動計時。定時器T0 設置為定時時間50ms 中斷一次,即執行一次計數操作,若時間超過1.5s 還沒有檢測到脈沖信號,那么LCD 顯示屏就會停止顯示,并允許觸發外部中斷T0。單片機設置定時操作,當催眠器運行20 分鐘無任何操作的情況下,單片機就會自動斷電,這樣一來既提高了安全系數也節約了用電。單片機程序流程圖如圖8 所示。

圖8 單片機程序流程圖
WT588D 語音模塊配備一款WT588D VoiceChip 軟件進行拓展語音模塊的功能,完成編譯工作。在該軟件中進行音頻裝載和編輯。其主要步驟是:第一步點擊新建工程、第二步根據語音長度設置存儲器的大小、第三步裝載語音、音頻加載進來后,可以在音頻裝載區顯示相關信息、第四步選擇控制模式,在本設計中采用按鍵模式、第五步,音頻輸出模式的設定,芯片主要是提供外接功放模式、揚聲器模式為直驅模式、第六步設置BUSY 端的輸出電平為“1”或“0”、第七步插入靜音,其主要目的在于增加播放延時的時間,如果是不需要的音頻則可以在音頻裝載區或音頻編輯區刪除或清空、第八步編譯工程并下載,將其編譯成BIN 文件,生成BIN 文檔后再下載到SPI-Flash 存儲器中。音頻載入頁面如圖9 所示。

圖9 音頻載入頁面
總而言之,電子催眠器作為一款無副作用助眠的產品,在當今社會越來越受歡迎,而本款電子催眠器的主要作用是先采集使用者的心率情況,然后對采集結果進行數據分析后選擇合適的音樂以達到幫助使用者達到放松身心、順利入眠的效果。