基于單片機(jī)的鍵盤無線數(shù)據(jù)通信系統(tǒng)畢業(yè)設(shè)計(jì)_第1頁
基于單片機(jī)的鍵盤無線數(shù)據(jù)通信系統(tǒng)畢業(yè)設(shè)計(jì)_第2頁
基于單片機(jī)的鍵盤無線數(shù)據(jù)通信系統(tǒng)畢業(yè)設(shè)計(jì)_第3頁
基于單片機(jī)的鍵盤無線數(shù)據(jù)通信系統(tǒng)畢業(yè)設(shè)計(jì)_第4頁
基于單片機(jī)的鍵盤無線數(shù)據(jù)通信系統(tǒng)畢業(yè)設(shè)計(jì)_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第34頁共34頁探討無線數(shù)據(jù)通信在MCU系統(tǒng)中的應(yīng)用作品名稱: 基于單片機(jī)的鍵盤無線數(shù)據(jù)通信系統(tǒng)

畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文),是我個人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過的材料。對本研究提供過幫助和做出過貢獻(xiàn)的個人或集體,均已在文中作了明確的說明并表示了謝意。作者簽名:日期:指導(dǎo)教師簽名:日期:使用授權(quán)說明本人完全了解大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)??梢圆捎糜坝 ⒖s印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉績?nèi)容。作者簽名:日期:

學(xué)位論文原創(chuàng)性聲明本人鄭重聲明:所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫的成果作品。對本文的研究做出重要貢獻(xiàn)的個人和集體,均已在文中以明確方式標(biāo)明。本人完全意識到本聲明的法律后果由本人承擔(dān)。作者簽名: 日期:年月日學(xué)位論文版權(quán)使用授權(quán)書本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán)大學(xué)可以將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。涉密論文按學(xué)校規(guī)定處理。作者簽名: 日期:年月日導(dǎo)師簽名:日期:年月日

探討無線數(shù)據(jù)通信在MCU系統(tǒng)中的應(yīng)用摘要本作品研究的內(nèi)容是通過MCU控制無線數(shù)據(jù)芯片,以此來實(shí)現(xiàn)大量數(shù)據(jù)的無線高速傳輸,無論是在國防軍事方面,還是民用通訊方面都有很重要的研究意義。可改裝數(shù)控操控設(shè)備、醫(yī)療設(shè)備、數(shù)據(jù)通信設(shè)備等,使數(shù)據(jù)控制、交換、采集簡單化,對無線數(shù)據(jù)通信在MCU系統(tǒng)中的應(yīng)用和多單片機(jī)協(xié)同工作中具有非常寶貴的參考價(jià)值。實(shí)物的作品,實(shí)現(xiàn)了一種基于PS/2接口和電腦進(jìn)行無線數(shù)據(jù)通信的系統(tǒng)。電腦鍵盤輸入的數(shù)據(jù)通過單片機(jī)采集傳送到射頻發(fā)射模塊。在一百米,甚至到幾公里(只需加PA模塊拓展)將數(shù)據(jù)傳送給另一塊單片機(jī),單片機(jī)再通過USB接口轉(zhuǎn)換芯片和電腦進(jìn)行通信。產(chǎn)品貼切實(shí)際具有抗干擾能力強(qiáng)、輸入電壓寬、功耗低、距離遠(yuǎn)、可靠性高、拓展性好,且成本低廉,確實(shí)為一款優(yōu)秀實(shí)用的電子產(chǎn)品。關(guān)鍵詞:PS/2接口,2.4G射頻,MCU核心,MAX232,USB通信目錄一、作品研究的背景 錯誤!未定義書簽。二、數(shù)據(jù)無線傳輸?shù)陌l(fā)展現(xiàn)狀及前景 錯誤!未定義書簽。三、作品研究的目的和意義 錯誤!未定義書簽。四、作品的簡介 錯誤!未定義書簽。五、基本思路和設(shè)計(jì)關(guān)鍵技術(shù) 錯誤!未定義書簽。1、整體設(shè)計(jì)思路和框圖 錯誤!未定義書簽。2、數(shù)據(jù)采集模塊 錯誤!未定義書簽。3、PS/2電器特性 錯誤!未定義書簽。4、數(shù)據(jù)傳輸模塊介紹 錯誤!未定義書簽。5、射頻模塊SHOCKBURSTTM模式應(yīng)用 錯誤!未定義書簽。6、直接收發(fā)模式應(yīng)用技術(shù) 錯誤!未定義書簽。7、數(shù)據(jù)接收模式應(yīng)用技術(shù) 錯誤!未定義書簽。8、MCU硬件串行通信應(yīng)用技術(shù) 錯誤!未定義書簽。9、PS/2接口與無線發(fā)射模塊的數(shù)據(jù)傳送應(yīng)用技術(shù) 錯誤!未定義書簽。10、數(shù)據(jù)傳輸模塊介紹 錯誤!未定義書簽。六、工藝文件 錯誤!未定義書簽。1、PCB電路圖 錯誤!未定義書簽。2、元件裝配圖 錯誤!未定義書簽。3、元件清單 錯誤!未定義書簽。七、軟件設(shè)計(jì) 錯誤!未定義書簽。1、程序流程圖 錯誤!未定義書簽。2、發(fā)射板主程序 錯誤!未定義書簽。3、接收板主程序 錯誤!未定義書簽。4、USB通信程序 錯誤!未定義書簽。5、無線模塊通信程序 錯誤!未定義書簽。八、主要技術(shù)指標(biāo)、調(diào)試及性能分析 錯誤!未定義書簽。1、性能分析 錯誤!未定義書簽。2、結(jié)論 錯誤!未定義書簽。參考文獻(xiàn) 錯誤!未定義書簽。一、數(shù)據(jù)無線傳輸系統(tǒng)設(shè)計(jì)的研究背景隨著社會的發(fā)展,數(shù)據(jù)傳輸已經(jīng)成為人們生產(chǎn)、生活中不可或缺的一部分,小到用餐時的點(diǎn)菜系統(tǒng),大到國家中央情報(bào)局的情報(bào)交換。數(shù)據(jù)傳輸中按傳輸介質(zhì)可分為有線傳輸和無線傳輸。有線傳輸就是用線纜傳輸信息,如光纖,同軸電纜,雙絞線等等。在許多情況下,用戶往往由于受到地理環(huán)境和工作內(nèi)容的限制,例如山地、港口和開闊地等特殊地理環(huán)境,對有線網(wǎng)絡(luò)、有線傳輸?shù)牟季€工程帶來極大的不便,采用有線的施工周期將很長,甚至根本無法實(shí)現(xiàn)。無線就是不用線纜傳遞信息,而是利用電磁波傳遞信息,分發(fā)射部分和接收部分。采用無線可以擺脫線纜的束縛,有安裝周期短、維護(hù)方便、擴(kuò)容能力強(qiáng),迅速收回成本的優(yōu)點(diǎn)。近十幾年來,移動通信技術(shù)飛速發(fā)展,越來越多的信息采集和遠(yuǎn)程控制系統(tǒng)采用了無線數(shù)據(jù)傳送技術(shù)。與有線數(shù)據(jù)傳輸相比,無線數(shù)據(jù)傳輸布線成本低、安裝簡便、便于移動的優(yōu)點(diǎn),使其在遙控遙測、門禁系統(tǒng)、無線抄表、小區(qū)傳呼、工業(yè)數(shù)據(jù)采集、無線遙控系統(tǒng)、無線鼠標(biāo)等領(lǐng)域都得到了廣泛的應(yīng)用,而且它在高科技領(lǐng)域的應(yīng)用也正在迅猛發(fā)展,比如衛(wèi)星、導(dǎo)彈、無人偵察機(jī)等的數(shù)據(jù)采集,遙控機(jī)器人等的控制,以及一些監(jiān)控設(shè)備等。此外,在現(xiàn)代軍事通訊領(lǐng)域方面,無線傳輸技術(shù)也有重要的戰(zhàn)略地位。在未來高科技戰(zhàn)斗中,由于軍事衛(wèi)星通訊手段在未來戰(zhàn)爭中容易被摧毀且難以緊急恢復(fù),所以人們可以利用無線短波、超短波等方式實(shí)現(xiàn)數(shù)據(jù)是無線傳輸,因而取得戰(zhàn)爭中的主動權(quán)。民用方面,在一些線路架設(shè)比較困難的地方,或者有天然的阻隔的地理?xiàng)l件較復(fù)雜較惡劣的地方數(shù)據(jù)的無線傳輸便顯示出了巨大威力。無線傳輸還便于通訊設(shè)備移動,具有明顯的靈活性。二、數(shù)據(jù)無線傳輸?shù)陌l(fā)展現(xiàn)狀及前景進(jìn)入二十一世紀(jì),無線數(shù)據(jù)通訊技術(shù)在我國蓬勃發(fā)展,也得到了信息產(chǎn)業(yè)部以及各行各業(yè)的高度重視,因?yàn)槿魏斡芯€數(shù)據(jù)傳輸網(wǎng)絡(luò)只能是網(wǎng)狀覆蓋,而無線數(shù)據(jù)傳輸網(wǎng)可達(dá)到真正的面覆蓋。目前主要的短距離無線數(shù)據(jù)傳輸技術(shù)主要有藍(lán)牙、Zigbee、IEEE802.11x、微功率短距離無線通訊技術(shù),與已具備相當(dāng)規(guī)模的無線長距離通訊網(wǎng)絡(luò)(比如蜂窩移動通訊網(wǎng)、衛(wèi)星數(shù)據(jù)通訊)相比,短距離無線通訊系統(tǒng)在基本結(jié)構(gòu)、服務(wù)范圍、應(yīng)用層次以及通訊業(yè)務(wù)(數(shù)據(jù)、話音、視頻)上,均有很大不同。下面分別介紹這幾種無線傳輸技術(shù)。藍(lán)牙技術(shù)(Bluetooth)主要面對網(wǎng)絡(luò)中的各種數(shù)據(jù)和語言設(shè)備,通過無線方式將它們連接起來,從而方便快速的實(shí)現(xiàn)數(shù)據(jù)傳輸,它使用2.4GHZ的ISM頻段,最大傳輸率1Mbit/s。IEEE802.11x的技術(shù)標(biāo)準(zhǔn)是無線局域網(wǎng)的國際標(biāo)準(zhǔn),也是用2.4GHZ的ISM頻段,協(xié)議主要在OSI的物理層和數(shù)據(jù)鏈路層,雖然傳輸速度快,但此類設(shè)備比較昂貴,技術(shù)復(fù)雜。Zigbee是一種新型的短距離、低速度、低功耗無線網(wǎng)絡(luò)技術(shù),是一種介于無線標(biāo)記技術(shù)和藍(lán)牙之間的技術(shù),基于IEEE無線個人區(qū)域網(wǎng)標(biāo)準(zhǔn),數(shù)據(jù)傳輸速率通常為10kb/s到250kb/s,有效覆蓋范圍10到75米,由于其協(xié)議簡單、成本低、網(wǎng)絡(luò)容量大等優(yōu)點(diǎn),使其在無線傳感網(wǎng)絡(luò)中得到廣泛的應(yīng)用。在未來,短距離無線數(shù)據(jù)傳輸將向著更高傳輸速率、更高傳輸精確度的方向發(fā)展,而且傳輸設(shè)備的成本也會進(jìn)一步降低,傳輸協(xié)議也會進(jìn)一步簡單,從而是短距離無線通訊走入我們的生活,給我?guī)砀喾奖?。三、作品研究的目的和意義本作品研究的內(nèi)容是通過MCU按照無線協(xié)議控制無線數(shù)據(jù)芯片,以此來實(shí)現(xiàn)大量數(shù)據(jù)的無線高速傳輸,無論是在國防軍事方面,還是民用通訊方面都有很重要的研究意義??筛难b數(shù)控操控設(shè)備、醫(yī)療設(shè)備、數(shù)據(jù)通信設(shè)備等,使數(shù)據(jù)控制、交換、采集簡單化,對無線數(shù)據(jù)通信在MCU系統(tǒng)中的應(yīng)用和多單片機(jī)協(xié)同工作中具有非常寶貴的參考價(jià)值。四、作品簡介實(shí)物作品,實(shí)現(xiàn)了一種基于PS/2接口和電腦進(jìn)行無線數(shù)據(jù)通信的系統(tǒng)。電腦鍵盤輸入的數(shù)據(jù)通過單片機(jī)采集傳送到射頻發(fā)射模塊。在一百米,甚至到幾公里(只需加PA模塊拓展)將數(shù)據(jù)傳送給另一塊單片機(jī),單片機(jī)再通過USB接口轉(zhuǎn)換芯片和電腦進(jìn)行通信。五、基本思路和關(guān)鍵技術(shù)1、整體設(shè)計(jì)思路和框圖通過單片機(jī)將鍵盤數(shù)據(jù)采集,再利用單片機(jī)轉(zhuǎn)換將信號轉(zhuǎn)換成數(shù)字信號,然后通過SPI總線將數(shù)據(jù)傳輸給無線發(fā)送芯片,無線發(fā)送芯片將數(shù)據(jù)發(fā)送出去。同樣,接收端單片機(jī)通過SPI總線控制接收端芯片,將無線傳輸過來的數(shù)據(jù)接收,再經(jīng)過USB接口芯片轉(zhuǎn)換,將數(shù)據(jù)傳送給電腦,從而實(shí)現(xiàn)了無線數(shù)據(jù)傳輸。系統(tǒng)整體流程圖如圖1所示:圖1.整體設(shè)計(jì)流程圖2、PS/2數(shù)據(jù)采集接口一般,具有五腳連接器的鍵盤稱之為AT鍵盤,而具有六腳mini-DIN連接器的鍵盤則稱之為PS/2鍵盤。在本作品中使用的是六腳mini-DIN連接器,其實(shí)這兩種連接器都只有四個腳有意義,它們分別是Clock(時鐘腳)、Data(數(shù)據(jù)腳)、+5V(電源腳)和Ground(電源地)。在PS/2鍵盤與PC機(jī)的物理連接上只要保證這四根線一一對應(yīng)就可以了。在本設(shè)計(jì)中只需將+5V(電源腳)與單片機(jī)的40腳相連,Ground(電源地)與單片機(jī)的20腳相連,Clock(時鐘腳)與單片機(jī)的12腳外部中斷相連,Data(數(shù)據(jù)腳)與其它任一I/O口相連即可。[1]現(xiàn)在比較常用的連接器如圖3所示。圖3PS/2的mini-DIN連接器3、PS/2電氣特性 PS/2通訊協(xié)議是一種雙向同步串行通訊協(xié)議。通訊的兩端通過Clock(時鐘腳)同步,并通過Data(數(shù)據(jù)腳)交換數(shù)據(jù)。任何一方如果想抑制另外一方通訊時,只需要把Clock(時鐘腳)拉到低電平。[4]如果是PC機(jī)和PS/2鍵盤間的通訊,則PC機(jī)必須做主機(jī),也就是說,PC機(jī)可以抑制PS/2鍵盤發(fā)送數(shù)據(jù),而PS/2鍵盤則不會抑制PC機(jī)發(fā)送數(shù)據(jù)。一般兩設(shè)備間傳輸數(shù)據(jù)的最大時鐘頻率是33kHz,大多數(shù)PS/2設(shè)備工作在10~20kHz。推薦值在15kHz左右,也就是說,Clock(時鐘腳)高、低電平的持續(xù)時間都為40μs。每一數(shù)據(jù)幀包含11~12個位,具體含義如表2所列。表2數(shù)據(jù)幀格式說明表1個起始位總是邏輯08個數(shù)據(jù)位(LSB)低位在前1個奇偶校驗(yàn)位奇校驗(yàn)1個停止位總是邏輯11個應(yīng)答位僅用在主機(jī)對設(shè)備的通訊中4、數(shù)據(jù)傳送輸模塊介紹nRF2401是北歐集成電路公司生產(chǎn)的單片射頻收發(fā)芯片,工作于2.4~2.5GHzISM頻段,芯片內(nèi)置頻率合成器、功率放大器、晶體振蕩器和調(diào)制器等功能模塊,輸出功率和通信頻道可通過程序進(jìn)行配置。芯片能耗非常低,以-5dBm的功率發(fā)射時,工作電流只有10.5mA,接收時工作電流只有18mA,多種低功率工作模式,節(jié)能設(shè)計(jì)更方便。其DuoCeiverTM技術(shù)使nRF2401可以使用同一天線,同時接收兩個不同頻道的數(shù)據(jù)。引腳分布圖其特點(diǎn)如下:●全球開放的2.4GHz頻段多頻道125個滿足多頻及跳頻需要●高速率1Mbps高于藍(lán)牙內(nèi)置硬件CRC電路及多點(diǎn)通信控制高數(shù)據(jù)吞吐量●采用0.18um先進(jìn)加工技術(shù)極具競爭力的成本●1.9-3.6V低電壓低功耗滿足低功耗設(shè)計(jì)需要●廣泛適用于手持終端PDA無線數(shù)字耳機(jī)數(shù)字視頻數(shù)碼相機(jī)以及其他短距離高速無線通信應(yīng)用●集成度高所有高頻元件包括電感濾波器振蕩器等已經(jīng)全部集成在芯片內(nèi)部使得產(chǎn)品一致性良好成本低性能穩(wěn)定且不受外界影響●內(nèi)部具有點(diǎn)對多點(diǎn)通信協(xié)議控制每個芯片可以通過軟件設(shè)置最多40bit地址只有收到本機(jī)地址時才會輸出數(shù)據(jù)提供一個中斷指示編程方便點(diǎn)對多點(diǎn)通信示意圖●嵌入CRC通信效驗(yàn)協(xié)議糾檢錯是無線通信設(shè)計(jì)的難點(diǎn),nRF2401內(nèi)置了CRC硬件電路和協(xié)議;●雙接收功能獨(dú)特設(shè)計(jì)nRF2401的DuoCeiver技術(shù)可以同時接收兩個nRF2401的數(shù)據(jù)可以有效降低成本拓展用途●編程配置發(fā)射功率工作頻率等所有工作參數(shù)全部通過SPI串口軟件設(shè)置完成●外圍元件極少,只需一個晶振和一個電阻即可設(shè)計(jì)射頻電路;●發(fā)射功率和工作頻率等所有工作參數(shù)可全部通過軟件設(shè)置;●電流消耗很小,-5dBm輸出功率時的典型峰值電流為10.5mA;●芯片內(nèi)部設(shè)置有專門的穩(wěn)壓電路,因此,使用任何電源(包括DC/DC開關(guān)電源)均有很好的通信效果;●采用DuoCeiver技術(shù)可同時接收兩個nRF2401的數(shù)據(jù);●采用ShockBurstTM模式時,能適用極低的功率操作和不嚴(yán)格的MCU執(zhí)行;●帶有集成增強(qiáng)型8051內(nèi)核、9路10bitADC、UART異步串口、SPI串口和PWM輸出;●內(nèi)置看門狗;●無需外部SAW濾波器;●可100%RF檢驗(yàn);●帶有數(shù)據(jù)時隙和數(shù)據(jù)時鐘恢復(fù)功能.3內(nèi)部工作原理和外部組成原理圖nRF2401的內(nèi)部結(jié)構(gòu)原理及外部組成框圖如圖2所示,下面介紹其工作原理.5、射頻模塊ShockBurstTM模式應(yīng)用技術(shù)nRF2401的ShockBurstTMRX/TX模式采用片上先進(jìn)先出(FIFO)來進(jìn)行低數(shù)據(jù)率的時鐘同步和高數(shù)據(jù)率的傳輸,因此極大的降低了功耗.ShockBurstTM發(fā)射主要通過MCU接口引腳CE、CLK1和DATA來完成.當(dāng)MCU請求發(fā)送數(shù)據(jù)時,置CE為高電平,此時的接收機(jī)地址和有效載荷數(shù)據(jù)作為nRF2401的內(nèi)部時鐘,可用請求協(xié)議或MCU將速率調(diào)至1Mbps;置CE為低電平可激活ShockBurstTM發(fā)射.雙接收模式ShockBurstTM接收主要使用MCU接口引腳CE、DR1、CLK1和DATA來實(shí)現(xiàn).當(dāng)正確設(shè)置射頻包輸入載荷的地址和大小后,置CE為高電平可激活RX.此后便可在nRF2401監(jiān)測信息輸入200μs,若收到有效數(shù)據(jù)包,則給MCU一個中斷并置DR1為高電平,以使MCU以時鐘形式輸出有效載荷數(shù)據(jù),待系統(tǒng)收到全部數(shù)據(jù)后,此時RF2401再置DR1為低電平,此時如果CE保持高電平,則等待新的數(shù)據(jù)包.若CE置低電平,則開始接收新的序列。DuoCeiverTM的雙信道接收模式:nRF2401的DuoCeiverTM技術(shù)為RX提供了兩個獨(dú)立的專用數(shù)字信道,因而可代替兩個單獨(dú)接收系統(tǒng).圖3所示是DuoCeiverTM同時雙接收信道結(jié)構(gòu)圖.nRF2401可以通過一個天線接口從相隔8MHz的兩個1Mbps接收機(jī)上接收數(shù)據(jù).同時將兩個數(shù)字信道的輸出反饋到兩個單獨(dú)的MCU接口.具體的兩個信道如下:數(shù)字信道1:CLK1,DATA,DR1;數(shù)字信道2:CLK2,DOUT2,DR2;應(yīng)當(dāng)說明的是,數(shù)字信道2的頻率只有在比數(shù)字信道1的頻率高出8MHz時,才能保證正常接收.6、直接收發(fā)模式應(yīng)用技術(shù)在直接收發(fā)模式下,nRF2401如傳統(tǒng)的射頻收發(fā)器一樣工作。在直接發(fā)送時接口引腳為CE、DATA。當(dāng)微控制器有數(shù)據(jù)要發(fā)送時,把CE置高,nRF2401射頻前端被激活。所有的射頻協(xié)議必須在微控制器程序中進(jìn)行處理(包括字頭、地址和CRC校驗(yàn)碼)。在直接接收模式時接口引腳為CE、CLK1和DATA。一旦nRF2401被配置為直接接收模式,DATA引腳將根據(jù)天線接收到的信號開始高低變化(由于噪聲的存在),CLK1引腳也開始工作,一旦接收到有效的字頭,CLK1引腳和DATA引腳將協(xié)調(diào)工作,把射頻數(shù)據(jù)包以其被發(fā)射時的數(shù)據(jù)從DATA引腳送給微控制器,字頭必須是8位。由于DR引腳沒用上,所有的地址和CRC校驗(yàn)必須在微控制器內(nèi)部進(jìn)行。7、數(shù)據(jù)接收模式應(yīng)用技術(shù)接收端單片機(jī)可以通過輸入C語言程序?qū)o線射頻芯片NRF24L01的參數(shù)進(jìn)行設(shè)置,設(shè)為接收模式,即可接受檢驗(yàn)信號。接收到檢驗(yàn)信號后,NRF24L01的自動應(yīng)答功能會發(fā)送應(yīng)答信號給發(fā)送端已確認(rèn)收到信號,接著NRF24L01通過IRQ中斷通知接收端單片機(jī),單片機(jī)進(jìn)行數(shù)據(jù)接收并通過USB芯片將其轉(zhuǎn)換成電腦識別的信號傳給電腦。接收端的單片機(jī)在接收到中斷的同時,要同發(fā)射端芯片進(jìn)行時間上的協(xié)同,以此來保證發(fā)送和接收的配合。最后清除NRF24L01的狀態(tài)寄存器,再次為下一次數(shù)據(jù)的接收做好準(zhǔn)備。8、MCU硬件串行通信應(yīng)用技術(shù)RS-232是現(xiàn)在主流的串行通信接口之一。由于RS232接口標(biāo)準(zhǔn)出現(xiàn)較早,難免有不足之處,主要有以下四點(diǎn):(1)接口的信號電平值較高,易損壞接口電路的芯片,又因?yàn)榕cTTL電平不兼容故需使用電平轉(zhuǎn)換電路方能與TTL電路連接。(2)傳輸速率較低,在異步傳輸時,波特率為20Kbps;因此在“南方的老樹51CPLD開發(fā)板”中,綜合程序波特率只能采用19200,也是這個原因。(3)接口使用一根信號線和一根信號返回線而構(gòu)成共地的傳輸形式,這種共地傳輸容易產(chǎn)生共模干擾,所以抗噪聲干擾性弱。在MAX232與單片機(jī)進(jìn)行通信時,串行口的SBUF是作為同步移位寄存器使用的。在串行口發(fā)送時,SBUF相當(dāng)于一個并行進(jìn)入、串行輸出的移位寄存器,由單片機(jī)的內(nèi)部總線并行接收8位數(shù)據(jù),并從RXD信號線串行輸出。在接收操作時,它又相當(dāng)于一個串行輸入、輸出的移位寄存器。在本設(shè)計(jì)中MAX232與單片機(jī)的串口通信原理圖如下所示:上圖為本設(shè)計(jì)應(yīng)用的RS232串行通信原理圖9、PS/2接口的鍵盤與無線發(fā)射模塊的數(shù)據(jù)傳送應(yīng)用技術(shù)在本設(shè)計(jì)中PS/2鍵盤與單片機(jī)的連接方式如圖9所示。P3.2口接PS/2數(shù)據(jù)線;P3.3(INT0)接PS/2時鐘線,即采用外部中斷0的方式來接受PS/2接口鍵盤的傳輸數(shù)據(jù)。①從設(shè)備到主設(shè)備的通信當(dāng)從設(shè)備向主設(shè)備發(fā)送數(shù)據(jù)時,首先檢查時鐘線,以確認(rèn)時鐘線是否為高電平。如果是高電平,從設(shè)備就可以開始傳輸數(shù)據(jù);反之,從設(shè)備要等待獲得總線的控制權(quán),才能開始傳輸數(shù)據(jù)。傳輸?shù)拿恳粠?1位組成,發(fā)送時序及每一位的含義如圖7所示。圖7從設(shè)備到主設(shè)備的通信

每一幀數(shù)據(jù)中開始位總是為0,數(shù)據(jù)校驗(yàn)采用奇校驗(yàn)方式,停止位始終為1。從設(shè)備到主設(shè)備通信時,從設(shè)備總是在時鐘線為高時改變數(shù)據(jù)線狀態(tài),主設(shè)備在時鐘下降沿讀人數(shù)據(jù)線狀態(tài)。②主設(shè)備到從設(shè)備的通信主設(shè)備與從設(shè)備進(jìn)行通信時,主設(shè)備首先將時鐘線和數(shù)據(jù)線設(shè)置為“請求發(fā)送”狀態(tài),具體方式為:首先下拉時鐘線至少100us抑制通信,然后下拉數(shù)據(jù)線“請求發(fā)送”最后釋放時鐘線。在此過程中,從設(shè)備在不超過10us的間隔內(nèi)必須檢查這個狀態(tài),當(dāng)設(shè)備檢測到這個狀態(tài)時,它將開始產(chǎn)生時鐘信號。此時數(shù)據(jù)傳輸?shù)拿恳粠?2位構(gòu)成,其時序和每一位含義如圖8所示。

圖8主設(shè)備到從設(shè)備的通信與從設(shè)備到主設(shè)備通信相比,其每幀數(shù)據(jù)多了一個ACK位。這是從設(shè)備應(yīng)答接收到字節(jié)的應(yīng)答位,由從設(shè)備通過拉低數(shù)據(jù)線產(chǎn)生,應(yīng)答位ACK總是為0。主設(shè)備到從設(shè)備通信過程中,主設(shè)備總是在時鐘線為低電平時改變數(shù)據(jù)線的狀態(tài),從設(shè)備在時鐘上升沿讀人數(shù)據(jù)線狀態(tài)。STC89STC89S52PS/2鍵盤GNDGND+5VVCCCLKDATAP3.3P3.23圖9硬件連接電路單片機(jī)接收完數(shù)據(jù)后便要進(jìn)入nRF24L01的發(fā)射模塊。在本設(shè)計(jì)中nRF24L01選擇ShockBurstTM收發(fā)工作模式。在ShockBurstTM發(fā)射流程中,接口引腳為CE,CLK1,DATA,當(dāng)微控制器有數(shù)據(jù)要發(fā)送時,其把CE置高,使nRF24L01工作。當(dāng)nRF24L01工作后,才把接收機(jī)的地址和要發(fā)送的數(shù)據(jù)按時序送入nRF24L10、無線接收應(yīng)用技術(shù)在nRF24L01工作在ShockBurstTM接收流程中,接口引腳CE、DR1、CLK1和DATA(接收通道1),首先要配置本機(jī)地址和要接收的數(shù)據(jù)包大小。一但進(jìn)入接收狀態(tài),便把CE置高,200us后,nRF2401進(jìn)入監(jiān)視狀態(tài),等待數(shù)據(jù)包的到來。當(dāng)接收到正確的數(shù)據(jù)包(正確的地址和CRC校驗(yàn)碼),nRF2401自動把字頭、地址和CRC校驗(yàn)位移去,nRF2401通過把DR1(這個引腳一般引起微控制器中斷)置高通知微控制器,之后微控制器把數(shù)據(jù)從nRF2401移出,所有數(shù)據(jù)移完,nRF2401把DR1置低,此時,如果CE為高,則等待下一個數(shù)據(jù)包,如果CE為低,開始其它工作流程六、PCB電路板制作的關(guān)鍵技術(shù)材料1、PCB電路圖圖基于PS/2接口的無線數(shù)據(jù)傳送系統(tǒng)的PCB圖2、裝配圖3、元件清單元件標(biāo)號封裝參數(shù)C1rad0.1104C2rad0.1104C3rad0.1104C4rad0.1104C5rad0.1104C6rad0.1104C7rad0.1104C8rad0.1104C9rad0.1104C10cap0.1220UC11cap0.110UC12cap0.110UC13rad0.10.1C14rad0.120C15rad0.120C16rad0.120C17rad0.120C18cap0.1100UC19cap0.1100UC20cap0.1100UC21cap0.1100UD1ledLEDD2ledJ1sip4ISPJ2USB1USBJ3DB9RA/MDB9JP1IDC1024L01LED1ledLEDR1AXIAL0.41KR2AXIAL0.41KR3AXIAL0.41KR4AXIAL0.41KR5AXIAL0.410KR6AXIAL0.422R7AXIAL0.422RP1SIP910KS1BUT1TESTU1SOJ-28PDIUSBD12U2DIP408051U3DIP16MAX232U4AS1117aAMS1117Y1XTAL16MY2XTAL122.1184M七、軟件設(shè)計(jì)流程圖1、主程序流程圖主程序先對系統(tǒng)初始化,接收機(jī)初始化后等待進(jìn)入中斷接收數(shù)據(jù),轉(zhuǎn)換數(shù)據(jù)傳給芯片轉(zhuǎn)換。發(fā)送機(jī)初始化后,等待PS/2的數(shù)據(jù)信號,采集轉(zhuǎn)換給射頻模塊,無線送出數(shù)據(jù)。主程序流程圖如下圖所示。開始開始系統(tǒng)初始化外部中斷N發(fā)送數(shù)據(jù)Y圖發(fā)送機(jī)主程序流程圖開始開始系統(tǒng)初始化外部中斷N接收數(shù)據(jù)傳給電腦Y接收機(jī)主程序流程圖2、子程序流程圖在有外部中斷發(fā)生時,表示PS/2接口的鍵盤將向單片機(jī)發(fā)送數(shù)據(jù),待數(shù)據(jù)發(fā)送完成后,單片機(jī)保存數(shù)據(jù)并由無線發(fā)射模塊發(fā)射出去。其程序流程圖如圖12所示。外部中斷外部中斷產(chǎn)生鍵值數(shù)據(jù)?數(shù)據(jù)采集完?nRF24L01發(fā)射數(shù)據(jù)Y轉(zhuǎn)換NY返回N圖發(fā)送端外部中斷子程序流程圖nRFnRF24L01接收數(shù)據(jù)數(shù)據(jù)移位完畢?外部中斷Y返回送USB轉(zhuǎn)換N接收端外部中斷子程序流程圖2、發(fā)射主程序#include<reg52.h>#include<intrins.h>#include"24L01.h"#defineucharunsignedchar#defineuintunsignedintsbitKB_CLK=P3^3;sbitKB_DATA=P3^2;uintn=0;voidDelay_NS(uintx){for(;x>0;x--);}voiddelay_nms(unsignedintt){unsignedinti,j;for(i=0;i<t;i++)for(j=0;j<120;j++);}voidSend_Key(uchardat){uinti;KB_CLK=0;Delay_NS(10);KB_DATA=0;KB_CLK=1;while(KB_CLK);KB_DATA=0;while(!KB_CLK);for(i=0;i<8;i++){while(KB_CLK)_nop_();KB_DATA=dat&0x01;if(KB_DATA)n++;while(!KB_CLK)_nop_();dat>>=1;}switch(n){case0:case2:case4:case6:KB_DATA=1;break;case1:case3:case5:case7:KB_DATA=0;break;default:break;}while(KB_CLK)_nop_();while(KB_CLK)_nop_();KB_DATA=1;while(!KB_CLK)_nop_();while(KB_CLK)_nop_();while(!KB_CLK)_nop_();}ucharKey_Scan(void){uchari,key_temp;KB_CLK=1;KB_DATA=1;key_temp=0;while(KB_CLK);for(i=0;i<8;i++){key_temp>>=1;while(!KB_CLK);while(KB_CLK);_nop_();if(KB_DATA){key_temp|=0x80;}}while(KB_CLK);returnkey_temp;}unsignedcharkey2asc(unsignedcharKey){unsignedchartemp=0xff,i; for(i=0;i<49;i++) { if(Key==kbdasciicode[i][0]) { temp=kbdasciicode[i][1]; break; } } if(temp==0xff){ for(i=0;i<37;i++) { if(Key==kbdcontrolcode[i][0]) { temp=kbdcontrolcode[i][1]; break; } } } if(temp==0xff){ for(i=0;i<18;i++) { if(Key==E0startedcode[i][0]) { temp=E0startedcode[i][1]; break; } } }returntemp;}ucharGet_Key(void){ucharKey_Code[3],temp=0xff;Key_Code[0]=Key_Scan();Key_Code[1]=Key_Scan();Key_Code[2]=Key_Scan();temp=key2asc(Key_Code[0]);if(temp!=0xff)nRF24L01_TxPacket(&temp);putchar(temp);Delay_NS(2000);returnKey_Code[0];}voidLED_Indication(){Send_Key(0xED);Delay_NS(10);Send_Key(0x07);Delay_NS(10);}intmain(){ucharKey_Code;LED_Indication();UsartInt();Init_NRF24L01();for(;;){Key_Code=Get_Key();P1^=1;if((Key_Code==0x77)||(Key_Code==0x58)){P1^=2;}delay_nms(100);}}2、接收主程序#include<AT89X52.H>#include"pdiusbd12.h"#include"UsbCore.h"#include"24L01.h"voidSendReport(uint8hid_code){uint8Buf[8]={0,0,0,0,0,0,0,0};uint8i=2;if(hid_code==KeyLCtrl){Buf[0]|=0x01;}elseif(hid_code==KeyLShift){Buf[0]|=0x02;}elseif(hid_code==KeyLAlt){Buf[0]|=0x04;}else{Buf[2]=hid_code;}}unsignedcharasc_USB_code(unsignedcharasc_code){unsignedchartemp=0xff,i;for(i=0;i<49;i++) { if(asc_code==hidasciicode[i][1]) { temp=hidasciicode[i][0]; break; } } if(temp==0xff){ for(i=0;i<37;i++) { if(asc_code==hidcontrolcode[i][1]) { temp=hidcontrolcode[i][0]; break; } } } if(temp==0xff){ for(i=0;i<18;i++) { if(asc_code==E0startedcode[i][1]) { temp=E0startedcode[i][0]; break; } } }returntemp;}voidmain(void){uint16id;uint8InterruptSource;xdataunsignedcharRxBuf[1];EA=1;InitUART();init_NRF24L01();SetRX_Mode();nRF24L01_RxPacket(RxBuf);id=D12ReadID();Prints("YourD12chip\'sIDis:");PrintShortIntHex(id);UsbDisconnect();UsbConnect();ConfigValue=0;while(1){if(D12GetIntPin()==0)//如果有中斷發(fā)生{D12WriteCommand(READ_INTERRUPT_REGISTER);InterruptSource=D12ReadByte();if(InterruptSource&0x80)UsbBusSuspend();if(InterruptSource&0x40)UsbBusReset();if(InterruptSource&0x01)UsbEp0Out();if(InterruptSource&0x02)UsbEp0In();if(InterruptSource&0x04)UsbEp1Out();if(InterruptSource&0x08)UsbEp1In();if(InterruptSource&0x10)UsbEp2Out();if(InterruptSource&0x20)UsbEp2In();}if(ConfigValue!=0){if(!Ep1InIsBusy){ SetRX_Mode();if(nRF24L01_RxPacket(RxBuf)){uint8hid_code; P2^=2;hid_code=asc_USB_code(RxBuf[0]);SendReport(hid_code);UartPutChar(RxBuf[0]);}}}}}3、USB接口通信程序#include<AT89x52.H>#include"PDIUSBD12.H"#include"config.h"voidD12WriteCommand(uint8Command){D12SetCommandAddr();D12ClrWr();D12SetPortOut();D12SetData(Command);D12SetWr();D12SetPortIn();}uint8D12ReadByte(void){uint8temp;D12SetDataAddr();D12ClrRd();temp=D12GetData();D12SetRd();returntemp;}uint16D12ReadID(void){uint16id;D12WriteCommand(Read_ID);//寫讀ID命令id=D12ReadByte();//讀回ID號低字節(jié)id|=((uint16)D12ReadByte())<<8;//讀回ID號高字節(jié)returnid;}voidD12WriteByte(uint8Value){D12SetDataAddr();D12ClrWr();D12SetPortOut();D12SetData(Value);D12SetWr();D12SetPortIn();}uint8D12ReadEndpointLastStatus(uint8Endp){D12WriteCommand(0x40+Endp);//讀取端點(diǎn)最后狀態(tài)的命令returnD12ReadByte();}voidD12SelectEndpoint(uint8Endp){D12WriteCommand(0x00+Endp);//選擇端點(diǎn)的命令}voidD12ClearBuffer(void){D12WriteCommand(D12_CLEAR_BUFFER);}voidD12AcknowledgeSetup(void){D12SelectEndpoint(1);D12WriteCommand(D12_ACKNOWLEDGE_SETUP);D12SelectEndpoint(0);D12WriteCommand(D12_ACKNOWLEDGE_SETUP);}uint8D12ReadEndpointBuffer(uint8Endp,uint8Len,uint8*Buf){uint8i,j;D12SelectEndpoint(Endp);D12WriteCommand(D12_READ_BUFFER);D12ReadByte();j=D12ReadByte();if(j>Len){j=Len;}#ifdefDEBUG1Prints("讀端點(diǎn)");PrintLongInt(Endp/2);Prints("緩沖區(qū)");PrintLongInt(j);Prints("字節(jié)。\r\n");#endiffor(i=0;i<j;i++){D12ClrRd();*(Buf+i)=D12GetData();D12SetRd();#ifdefDEBUG1PrintHex(*(Buf+i));if(((i+1)%16)==0)Prints("\r\n");#endif}#ifdefDEBUG1if((j%16)!=0)Prints("\r\n");#endifreturnj;}voidD12ValidateBuffer(void){D12WriteCommand(D12_VALIDATE_BUFFER);}uint8D12WriteEndpointBuffer(uint8Endp,uint8Len,uint8*Buf){uint8i;D12SelectEndpoint(Endp);D12WriteCommand(D12_WRITE_BUFFER);D12WriteByte(0);D12WriteByte(Len);#ifdefDEBUG1Prints("寫端點(diǎn)");PrintLongInt(Endp/2);Prints("緩沖區(qū)");PrintLongInt(Len);Prints("字節(jié)。\r\n");#endifD12SetPortOut();for(i=0;i<Len;i++){D12ClrWr();D12SetData(*(Buf+i));D12SetWr();#ifdefDEBUG1PrintHex(*(Buf+i));if(((i+1)%16)==0)Prints("\r\n");#endif}#ifdefDEBUG1if((Len%16)!=0)Prints("\r\n");#endifD12SetPortIn();D12ValidateBuffer();returnLen;}voidD12SetAddress(uint8Addr){D12WriteCommand(D12_SET_ADDRESS_ENABLE);D12WriteByte(0x80|Addr);}voidD12SetEndpointEnable(uint8Enable){D12WriteCommand(D12_SET_ENDPOINT_ENABLE);if(Enable!=0){D12WriteByte(0x01);}else{D12WriteByte(0x00);}}4、無線模塊應(yīng)用程序#include<reg52.h>#include<intrins.h>typedefunsignedcharuchar;typedefunsignedcharuint;sbit MISO =P0^2;sbit MOSI =P0^4;sbit SCK =P0^1;sbit CE =P0^0;sbit CSN =P0^5;sbit IRQ =P0^3;sbit KEY1=P2^0;sbit LED=P2^1;#defineTX_ADR_WIDTH5 #defineRX_ADR_WIDTH5 #defineTX_PLOAD_WIDTH1 #defineRX_PLOAD_WIDTH1 uintconstTX_ADDRESS[TX_ADR_WIDTH]={0x34,0x43,0x10,0x10,0x01}; uintconstRX_ADDRESS[RX_ADR_WIDTH]={0x34,0x43,0x10,0x10,0x01}; #defineREAD_REG0x00 #defineWRITE_REG0x20 #defineRD_RX_PLOAD0x61 #defineWR_TX_PLOAD0xA0 #defineFLUSH_TX0xE1 #defineFLUSH_RX0xE2 #defineREUSE_TX_PL0xE3 #defineNOP0xFF #defineCONFIG0x00#defineEN_AA0x01#defineEN_RXADDR0x02#defineSETUP_AW0x03#defineSETUP_RETR0x04#defineRF_CH0x05#defineRF_SETUP0x06#defineSTATUS0x07#defineOBSERVE_TX0x08#defineCD0x09#defineRX_ADDR_P00x0A#defineRX_ADDR_P10x0B#defineRX_ADDR_P20x0C#defineRX_ADDR_P30x0D#defineRX_ADDR_P40x0E#defineRX_ADDR_P50x0F#defineTX_ADDR0x10#defineRX_PW_P00x11#defineRX_PW_P10x12#defineRX_PW_P20x13#defineRX_PW_P30x14#defineRX_PW_P40x15#defineRX_PW_P50x16#defineFIFO_STATUS0x17voidinerDelay_us(unsignedcharn);voidinit_NRF24L01(void);uintSPI_RW(uintuchar);ucharSPI_Read(ucharreg);voidSetRX_Mode(void);uintSPI_RW_Reg(ucharreg,ucharvalue);uintSPI_Read_Buf(ucharreg,uchar*pBuf,ucharuchars);uintSPI_Write_Buf(ucharreg,uchar*pBuf,ucharuchars);unsignedcharnRF24L01_RxPacket(unsignedchar*rx_buf);uint bdatasta;sbit RX_DR =sta^6;sbit TX_DS =sta^5;sbit MAX_RT =sta^4;voidinerDelay_us(unsignedcharn){ for(;n>0;n--) _nop_();}voidinit_NRF24L01(void){inerDelay_us(100); CE=0; CSN=1; SCK=0; inerDelay_us(10); SPI_Write_Buf(WRITE_REG+TX_ADDR,TX_ADDRESS,TX_ADR_WIDTH); SPI_Write_Buf(WRITE_REG+RX_ADDR_P0,RX_ADDRESS,RX_ADR_WIDTH); SPI_RW_Reg(WRITE_REG+EN_AA,0x01); SPI_RW_Reg(WRITE_REG+EN_RXADDR,0x01); SPI_RW_Reg(WRITE_REG+RF_CH,0); SPI_RW_Reg(WRITE_REG+RX_PW_P0,RX_PLOAD_WIDTH); SPI_RW_Reg(WRITE_REG+RF_SETUP,0x07); SPI_RW_Reg(WRITE_REG+CONFIG,0x0f); }uintSPI_RW(uintuchar){ uintbit_ctr; for(bit_ctr=0;bit_ctr<8;bit_ctr++) { MOSI=(uchar&0x80); inerDelay_us(10); uchar=(uchar<<1); SCK=1; inerDelay_us(10); uchar|=MISO; inerDelay_us(10); SCK=0; }return(uchar); }ucharSPI_Read(ucharreg){ ucharreg_val; CSN=0; inerDelay_us(10); SPI_RW(reg); reg_val=SPI_RW(0); CSN=1; inerDelay_us(10); return(reg_val);}uintSPI_RW_Reg(ucharreg,ucharvalue){ uintstatus; CSN=0; inerDelay_us(10); status=SPI_RW(reg); SPI_RW(value); CSN=1; return(status);}uintSPI_Read_Buf(ucharreg,uchar*pBuf,ucharuchars){ uintstatus,uchar_ctr; CSN=0; inerDelay_us(10); status=SPI_RW(reg); for(uchar_ctr=0;uchar_ctr<uchars;uchar_ctr++) pBuf[uchar_ctr]=SPI_RW(0); CSN=1; inerDelay_us(10); return(status);}uintSPI_Write_Buf(ucharreg,uchar*pBuf,ucharuchars){ uintstatus,uchar_ctr; CSN=0; inerDelay_us(10); status=SPI_RW(reg); for(uchar_ctr=0;uchar_ctr<uchars;uchar_ctr++) SPI_RW(*pBuf++); CSN=1; return(status);}voidSetRX_Mode(void){ CE=0; inerDelay_us(10); CE=1; inerDelay_us(130);}unsignedcharnRF24L01_RxPacket(unsignedchar*rx_buf){unsignedcharrevale=0; sta=SPI_Read(STATUS); if(RX_DR) { CE=0; inerDelay_us(10); SPI_Read_Buf(RD_RX_PLOAD,rx_buf,TX_PLOAD_WIDTH);//readreceivepayloadfromRX_FIFObuffer revale=1; } SPI_RW_Reg(WRITE_REG+STATUS,sta); returnrevale;}八、主要技術(shù)指標(biāo)及性能分析1、性能分析硬件調(diào)試前先檢查印制板的質(zhì)量問題,在檢查無誤后可通電檢查。軟件調(diào)試用KeilC51編譯器,源程序編譯應(yīng)分段或以子程序?yàn)閱挝恢饌€進(jìn)行,最后可結(jié)合硬件運(yùn)行調(diào)試。在單片機(jī)下載程序后,上電復(fù)位后,查看數(shù)據(jù)。通過調(diào)試后,可驗(yàn)證無線數(shù)據(jù)傳送系統(tǒng)的數(shù)據(jù)傳送良好。以下是實(shí)物測式數(shù)據(jù)表:距離傳輸延時誤碼工作電流隔墻1米近似即時無約12mA無5米近似即時無約14mA無20米近似即時無約15mA無50米近似即時無約15mA無90米近似即時無約16mA無120米微小延時無約18mA無120米微小延時少量約20mA有2、結(jié)論基于PS/2接口的無線數(shù)據(jù)傳輸系統(tǒng),穩(wěn)定可靠,PS/2鍵盤接口更加靈巧,無線傳輸數(shù)據(jù)的方便快捷,相信這套系統(tǒng)能夠得到一定的應(yīng)用,特別是這種基于MCU的無線通信技術(shù)應(yīng)用和改造面很廣。參考文獻(xiàn)[1]李建忠.單片機(jī)原理及應(yīng)用.西安:西安電子科技大學(xué)出版社,2008.02[2]郭天祥.51單片機(jī)C語言教程.北京:電子工業(yè)出版社,2009.6基于C8051F單片機(jī)直流電動機(jī)反饋控制系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機(jī)溫度控制系統(tǒng)的研制基于MCS-51系列單片機(jī)的通用控制模塊的研究基于單片機(jī)實(shí)現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機(jī)控制的二級倒立擺系統(tǒng)的研究基于增強(qiáng)型51系列單片機(jī)的TCP/IP協(xié)議棧的實(shí)現(xiàn)基于單片機(jī)的蓄電池自動監(jiān)測系統(tǒng)基于32位嵌入式單片機(jī)系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機(jī)的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機(jī)的交流伺服電機(jī)運(yùn)動控制系統(tǒng)研究與開發(fā)基于單片機(jī)的泵管內(nèi)壁硬度測試儀的研制基于單片機(jī)的自動找平控制系統(tǒng)研究基于C8051F040單片機(jī)的嵌入式系統(tǒng)開發(fā)基于單片機(jī)的液壓動力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機(jī)實(shí)現(xiàn)一種基于單片機(jī)的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機(jī)的在線間歇式濁度儀的研制基于單片機(jī)的噴油泵試驗(yàn)臺控制器的研制基于單片機(jī)的軟起動器的研究和設(shè)計(jì)基于單片機(jī)控制的高速快走絲電火花線切割機(jī)床短循環(huán)走絲方式研究基于單片機(jī)的機(jī)電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機(jī)的智能手機(jī)充電器基于單片機(jī)的實(shí)時內(nèi)核設(shè)計(jì)及其應(yīng)用研究基于單片機(jī)的遠(yuǎn)程抄表系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機(jī)系統(tǒng)單片機(jī)系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機(jī)的液體點(diǎn)滴速度自動檢測儀的研制基于單片機(jī)系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機(jī)的電能采集終端的設(shè)計(jì)和應(yīng)用基于單片機(jī)的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機(jī)單片機(jī)控制系統(tǒng)的研制基于單片機(jī)的數(shù)字磁通門傳感器基于單片機(jī)的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機(jī)的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機(jī)控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機(jī)的多生理信號檢測儀基于單片機(jī)的電機(jī)運(yùn)動控制系統(tǒng)設(shè)計(jì)Pico專用單片機(jī)核的可測性設(shè)計(jì)研究基于MCS-51單片機(jī)的熱量計(jì)基于雙單片機(jī)的智能遙測微型氣象站MCS-51單片機(jī)構(gòu)建機(jī)器人的實(shí)踐研究基于單片機(jī)的輪軌力檢測基于單片機(jī)的GPS定位儀的研究與實(shí)現(xiàn)基于單片機(jī)的電液伺服控制系統(tǒng)用于單片機(jī)系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機(jī)的時控和計(jì)數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機(jī)和CPLD的粗光柵位移測量系統(tǒng)研究單片機(jī)控制的后備式方波UPS提升高職學(xué)生單片機(jī)應(yīng)用能力的探究基于單片機(jī)控制的自動低頻減載裝置研究基于單片機(jī)控制的水下焊接電源的研究基于單片機(jī)的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機(jī)的氚表面污染測量儀的研制基于單片機(jī)的紅外測油儀的研究96系列單片機(jī)仿真器研究與設(shè)計(jì)基于單片機(jī)的單晶金剛石刀具刃磨設(shè)備的數(shù)控改造基于單片機(jī)的溫度智能控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)基于MSP430單片機(jī)的電梯門機(jī)控制器的研制基于單片機(jī)的氣體測漏儀的研究基于三菱M16C/6N系列單片機(jī)的CAN/USB協(xié)議轉(zhuǎn)換器基于單片機(jī)和DSP的變壓器油色譜在線監(jiān)測技術(shù)研究基于單片機(jī)的膛壁溫度報(bào)警系統(tǒng)設(shè)計(jì)基于AVR單片機(jī)的低壓無功補(bǔ)償控制器的設(shè)計(jì)基于單片機(jī)船舶電力推進(jìn)電機(jī)監(jiān)測系統(tǒng)基于單片機(jī)網(wǎng)絡(luò)的振動信號的采集系統(tǒng)基于單片機(jī)的大容量數(shù)據(jù)存儲技術(shù)的應(yīng)用研究基于單片機(jī)的疊圖機(jī)研究與教學(xué)方法實(shí)踐基于單片機(jī)嵌入式Web服務(wù)器技術(shù)的研究及實(shí)現(xiàn)基于AT89S52單片機(jī)的通用數(shù)據(jù)采集系統(tǒng)HYPERLIN

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論