

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 無線表決系統(tǒng)的設(shè)計</b></p><p> 學(xué)生:XXX 指導(dǎo)教師:XXX</p><p> 內(nèi)容摘要:目前,在機關(guān)、學(xué)校和企事業(yè)單位會議中,經(jīng)常要對某些議案進行表決以及對集體或者個人進行不記名民主測評。為此,需要研制一種無線會議表決系統(tǒng),該系統(tǒng)要具有無需安裝布線,使用于任何會場而不改變會場原始裝修風格
2、,并具有功耗低、功能強、可靠性高和使用方便等優(yōu)點。為此,設(shè)計了一種基于NRF905的投票、表決系統(tǒng)。</p><p> 該系統(tǒng)主要通過上位機將表決的人數(shù)和開始表決的狀態(tài)傳遞給主控器,主控器與表決器之間通過無線模塊傳遞表決信息,最后將處理的信息傳輸給PC機顯示出來。</p><p> 關(guān)鍵詞:無線表決系統(tǒng) 表決器 主控器 射頻收發(fā)模塊</p><p>
3、 Design of wireless voting system </p><p> Abstract: at present, in government departments, schools and enterprises and institutions in the meeting, often for some vote and the collective or individual
4、 bearer democratic evaluation. For this, need to develop a wireless conference voting system, the system should be installed without wiring, for use in any venue without altering the original style of decoration, and has
5、 the advantages of low power consumption, strong function, high reliability and easy to use. Therefore, based on the desig</p><p> This system mainly through the PC will be a quorum and began voting state p
6、assed to the main controller, the main controller and the voting device through a wireless module transmits the voting information, then the information is transmitted to the PC machine display.</p><p> Key
7、words: wireless voting system for voting device controller RF transceiver module </p><p><b> 目 錄</b></p><p><b> 前言1</b></p><p><b> 1 方案論證1&
8、lt;/b></p><p> 1.1 控制器部分設(shè)計方案2</p><p> 1.2 無線射頻收發(fā)器件的選擇3</p><p> 1.3 表決信息處理的方案選擇3</p><p> 2 系統(tǒng)總體框圖3</p><p> 3 硬件電路中各單元電路的選取及電路設(shè)計5</p><
9、;p> 3.1 電源電路5</p><p> 3.2 掉電存儲模塊5</p><p> 3.3 主控芯片AT89C52及其外圍基本電路6</p><p> 3.3.1 AT89C52的主要性能6</p><p> 3.3.2 AT89C52的功能概述7</p><p> 3.3.3 AT89
10、C52的外圍基本電路7</p><p> 3.4 NRF905無線收發(fā)模塊電路8</p><p> 3.4.1 NRF905模塊簡介8</p><p> 3.4.2 NRF905模塊的工作方式9</p><p> 3.4.3 配置NRF905模塊10</p><p> 3.4.4 SPI指令設(shè)置1
11、1</p><p> 3.4.5 SPI時序11</p><p> 3.5 顯示模塊1286412</p><p> 3.5.1 顯示模塊12864的概述12</p><p> 3.5.2 顯示模塊12864的指令描述12</p><p> 3.5.1 顯示模塊12864的讀寫時序14</p&
12、gt;<p> 3.6 MAX232電平轉(zhuǎn)換電路15</p><p> 3.7 蜂鳴器提示電路17</p><p><b> 4 軟件設(shè)計17</b></p><p> 4.1 表決系統(tǒng)總體流程圖17</p><p> 4.2 PC機軟件設(shè)計18</p><p>
13、<b> 5 總結(jié)18</b></p><p><b> 致 謝18</b></p><p> 附錄1 表決器電路圖20</p><p> 附錄2 主控器電路圖21</p><p> 附錄3 表決器PCB22</p><p> 附錄4 主控器PCB
14、23</p><p><b> 附錄524</b></p><p><b> 參考文獻33</b></p><p><b> 無線表決系統(tǒng)的設(shè)計</b></p><p><b> 前言</b></p><p> 在傳
15、統(tǒng)的表決方式中,通常會以書面方式進行投票表決,最后匯總表決的結(jié)果。這種表決方式繁瑣且容易出錯,在大型的表決現(xiàn)場會浪費很長時間。隨著社會民主化進程的不斷發(fā)展,投票表決在會議中的應(yīng)用越來越多,傳統(tǒng)的投票表決方式已不能滿足現(xiàn)代會議快節(jié)奏、高效率、自動化的要求。</p><p> 數(shù)字投票表決系統(tǒng)有效地解決了這些問題:代表們在自己的座位上就能投票表決,省卻了以往排隊投票的步驟;系統(tǒng)會即時統(tǒng)計并在會場投影顯示出投票表決結(jié)
16、果,節(jié)省了收集統(tǒng)計的人工與時間、避免了人為錯誤的發(fā)生、節(jié)省了與會代表等待結(jié)果的時間。</p><p> 目前,表決器可分為有線表決器和無線表決器兩大類,有線表決器通常使用導(dǎo)線來傳輸信號。但有線傳輸方式存在如下的缺點:一、擴展性能差,使用不便。二、存在信號衰減。三、復(fù)雜的線路連接。隨著射頻技術(shù)和集成電路技術(shù)的高速發(fā)展,人們對無線通信的要求越來越高。無線通信功能的實現(xiàn)更便捷,數(shù)據(jù)傳輸速率更快,抗干擾能力更強。短程、
17、便捷、廉價的無線通信技術(shù)正引起越來越多的關(guān)注。因此,許多的應(yīng)用領(lǐng)域采用了無線通信技術(shù)。</p><p> 據(jù)了解,英國的薩里大學(xué)為解決“大班型”教育問題上,薩里大學(xué)采用了加拿大SMART公司生產(chǎn)的交互式投票表決系統(tǒng),系統(tǒng)基本組合包括1臺PC個人電腦、1臺控制主機及電源器,控制主機及電源器最多可連接300只有線表決器,增加1臺輔助電源器可多連接400只表決器。</p><p> 目前,我
18、國的中學(xué)或者是大學(xué)在“大班問題”以及會議表決上,多數(shù)還采用書面表決或者有線表決的方式,組網(wǎng)能力差,表決效果差,系統(tǒng)的穩(wěn)定性還有待提高 。</p><p> 我們設(shè)計的投票、表決系統(tǒng)以 MCS-51 系列單片機中的具有ISP 功能的AT89C52 單片機為微控制器,采用挪威Nordic 公司的NRF905 芯片組成的無線收發(fā)模塊,給出了一種簡單便捷的無線通信設(shè)計系統(tǒng)。 </p><p>
19、;<b> 1 方案論證</b></p><p> 1.1 控制器部分設(shè)計方案</p><p> 微控制器的選擇方面,主要要考慮:處理器的速度、要實現(xiàn)的功能、 I/O端口類型和數(shù)量、內(nèi)存容量以及功耗等。</p><p> 方案一:基于PIC單片機的微控制器。該系列單片機不是單純的功能堆積,而是以多型號來滿足不同層次的需要,并可提供低
20、價的OTP芯片。另外,該系列單片機還具有低功耗睡眠功能、掉電復(fù)位鎖定、上電復(fù)位電路、看門狗電路等功能,而且外圍器件少、占用空間?。怀杀镜?,保密技術(shù)也十分可靠,可最大限度地保護開發(fā)者的利益。因此,在工業(yè)控制、儀器儀表、計算機、家電等諸多領(lǐng)域具有極其廣闊的發(fā)展前景。</p><p> 方案二:采用MSP430F123單片機 16位 RISC 混合信號處理器, 具有以下特點:1、極低的工作電壓, 在1.8~3.6V之
21、間均可正常工作;2、極小的功耗, 在活動模式時,工作電流僅需200mA,在休眠模式下只需要3mA, 在關(guān)閉狀態(tài)僅僅需要0.1mA;3、內(nèi)部具有 3個時鐘信號, 包括1 個高頻時鐘,1 個低頻時鐘和 1 個DCO, 靈活的時鐘選擇使得系統(tǒng)可以在最合理的時鐘下進行工作,大大降低了系統(tǒng)的功耗,方便了系統(tǒng)的設(shè)計;4、豐富的外圍接口,包括標準串口、SPI接口和I2C接口,方便連接多種設(shè)備;5、內(nèi)部具有 256 bit 的 RAM 和 8 kbit
22、的FLASH;6、具有中斷喚醒功能,可以通過中斷使單片機從休眠模式轉(zhuǎn)為活動模式, 非常適合于無線網(wǎng)絡(luò)的設(shè)計要求。</p><p> 方案三:采用常用的AT89C52單片機作為核心控制器,AT89C52是一個低電壓,高性能CMOS 8位單片機,片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標
23、準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,功能強大的AT89C52單片機可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。</p><p> 由于對AT89C52單片機比較熟悉,采用AT89C52單片機作為控制器也基本能夠滿足要求,因此綜合考慮選用方案三。</p><p> 1.2 無線射頻收發(fā)器件的選擇</p><p> 在選擇無線射頻收發(fā)
24、器件的時候,主要考慮:無線芯片的功耗,器件的收發(fā)距離,收發(fā)的靈敏度,信號的衰減和電磁干擾等。</p><p> 方案一:采用PT2262/2272紅外收發(fā)器件,是一對帶地址、數(shù)據(jù)編碼功能的紅外遙控發(fā)射/接收芯片。其中發(fā)射芯片PT2262-IR將載波振蕩器、編碼器和發(fā)射單元集成于一身,使發(fā)射電路變得非常簡潔。接收芯片PT2272的數(shù)據(jù)輸出位根據(jù)其后綴不同而不同,數(shù)據(jù)輸出具有“暫存”和“鎖存”兩種方式,方便用戶使用
25、。PT2262具有19位二進制編碼功能;PT2272的解碼只有4~6位,這就限制了數(shù)據(jù)。</p><p> 方案二:采用NRF905無線收發(fā)器件,NRF905由頻率合成器、 接收解調(diào)器、</p><p> 功率放大器、 晶體振蕩器和調(diào)制器組成,不需外加聲表濾波器, 天線可采用 PBC環(huán)形天線或單端鞭狀天線 ,發(fā)射功率最大為 10 dB,接收靈敏度為 460 dB,在開闊地帶傳輸距離最遠
26、可達 600 m以上。nRF905采用 SP I (串行外設(shè)接口 )與微控制器連接 ,可自動處理字頭和 CRC (循環(huán)冗余碼校驗 ) ,使用極為方便 ,只需將要發(fā)送的數(shù)據(jù)和接收機地址送給 NRF905, NRF905自動完成數(shù)據(jù)打包 (加字頭和CRC校驗碼 )、 發(fā)送 ,在接收中有載波檢測和地址應(yīng)配引腳 ,接收到正確的數(shù)據(jù)包時 ,自動移去字頭、 地址和 CRC校驗碼 ,然后通知微處理器取數(shù)據(jù)。</p><p>
27、 基于NRF905的傳送距離、接受靈敏度、發(fā)射功率等因素的考慮,決定采用NRF905芯片來完成無線數(shù)據(jù)傳輸。</p><p> 1.3 表決信息處理的方案選擇</p><p> 主控器接收到表決器的表決信息后,需要將表決信息處理后在PC機上顯示出來,在信息處理過程的問題我們給出了兩種方案。</p><p> 方案一:采用主控芯片作為信息處理的核心。通過主控器
28、的主控芯片來處理無線接受過來的表決信息,將每個選手的表決信息匯總處理,再通過串口通信RS-232來傳送給PC機顯示每個選手的表決信息。</p><p> 方案二:采用PC機來作為信息處理的核心。這樣就將主控器作為一個數(shù)據(jù)接受的過程,并將接受的表決信息直接傳送給PC機,讓PC機來直接處理表決的信息,并將處理后表決信息的匯總在PC機上顯示出來。</p><p> 基于對單片機的理解和認識,
29、決定采用方案一的方法,通過主控芯片來處理表決信息。</p><p><b> 2 系統(tǒng)總體框圖</b></p><p> 本系統(tǒng)是由多臺便攜式表決器、一臺主控制器和一臺PC機組成。系統(tǒng)組成框圖由圖2-1所示。</p><p> 圖 2-1 系統(tǒng)方框圖</p><p> PC機通過RS-232與主控制器相連,向主
30、控制器發(fā)出各種指令,主控制器接收指令后,再根據(jù)各種指令通過無線數(shù)據(jù)傳輸電路向表決器發(fā)出相應(yīng)命令,當表決器執(zhí)行相應(yīng)指令之后,通過無線數(shù)據(jù)傳輸電路向主控制器發(fā)送表決信息,然后再由主控制器將接收到的表決信息上傳給PC機,由PC機顯示表決結(jié)果,至此完成無線表決的結(jié)果。</p><p> 該系統(tǒng)總體設(shè)計由兩部分構(gòu)成,一部分為無線發(fā)射系統(tǒng)(如圖2-2所示)通過按鍵表決功能對0至200個選手進行“贊同”,“反對”,或“棄權(quán)”
31、操作,確認表決的信息后將每個選手的信息存儲在24C02當中,并在顯示模塊12864中顯示表決信息,單片機AT89C52將信息通過NRF905發(fā)射出去;另一部分為無線接收系統(tǒng)(如圖2-3所示),接收A機發(fā)送的數(shù)據(jù),如果單片機B機在一定時間內(nèi)收不到數(shù)據(jù)信息或收到的信息出錯的話,那么單片機A機會重新發(fā)送數(shù)據(jù),重新等待B機的接收,直到接收數(shù)據(jù)正確為止,然后將數(shù)據(jù)送至單片機B 機,通過12864顯示模塊將0至200個選手的投票信息顯示出來,并通過
32、串行通信RS-232將表決信息傳送給電腦,有VB軟件編程將表決信息以表格形式在電腦</p><p><b> 上顯示出來。</b></p><p> 圖2 -2 無線發(fā)射系統(tǒng)</p><p> 圖2-3 無線接收系統(tǒng)</p><p> 3 硬件電路中各單元器件的選取及電路設(shè)計</p><p&
33、gt;<b> 3.1 電源電路</b></p><p> 如圖3.1-1采用AMS1117芯片,將5伏左右的電壓轉(zhuǎn)換成3.3伏左右,來為NRF905芯片供電已滿足無線收發(fā)芯片的正常工作。</p><p><b> 圖3.1-1電路</b></p><p> 3.2 掉電存儲模塊</p><
34、p> 24C02,串行E2PROM是基于I2C-BUS 的存儲器件,遵循二線制協(xié)議,由于其具有接口方便,體積小,數(shù)據(jù)掉電不丟失等特點,在儀器儀表及工業(yè)自動化控制中得到大量的應(yīng)用。它與單片機的接口非常簡單,如下圖5所示。 E0,E1,E2為器件地址線,WP為寫保護引腳,SCL,SDA為二線串行接口,符合I2C總線協(xié)議。</p><p> 在一般單片機系統(tǒng)中,24C02 數(shù)據(jù)受到干擾的情況是很少的,但是隨著
35、單片機抗干擾性能的變差,以及惡劣工業(yè)環(huán)境中單片機系統(tǒng)的應(yīng)用,一些智能單片機控制系統(tǒng)相繼出現(xiàn)24C02數(shù)據(jù)被沖掉的問題,而且隨著單片機的牌號以及24C02的牌號不同而出現(xiàn)不同程度的干擾現(xiàn)象。以前通過簡單的器件之間替換比較,發(fā)現(xiàn)不同牌號的24C02其抗干擾性能是不一樣的,于是就認定24C02器件存在"質(zhì)量"好壞的問題。后來在一次偶然的機會里,發(fā)現(xiàn)有些24C02的WP引腳并不起到保護作用,也就是說將 WP引腳與CPU輸出引
36、腳斷開并保持高電平的情況下,CPU仍然能夠?qū)?4C02中的數(shù)據(jù)進行修改寫入! </p><p><b> 圖3.2-1電路</b></p><p> 3.3 主控芯片89C52及其基本外圍電路</p><p> 3.3.1 AT89C52的主要性能</p><p> ??與MCS-51單片機產(chǎn)品兼容</p
37、><p> ??8K字節(jié)在系統(tǒng)可編程Flash存儲器</p><p> ??1000次擦寫周期</p><p> ? 4.0-5.5V的工作電壓</p><p> ??全靜態(tài)操作:0Hz~33MHz</p><p> ??三級加密程序存儲器</p><p> ??32個可編程I/O口線
38、</p><p> ??2個16位定時器/計數(shù)器</p><p><b> ??6個中斷源</b></p><p> ??全雙工UART串行通道</p><p> ??低功耗空閑和掉電模式</p><p> ??掉電后中斷可喚醒</p><p> ??看門狗定時
39、器及雙數(shù)據(jù)指針</p><p><b> ??雙數(shù)據(jù)指針</b></p><p> ??掉電標識符和快速編程特性</p><p> 3.3.2 AT89C52功能概述</p><p> AT89C52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲器。使用Atmel 公司高密度非易
40、失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89C52的管腳如圖3.3.2-1所示。</p><p> 圖3.3.2-1引腳圖</p><p> AT89C52具有以下標準功
41、能: 4k字節(jié)Flash,128字節(jié)RAM,32 位I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,2個16 位定時器/計數(shù)器,一個5向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89C52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選的節(jié)電工作模式??臻e模式下,CPU停止工作,但允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。
42、</p><p> 3.3.3AT89C52外圍基本電路</p><p> 圖 3.3.3-1 電路</p><p> 圖3.3.3-2 復(fù)位電路</p><p> AT89S52外圍基本電路由復(fù)位電路和晶振電路組成。如上圖7、8所示,復(fù)位電路雖然簡單,但其作用非常重要。一個單片機系統(tǒng)能否正常運行,首先要檢查是否能復(fù)位成功。在此設(shè)計當
43、中,復(fù)位電路采用上電自動復(fù)位和手動復(fù)位相結(jié)合,由電阻R14、R15、電容C3、按鍵S10組成。在通電瞬間,電容C3通過電阻R15充電,RST端出現(xiàn)正脈沖,用以復(fù)位。只要電源的上升時間按不超過1ms,就可以實現(xiàn)自動上電復(fù)位,即接通電源就完成了系統(tǒng)的復(fù)位的初始化。所謂的手動復(fù)位,是指通過接通按鍵開關(guān)S10,使單片機計入復(fù)位系統(tǒng)。若系統(tǒng)上電運行后出現(xiàn)程序運行混亂,一般是通過手動復(fù)位實現(xiàn)。</p><p> 3.4
44、NRF905無線收發(fā)模塊電路</p><p> 3.4.1 NRF905 模塊簡介</p><p> NRF905 芯片是挪威Nordic 公司推出的單片射頻收發(fā)器。芯片工作電壓DC1.9~3.6V,nRF905可以自動完成處理字頭和CRC(循環(huán)冗余碼校驗)的工作,可由片內(nèi)硬件自動完成曼切斯特編碼/解碼,使用SPI接口與微控制器通信,配置非常方便,其功耗非常低,以-10dBm的輸出功
45、率發(fā)射時電流只有11mA,在接收模式時電流為12.5mA。 nRF905單片無線收發(fā)器工作由一個完全集成的頻率調(diào)制器,一個帶解調(diào)器的接收器,一個功率放大器,一個晶體震蕩器和一個調(diào)節(jié)器組成。ShockBurst工作模式的特點是自動產(chǎn)生前導(dǎo)碼和CRC,可以很容易通過SPI接口進行編程配置。NRF905 模塊的高頻頭用戶接口電路管腳圖如圖 3.4.1-1管腳功能說明如表 </p><p> 3.4.1-1所示。<
46、;/p><p> 圖9 3.4.1-1接口電路管腳</p><p> 表1 3.4.1-1 模塊管腳功能說明</p><p> 3.4.2 NRF905模塊的工作方式</p><p> NRF905一共有四種工作模式如下表2所示, 其中有兩種活動RX/TX 模式和兩種節(jié)電模式。工作模式由TRX_CE、TX_EN、PWR_UP 的設(shè)置來
47、設(shè)定。</p><p> 表2 3.4.2-1 NRF905的工作模式</p><p> ?。?)ShockBurst TX 發(fā)射模式</p><p> 如圖3.4.2-1所示,典型的NRF905發(fā)送流程分以下幾步。</p><p> 圖10 NRF905模塊數(shù)據(jù)發(fā)送流程</p><p> 1、當微控制器有數(shù)
48、據(jù)要發(fā)送時,通過SPI接口,按時序把接收機的地址和要發(fā)送的數(shù)據(jù)送傳給NRF905,SPI接口的速率在通信協(xié)議和器件配置時確定; </p><p> 2、微控制器置高TRX_CE和TX_EN,激發(fā)NRF905的ShockBurstTM發(fā)送模式;</p><p> 一、NRF905的ShockBurstTM發(fā)送:1、 射頻寄存器自動開啟;2、 數(shù)據(jù)打包(加字頭和CRC校驗碼);3、 發(fā)送數(shù)
49、據(jù)包;4、當數(shù)據(jù)發(fā)送完成,數(shù)據(jù)準備好引腳被置高;</p><p> 1、AUTO_RETRAN被置高,NRF905不斷重發(fā),直到TRX_CE被置低;</p><p> 2、當TRX_CE被置低,NRF905發(fā)送過程完成,自動進入空閑模式。注意:ShockBurstTM工作模式保證,一旦發(fā)送數(shù)據(jù)的過程開始,無論TRX_EN和TX_EN引腳是高或低,發(fā)送過程都會被處理完。只有在前一個數(shù)據(jù)包
50、被發(fā)送完畢,NRF905才能接受下一個發(fā)送數(shù)據(jù)包。</p><p> ShockBurst RX 接收模式</p><p> 如圖3.4.2-2示,NRF905接收流程分以下幾步。</p><p> 圖3.4.2-3 F905模塊數(shù)據(jù)接收流程</p><p> 1、當TRX_CE為高、TX_EN為低時,NRF905進入ShockBur
51、stTM接收模式;</p><p> 2、650us后,NRF905不斷監(jiān)測,等待接收數(shù)據(jù);</p><p> 3、當NRF905檢測到同一頻段的載波時,載波檢測引腳被置高;</p><p> 4、當接收到一個相匹配的地址,AM引腳被置高;</p><p> 5、當一個正確的數(shù)據(jù)包接收完畢, NRF905自動移去字頭、地址和CRC校驗
52、位,然后把DR引腳置高;</p><p> 6、微控制器把TRX_CE置低,NRF905進入空閑模式;</p><p> 7、微控制器通過SPI口,以一定的速率把數(shù)據(jù)移到微控制器內(nèi);</p><p> 8、當所有的數(shù)據(jù)接收完畢,NRF905把DR引腳和AM引腳置低;</p><p> 9、NRF905此時可以進入ShockBurstT
53、M接收模式、ShockBurstTM發(fā)送模式或關(guān)機模式。</p><p> 當正在接收一個數(shù)據(jù)包時,TRX_CE或TX_EN引腳的狀態(tài)發(fā)生改變,NRF905立即把其工作模式改變,數(shù)據(jù)包則丟失。當微處理器接到AM引腳的信號之后, 其就知道NRF905正在接收數(shù)據(jù)包,其可以決定是讓NRF905繼續(xù)接收該數(shù)據(jù)包還是進入另一個工作模式。</p><p><b> 節(jié)電模式</b
54、></p><p> NRF905的節(jié)能模式包括關(guān)機模式和節(jié)能模式。在關(guān)機模式,NRF905的工作電流最小,一般為2.5uA。進入關(guān)機模式后,NRF905保持配置字中的內(nèi)容,但不會接收或發(fā)送任何數(shù)據(jù)。空閑模式有利于減小工作電流,其從空閑模式到發(fā)送模式或接收模式的啟動時間也比較短。在空閑模式下,NRF905內(nèi)部的部分晶體振蕩器處于工作狀態(tài)。</p><p> 3.4.3 配置NR
55、F905模塊</p><p> 所有配置字都是通過SPI接口送給NRF905。SIP接口的工作方式可通過SPI指令進行設(shè)置。SPI接口由狀態(tài)寄存器、射頻配置寄存器、發(fā)送地址寄存器、發(fā)送數(shù)據(jù)寄存器和接收數(shù)據(jù)寄存器5個寄存器組成。狀態(tài)寄存器包含數(shù)據(jù)準備好引腳狀態(tài)信息和地址匹配引腳狀態(tài)信息;射頻配置寄存器包含收發(fā)器配置信息,如頻率和輸出功能等;發(fā)送地址寄存器包含接收機的地址和數(shù)據(jù)的字節(jié)數(shù);發(fā)送數(shù)據(jù)寄存器包含待發(fā)送的數(shù)
56、據(jù)包的信息,如字節(jié)數(shù)等;接收數(shù)據(jù)寄存器包含要接收的數(shù)據(jù)的字節(jié)數(shù)等信息。</p><p> 3.4.4 SPI指令設(shè)置</p><p> 當CSN 為低時, SPI接口開始等待一條指令。任何一條新指令均由CSN 的由高到低的轉(zhuǎn)換開始。用于SPI 接口的有用命令見下表3所示:</p><p> 表3.4.4-1PI指令設(shè)置</p><p>
57、; 3.4.5 SPI時序</p><p> 下面SPI讀時序如圖3.4.4-2示,SPI寫時序如圖3.4.4-3示。</p><p> 圖3.4.4-2 PI讀時序</p><p> 圖3.4.4-3 PI寫時序</p><p> 3.5 顯示模塊12864電路 </p><p> 3.5.1 顯示模
58、塊12864的概述 </p><p> 顯示模塊12864C-1是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國標一級、二級簡體中文字庫的點陣圖形液晶顯示模塊;其顯示分辨率為128 ×64,內(nèi)置8192個16*16點漢字,和128個16*8點ASCII 字符集.利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機交互圖形界面??梢燥@示8×4行16×16
59、 點陣的漢字.也可完成圖形顯示.低電壓低功耗是其又一顯著特點。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡潔得多,且該模塊的價格也略于低相同點陣的圖形液晶模塊。</p><p> 表3.5.1-1 12864功能管腳分部</p><p> 3.5.2 顯示模塊12864的指令描述</p><p> (1)顯示開
60、/關(guān)設(shè)置</p><p> CODE: R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0</p><p> 功能:設(shè)置屏幕顯示開/關(guān)。</p><p> DB0=H,開顯示;DB0=L,關(guān)顯示。不影響顯示RAM(DD RAM)中的內(nèi)容。</p&
61、gt;<p> ?。?)設(shè)置顯示起始行</p><p> CODE: R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0</p><p> 功能:執(zhí)行該命令后,所設(shè)置的行將顯示在屏幕的第一行。顯示起始行是由Z地址計數(shù)器控制的,該命令自動將A0-A5位地址送入Z地址計
62、數(shù)器,起始地址可以是0-63范圍內(nèi)任意一行。Z地址計數(shù)器具有循環(huán)計數(shù)功能,用于顯示行掃描同步,當掃描完一行后自動加一。</p><p><b> ?。?)設(shè)置頁地址</b></p><p> CODE: R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0&l
63、t;/p><p> 功能:執(zhí)行本指令后,下面的讀寫操作將在指定頁內(nèi),直到重新設(shè)置。頁地址就是DD RAM 的行地址,頁地址存儲在X地址計數(shù)器中,A2-A0可表示8頁,讀寫數(shù)據(jù)對頁地址沒有影響,除本指令可改變頁地址外,復(fù)位信號(RST)可把頁地址計數(shù)器內(nèi)容清零。</p><p> DD RAM地址映像表</p><p><b> Y 地址</b>
64、;</p><p><b> ?。?)設(shè)置列地址</b></p><p> CODE: R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0</p><p> 功能: DD RAM 的列地址存儲在Y地址計數(shù)器中,讀寫數(shù)據(jù)對列地址有影響
65、,在對DD RAM進行讀寫操作后,Y地址自動加一。</p><p><b> (5)狀態(tài)檢測</b></p><p> CODE: R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0</p><p> 功能:讀忙信號標志位(BF)
66、、復(fù)位標志位(RST)以及顯示狀態(tài)位(ON/OFF)。</p><p> BF=H:內(nèi)部正在執(zhí)行操作;BF=L:空閑狀態(tài)。</p><p> RST=H:正處于復(fù)位初始化狀態(tài);RST=L:正常狀態(tài)。</p><p> ON/OFF=H:表示顯示關(guān)閉;ON/OFF=L:表示顯示開。</p><p><b> ?。?)寫
67、顯示數(shù)據(jù)</b></p><p> CODE: R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0</p><p> 功能:寫數(shù)據(jù)到DD RAM,DD RAM是存儲圖形顯示數(shù)據(jù)的,寫指令執(zhí)行后Y地址計數(shù)器自動加1。D7-D0位數(shù)據(jù)為1表示顯示,數(shù)據(jù)為0表示不顯示。寫
68、數(shù)據(jù)到DD RAM前,要先執(zhí)行“設(shè)置頁地址”及“設(shè)置列地址”命令。</p><p><b> ?。?)讀顯示數(shù)據(jù)</b></p><p> CODE: RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0</p><p> 功能:從D
69、D RAM讀數(shù)據(jù),讀指令執(zhí)行后Y地址計數(shù)器自動加1。從DD RAM讀數(shù)據(jù)前要先執(zhí)行“設(shè)置頁地址” 及“設(shè)置列地址”命令。</p><p> 3.5.3 顯示模塊12864的讀寫時序</p><p> ?。?)12864的讀時序如下圖3.5.3-1所示。</p><p> 圖3.5.3-1 12864的讀時序</p><p> ?。?)12
70、864的寫時序如下圖3.5.3-2所示</p><p> 圖3.5.3-2 12864的寫時序</p><p> MAX232電平轉(zhuǎn)換電路</p><p> MAX232芯片是美信公司專門為電腦的RS-232標準串口設(shè)計的單電源電平轉(zhuǎn)換芯片,使用+5v單電源供電。該器件包含2個驅(qū)動器、2個接收器和一個電壓發(fā)生器電路提供TIA/EIA-232-F電平。</
71、p><p> MAX232芯片內(nèi)部有一個電源電壓變換器,可以把輸入的+5V電源電壓變換成RS-232C輸出電平所需的+10V電壓。所以,采用此芯片接口的串行通信系統(tǒng)只需要單一的+5V電源就可以了。</p><p><b> 主要特點: </b></p><p> 1 符合所有的RS-232技術(shù)標準 </p><p>
72、 2 只需要單一 +5V電源供電 </p><p> 3 片載電荷泵具有升壓、電壓極性反轉(zhuǎn)能力,能夠產(chǎn)生+10V和-10V電壓V+、V- </p><p> 4 功耗低,典型供電電流5mA </p><p> 5 內(nèi)部集成2個RS-232C驅(qū)動器 </p><p> 6 內(nèi)部集成兩個RS-232C接收器 </p>
73、;<p> 7 高集成度,片外最低只需4個電容即可工作。 </p><p> MAX232芯片的引腳結(jié)構(gòu)如圖16所示,其典型工作電路如圖17所示。在實際的應(yīng)用當中,器件對電源噪聲很敏感。因此,Vcc必須要對地加去耦電容來提高抗干擾能力,在連接時必須盡量靠近器件。在串行通信的接口電路中,應(yīng)注意其發(fā)送、接收的引腳要對應(yīng)。T2in接單片機的發(fā)送端TXD,那么pc機的RS-232的接口端RXD一
74、定要接T2out。同時,R2out接單片機的接收端RXD引腳,pc機的RS-232的發(fā)送端TXD一定要接R2in引腳。</p><p> 圖3.6.1 R2in引腳</p><p> 圖3.6.2 AX232電平轉(zhuǎn)換電路</p><p> 3.7 蜂鳴器提示電路</p><p> 該電路是有電阻、三極管、蜂鳴器和電源組成的電路,如圖
75、18所示,該電路用于無線表決過程中信息傳輸?shù)奶崾尽?lt;/p><p> 圖3.7.1 蜂鳴器提示電路</p><p><b> 4 軟件設(shè)計</b></p><p> 一個完整系統(tǒng)的實現(xiàn),除了硬件電路之外,軟件系統(tǒng)設(shè)計是十分重要的。通過軟件編程使微處理器控制硬件模塊的各部分功能,如NRF905、24C02、12864等芯片,從而達到我們設(shè)
76、計的要求。</p><p> 4.1 表決系統(tǒng)總流程圖</p><p> 該系統(tǒng)的總體流程圖如圖4.1.1所示。</p><p> 圖4.1.2系統(tǒng)總體程圖</p><p> 4.2 PC機串口通信</p><p> 串口通訊作為一種靈活的通訊方式,被廣泛地應(yīng)用于PC間的通訊以及PC和單片機之間的通訊之中
77、。提到串口通訊的編程,人們往往立刻想到C、匯編等對系統(tǒng)底層操作支持較好的編程語言以及大串繁瑣的代碼。實際上,只要我們借助相關(guān)ActiveX控件的幫助,即使是在底層操作一向不被人看好的VB中,一樣能夠?qū)崿F(xiàn)串口通訊,甚至其實現(xiàn)方法和C、匯編相比,要更加快捷方便。在Visual Basic中有一個名為Microsoft Communication Control(簡稱MSComm)的通訊控件。我們只要通過對此控件的屬性和事件進行相應(yīng)編程操作,
78、就可以輕松地實現(xiàn)串口通訊。如圖20所示的VB設(shè)計的PC機界面。</p><p> 圖4.2.1程序主界面</p><p><b> 5 總結(jié)</b></p><p> 本設(shè)計以單片機AT89C52為控制核心的無線表決系統(tǒng),達到了預(yù)期的設(shè)計要求,并很好的實現(xiàn)了各項功能。鑒于一般的無線射頻模塊在發(fā)射接收的靈敏度、抗干擾性、收發(fā)的準確性的差異
79、,我們在設(shè)計上采用了NRF905作為無線收發(fā)模塊,很好的實現(xiàn)了我們的設(shè)計要求。在主控制器對各個表決器的接收問題上,我們?yōu)楸苊馑斜頉Q器同時給主控制器發(fā)送表決信息,我們決定采用主控制器對各個表決器分時接收來避免信息出錯或接收不到信息,這樣順序接收每個表決器發(fā)送給主控制器的信息,在通過串口通信RS-232將信息傳送給電腦,通過VB軟件將表決的信息通過電腦顯示出來。</p><p><b> 致謝</
80、b></p><p> 經(jīng)過兩個月忙碌和工作,本次畢業(yè)設(shè)計已經(jīng)接近尾聲,作為一個專科生的畢業(yè)設(shè)計,由于經(jīng)驗的匱乏,難免有許多考慮不周全的地方,如果沒有導(dǎo)師的督促指導(dǎo),以及一起工作的同學(xué)們的支持,想要完成這個設(shè)計是難以想象的。</p><p> 在這里首先要感謝我的導(dǎo)師XX。XX老師平日里工作繁多,但在我做畢業(yè)設(shè)計的每個階段,從外出實習到查閱資料,設(shè)計草案的確定和修改,中期檢查,后
81、期詳細設(shè)計,裝配草圖等整個過程中都給予了我悉心的指導(dǎo)。我的設(shè)計較為復(fù)雜煩瑣,但是XX老師仍然細心地給予我設(shè)計上的幫助。除了敬佩XX老師的專業(yè)水平外,他的治學(xué)嚴謹和科學(xué)研究的精神也是我永遠學(xué)習的榜樣,并將積極影響我今后的學(xué)習和工作。 </p><p> 其次要感謝和我一起作畢業(yè)設(shè)計的XX同學(xué),他在本次設(shè)計中勤奮工作,克服了許多困難來完成此次畢業(yè)設(shè)計,并承擔了大部分的工作量。如果沒有他的努力工作,此次設(shè)計的完成將
82、變得非常困難。 </p><p> 然后還要感謝大學(xué)以來所有的老師,為我們打下電子技術(shù)專業(yè)知識的基礎(chǔ);同時還要感謝所有的同學(xué)們,正是因為有了你們的支持和鼓勵。此次畢業(yè)設(shè)計才會順利完成。 </p><p> 附錄1 : 表決器電路</p><p> 附錄2: 主控器電路</p><p> 附錄3: 表決器PCB</p>
83、<p> 附錄4: 主控器PCB</p><p><b> 程序清單:</b></p><p> #include <reg52.h></p><p> #include <intrins.h></p><p> #include <RF905.h></p&g
84、t;<p> #include <chuankou.h></p><p> //----------------------------------------------------------------------------------------------------------------</p><p> #define uint unsig
85、ned int</p><p> #define uchar unsigned char</p><p> //---------------------------------------------------發(fā)送數(shù)據(jù)緩沖區(qū)-------------------------------------------------</p><p> /*void d
86、elay_1ms(uint t) </p><p><b> {</b></p><p><b> uint i;</b></p><p> while(t--)</p><p><b> {</b></p><p> for(i=0;i&l
87、t;125;i++)</p><p><b> ;</b></p><p><b> }</b></p><p><b> }</b></p><p> void bell()</p><p><b> {</b><
88、/p><p><b> uchar i;</b></p><p> for(i=0;i<50;i++)</p><p><b> {</b></p><p><b> BELL=0;</b></p><p> delay_1ms(3);<
89、;/p><p><b> BELL=1;</b></p><p> delay_1ms(1);</p><p><b> }</b></p><p><b> }*/</b></p><p> //-------------------------
90、----------------------------------------------------------------------------------------</p><p> void main(void)</p><p><b> { </b></p><p> uchar i,temp,mzm;</p>
91、<p> uchar n; </p><p><b> init();</b></p><p> nRF905Init();</p><p> Config905();</p><p><b> //bell();</b></p><p> whi
92、le(1)</p><p><b> } </b></p><p> while(mzm==1)</p><p><b> {</b></p><p> while(n<4)</p><p><b> {</b></p>
93、;<p> TxBuffer[0]=seg[n];//發(fā)送表決器序號</p><p> for(i=0;i<2;i++)</p><p><b> {</b></p><p> SetTxMode();// Set nRF905 in Tx mode</p><p> TxPacket(Tx
94、Buffer);// Send data by nRF905</p><p><b> }</b></p><p><b> RX();</b></p><p> if(RxBuffer[0]==seg[n])</p><p><b> {</b></p>
95、<p> //summary();</p><p> TxBuffer[1]=0xf9;</p><p> for(i=0;i<2;i++)</p><p><b> {</b></p><p> SetTxMode();// Set nRF905 in Tx mode</p>
96、<p> TxPacket(TxBuffer);// Send data by nRF905</p><p><b> }</b></p><p> summary();</p><p> for(i=0;i<3;i++)</p><p> num[n][i]=m3[i];</p>
97、<p><b> n++;</b></p><p><b> }</b></p><p><b> } </b></p><p> chuankou_send();</p><p><b> mzm=0;</b></p>
98、<p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> #include <reg52.h></p><p> #define uint unsigned in
99、t //0 ~ 255</p><p> #define uchar unsigned char</p><p> #include <RF905.h></p><p> uchar TxBuffer[32]={0xaa,0xaa,0xaa,0xbb,0xcc};</p><p>
100、//------------------------------------------------蜂鳴-----------------------------</p><p> /*void bell()</p><p><b> {</b></p><p><b> uchar i;</b></p>
101、<p> for(i=0;i<10;</p><p> TxBuffer[0]=0x01;</p><p> for(i=0;i<5;i++)</p><p><b> {</b></p><p> SetTxMode();// Set nRF905 in Tx mode</p&
102、gt;<p> TxPacket(TxBuffer);// Send data by nRF905</p><p><b> }</b></p><p><b> b=0;</b></p><p><b> num=1;</b></p><p> }
103、</p><p><b> }</b></p><p><b> }</b></p><p> while((RxBuffer[1]==0xf9)&&(RxBuffer[0]==0x01))</p><p><b> {</b&g
104、t;</p><p><b> num=0;</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }&
105、lt;/b></p><p><b> 參考文獻</b></p><p> [1] 于大光等. Visual Basic編程實例與技巧. 北京:科學(xué)出版社,2003.</p><p> [2] 張銘.基于NRF 401機無線收發(fā)模塊的設(shè)計[J] . 電子技術(shù)應(yīng)用,2002(4)</p><p> [3] 王
106、偉,數(shù)據(jù)采集與無線收發(fā)模塊的設(shè)計[ J] . 現(xiàn)代電子技術(shù), 2003( 17)</p><p> [4] 王培東.單片機原理及應(yīng)用[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2004.3</p><p> [5] 王圓妹,許勁,李濤.基于VB實現(xiàn)PC機與單片機的串行通信[J].中國科技信息,2006(22) </p><p> [6] 黃智偉,李富英.基于射頻收發(fā)
107、芯NRF401 的計算機接口電路設(shè)計[J] .微電子學(xué)與計算機,2002(5)</p><p> [7] 張剛毅,彭喜元,董繼成.單片機原理及應(yīng)用[M].高等教育出版社,2006(01) </p><p> [8] 李志遠,王毅,文龍賢等.基于PXI總線的數(shù)據(jù)采集測試系統(tǒng)設(shè)計[J].電氣時代,2006(08) </p><p> [9] 劉艷玲,高云.單片機在
108、工業(yè)控制上的應(yīng)用[J].佳木斯大學(xué)學(xué)報,2006(02) </p><p> [10] 孫強. SPI 串行總線在工業(yè)采集系統(tǒng)中的應(yīng)用. 今日電子,2001 (6)</p><p> [11] 李慶等. 串口端口技術(shù). 北京:國防工業(yè)出版社,2004.</p><p> [12] 夏禮智,應(yīng)立軍.大容量串行Flash的快速編程[B].長沙:中南大學(xué)鐵道校區(qū),2
109、003</p><p> [13] 徐愛鈞,彭秀華.單片機高級語言C51 應(yīng)用程序設(shè)計[M ].北京:電子工業(yè)出版社, 2001</p><p> [14] 于艷,顧桓. MCS-51單片機和PC機問的串口通信[A].西安: 西安理工大學(xué)印刷包裝工程學(xué)院,2007</p><p> [15] 李朝青.PC機及單片機數(shù)據(jù)通信技術(shù).北京:北京航空航天大學(xué)出版社,2
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 糧倉無線遙測系統(tǒng)畢業(yè)設(shè)計
- 無線通信系統(tǒng)畢業(yè)設(shè)計
- 簡易無線遙控系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---無線環(huán)境監(jiān)測系統(tǒng)設(shè)計
- 無線通信系統(tǒng)畢業(yè)設(shè)計
- 無線點餐系統(tǒng)畢業(yè)設(shè)計--無線點餐系統(tǒng)的設(shè)計與實現(xiàn)
- 畢業(yè)設(shè)計---無線電遙控小車系統(tǒng)的設(shè)計
- 畢業(yè)設(shè)計---無線門鈴的設(shè)計
- 基于zigbee技術(shù)的無線考勤系統(tǒng)設(shè)計畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---基于無線傳輸?shù)臄?shù)據(jù)采集系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計---機車入庫無線數(shù)據(jù)采集系統(tǒng)的設(shè)計
- 畢業(yè)設(shè)計---基于無線傳輸?shù)臄?shù)據(jù)采集系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計---智能音頻無線發(fā)射系統(tǒng)
- 無線遙控車系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計正文---井架應(yīng)變無線檢測系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計----運動員心率無線檢測系統(tǒng)的設(shè)計
- 畢業(yè)設(shè)計--遠程測溫無線傳輸系統(tǒng)的設(shè)計與實現(xiàn)
- 基于無線通信的點菜系統(tǒng)設(shè)計【畢業(yè)設(shè)計】
- 畢業(yè)設(shè)計--基于無線傳感網(wǎng)絡(luò)的溫度監(jiān)控系統(tǒng)設(shè)計
- 人大無線表決系統(tǒng)方案
評論
0/150
提交評論