基于STM8單片機的電容觸摸按鍵設(shè)計與實現(xiàn)
《基于STM8單片機的電容觸摸按鍵設(shè)計與實現(xiàn)》由會員分享,可在線閱讀,更多相關(guān)《基于STM8單片機的電容觸摸按鍵設(shè)計與實現(xiàn)(24頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、本科畢業(yè)設(shè)計題目:基于STM8單片機的電容觸摸按鍵設(shè)計與實現(xiàn)學(xué) 院: 應(yīng)用科技學(xué)院 專 業(yè): 電子信息工程 年 級: 2010級 學(xué) 號: 120352010069 姓 名: 邵曉斌 指導(dǎo)教師: 蘇偉達 2012年4月20日基于STM8單片機的電容觸摸按鍵設(shè)計與實現(xiàn)應(yīng)用科技學(xué)院學(xué)院 電子信息工程專業(yè)120352010069 邵曉斌 指導(dǎo)老師 蘇偉達【摘要】根據(jù)智能家居雙控觸摸開關(guān)項目的需求,提出一種工藝成本低、檢測方便的輸入方式,給出系統(tǒng)的軟件控制流程,基于STM8系列單片機技術(shù)對觸摸按鍵進行軟硬件設(shè)計,實現(xiàn)一個適合安裝在86盒的觸摸開關(guān)。經(jīng)測試,在實際運行環(huán)境中,證明該系統(tǒng)運行穩(wěn)定,使用靈活
2、,在低成本的電路中適用性較強?!娟P(guān)鍵詞】STM8;按鍵;觸摸;軟件STM8 microcontroller based design and implementation of capacitive touch buttonsScience and Technology Practising College Fujian Normal UniversityElectronic Information Engineering 120352010069 Shao Xiaobin Tutor: Su WeidaAbstract Based on intelligent household dual
3、touch switch control requirements of the project, put forward a kind of process, lower cost, and convenient detection input mode, software control flow of the system is given, based on STM8 series single chip microcomputer technology to touch keys for software and hardware design, to achieve a suita
4、ble touch switch installed in 86 boxes. After the test, in the actual operation environment, proved that the system runs stably, flexible use, with a strong applicability in low-cost circuit.Key Words STM8;buttons; touch; soft. 目錄1緒論11.1 引言11.2 觸摸按鍵技術(shù)的研究現(xiàn)狀與發(fā)展趨勢11.3 本畢業(yè)設(shè)計的主要工作12. 電容式觸摸技術(shù)的基礎(chǔ)22.1 電容觸摸感
5、應(yīng)按鍵的基本原理22.2 RC感應(yīng)原理22.3 RC硬件實現(xiàn)32.4 RC軟件實現(xiàn)43系統(tǒng)方案設(shè)計53.1 觸摸開關(guān)系統(tǒng)結(jié)構(gòu)組成53.2 觸摸開關(guān)系統(tǒng)方案的優(yōu)點54. 系統(tǒng)硬件設(shè)計64.1 單片機最小系統(tǒng)電路設(shè)計64.2觸摸按鍵檢測電路設(shè)計64.3面板LED背光指示電路設(shè)計74.4電源供電系統(tǒng)的電路設(shè)計84.4.1 AC-DC電源變換電路設(shè)計84.4.2 LDO線性穩(wěn)壓電路設(shè)計94.5交流電過零檢測電路設(shè)計94.6驅(qū)動電路設(shè)計114.6.1 繼電器驅(qū)動電路設(shè)計114.6.2 蜂鳴器驅(qū)動電路設(shè)計115.系統(tǒng)軟件設(shè)計125.1 軟件設(shè)計方法125.2 軟件總體設(shè)計125.3 軟件流程圖136.結(jié)束
6、語14致謝14參考文獻14附錄1 系統(tǒng)原理圖15附錄2 系統(tǒng)PCB版圖16附錄3系統(tǒng)源程序1731緒論1.1 引言在傳統(tǒng)的按鍵輸入檢測系統(tǒng)中,主要還是以機械式按鍵和電阻式觸摸按鍵為主,為解決傳統(tǒng)的機械式按鍵方式易磨損,壽命短等問題,市面上的消費類電子產(chǎn)品逐漸正式采用電容式觸摸感應(yīng)按鍵,以取代傳統(tǒng)機械式的按鍵。電容式觸摸按鍵的特點是按鍵美觀、造價低廉,機構(gòu)簡單易于安裝,防水防污,耐用、壽命長3,還能提供滑動條的功能。但是電容式觸摸按鍵也有很多的問題,因為沒有機械結(jié)構(gòu),所有的檢測都是電量的微小變化,所以對于各種干擾敏感得多。針對此趨勢,ST意法半導(dǎo)體公司推出了一個基于STM8系列的8位通用且內(nèi)置控
7、制器(MCU)功能的電容式觸摸感應(yīng)按鍵(Capacitive Touch Sensor)方案無需增加專用觸摸感應(yīng)芯片,在硬件上僅結(jié)合簡單的外圍檢測電路即可輕松實現(xiàn)電容式觸摸感應(yīng)的檢測,在軟件上使用軟件濾波算法去屏蔽各種復(fù)雜環(huán)境的干擾,整套方案靈活、成本低、工作可靠,不需要開模等優(yōu)點7,更方便客戶進行二次開發(fā)。1.2 觸摸按鍵技術(shù)的研究現(xiàn)狀與發(fā)展趨勢當(dāng)今電子產(chǎn)品市場中,智能手機、平板電腦、MP3等便攜式電子產(chǎn)品都在逐漸開始使用觸摸技術(shù)來作為人機交互。觸摸控制技術(shù)又可分為觸摸屏技術(shù)和觸摸按鍵技術(shù)5。在觸摸技術(shù)方面,目前使用較多的是電阻式觸摸按鍵與電容式觸摸按鍵。電阻式的觸摸按鍵由多塊導(dǎo)電薄膜按照按
8、鍵的位置印制而成,需要在設(shè)備表面貼一張觸摸薄膜。電阻式觸摸按鍵雖然價格低廉,但其導(dǎo)電膜耐用性比較低。因此,電容式觸摸按鍵便成了一種理想的替代方案。電容式觸摸按鍵具有在非金屬操作面板上無須開孔處理、防水防污、易清潔、無機械開關(guān)且壽命長等優(yōu)點。近幾年隨著蘋果公司將電容觸摸感應(yīng)技術(shù)從筆記本引用到iPod后,電容觸摸感應(yīng)已經(jīng)逐漸應(yīng)用在目前幾乎所有的電子產(chǎn)品,從筆記本電腦、智能手機、PDA、游戲機等手持設(shè)備,到ATM機、銀行排隊取號機等自助終端產(chǎn)品,再到冰箱、空調(diào)、洗衣機、熱水器、電磁爐等小家電,無不以加入電容觸摸感應(yīng)為創(chuàng)新的賣點。目前,世界知名電子元件生產(chǎn)商均加大了對電容式觸摸按鍵的應(yīng)用研究,并推出眾
9、多的專用的電容觸摸感應(yīng)芯片,也有眾多基于MCU集成類的IC。電容式觸摸技術(shù)具有靈敏度高、分辨率高、清晰度高的特點,其技術(shù)的發(fā)展?jié)摿艽螅蚨壳安捎幂^多的觸摸屏還是電容式的。隨著相關(guān)技術(shù)的發(fā)展,電容式觸摸性能將更加完善,種類還會日漸增多,應(yīng)用范圍更加廣泛。1.3 本畢業(yè)設(shè)計的主要工作本畢業(yè)設(shè)計選用ST意法半導(dǎo)體公司的STM8S003F3P6芯片為程序控制微處理器,處理觸摸按鍵是否被按下,LED指示燈是否發(fā)光,繼電器是否工作,從而判斷按鍵是否可控可響應(yīng),完成觸摸開關(guān)的設(shè)計。本畢業(yè)設(shè)計先進行對整個系統(tǒng)的軟硬件功能規(guī)劃,完成系統(tǒng)總體方案的設(shè)計。然后進行各個相關(guān)子模塊電路的詳細設(shè)計,設(shè)計完善的功能電路
10、。再對PCB進行Layout,完成PCB設(shè)計并送至廠家加工,然后完成成硬件焊接的所有工作,再而完成軟件的編寫,并結(jié)合硬件板對整個系統(tǒng)進行聯(lián)調(diào),最終得到一個功能完善的產(chǎn)品。再者是畢業(yè)論文的撰寫,完成一個大學(xué)里面完整的畢業(yè)設(shè)計。2. 電容式觸摸技術(shù)的基礎(chǔ)2.1 電容觸摸感應(yīng)按鍵的基本原理電容式觸摸感應(yīng)按鍵的基本原理就是一個不斷地充電和放電的張弛震蕩器,如果不觸摸開關(guān),張弛震蕩器有一個固定的充放電周期,頻率是可以測量的4。如果我們用手指或者觸摸筆接觸開關(guān),就會增加電容的介電常數(shù),充電周期就會相應(yīng)減小。所以,我們要不停測量周期的變化。就可以偵測觸摸動作。具體測量的方式有兩種:(1).測頻法:可以測量頻
11、率,計算時間內(nèi)的固定周期數(shù)。如果在固定時間內(nèi)測到的周期數(shù)較原先校準(zhǔn)的為少,則此開關(guān)便易視為被按壓。(2).測周法:即在固定的張弛周期間計算系統(tǒng)時鐘周期的總數(shù)8。如果開關(guān)被按壓,則張弛震蕩器的頻率。會減少,則在相同次數(shù)周期會測量到更多的系統(tǒng)時鐘周期。2.2 RC感應(yīng)原理RC采樣原理就是通過測量觸摸電極電容的微小變化,來感應(yīng)人體對觸摸式感應(yīng)器的觸摸。電容C通過一個固定電阻周期性地充放電。電容值取決于以下幾個參數(shù):電極面積(A),絕緣體相對介電常數(shù)(R)、相對空氣濕度(0)、以及兩個電極之間的距離(d)。電容值可由下列公式計算得出: C=(R*0*A)/dRC采樣的基本結(jié)構(gòu)圖如下圖2.2.1所示,固
12、定電壓施加在VIN 兩端,VOUT 的電壓隨著電容值的變化而相應(yīng)的增加或降低,如圖2.2.2所示。圖2.2.1 RC網(wǎng)絡(luò)上的壓降圖2.1.2 測量充電時間通過計算VOUT 的電壓達到閥值VTH 所需要的充電時間(tC),來得到電容值(C)。在觸摸感應(yīng)應(yīng)用中,電容值(C)由兩部分組成:固定電容(電極電容CX)和當(dāng)人體觸摸或者接近電極時,由人手帶來的電容(感應(yīng)電容,CT)。電極的電容應(yīng)該盡可能的小,以保證檢測到人手觸摸。如圖2.1.3所示。因為通常人手觸摸與否,帶來的電容變化一般就是幾個pF(通常5pF)。利用該原理就可以檢測到手指的是否觸摸了電極。圖2.1.3 是否觸摸感應(yīng)2.3 RC硬件實現(xiàn)在
13、本系統(tǒng)設(shè)計中,只需要很少的微控制器開銷,硬件資源只需要一個定時器捕獲,硬件實現(xiàn)如圖2.3.1所示。由R1,R2以及電容電極(CX)和手指電容(CT)并聯(lián)的電容(大約5pF),形成一個RC網(wǎng)絡(luò),通過對RC網(wǎng)絡(luò)充放電時間的測量,可以檢測人手的觸摸。所有電極共用一個“負載IO”引腳。電阻R1和R2盡量靠近MCU放置。電阻的阻值選取在幾十千歐到幾百千歐,此電阻用于調(diào)節(jié)觸摸檢測的靈敏度。電阻小靈敏度較高,可較少對噪聲的影響。圖2.3.1 電容觸摸感應(yīng)實現(xiàn)實例2.4 RC軟件實現(xiàn)為了保證健壯的電容觸摸感應(yīng)的應(yīng)用,充電時間的測量需要足夠的精確。使用普通定時器進行充電時間的測量。對電容充電開始之前,定時器的計
14、數(shù)值被記錄下來,如圖2.4.1所示。當(dāng)采樣I/O端口上的電壓達到某個閥值(VTH)時,再次記錄定時器的值。二者之差就是充電或者放電的時間。圖2.4.1 定時器計數(shù)器值為了提高在電壓和溫度變動情況下的穩(wěn)定性,會對電極進行連續(xù)兩次的測量:第一次測量對電容的充電時間,直到輸入電壓升至VIH. 。第二次測量電容的放電時間,直到輸入電壓將至VIL 。具體如圖2.4.2所示。圖2.4.2 電容充放電時間的測量針對于上圖2.4.2所示,以下將對電容充放電時間的測量對感應(yīng)電極(感應(yīng)I/O)和負載I/O引腳上的操作流程說明。步驟描述11. 負載I/O引腳設(shè)置成輸出模式,輸出VDD;2. 感應(yīng)I/O引腳設(shè)置成輸出
15、模式,輸出VDD;3. 保存定時器計數(shù)器的初始值(vih_start);21. 感應(yīng)I/O設(shè)置成輸入高阻模式Hi-Z,于是電極電容CX 開始充電;3當(dāng)感應(yīng)I/O引腳上的電壓達到VIH ;1. 保存定時器計數(shù)器的值(vih_stop),并由此計算達到高電平VIH 的時間(vih_stop -vih_start),并保存;2. 感應(yīng)I/O引腳設(shè)置成輸出模式,輸出VDD;3. 負載I/O引腳設(shè)置成輸出模式,輸出到地;4. 保存定時器計數(shù)器的初值(vil_start);4感應(yīng)I/O引腳設(shè)置成輸入高阻模式,于是電極電容CX 開始放電;5當(dāng)感應(yīng)I/O引腳上的電壓將至VIL ;1. 保存定時器計數(shù)的值(vi
16、h_stop),并由此計算到低電平VIL 的時間(vih_stop -vih_start),并保存;2. 將兩次測量值“vih_meas”和“vil_meas”相加并保存;3. 重復(fù)步驟1的操作。3系統(tǒng)方案設(shè)計3.1 觸摸開關(guān)系統(tǒng)結(jié)構(gòu)組成根據(jù)功能的定義,本系統(tǒng)即最終設(shè)計實現(xiàn)觸摸按鍵然后執(zhí)行電子開關(guān)動作響應(yīng)。如下圖3.1.1所示為本系統(tǒng)結(jié)構(gòu)組成圖。以MCU微控制器為核心,分為信號輸入采集和輸出執(zhí)行單元,在硬件需要PCB觸摸電極即觸摸板、市電過零檢測、燈光指示、聲音指示、電子開關(guān)等模塊組成的功能。圖3.1.1 觸摸開關(guān)系統(tǒng)結(jié)構(gòu)組成圖3.2 觸摸開關(guān)系統(tǒng)方案的優(yōu)點本系統(tǒng)即實現(xiàn)用繼電器去控制各種各樣的
17、燈光、電器等等各式各樣用電器的電源通斷。當(dāng)使用繼電器控制AC220V用電設(shè)備時,如果在AC220V的峰值附近閉合,則會產(chǎn)生很大的火花,將會影響繼電器的壽命并產(chǎn)生各種電磁干擾,如果在AC220V的過零點處閉合,將會減少影響,實現(xiàn)無火花不打火。本系統(tǒng)方案通過AC的過零點檢測再下一個交流周期的零點實現(xiàn)繼電器導(dǎo)通是本設(shè)計的最大優(yōu)點;其次本系統(tǒng)是屬于觸摸型開關(guān),在用材用料方面大量的節(jié)約銅合金材料,同時對于機械結(jié)構(gòu)的要求大大減少。它直接取代傳統(tǒng)觸摸開關(guān),操作舒服、手感極佳、控制精準(zhǔn)且沒有機械磨損。同時,觸摸開關(guān)更具有人性化的關(guān)懷,在開關(guān)觸摸位置上可以絲印對應(yīng)的文字提示,個性化的文字提示呈現(xiàn)出更美觀的效果,
18、面板且采用水晶面板,LED透過水晶面板發(fā)出淡淡的微光,讓深夜不再是完全的漆黑,足以讓人形成方位和輪廓感,用戶再也不用在漆黑的夜中找不著開關(guān)的煩惱了。4. 系統(tǒng)硬件設(shè)計4.1 單片機最小系統(tǒng)電路設(shè)計MCU采用ST意法利STM8S系列單片機,STM8S是基于8位框架結(jié)構(gòu)的微控制器,該MCU是16MHz的哈佛結(jié)構(gòu)和先進的STM8內(nèi)核,3級流水線,性能較傳統(tǒng)8位機有非常大的優(yōu)勢,選用該款MCU在本系統(tǒng)中滿足需求并且有幾點優(yōu)點:u 價格:出貨量巨大,成本極低,性價比極高u 資源:8K ROM、1K RAM資源足夠本系統(tǒng)使用u 外設(shè):1個SPI接口、1個串口,內(nèi)部多個定時器等u 速度:主頻16MHZ運行速
19、率,SPI接口訪問速率最大高達8M。建立一個STM8系統(tǒng)必須有以下幾個部分組成:電源、復(fù)位電路、時鐘、仿真與調(diào)試接口。具體如下說明:u 電源:STM8S工作在2.9-5.5v的寬電源范圍內(nèi)。本系統(tǒng)采用3.3.v供電u 復(fù)位電路:采用RC復(fù)位即可滿足系統(tǒng)要求u 時鐘:STM8可以選擇三種時鐘源:HIS(內(nèi)部高速時鐘)、LSI(內(nèi)部低速時鐘)、HSE(外部高速時鐘),在本系統(tǒng)中采用HIS(內(nèi)部高速時鐘)再經(jīng)過2分頻的時鐘作為主時鐘u 仿真與調(diào)試接口:STM8所有系列單片機都是通過SWIM接口仿真與編程的,而SWIM接口只需要3根線連接就足夠了,所以設(shè)計的時候非常簡便,只要引出單片機的SWIM引腳、
20、RESET引腳和GND引腳做成個接口,STM8仿真器即可對該單片機進行仿真、調(diào)試、下載程序。根據(jù)STM8S硬件特性和系統(tǒng)需求,設(shè)計如圖4.1的最小系統(tǒng)電路。圖4.1 STM8S最小系統(tǒng)4.2觸摸按鍵檢測電路設(shè)計本系統(tǒng)中觸摸按鍵檢測只需要簡單的外圍RC電路組成再配合內(nèi)部定時器即可實現(xiàn)觸摸按鍵的檢測,如圖4.2所示的虛線框,由PB5_Load引腳發(fā)出固定的頻率通過R2和C4組成固定的振蕩周期,當(dāng)人體沒去觸摸TOUCH PAD,PB4_Acq引腳接收到的充放電是固定的,當(dāng)人體觸摸到TOUCH PAD的時候,由于人體相當(dāng)于一個接大地的電容,因此會在TOUCH PAD觸摸片和大地之間形成一個感應(yīng)電容,感
21、應(yīng)電容與C4并聯(lián),電容變大,振蕩周期變長,因而單片機PB4_Acq引腳檢測到周期變長即可判斷按鍵是否被壓按了。圖4.2 觸摸按鍵檢測電路4.3面板LED背光指示電路設(shè)計面板上LED背光燈的作用是指示目前在本系統(tǒng)中指示當(dāng)前的開關(guān)狀態(tài),其另外一個作用是讓用戶在漆黑的夜中很容易找到開關(guān)的具體位置,具體電路設(shè)計如圖4.3背光指示電路所示。在面板的中心位置安裝兩顆LED,紅色LED表示開關(guān)開的狀態(tài),藍色LED表示開關(guān)關(guān)的狀態(tài),在硬件上只需一個IO口再加個三極管對其藍色LED進行反相驅(qū)動。圖4.3 面板背光燈指示電路4.4電源供電系統(tǒng)的電路設(shè)計在整個系統(tǒng)中,電源電路的設(shè)計是非常關(guān)鍵的,本系統(tǒng)中的供電系統(tǒng)組
22、成圖如圖4.4所示。圖4.4 供電系統(tǒng)組成4.4.1 AC-DC電源變換電路設(shè)計在本系統(tǒng)中AC-DC電源變換電路中采用TNY266PN,該芯片是一款10W高效小功率隔離式開關(guān)電源用集成電路,芯片內(nèi)部包括一個耐壓700V的功率MOSFET開關(guān)管、電源控制器和保護電路組成。與傳統(tǒng)的PWM控制器不同,它使用一簡單的開/關(guān)控制器來穩(wěn)定輸出電壓。漏極電壓提供啟動和工作能量,不需要變壓器偏置繞組及相關(guān)電路,而且還在器件內(nèi)部結(jié)合了自動重啟動、輸入欠壓檢測和頻率抖動功能。具體電路如圖4.1.1所示。 圖4.4.1AC-DC電源變換電路電路工作原理:該電源使用TNY266P單片開關(guān)電源(U1)、線性光電耦合器P
23、C718A(U2)和可調(diào)式精密并聯(lián)穩(wěn)壓器TL431(U3)3片集成電路。CY1為安全電容,能濾除一次、二次繞組耦合電容產(chǎn)生的共模干擾。高頻變壓器用EE16磁心。圖4.4.1中,交流電經(jīng)BD1整流完在經(jīng)過C2、L1、R2、C3等組成的濾波電路輸出穩(wěn)定的直流高壓作為啟動電源。由R3、C4、D1組成鉗位,能吸收在“MOSFET”關(guān)斷時由高頻變壓器一次繞組漏感產(chǎn)生的尖峰電壓,保護“MOSFET”不受損壞。高頻變壓器輸出的高頻電壓,經(jīng)過快恢復(fù)二極管D2、C6和L2、C7整流濾波后,獲得穩(wěn)定的輸出電壓VCC。精密“光電耦合器”反饋電路由U2、U3等組成。輸出電壓VCC通過電阻分壓器R7、R8獲得采樣電壓,
24、與TL431中的2.5V基準(zhǔn)電壓進行比較后產(chǎn)生誤差電壓,再經(jīng)過光電耦合器去改變TNY266P的控制端電流,使占空比發(fā)生變化,進而調(diào)節(jié)VCC保持不變。改變輸出電壓可改變R7、R8的分壓比。在本系統(tǒng)中VCC輸出為5V,所以R7、R8采用阻值相等的電阻。若要改變其輸出電壓可以根據(jù)以下公式進行調(diào)整電阻的比例實現(xiàn)輸出電壓的調(diào)整。VCC=(1+R7/R8)*Vref,其中Vref=2.5V4.4.2 LDO線性穩(wěn)壓電路設(shè)計在本系統(tǒng)中由于AC-DC輸出的電壓紋波較大,在觸摸按鍵檢測中是電容微小的變化,要求電路中為其提供的電源要求比較高,要求電源的紋波和噪聲要小,要注意避免由電源串入的外界干擾,所以在這增加一
25、路穩(wěn)壓電路,使得輸出的供電電源電壓更具干凈、穩(wěn)定。圖4.4.2 LDO線性穩(wěn)壓電路如上圖4.2.1所示,U4采用AMS1117-3.3V的線性穩(wěn)壓器,在其輸入端輸出端加上其濾波電容濾波,使輸出電壓更平坦。4.5交流電過零檢測電路設(shè)計交流過零檢測的信號在功率調(diào)節(jié)中常有應(yīng)用,而在本系統(tǒng)中為了保護繼電器的壽命和減少產(chǎn)生各種電磁干擾也采用了過零檢測電路。具體電路如圖4.5.1 所示,電路結(jié)構(gòu)是半波檢測的,利用光電轉(zhuǎn)換特性,用微處理器檢測整形后梯形波的前后沿對應(yīng)的時間,計算得出過零點的時刻。在電路中R13-R16與U5組成輸入端,在正半波時,當(dāng)交流電壓高于U5的內(nèi)部發(fā)光管的電壓時,發(fā)光管發(fā)光,內(nèi)部光敏三
26、極管導(dǎo)通,光敏三極管被接到地,從而三極管Q3也導(dǎo)通,經(jīng)過R19、R20分壓獲得跟單片機相同的電平。當(dāng)交流電的電壓低于U5內(nèi)部發(fā)光二極管的工作電壓時,發(fā)光二極管不發(fā)光,光敏三極管截止,Q3的基極處于高電平,Q3截止。D4防止在負半周電流損壞單向二極管,本電路中采用光耦隔離抗干擾性能好。圖4.5.1 交流電過零檢測電路如上圖4.5.1圖所示,我們對交流過零檢測的輸入輸出波形進行了檢測,從而計算出過零點的時間,具體的輸出輸出波形圖如下圖4.5.2所示。圖4.5.2 交流電過零檢測電路如上圖4.5.2所示,我們對過零點檢測的實現(xiàn)進行分析,Ui在A點處使發(fā)光二極管導(dǎo)通,單片機檢測到第一個上升沿的時刻即t
27、1, Ui在B點處使發(fā)光二極管開始截止,單片機檢測到第一個下升沿的時刻即t2,依此類推,單片機分別檢測并記錄下C點、D點處的時間值t4與t6,則此交流電Ui的兩個波峰所發(fā)生的時刻t2與t5可由(t1+t3)/2和(t4+t6)/2計算得到。交流電源周期T1=t5-t2,這樣,從第二個波峰時刻t5到交流電源Ui的下一個過零點E的時刻t7的時間,剛好為交流電源T1的1/4,從而我們可以很精準(zhǔn)的計算出E點的時刻,即:t7=t5+(T1/4)。最后單片機還需保留這三個時刻t1=t4,t2=t5,t3=t6,為下一次檢測服務(wù)2。4.6驅(qū)動電路設(shè)計4.6.1 繼電器驅(qū)動電路設(shè)計在本系統(tǒng)中采用電子繼電器在交
28、流的零點時刻由單片機發(fā)出控制指令去控制輸出控制各種各樣的燈光或者用電器等等,具體的電路如下圖4.6.1所示。圖4.6.1 繼電器驅(qū)動電路4.6.2 蜂鳴器驅(qū)動電路設(shè)計本系統(tǒng)中蜂鳴器屬于預(yù)留的功能,在實際當(dāng)中可以用于觸摸開關(guān)模式配置成功等其他作用的提示音,具體的電路如下圖4.6.2所示。圖4.6.2 蜂鳴器驅(qū)動電路5.系統(tǒng)軟件設(shè)計5.1 軟件設(shè)計方法觸摸開關(guān)系統(tǒng)的核心是單片機,在以單片機外圍硬件全部搭接完成還不能實現(xiàn)全部的信號處理功能,還需通過軟件編程來實現(xiàn)硬件設(shè)計里面的各個控制的功能,從而達到軟件一體化調(diào)試運行整個系統(tǒng)。軟件設(shè)計過程當(dāng)中需滿足本系統(tǒng)所以需求的功能要求,而軟件處理該觸摸式按鍵系統(tǒng)
29、的功能要求主要有以下幾個方面:(1).檢測交流電過零點的時刻;(2).檢測按鍵是否被按下;(3).輸出控制背光燈與繼電器;本系統(tǒng)采用的是STM8單片機,一般單片機都采用C語言開發(fā)居多,也相對簡單直觀。所以本次軟件是基于IAR集成開發(fā)環(huán)境下采用C語言進行開發(fā),利用從頂向下的思想設(shè)計進行模塊化設(shè)計,與各個子程序模塊為實現(xiàn)各部分功能的過程,再而通過主程序?qū)崿F(xiàn)調(diào)用各個部分子程序的控制過程。5.2 軟件總體設(shè)計 整個軟件的核心在于觸摸按鍵掃描,觸摸按鍵掃描處理是在定時器中斷實時掃描檢測并獲取鍵值,減輕主程序運行任務(wù)的負擔(dān),捕獲零點時刻是由外部中斷執(zhí)行處理,主程序的主要任務(wù)即不斷在檢測判斷按鍵是否有效,是
30、否處于零點時刻。按鍵的檢測是屬于較高優(yōu)先級,當(dāng)按鍵被檢測到被人體按下,再立馬記錄零點時刻,當(dāng)兩個條件都滿足以后,控制繼電器在下一個周期的零點吸合,由于繼電器的吸合時間也是毫秒級的,所以在吸合前也要加個延時程序去過度。具體軟件模塊結(jié)構(gòu)框圖如下圖5.1所示。圖5.1 軟件模塊結(jié)構(gòu)框圖5.3 軟件流程圖程序的主流程圖如圖5.2所示,按鍵檢測設(shè)計流程圖如圖5.3所示,系統(tǒng)軟件流程是在系統(tǒng)上電之后首先是系統(tǒng)進行初始化,即外設(shè)初始化、定時器初始化、外部中斷和GPIO等的初始化,等待初始化成功之后,即在檢測按鍵是否被壓按,沒被壓按即返回,當(dāng)按鍵被人體壓按時,并等待零點時刻的到來,再而控制繼電器在下一個交流周
31、期的零點吸合,同時背光燈指示狀態(tài)也做相應(yīng)指示。圖5.2 主程序流程圖 圖5.3 主程序按鍵檢測6.結(jié)束語觸摸式按鍵的應(yīng)用越來越廣泛,如何有效地降低產(chǎn)品開發(fā)成本是必須考慮的問題6,本系統(tǒng)硬件設(shè)計中是利用RC電路充放電時間的檢測原理來以判別按鍵是否被壓按,這種方法不僅是可以檢測單個按鍵,還可以檢測矩陣按鍵,檢測硬件電路相對簡單,僅由外圍RC構(gòu)成充放電回路及主MCU組成,替代了原有專用的檢測芯片,這樣節(jié)省了硬件成本,在后期的其他產(chǎn)品應(yīng)用大有可為。致謝在本次課題設(shè)計和實現(xiàn)的過程當(dāng)中感謝蘇偉達老師對我的悉心指導(dǎo),在百忙之中亦能抽出時間來關(guān)注作品設(shè)計及論文撰寫的整個過程,并且竭盡所能為我創(chuàng)造條件,解決實際
32、過程中遇到的種種困難。另外,也感謝蘇偉達多次對我專門指導(dǎo),為我順利解決了硬件電路設(shè)計、PCB電路板設(shè)計、系統(tǒng)軟件編程及論文撰寫提供最有利的方向。參考文獻 1張俊.一個單片機工作者的實踐與思考M .北京:北京航空航天出版社, 2008:205-2072盛占石,王青青交流電源過零點檢測新方法J 儀表技術(shù)與傳感器,2012,(2):106-1073廖明燕基于充放電原理的電容式觸摸按鍵設(shè)計J電子設(shè)計工程,2010,28(10):142-1444管瑞基于張弛原理的JST080觸摸按鍵的優(yōu)化設(shè)計J武漢工業(yè)學(xué)院學(xué)報,2010,29(14):66-735方獻良基于A/D的電容觸摸按鍵電路設(shè)計J寧波方太廚具有限
33、公司,2010,23(3):122-1256王秀霞,邵斌基于電場傳感器MC33794的觸摸按鍵設(shè)計J電子設(shè)計工程,2009,17(2):100-1017韓俊,戎蒙恬.低成本電容式觸摸控制設(shè)計J.信息技術(shù),2006(8):42-458陳林. 輕松實現(xiàn)電容式觸摸感應(yīng)按鍵開關(guān)設(shè)計J.電子產(chǎn)品世界,2009,17(2):74附錄1系統(tǒng)原理圖圖附錄1-1 觸摸開關(guān)系統(tǒng)原理圖附錄2 系統(tǒng)PCB版圖圖附錄2-1 觸摸開關(guān)系統(tǒng)PCB圖附錄3 系統(tǒng)源程序#include/以下是常量變量的一些宏定義typedef unsigned char uint8_t;typedef unsigned short uint1
34、6_t;typedef unsigned long uint32_t; typedef uint32_t u32;typedef uint16_t u16;typedef uint8_t u8;/Load引腳:PB5#define Load 0 x20/Acq引腳:PB4/_Bool Load PB_ODR:2;u8 Acq=0 x10;/#define loadbitmask 0 x20#define GPIOA_BaseAddress 0 x5000#define GPIOB_BaseAddress 0 x5005#define GPIOC_BaseAddress 0 x500a#defi
35、ne GPIOD_BaseAddress 0 x500f#define GPIOF_BaseAddress 0 x5019typedef struct GPIO_struct volatile u8 ODR; /ODR:數(shù)據(jù)輸出寄存器 volatile u8 IDR; /IDR:輸入寄存器 volatile u8 DDR; /DDR:數(shù)據(jù)方向寄存器 0:輸入 1:輸出 volatile u8 CR1; /CR:端口控制寄存器 volatile u8 CR2; GPIO_TypeDef;GPIO_TypeDef *PORT_ADDR; /LED:PD2#define LED_HIGH PD_OD
36、R |= 0 x04;#define LED_LOW PD_ODR &= 0 x04;#define LED_NEGATION PD_ODR = 0 x04;/BELL:Pc7#define BELL_HIGH PC_ODR |= 0 x80;#define BELL_LOW PC_ODR &= 0 x80;#define BELL_NEGATION PC_ODR = 0 x80;/LED:PD4#define CTRL_HIGH PD_ODR |= 0 x10;#define CTRL_LOW PD_ODR &= 0 x10;#define CTRL_NEGATION PD_ODR = 0
37、x10;void Clk_Config(void) CLK_CKDIVR_CPUDIV = 0; /系統(tǒng)時鐘1分頻 while(!(CLK_ICKR & 0 x02); /等待HSI準(zhǔn)備好void delay(u16 n) u16 i,j; while(n -) for(i = 0;i 32;i +) for(j = 0;j ODR &= Acq; PORT_ADDR-DDR |= Acq; PORT_ADDR-CR1 &= Acq; /PORT_ADDR-DDR &= Acq; /PB_ODR |= Load; TIM2_CNTRH=0X00; TIM2_CNTRL=0X00; PORT_A
38、DDR-DDR &= Acq; PB_ODR |= Load; while(PORT_ADDR-IDR&Acq)=0 x00); measure_time+=TIM2_CNTRL; measure_count+; PORT_ADDR-ODR |= Acq; PORT_ADDR-DDR |= Acq; PORT_ADDR-CR1 |= Acq; PB_ODR &= Load; TIM2_CNTRH=0X00; TIM2_CNTRL=0X00; PORT_ADDR-CR1 &= Acq; PORT_ADDR-DDR &= Acq; while(PORT_ADDR-IDR&Acq)=Acq); L measure_time+=TIM2_CNTRL; measure_count+; while(measure_count=155) return 1; measure_count=0; measure_time=0; return 0; void Delay(unsigned int t) u8 i; while(t-) for(i=0;i50)break; Delay(100); 21
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 正切函數(shù)的圖像和性質(zhì)
- 概念圖高中生物高考復(fù)習(xí)策略(48張PPT)
- 好書推薦——《三毛流浪記》通用課件
- 七年級數(shù)學(xué)上冊33解一元一次方程課件新人教版
- 初三化學(xué)生活中常見的鹽
- 兒科護理技術(shù)操作
- 六年級古詩詞總復(fù)習(xí)課件
- 新課標(biāo)人教版二年級語文上冊25古詩兩首課件
- 類風(fēng)濕性關(guān)節(jié)炎專家講座
- 扁鵲治病課件 (2)
- 深圳茅洲河治理工程底泥疏浚與處置課件
- 高壓變頻器整流變壓器課件
- 修改病句 (4)
- 人教版七年級上冊英語-Unit7howmucharethesesocks第一課時課件
- 目標(biāo)規(guī)劃-xfj111