基于單片機設計的汽車防盜報警監控系統
經分析我們可以發現,撬鎖振動和車門打開時的加速度值都與加速度變化的速度有關,更適合用差分來表示;傾角的變化只與加速度值變化的大小有關,而與變化的速度無關,可以直接用當前的加速度來表示。針對聲波振動所造成的誤報,本文采用兩種辦法:由于聲波振動的頻率遠高于撬鎖振動的頻率,適當降低ADC的采樣頻率就可以濾去大部分,系統的采樣頻率是1000Hz;若干項相鄰差分值加權平均,這相當于低通濾波的作用,也可以濾除聲波造成的振動,系統采用3項加權平均。假設ADC采樣量化后的值為
A=a(1)+…+a(i-1)+a(i)+a(i+1)+…
加權系數為M1、M2、M3,則加權平均處理的公式為
b(i)=[M1*a(i-1)+M2*a(i)+M3*a(i+1)]/(M1+M2+M3)
對于傾角的檢測通過現在的加速度值與平穩狀態下的加速度值作差得到,設初始加速度值為a(0),則當a(i)-a(0)的絕對值大于設定值時即可認為傾角變化超標,啟動報警。ADC初始化的部分程序如下:


車輛信息的傳輸與控制
車輛信息的傳輸與控制主要依靠的是Siemens公司的TC35i GSM Modem模塊。單片機通過串口對TC35i寫AT指令,從而達到信息的傳輸與接收的目的。
單片機控制TC35i收發信息的主要程序如下:


MC9S08QG8單片機編程注意事項
MC9S08QG8單片機不同于一般的51單片機,在編程時有一些值得注意的地方,特列舉如下:
1) SOPT1寄存器寫入問題:SOPT1是一個單次寫入寄存器,每次復位后只能寫一次。所以它的每個位要一次寫入,而不能分多次寫。比如下面語句
則單片機只認為第一條指令有效,而后面的語句無效。這樣就造成外部中斷復位腳可用,看門狗定時器卻不能關閉。應該寫成以下形式
2)片內起振狀態下ICS Trim Register (ICSTRM)寄存器一定要設置。這個寄存器就是用來調節內部振蕩器的時鐘頻率的,因為內部振蕩器是采用半導體工藝制成的,不同芯片的振蕩頻率會有偏差,Trim寄存器就用來調整這個偏差。調整值一般在出廠時就寫在芯片的固定位置上了,直接使用即可。但是BDM調試時會根據設定的頻率對其進行調整(可能與上電復位的初始值不同),將造成時鐘頻率微小改變,從而BDM調試狀態與掉電復位后的時鐘頻率不同,在SCI通信時造成波特率不準。
評論