

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