基于單片機(jī)設(shè)計的汽車防盜報警監(jiān)控系統(tǒng)
經(jīng)分析我們可以發(fā)現(xiàn),撬鎖振動和車門打開時的加速度值都與加速度變化的速度有關(guān),更適合用差分來表示;傾角的變化只與加速度值變化的大小有關(guān),而與變化的速度無關(guān),可以直接用當(dāng)前的加速度來表示。針對聲波振動所造成的誤報,本文采用兩種辦法:由于聲波振動的頻率遠(yuǎn)高于撬鎖振動的頻率,適當(dāng)降低ADC的采樣頻率就可以濾去大部分,系統(tǒng)的采樣頻率是1000Hz;若干項相鄰差分值加權(quán)平均,這相當(dāng)于低通濾波的作用,也可以濾除聲波造成的振動,系統(tǒng)采用3項加權(quán)平均。假設(shè)ADC采樣量化后的值為
A=a(1)+…+a(i-1)+a(i)+a(i+1)+…
加權(quán)系數(shù)為M1、M2、M3,則加權(quán)平均處理的公式為
b(i)=[M1*a(i-1)+M2*a(i)+M3*a(i+1)]/(M1+M2+M3)
對于傾角的檢測通過現(xiàn)在的加速度值與平穩(wěn)狀態(tài)下的加速度值作差得到,設(shè)初始加速度值為a(0),則當(dāng)a(i)-a(0)的絕對值大于設(shè)定值時即可認(rèn)為傾角變化超標(biāo),啟動報警。ADC初始化的部分程序如下:
車輛信息的傳輸與控制
車輛信息的傳輸與控制主要依靠的是Siemens公司的TC35i GSM Modem模塊。單片機(jī)通過串口對TC35i寫AT指令,從而達(dá)到信息的傳輸與接收的目的。
單片機(jī)控制TC35i收發(fā)信息的主要程序如下:
MC9S08QG8單片機(jī)編程注意事項
MC9S08QG8單片機(jī)不同于一般的51單片機(jī),在編程時有一些值得注意的地方,特列舉如下:
1) SOPT1寄存器寫入問題:SOPT1是一個單次寫入寄存器,每次復(fù)位后只能寫一次。所以它的每個位要一次寫入,而不能分多次寫。比如下面語句
則單片機(jī)只認(rèn)為第一條指令有效,而后面的語句無效。這樣就造成外部中斷復(fù)位腳可用,看門狗定時器卻不能關(guān)閉。應(yīng)該寫成以下形式
2)片內(nèi)起振狀態(tài)下ICS Trim Register (ICSTRM)寄存器一定要設(shè)置。這個寄存器就是用來調(diào)節(jié)內(nèi)部振蕩器的時鐘頻率的,因為內(nèi)部振蕩器是采用半導(dǎo)體工藝制成的,不同芯片的振蕩頻率會有偏差,Trim寄存器就用來調(diào)整這個偏差。調(diào)整值一般在出廠時就寫在芯片的固定位置上了,直接使用即可。但是BDM調(diào)試時會根據(jù)設(shè)定的頻率對其進(jìn)行調(diào)整(可能與上電復(fù)位的初始值不同),將造成時鐘頻率微小改變,從而BDM調(diào)試狀態(tài)與掉電復(fù)位后的時鐘頻率不同,在SCI通信時造成波特率不準(zhǔn)。
評論