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