基于SC89F5162的老人生理智能監控預警系統設計
3、軟件設計原理
本文引用地址:http://www.104case.com/article/236648.htm本課題的軟件設計分為2部分,一、單片機程序設計:基于子系統功能而設計的單片機驅動程序的開發環境為Keil4,開發語言用C語言。單片機的驅動程序用到了SC89F5162的S輸入/輸出(I/O)準雙向模式、增強型通用異步收發器(EUART)和模/數轉換器(ADC)等特色功能。
增強型通用異步收發器(EUART)設計原理:EUART首先將接收到的并行數據轉換成串行數據來傳輸。消息幀從一個低位起始位開始,后面是5~8個數據位,一個可用的奇偶位和一個或幾個高位停止位。接收器發現開始位時它就知道數據準備發送,并嘗試與發送器時鐘頻率同步。如果選擇了奇偶,UART就在數據位后面加上奇偶位。奇偶位可用來幫助錯誤校驗。在接收過程中,UART從消息幀中去掉起始位和結束位,對進來的字節進行奇偶校驗,并將數據字節從串行轉換成并行。UART也產生額外的信號來指示發送和接收的狀態。例如,如果產生一個奇偶錯誤,UART就置位奇偶標志。由此原理合理的配置EUART的相關寄存器和設置參數。
模/數轉換器(ADC)軟件設計原理:SC89F5162包含一個單端型、 10位逐次逼近型模數轉換器(ADC)。ADC內建的基準電壓VREF直接和VDD相連,用戶也可以選擇VREF端口輸入基準電壓。8個ADC通道都可以獨立輸入模擬信號,但是每次轉換只能使用一個通道。GO/DONE信號控制開始轉換,提示轉換結束。當轉換完成時,更新ADC數據寄存器與此同時,設置ADCON寄存器中的ADCIF位,并且產生一個中斷(如果允許ADC中斷)。ADC模塊整合數字比較功能可以比較ADC中的模擬輸入的值與數字值。如果允許數字比較功能(在ADCON寄存器中的EC位置1),并且ADC模塊使能 (在ADCON寄存器中的ADON位置1),只有當相應的模擬輸入的數字值大于或等于寄存器中的比較值(ADDH/L)時,才會產生ADC中斷。當GO/DONE置1時,數字比較功能會持續工作,直到GO/DONE清0。這一點與模數轉換工作方式不同。帶數字比較功能的ADC模塊能在Idle模式下工作,并且ADC中斷能夠喚醒Idle模式。但是,在Power-Down模式下,ADC模塊被禁止。由此原理合理的配置ADC的相關寄存器和設置參數。
三、項目設計框圖
1、硬件設計框圖
?

?
2、軟件設計框圖
系統總體程序設計流程圖:
?

?
基于GPS芯片的位置獲取子系統程序流程圖:
?

?
GSM/GPRS通信子系統程序流程圖:
?

?
四、測試結果
本系統的測試分為總系統測試和子系統測試,詳見測試視頻。網址為:http://pan.baidu.com/s/1i30t1e1。
加速度計相關文章:加速度計原理
評論