2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  1 引言</b></p><p>  1.1 無線通信技術(shù)概述</p><p>  無線通信系統(tǒng)(Wireless Communication System)也稱為無線電通信系統(tǒng),是由發(fā)送設(shè)備、接受設(shè)備、無線信道三部分組成,是利用電磁波信號可以在自由空間中傳播的特征進(jìn)行信息交換的一種通信方式,在移動中實現(xiàn)的無線通信又被稱為移動通信,該

2、技術(shù)的發(fā)展始于上世紀(jì)20年代,經(jīng)歷了五個發(fā)展階段。</p><p>  第一階段從上世紀(jì)20年代到40年代,為早期發(fā)展階段。在這期間,首先在短波幾個頻段上開發(fā)出專用移動通信系統(tǒng),代表是美國底特律市警察使用的車載無線電系統(tǒng)。該系統(tǒng)工作頻率2MHz,到40年代提高到30—40MHz??梢哉J(rèn)為這個階段是現(xiàn)代移動通信的起步階段,特點是專用系統(tǒng)開發(fā),工作頻率較低。</p><p>  第二階段從40

3、年代中期到60年代初期。在此期間,公用移動通信業(yè)務(wù)問世。這一階段的特點是從專用移動到公用移動過渡,連接方式為人工,網(wǎng)容量較小。</p><p>  第三階段從60年代中期到70年代中期,使用150MHz和450MHz頻段,實現(xiàn)了無線頻道自動選擇并能夠自動連接到公用電話網(wǎng)。這一階段是移動通信系統(tǒng)改進(jìn)和完善的階段,其特點是采用大區(qū)制,中小容量,使用450MHz頻段,實現(xiàn)了自動選頻和自動連接。</p>&

4、lt;p>  第四階段從70年代中期至80年代中期,這是移動通信發(fā)展的蓬勃時期。1978年底,美國貝爾實驗室研制成功先進(jìn)移動電話系統(tǒng)(AMPS),建立了蜂窩狀移動通信網(wǎng),大大提高了系統(tǒng)容量。</p><p>  第五階段從80年代中期開始,這是數(shù)字移動通信系統(tǒng)發(fā)展和成熟時期,開發(fā)了新一代數(shù)字蜂窩移動通信系統(tǒng)。數(shù)字無線傳輸?shù)念l譜利用率高,可大大提高系統(tǒng)容量。另外,數(shù)字網(wǎng)能夠提供語音、數(shù)據(jù)多種業(yè)務(wù)服務(wù),并與IS

5、DN等兼容。實際上,早在70年代末,當(dāng)模擬蜂窩系統(tǒng)還處于開發(fā)階段時,一些發(fā)達(dá)國家就著手?jǐn)?shù)字蜂窩移動通信系統(tǒng)的研究。到80年代中期,歐洲首先推出了泛歐數(shù)字移動通信網(wǎng)(GSM)的體系。</p><p>  目前,正處于第五階段的第三代數(shù)字移動通信時代。其特點是通信頻段進(jìn)一步加寬,數(shù)據(jù)業(yè)務(wù)所占的比重大幅度增加,全面走向移動多媒體通信。當(dāng)今無線移動通信的發(fā)展主要體現(xiàn)在五大技術(shù)的發(fā)展中:一是3G技術(shù),二是3.5GHz寬帶固

6、定無線接入的推廣應(yīng)用,三是WLAN標(biāo)準(zhǔn)的選用,四是寬帶無線技術(shù)WIMAX,五是超寬帶無線接入技術(shù)。這些技術(shù)的發(fā)展和應(yīng)用促使無線移動通信的總體走勢是接入多元、網(wǎng)絡(luò)一體和綜合布局[1]。</p><p>  1.2 短距離無線通信</p><p>  隨著Internet技術(shù)、計算機(jī)技術(shù)、通信技術(shù)和電子技術(shù)的飛速發(fā)展,無線網(wǎng)絡(luò)逐漸走入人們的眼簾,在有線網(wǎng)絡(luò)技術(shù)已經(jīng)發(fā)展成熟的今天,無線網(wǎng)絡(luò)具有

7、巨大的潛力。人們提出了“物聯(lián)網(wǎng)”的概念,在人和環(huán)境融為一體的模式下,能夠在任何時間,任何地點,以任何方式進(jìn)行信息的獲取與處理。近年來無線組網(wǎng)通信發(fā)展迅速的原因,不僅是由于技術(shù)已經(jīng)達(dá)到可駕馭和可實現(xiàn)的高度,更是因為人們對信息隨時隨地獲取和交換的迫切需要,從而要去各種通信技術(shù)發(fā)展的終極目標(biāo)是“無處不在”。在技術(shù)、成本、可靠性及可實用性等各方面的綜合考慮下,短距離無線通信技術(shù)成為了當(dāng)今的熱點。 隨著數(shù)字通信和計算機(jī)技術(shù)的發(fā)展,許多短距離無線通

8、信的要求被提出,短距離無線通信同長距離無線通信有很多的區(qū)別,主要如下:</p><p>  1、短距離無線通信的主要特點為通信距離短,覆蓋距離一般在幾十米或100m(200 m)之內(nèi)。覆蓋的范圍響應(yīng)也比較小。</p><p>  2、無線發(fā)射器的發(fā)射功率較低,發(fā)射功率一般小于100 mW。</p><p>  3、自由地連接各種個人便攜式電子設(shè)備、計算機(jī)外部設(shè)備和各

9、種家用電氣設(shè)備,實現(xiàn)信息共享和多業(yè)務(wù)的無線傳輸。</p><p>  4、不用申請無線頻道。區(qū)別于無線廣播等長距離無線傳輸。</p><p>  5、高頻操作,工作頻段一般以GHZ為單位。</p><p>  一個典型的短距離無線通信系統(tǒng)基本包括一個無線發(fā)射器和一個無線接收器。目前使用較廣泛的短距無線通信技術(shù)是藍(lán)牙(Bluetooth),無線局域網(wǎng)802.11(Wi

10、-Fi)和紅外數(shù)據(jù)傳輸(IrDA)。同時還有一些具有發(fā)展?jié)摿Φ慕酂o線技術(shù)標(biāo)準(zhǔn),它們分別是:ZigBee、超寬頻(Ultra Wide Band)、短距通信(NFC)、GPS、DECT和專用無線系統(tǒng)等。它們都有其立足的特點,或基于傳輸速度、距離、耗電量的特殊要求;或著眼于功能的擴(kuò)充性;或符合某些單一應(yīng)用的特別要求;或建立競爭技術(shù)的差異化等。但是沒有一種技術(shù)可以完美到足以滿足所有的需求。</p><p>  常用幾

11、種短距離無線通信的特點和基本原理介紹:</p><p>  (1)藍(lán)牙(Bluetooth) 藍(lán)牙是由愛立信公司于1994年首先提出的一種工作在2.4GHz頻段的短距離無線通信技術(shù)規(guī)范,用來替代有線連接。信道帶寬為1MHz,連接距離一般小于10m,使用高增益天線可以擴(kuò)展到100m,一般電池壽命為2-4個月。鑒于以上特性,藍(lán)牙技術(shù)被應(yīng)用于無線設(shè)備、圖像處理、智能卡、身份識別等安全產(chǎn)品,以及娛樂消費(fèi)、家用電器、醫(yī)療健

12、身和建筑等領(lǐng)域。</p><p>  藍(lán)牙技術(shù)的特點包括:采用跳頻技術(shù),抗信號衰落;采用快跳頻和短分組技術(shù),減少同頻干擾,保證傳輸?shù)目煽啃?;采用前向糾錯編碼技術(shù),減少遠(yuǎn)距離傳輸時的隨機(jī)噪聲影響;使用2.4GHz的ISM頻段,無須申請許可證;采用FM調(diào)制方式,降低設(shè)備的復(fù)雜性。</p><p>  (2)Wifi(IEEE802.11)(是WLAN的一種,最常用)Wifi全稱Wireless

13、 Fidelity,意為無線,高保真又稱802.11b標(biāo)準(zhǔn)。 通俗地說,Wifi就是一種無線聯(lián)網(wǎng)的技術(shù),以前通過網(wǎng)絡(luò)連接電腦,而現(xiàn)在則是通過無線電波來連網(wǎng);常見的就是一個無線路由器,那么在這個無線路由器的電波覆蓋的有效范圍都可以采用Wifi方式進(jìn)行聯(lián)網(wǎng),如果無線路由器連接了一條ADSL線路或者別的上網(wǎng)線路,則又被稱為“熱點”。</p><p>  Wifi是IEEE定義的一個無線網(wǎng)絡(luò)通信的工業(yè)標(biāo)準(zhǔn)。最早提出與19

14、97年,目的是提供無線局域網(wǎng)的接入,可實現(xiàn)幾Mbps的無線接入。主要用于解決辦公室無線局域網(wǎng)和校園網(wǎng)中用戶與用戶終端的無線接入。其優(yōu)勢在于:無線電波的覆蓋范圍廣(100m左右);傳輸速度快(11Mb/s);成本低,省去網(wǎng)絡(luò)布線,便于廠商介入。</p><p> ?。?)紅外數(shù)據(jù)傳輸(IrDA) 紅外線數(shù)據(jù)協(xié)會(Infrared Data Association,IrDA)成立于1993年,是致力于建立紅外線無線連

15、接的非營利組織。起初,采用IrDA標(biāo)準(zhǔn)的無線設(shè)備僅能在1 m范圍內(nèi)以115.2 kb/s的速率傳輸數(shù)據(jù),很快發(fā)展到 4 Mb/s的速率(4PPM),后來,速率又達(dá)到16 Mb/s。紅外傳輸距離在幾cm到幾十米,發(fā)射角度通常在0—15°。</p><p>  IrDA是一種利用紅外進(jìn)行點對點通信的技術(shù)。目前支持它的軟硬件技術(shù)都很成熟,在小型移動設(shè)備(如PDA、手機(jī)、筆記本電腦)上已經(jīng)被廣泛使用。它具有移動

16、通信所需的體積小、功耗低、連接方便、簡單易用、成本低的特點。IrDA的不足在于它是一種視距傳輸,2個相互通信的設(shè)備之間必須對準(zhǔn),中間不能被其他物體阻隔,因而該技術(shù)只能用于2臺(非多臺)設(shè)備之間的連接。</p><p>  (4)ZigBee(紫蜂技術(shù))ZigBee技術(shù)是最近發(fā)展起來的一種短距離、低速率無線通信技術(shù),它具有低功耗、低成本、易應(yīng)用的特點,主要工作在2.4Ghz頻段,采用擴(kuò)頻技術(shù)。ZigBee也被認(rèn)為是

17、可能應(yīng)用于工業(yè)監(jiān)控、傳感器網(wǎng)絡(luò)、家庭監(jiān)控、安全系統(tǒng)等領(lǐng)域的無線技術(shù)。</p><p> ?。?)超寬頻(Ultra Wide Band) UWB是一種無線載波通信技術(shù),它不采用正弦載波,而是利用納秒級的非正弦窄脈沖傳輸數(shù)據(jù),因此其所占的頻譜范圍很寬。UWB可在非常寬的帶寬上傳輸信號,美國FCC對UWB的規(guī)定為:在3.1~10.6GHz頻段中占用500MHz以上的帶寬。由于UWB可以利用低功耗、低復(fù)雜度發(fā)射/接收機(jī)

18、實現(xiàn)高速數(shù)據(jù)傳輸,在近年來得到了迅速發(fā)展。它在非常寬的頻譜范圍內(nèi)采用低功率脈沖傳送數(shù)據(jù)而不會對常規(guī)窄帶無線通信系統(tǒng)造成大的干擾,并可充分利用頻譜資源。</p><p> ?。?)短距通信(NFC) NFC(Near Field Communication)是由Philips、NOKIA和Sony主推的一種類似于RFID(非接觸式射頻識別)的短距離無線通信技術(shù)標(biāo)準(zhǔn)。和RFID不同,NFC采用了雙向的識別和連接。在2

19、0cm距離內(nèi)工作于13.56MHz頻率范圍。NFC最初僅僅是遙控識別和網(wǎng)絡(luò)技術(shù)的合并,但現(xiàn)在已發(fā)展成無線連接技術(shù)。它能快速自動地建立無線網(wǎng)絡(luò),為蜂窩設(shè)備、藍(lán)牙設(shè)備、Wi-Fi設(shè)備提供一個“虛擬連接”,使電子設(shè)備可以在短距離范圍進(jìn)行通訊。NFC的短距離交互大大簡化了整個認(rèn)證識別過程,使電子設(shè)備間互相訪問更直接、更安全和更清楚,不用再聽到各種電子雜音[2,3,4]。</p><p>  1.3 課題背景及主要工作&

20、lt;/p><p>  目前,市場上的近距離無線通信技術(shù)主要有無線局域網(wǎng)、藍(lán)牙和一些專用標(biāo)注的產(chǎn)品。一些大公司為開拓市場和應(yīng)用領(lǐng)域,也積極研究和制定一些新的無線組網(wǎng)通信技術(shù)標(biāo)準(zhǔn)。由微控制器和集成射頻芯片構(gòu)成的微功率短距離無線數(shù)據(jù)傳輸系統(tǒng)廣泛運(yùn)用[5,6]在車輛監(jiān)控、遙控、遙測、小型無線網(wǎng)絡(luò)、無線抄表、工業(yè)數(shù)據(jù)采集系統(tǒng)、無線標(biāo)簽、身份識別、小型無線數(shù)據(jù)終端、安全防火系統(tǒng)、水文氣象監(jiān)控、無線遙控系統(tǒng)、無線232數(shù)據(jù)通信、

21、數(shù)字音頻、圖像等領(lǐng)域中。</p><p>  本文將重點研究短距離無線數(shù)據(jù)傳輸系統(tǒng)的實現(xiàn),主要包括以下幾個方面。</p><p>  (1)在調(diào)研無線數(shù)據(jù)傳輸系統(tǒng)的實際應(yīng)用基礎(chǔ)上,本文完成了基于單片機(jī)的無線數(shù)據(jù)傳輸系統(tǒng),再調(diào)用串口調(diào)試工具將數(shù)據(jù)顯示出來。自己動手焊接無線數(shù)據(jù)傳輸系統(tǒng)的硬件電路,包括主機(jī)電路板和從機(jī)電路板;編寫主機(jī)發(fā)送程序、從機(jī)接收程序,上位機(jī)顯示程序。為實現(xiàn)此系統(tǒng)功能,對硬

22、件設(shè)備進(jìn)行如下選型,采用PIC16F876A單片機(jī)作控制芯片、CC1100作無線收發(fā)模塊,單片機(jī)和串口之間通過RS232芯片進(jìn)行電壓轉(zhuǎn)換。</p><p>  (2)在Altium Designer上進(jìn)行系統(tǒng)電路和PCB版圖的設(shè)計[7],手工焊接電路板。之后開始設(shè)計系統(tǒng)軟件,用C語言編寫單片機(jī)的內(nèi)核程序。然后,進(jìn)行系統(tǒng)的實物調(diào)試,基本實現(xiàn)預(yù)期的功能。</p><p><b>  

23、2 系統(tǒng)硬件設(shè)計</b></p><p><b>  2.1 總體設(shè)計</b></p><p>  從設(shè)計任務(wù)及要求來看,設(shè)計要求完成一個基于單片機(jī)的無線數(shù)據(jù)傳輸系統(tǒng)。查閱相關(guān)資料可知,硬件方面,整個設(shè)計分為兩個模塊單片機(jī)主控模塊和無線數(shù)據(jù)收發(fā)模塊,</p><p>  該系統(tǒng)由主機(jī)和從機(jī)組成,主機(jī)發(fā)送數(shù)據(jù),從機(jī)接收數(shù)據(jù)。通信過

24、程是主機(jī)將數(shù)據(jù)通過SPI接口寫入到CC1100中,之后將數(shù)據(jù)通過天線發(fā)送。從機(jī)通過天線接收數(shù)據(jù)然后單片機(jī)通過SPI接口讀取。通過軟件編程使每一部分完成相應(yīng)的功能。該無線通信系統(tǒng),結(jié)構(gòu)簡單,易于拓展。</p><p>  下面是該無線通信系統(tǒng)的整體結(jié)構(gòu)框圖[8],如圖2.1所示:</p><p>  圖2.1 整體結(jié)構(gòu)框圖</p><p>  2.2 PIC16F8

25、76A主要性能及最小系統(tǒng)圖</p><p>  PIC16F876A單片機(jī)是Microchip公司生產(chǎn)的低功耗[9,10],高性能的8位CMOS、FLASH單片機(jī),RISC架構(gòu)單片機(jī),有35條單字節(jié)指令。它所采用的Harvard結(jié)構(gòu)和過去一般單片機(jī)所采用的Von Neumann結(jié)構(gòu)最大的差異在于總線的改變。Von Neumann結(jié)構(gòu)是傳統(tǒng)的單片機(jī)結(jié)構(gòu),程序存儲器和數(shù)據(jù)存儲器是在同一個存儲體區(qū)塊,存儲器與CPU之間

26、只使用單一總線,不論是對程序存儲器或數(shù)據(jù)存儲器作存取都是使用此總線,因此要完成一個指令通常必須依序使用總線,從指令的提取、解碼、資料讀取、執(zhí)行到資料的寫入,最后的結(jié)果是一個指令大都需要等待好幾個周期才能完成。Harvard結(jié)構(gòu)改善了這樣的缺點,主要是程序存儲器和數(shù)據(jù)存儲器使用不同的存儲體區(qū)塊,而且也有各自獨立的總線,這樣的做法就大大改善了指令執(zhí)行的頻寬,兩條總線可以同時工作,最大的優(yōu)點是當(dāng)一個指令在執(zhí)行時,已經(jīng)可以去抓下一個指令,因此對

27、于運(yùn)作的效率會有顯著的提升。</p><p>  PIC16F876A的特性如下:</p><p>  采用高性能的RISC CPU核心</p><p><b>  8位微電腦控制芯片</b></p><p>  8K×14Flash程序存儲器</p><p>  3組I/O端口(A、B

28、、C)</p><p>  368Bytes的數(shù)據(jù)存儲器及256Bytes的EEPROM數(shù)據(jù)存儲器</p><p>  2組8位定時器TMR0、TMR2,及1組16位定時器TMR1</p><p><b>  支持14個中斷處理</b></p><p>  引腳排列封裝如圖2.2所示:</p><p&

29、gt;  圖2.2 PIC16F876A引腳排列封裝</p><p>  在單片機(jī)的28條引腳中有3條專用于主電源的引腳,2條外接晶振的引腳,1條控制或與其他電源復(fù)用的引腳,22條I/O(有兩種或兩種以上的功能)引腳。部分引腳的功能如下:</p><p>  主電源引腳VSS和VDD:</p><p><b>  VSS:接地腳。 </b>&l

30、t;/p><p><b>  VDD:電源供電。</b></p><p>  外接晶振引腳OSC1/CLKI和OSC2/CLKO </p><p>  當(dāng)外接晶體振蕩器時,XTAL1和XTAL2分別接在外接晶體振蕩器的兩端。當(dāng)采用外部振蕩器提供的時鐘信號時,OSC1端作輸入,而OSC2端作輸出。</p><p><b&

31、gt;  控制引腳/VPP </b></p><p>  /VPP:復(fù)位輸入/編程電壓輸入。其中為低電平時,對芯片復(fù)位。該引腳上的電壓不能超過VDD,否則會進(jìn)入測試方式。VPP代表編程電壓。</p><p><b>  輸入輸出引腳 </b></p><p>  PIC系列單片機(jī)一個典型的I/O既可以設(shè)置成數(shù)字信號輸出又可以作為成數(shù)

32、字信號輸入,是一個標(biāo)準(zhǔn)的雙向端口。作為輸出時,可以提供很強(qiáng)的負(fù)載驅(qū)動能力,高電平輸出時的電流和低電平輸入的灌入電流都可達(dá)到25mA;對輸入的信號來說此端口可視為開路或浮空狀態(tài)。正因為PIC系列單片機(jī)每個I/O都可設(shè)置成輸入或輸出,所以在使用前應(yīng)該明確是作為輸入還是輸出,這可通過軟件設(shè)置其方向寄存器來實現(xiàn)。除此之外,有些I/O引腳和單片機(jī)內(nèi)部的某些功能部件或其他外圍模塊的外接信號線進(jìn)行了復(fù)用,這些I/O具有兩種功能,即可作為普通I/O使用

33、,也可以作為某些功能的專用外接引腳。</p><p>  PIC16F876A其最小系統(tǒng)如圖2.3所示。本系統(tǒng)對速度要求并不是很高,沒必要采用很高的晶振,本設(shè)計即采用了8M晶振。另外,本設(shè)計采用了約3.3V的電壓為單片機(jī)最小系統(tǒng)供電。</p><p>  圖2.3 最小系統(tǒng)圖</p><p>  2.3 接口電路設(shè)計</p><p>  2

34、.3.1 單片機(jī)與CC1100 的SPI接口設(shè)計</p><p>  PIC16F87X系列單片機(jī)內(nèi)部集成了主控同步串行端口MSSP模塊[12],該接口可用于實現(xiàn)單片機(jī)與其他外圍器件或單片機(jī)之間進(jìn)行串行數(shù)據(jù)通信。MSSP模塊有兩種工作模式,串行外圍接口(SPI)和芯片間總線(IIC)。本次課題選擇SPI工作模式,與無線收發(fā)模塊CC1100進(jìn)行通信。SPI模式方框圖,如圖2.4所示:</p><

35、;p>  圖2.4 SPI結(jié)構(gòu)圖</p><p>  MSSP模塊有四個寄存器可對SPI模式進(jìn)行配置,如下:</p><p>  MSSP控制寄存器(SSPCON)</p><p>  MSSP狀態(tài)寄存器(SSPTAT)</p><p>  收發(fā)數(shù)據(jù)緩沖寄存器(SSPBUF)</p><p>  移位寄存器(SS

36、PSR)</p><p>  SSPCON和SSPTAT是在SPI操作模式下的控制和狀態(tài)寄存器。SSPCON寄存器是可讀寫的。SSPTAT寄存器的低6位是只讀的,高2位是可讀寫的。SSPSR寄存器用來移位輸入輸出的數(shù)據(jù)。SSPBUF寄存器是寫入或讀取的緩沖寄存器。在接收數(shù)據(jù)時,SSPBUF寄存器和SSPSR寄存器一起組成了一個二級緩沖的接收器。當(dāng)SSPSR寄存器接收到一個完整的字節(jié)時,該字節(jié)會被傳輸?shù)絊SPBUF

37、寄存器,同時SSPIF中斷開啟。在發(fā)送數(shù)據(jù)期間,SSPBUF寄存器不是二級緩沖的接收器。數(shù)據(jù)同時寫到SSPBUF寄存器和SSPSR寄存器中。</p><p>  SSPCON寄存器地址:14H,寄存器各位如表2.1所示:</p><p>  表2.1 SSPCON寄存器</p><p>  SSPTAT寄存器地址:94H,寄存器各位如表3.4所示:</p>

38、;<p>  表2.2 SSPTAT寄存器</p><p>  為使串口使能,MSSP使能位SSPEN必須置1,為設(shè)定和復(fù)位SPI方式,對使能位SSPEN清零,對SSPCON寄存器重新初始化,然后對使能位SSPEN置1,這樣設(shè)定SDI、SDO、SCK、SS引腳作為重新端口引腳,對于引腳作為端口功能運(yùn)轉(zhuǎn),必須對它們的數(shù)據(jù)方向位合適編程。</p><p>  在SPI的主控模式下

39、,主機(jī)在任何時間都能夠初始化數(shù)據(jù)傳送,因為它控制SCK,主機(jī)決定從機(jī),主機(jī)和從機(jī)的連接方式如圖2.5所示:</p><p>  圖2.5 SPI接口示意圖</p><p>  在主控模式時,數(shù)據(jù)一旦寫入SSPBUF時,數(shù)據(jù)就被發(fā)送或接收。如果SPI只是接收,SDO輸出失效(把該端口編程為輸入模式)。SSPSR寄存器繼續(xù)以設(shè)定好的速率移位SDI引腳上的信號。因為每個字節(jié)被接收,它將被視為普通

40、字節(jié)裝入到SSPBUF寄存器中(中斷和狀態(tài)位被合理地配置)。</p><p>  通過合適的編程CKP位來選擇時鐘極性。在主控方式下,SPI時鐘速率可被用戶配置成以下幾種速率:</p><p><b>  Fosc/4</b></p><p><b>  Fosc/16</b></p><p>&l

41、t;b>  Fosc/64</b></p><p><b>  Timer2/2</b></p><p>  CC1100通過4線SPI兼容接口(SI,SO,SCLK和CSn)配置,這個接口同時用作寫和讀緩存數(shù)據(jù)。SPI接口是一種同步串行通信接口,CSn是芯片選擇管腳,當(dāng)該管腳為低電平時,SPI接口可以通信,反之不能通信[11]。SI和SO為數(shù)字傳輸

42、管腳,SI用于數(shù)據(jù)輸入,SO用于數(shù)據(jù)輸出。SCLK為同步時鐘,在時鐘的上升沿或下降沿數(shù)據(jù)被寫入或讀出。CC1100的TX FIFO(發(fā)射先進(jìn)先出堆棧)和RX FIFO(接收先進(jìn)先出堆棧)也可用同樣的讀寫方式進(jìn)行訪問,只是使用與配置寄存器不同的地址段加以區(qū)別。</p><p>  另外,CC1100的指令也可通過SPI接口傳輸。CC1100有14個內(nèi)部指令。這些指令用來關(guān)閉晶體振蕩器,開啟傳輸模式,狀態(tài)轉(zhuǎn)換和電磁波

43、激活等。通過SI寫入特定的字節(jié)使CC1100執(zhí)行不同的命令。</p><p>  單片機(jī)與CC1100的接口連接示意圖如圖2.6所示:</p><p>  圖2.6 PIC16F876A與CC1100接口示意圖</p><p>  2.3.2 USART模塊</p><p>  PIC16F87X系列單片機(jī)內(nèi)部也集成了通用同步/異步收發(fā)器U

44、SART模塊,所需的兩條外部引腳是與RC端口模塊共用的RC6和RC7兩條線。該模塊在本系統(tǒng)中主要做為調(diào)試使用,通用同步/異步收發(fā)器USART模塊的方框圖,如圖2.7所示:</p><p>  圖2.7 USART的結(jié)構(gòu)圖</p><p>  USART模塊有2個寄存器可對USART模式進(jìn)行配置,如下:</p><p>  TXSTA寄存器地址:98H。寄存器各位如表

45、2.3所示:</p><p>  表2.3 TXSTA寄存器</p><p>  RCSTA寄存器地址:18H。寄存器各位如表2.4所示:</p><p>  表2.4 RCSTA寄存器</p><p>  2.4 單片機(jī)與PC機(jī)電平轉(zhuǎn)換接口</p><p>  RS232C[13]是由美國電子工業(yè)協(xié)會(EIA)正式

46、公布的,是在異步串行通信中應(yīng)用最為廣泛的標(biāo)準(zhǔn)總線,它包括了按位穿行傳輸?shù)碾娖骱蜋C(jī)械方面的規(guī)定,適用于數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通信設(shè)備(DCE)之間的接口。RS-232C標(biāo)準(zhǔn)中所提到的“發(fā)送”和“接收”,都是站在DTE立場上,而不是站在DCE的立場上來定義的。由于在計算機(jī)系統(tǒng)中,往往是CPU和I/O設(shè)備之間傳送信息,兩者都是DTE,因此雙方都能發(fā)送和接收。EIA-RS-232C對電器特性、邏輯電平和各種信號線功能都做了規(guī)定。 在TXD

47、和RXD上:邏輯1為-3~-15V、邏輯0為+3~+15V;在RTS、CTS、DSR、DTR、和DCD等控制線上;信號有效(接通,ON狀態(tài),正電壓)為+3~+15V;信號無效(斷開,OFF狀態(tài),負(fù)電壓)為-3~-15V。 RS-232C是用正負(fù)電壓來表示邏輯狀態(tài),與TTL以高低電平表示邏輯狀態(tài)的規(guī)定不同,因此,為了能夠同計算機(jī)接口或終端的TTL器件連接,必須在RS-232C與TTL電路之間進(jìn)行電平和邏輯關(guān)系的變換,實現(xiàn)這種變換的方法可用

48、分立元件,也可用集成電路芯片。MAX232芯片可完成TTL到EIA</p><p><b>  表2.5 引腳功能</b></p><p>  電平轉(zhuǎn)換接口:PIC單片機(jī)通過RC6(TX)和RC7(RX)與上位機(jī)進(jìn)行USART通信,此處通過RS232實現(xiàn)單片機(jī)與上位機(jī)的電平轉(zhuǎn)化,電路圖如圖2.8所示:</p><p>  圖2.8 MAX232

49、電平轉(zhuǎn)換</p><p>  2.5 單片機(jī)的程序下載接口</p><p>  PIC Pro編程器支持大部分流行的PIC芯片燒寫、讀出、加密等功能,無需電源適配器,通信和供電僅一條USB下載線即可完成,具有性能穩(wěn)定、燒錄速度快、性價比高等優(yōu)點。在PIC編程器的下方有一個6PIN的插針,這就是在線編程接口。通過它,用戶可以直接對芯片在板編程,比如有些焊在電路板上的芯片,可以不用把單片機(jī)取

50、下來直接連上ISCP線進(jìn)行程序燒寫。ISCP線的針腳說明如下:</p><p>  1——VPP/MCLR </p><p>  2——VDD/VCC</p><p><b>  3——GND</b></p><p>  4——PGD/RB7</p><p>  5——PGC/RB6</p&

51、gt;<p>  6——LOW/RB3(一般不用)</p><p>  因此,系統(tǒng)需要ISCP接口,如圖2.9所示:</p><p>  圖2.9 ISCP電路</p><p>  2.6 無線收發(fā)模塊CC1100簡介及應(yīng)用電路</p><p>  CC1100是一種低成本真正單片的UHF(Ultra High Frequen

52、cy)收發(fā)器,為低功耗無線應(yīng)用而設(shè)計,具有功耗低、體積小、使用簡單、 操作靈活等特點。電路主要設(shè)定為在315、433、868和915MHz的ISM(工業(yè),科學(xué)和醫(yī)學(xué))和SRD(短距離設(shè)備)頻率波段,也可以容易地設(shè)置為300-348 MHz、400-464 MHz和800-928 MHz的其他頻率。RF收發(fā)器集成了一個高度可配置的調(diào)制解調(diào)器。這個調(diào)制解調(diào)器支持不同的調(diào)制格式,其數(shù)據(jù)傳輸率可達(dá)500kbps。通過開啟集成在調(diào)制解調(diào)器上的前向

53、誤差校正選項,能使性能得到提升。在發(fā)射狀態(tài)下,其發(fā)射功率可編程調(diào)節(jié),其最大發(fā)射功率達(dá)到10dbm。</p><p>  CC1100為數(shù)據(jù)包處理、數(shù)據(jù)緩沖、突發(fā)數(shù)據(jù)傳輸、清晰信道評估、連接質(zhì)量指示和電磁波激發(fā)提供廣泛的硬件支持。引腳排列封裝如圖2.10所示:</p><p>  圖2.10 CC1100引腳排列封裝</p><p><b>  主要特性:&

54、lt;/b></p><p>  ??體積?。≦LP 4×4mm封裝,20腳)</p><p>  ?真正的單片UHF RF收發(fā)器 ?頻率波段:300-348 MHz、400-464 MHz和800-928 MHz ?高靈敏度(1.2kbps下-110dBm,1%數(shù)據(jù)包誤差率) ?可編程控制的數(shù)據(jù)傳輸率,可達(dá)500kbps ?較低的電流消耗(RX中

55、15.6mA,2.4kbps,433MHz) ?可編程控制的輸出功率,對所有的支持頻率可達(dá)+10dBm ?極少的外部元件:芯片內(nèi)頻率合成器,不需要外部濾波器或RF轉(zhuǎn)換 ?可編程控制的基帶調(diào)制解調(diào)器 ?單獨的64字節(jié)RX和TX數(shù)據(jù)FIFO ?高效的SPI接口:所有的寄存器能用一個“突發(fā)”轉(zhuǎn)換器控制 ?數(shù)字RSSI輸出 ?與遵照EN 300 220(歐洲)和FCC CFR47 Part 15 (美國)標(biāo)準(zhǔn)

56、的系統(tǒng)相配 </p><p>  端口說明如表2.6:</p><p>  表2.6 CC1100端口說明</p><p>  CC1100模塊外圍電路如下如圖2.11所示,偏阻器R171用來設(shè)置一個精確的偏電流。平衡轉(zhuǎn)換器和RF匹配C131, C121, L121 和L131形成一個平衡轉(zhuǎn)換器,用以將CC1100上的微分RF端口轉(zhuǎn)換成單端RF信號(C124 也用

57、在直流模塊上)。同一個合適LC網(wǎng)絡(luò)一起,平衡轉(zhuǎn)換器元件也將阻抗轉(zhuǎn)換以匹配50 歐的天線(或電纜)。使用SmartRF Studio軟件可容易地得到RF平衡轉(zhuǎn)換器和LC網(wǎng)絡(luò)元件的值。315MHz、433MHz及868/915MHz下的參考值由表2.7給出。</p><p>  圖2.11 CC1100的應(yīng)用電路</p><p><b>  表2.7 典型數(shù)值</b>&l

58、t;/p><p><b>  3 系統(tǒng)軟件設(shè)計</b></p><p>  3.1 開發(fā)環(huán)境介紹</p><p>  PIC16F87X系列單片機(jī),適合用C語言進(jìn)行程序設(shè)計,并且C語言程序具有較強(qiáng)的可讀性和移植性。本次設(shè)計采用的單片機(jī)開發(fā)環(huán)境為MPLAB IDE,它是綜合的編譯器、項目管理器和設(shè)計平臺,該軟件支持匯編,安裝PICC以后,可用C語

59、言進(jìn)行編程。用戶在此平臺進(jìn)行應(yīng)用軟件的編輯、編譯、鏈接、軟件模擬調(diào)試和仿真器/調(diào)試器的實時運(yùn)行調(diào)試、編程代碼的燒寫,同時還具有庫函數(shù)維護(hù)和生成芯片各外設(shè)初始化代碼的可視化編程等一些實用功能。MPLAB IDE的用戶界面如圖3.1所示:</p><p>  圖3.1 MPLAB IDE的用戶界面</p><p>  3.2 程序下載器</p><p>  PICki

60、t3編程器/調(diào)試器是一款由在Windows平臺上運(yùn)行MPLAB IDE(v8.20或更高版本)軟件的PC控制的簡單低成本在線調(diào)試器。PICkit3編程器/調(diào)試器是開發(fā)工程師工具包的不可或缺的組成部分。可用于從軟件開發(fā)到硬件集成等各種應(yīng)用領(lǐng)域PICkit3編程器/調(diào)試器是一款支持硬件和軟件開發(fā)的調(diào)試器系統(tǒng),用于基于在線串行編程(ICSP)和增強(qiáng)型在線串行編程雙線串行接口的Microchip PIC單片機(jī)(MCU)和ds

61、PIC數(shù)字信號控制器(DSC)。 除了調(diào)試器功能以外, PICkit3編程器/調(diào)試器系統(tǒng)還可用作開發(fā)編程器。PICkit3編程器/調(diào)試器如圖3.2所示:</p><p>  圖3.2 PICkit3編程器/調(diào)試器</p><p>  3.3 總體流程圖</p><p>  基于單片機(jī)的無線傳輸裝置系統(tǒng)軟件結(jié)構(gòu)較為簡單,包含開啟單片機(jī)的SPI接口

62、,并利用SPI接口完成對無線收發(fā)模塊CC1100的配置。配置完成后,通過輸入命令使其進(jìn)入發(fā)送或接受狀態(tài)進(jìn)行數(shù)據(jù)傳輸。</p><p>  軟件采用模塊化程序設(shè)計方法[14],軟件系統(tǒng)的總體流程如圖3.3所示:</p><p>  圖3.3 總體流程圖</p><p>  3.4 軟件系統(tǒng)主要程序模塊</p><p>  3.4.1 系統(tǒng)初

63、始化</p><p>  系統(tǒng)上電后,單片機(jī)的狀態(tài)處于默認(rèn)狀態(tài)??梢愿鶕?jù)使用需要進(jìn)行配置。在此,需要對PORTC端口管腳的輸入輸出狀態(tài)進(jìn)行設(shè)置。其他未用到的端口可設(shè)置為輸出低電平。</p><p>  void initial()</p><p><b>  {</b></p><p>  TRISA=0x00;<

64、/p><p>  TRISB=0x00;</p><p>  TRISC=0x93;//設(shè)置端口(RC6,7為TX,RX)10010011</p><p>  PORTCbits.RC2=1;//CSn=1</p><p>  INTCON=0x00;//關(guān)閉中斷</p><p>  PIE1=0x0

65、0;</p><p><b>  }</b></p><p>  3.4.2 SPI模塊</p><p>  當(dāng)初始化SPI時,可以通過對SSPCON寄存器和SSPSTAT寄存器配置選擇具體使用規(guī)則。在這里,選擇主控模式,同步時鐘為晶振頻率的1/4,在時鐘上升沿對數(shù)據(jù)采樣。時序如圖3.4所示:</p><p>  圖3

66、.4 單片機(jī)的SPI時序</p><p><b>  SPI初始化</b></p><p>  void spi_initial();//初始化SPI,主控方式,fosc/4</p><p><b>  {</b></p><p>  PIR1=0;//清空標(biāo)志位</p&g

67、t;<p>  SSPCON=0x20;//開啟SPI,主控模式,同步時鐘為晶振頻率的1/4</p><p>  SSPSTAT=0x40;//選擇時鐘上升沿對數(shù)據(jù)采樣</p><p><b>  }</b></p><p><b>  SPI寫模塊</b></p><p&

68、gt;  void spi_send(char s_data)//發(fā)送一個字節(jié)函數(shù)</p><p><b>  { </b></p><p>  SSPBUF=s_data;</p><p><b>  do</b></p><p><b>  {</b></p>

69、;<p><b>  ;</b></p><p>  }while(SSPIF==0);</p><p><b>  SSPIF=0;</b></p><p><b>  }</b></p><p><b>  SPI讀模塊</b><

70、;/p><p>  char spi_receiver() //讀取一個字節(jié)函數(shù)</p><p><b>  {</b></p><p>  unsigned char r_data;</p><p><b>  SSPBUF=0;</b></p><p>

71、<b>  do</b></p><p><b>  {</b></p><p><b>  ;</b></p><p>  }while(SSPIF==0);</p><p><b>  SSPIF=0;</b></p><p&g

72、t;  r_data=SSPBUF;</p><p>  return(r_data);</p><p><b>  }</b></p><p>  3.4.3 CC1100模塊</p><p>  在上電之初,CC1100處于默認(rèn)狀態(tài),需要設(shè)置相關(guān)寄存器才能使其按要求工作。CC1100有40多個寄存器需要配置(在這里

73、,寄存器值是根據(jù)一款名為SmartRFStudio軟件配置的),它們決定了CC1100的工作模式。在設(shè)置寄存器值時,使用SPI接口通信。</p><p>  CC1100 SPI接口的讀寫操作工作方式如圖3.5所示:</p><p>  圖3.5 CC1100的SPI讀寫時序</p><p>  當(dāng)讀寫寄存器時,首先要在SI管腳寫入寄存器地址字節(jié)。地址字節(jié)有8位,最

74、高位為讀寫位,后7位為地址位。當(dāng)執(zhí)行寫寄存器操作時,讀寫位為0,當(dāng)執(zhí)行讀寄存器操作時,讀寫位為1。配置完成后,通過輸入命令使其進(jìn)入發(fā)送或接受狀態(tài)進(jìn)行數(shù)據(jù)傳輸。</p><p>  void cc1100_set()//初始化cc1100</p><p><b>  {</b></p><p>  unsigned char a[19]=

75、{ 0x02,0x08,0x0B,0x0D,0x0E,0x0F, 0x10,0x11, 0x12, 0x15, 0x18,</p><p>  0x19,0x23, 0x24, 0x25, 0x26, 0x2C, 0x0D, 0x0E};</p><p>  unsigned char d[19]={ S_IOCFG0,S_PKTCTRL0,S_FSCTRL1,S_FREQ2, S_FRE

76、Q1, S_FREQ0,S_MDMCFG4,S_MDMCFG3, S_MDMCFG2, S_DEVIATN,S_MCSM0,S_FOCCFG,S_FSCAL3, S_FSCAL2, S_FSCAL1, S_FSCAL0, S_TEST2,</p><p>  S_TEST1,S_TEST0};</p><p>  unsigned char s_data;</p><

77、p>  unsigned int i;</p><p>  for(i=0;i<19;i++)</p><p><b>  {</b></p><p>  s_data=a[i];</p><p>  spi_send(s_data);//寫地址</p><p>  s_data

78、=d[i];</p><p>  spi_ send(s_data);//寫數(shù)據(jù)</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  4 系統(tǒng)調(diào)試</b></p><p><b> 

79、 4.1 硬件調(diào)試</b></p><p>  電路在硬件調(diào)試過程中,采用分模塊焊接、分模塊調(diào)試的方法,保證系統(tǒng)硬件焊接完成后,在系統(tǒng)上電時,電路可正常工作,同時要特別注意短路、虛焊、熱擊穿等。本設(shè)計中,主要對主控模塊、CC1100無線收發(fā)模塊等進(jìn)行焊接及調(diào)試。系統(tǒng)電路圖見附錄A,PCB版圖見附錄B,焊接前的板子見附錄C,焊接后的板子見附錄D。</p><p>  4.1.1

80、 主控模塊</p><p>  單片機(jī)調(diào)試時,首先把單片機(jī)芯片正確地焊接在PCB板上。焊接時,由于單片機(jī)芯片管腳比較多,不能對每一個管腳進(jìn)行單獨焊接,故采用在管腳上均勻涂抹一定量焊錫,然后再去除個別管腳上多余的焊錫。焊接過程中應(yīng)注意:電路板的焊接工藝是通過烙鐵的加熱使焊錫絲融化,電路板和元器件連接在一起,焊接時注意烙鐵的角度和電路板呈現(xiàn)約45度角,焊接的時間控制好,溫度太高會使銅箔剝離電路板[15]。</

81、p><p>  用示波器測試單片機(jī)的晶振時,發(fā)現(xiàn)波型混亂,晶振不能正常工作。電容換了還是不起振,可以排除電容和虛焊的問題。把20Mhz的晶振換成了8Mhz(換成8Mhz晶振是因為手上沒有20Mhz的晶振)后再次測量晶振,波型完整。說明原因可能是晶振的問題。</p><p>  4.1.2 CC1100無線收發(fā)模塊</p><p>  系統(tǒng)選用CC1100芯片,其具有2

82、0個管腳,要特別注意相鄰管腳由于焊接不當(dāng)導(dǎo)致的短路現(xiàn)象,焊接完畢后,用萬用表依次對相鄰管腳進(jìn)行檢測,檢查是否有虛焊、短路的情況。</p><p><b>  4.2 軟件調(diào)試</b></p><p>  MPLABIDE即MPLAB集成開發(fā)環(huán)境(IDE)是綜合的編譯器、項目管理器和設(shè)計平臺,適用于Microchip 的PIC系列單片機(jī)編程仿真。安裝PICC以后,可用

83、C語言進(jìn)行編程。在軟件調(diào)試過程中我學(xué)到了一點,如果配置字(Configuration Bits)設(shè)置不合理,即便程序編譯通過下到單片機(jī)的程序仍然無法正常運(yùn)行。相關(guān)的程序模塊見附錄E。將編譯成功的程序下載到單片機(jī)中,用示波器分別檢測主機(jī)發(fā)送的數(shù)據(jù)和從機(jī)接收的數(shù)據(jù),得到如下幾個圖:</p><p>  圖4.1 發(fā)送0x0f</p><p>  圖4.2 發(fā)送‘a(chǎn)’(0x61) </p&

84、gt;<p>  圖4.3 接收0x0f</p><p>  圖4.4 接收‘a(chǎn)’(0x61) </p><p><b>  5 總結(jié)與展望</b></p><p><b>  5.1 總結(jié)</b></p><p>  本論文無線數(shù)據(jù)傳輸系統(tǒng)以CC1100模塊為無線收發(fā)核心,以單片

85、機(jī)為數(shù)據(jù)收發(fā)的控制核心。系統(tǒng)的設(shè)計和實現(xiàn)分硬件電路和軟件編程完成,首先根據(jù)課題要求選擇合適的元器件。使用電路設(shè)計軟件Altium designer根據(jù)器件手冊上推薦的外圍電路來設(shè)計本次課題的硬件部分。用MPLAB軟件編寫系統(tǒng)的軟件部分包括CC1100的初始化和PIC控制數(shù)據(jù)的收發(fā)及與PC機(jī)的通信。</p><p>  由于系統(tǒng)實現(xiàn)的功能只是簡單地實現(xiàn)數(shù)據(jù)的接收,核心部分都是集成芯片,所以電路不算復(fù)雜,涉及的元器件

86、不多,但對于我來說,除了在電子工藝實習(xí)時用過電烙鐵以外幾乎沒用過電路設(shè)計軟件Altium Designer、MPLABIDE軟件或設(shè)計能夠具有一定功能的程序,所以一切都是從零開始。在畫PCB版圖時,總出錯。最終在研究生指導(dǎo)下,出錯的原因是PCB設(shè)計規(guī)則設(shè)置不合理,所以在每次從原理圖到PCB是總報錯。還有就是元器件的布局,完成合理的布局需要一定的設(shè)計經(jīng)驗,所以剛開始布了幾次總感覺亂糟糟,后來經(jīng)指導(dǎo)得到了一些經(jīng)驗,從新開始才勉強(qiáng)通過。在編程

87、方面,剛開始借了幾本有關(guān)單片機(jī)的書籍,大量閱讀后對單片機(jī)編程有了基本的認(rèn)識。開始模仿著編寫,仿真之后修改。折騰幾個來回,編完并通過了編譯,可調(diào)入仿真根本就不好使。經(jīng)過老師的指導(dǎo),才發(fā)現(xiàn)程序配置字不合理導(dǎo)致程序無法正確運(yùn)行。找到原因后,重新修改程序,把配置字加進(jìn)去,程序終于正常工作了。</p><p><b>  5.2 展望</b></p><p>  盡管本次設(shè)計

88、基本實現(xiàn)了任務(wù)要求,但是還可以進(jìn)行許多完善擴(kuò)展其功能使之成為具有實際意義和價值的裝置。我們可以充分利用單片機(jī)的資源,把剩余的端口設(shè)計成某些信息的數(shù)據(jù)輸入端口。比如把發(fā)射模塊單片機(jī)PB的某一口接上DS18B20溫度傳感器[16],這樣系統(tǒng)就可實現(xiàn)氣溫數(shù)據(jù)發(fā)送,接收模塊可通過上位機(jī)或者通過液晶實時顯示氣溫。當(dāng)然根據(jù)實際需求進(jìn)行設(shè)計開發(fā)出相應(yīng)的產(chǎn)品。</p><p>  附錄A 電路設(shè)計原理圖</p>

89、<p>  附錄B 電路設(shè)計PCB版圖</p><p>  附錄C 廠家生產(chǎn)的PCB板</p><p>  附錄D 焊接完成后的實物圖</p><p><b>  附錄E 程序代碼</b></p><p><b>  發(fā)送數(shù)據(jù)部分</b></p><p>  #

90、include<pic.h></p><p>  __CONFIG(0x3B32);</p><p>  #define S_IOCFG0 0x06</p><p>  #define S_PKTCTRL0 0x05</p><p>  #define S_FSCTRL1 0x06</p><p

91、>  #define S_FREQ2 0x10</p><p>  #define S_FREQ1 0xB1</p><p>  #define S_FREQ0 0x3B</p><p>  #define S_MDMCFG4 0xF6</p><p>  #define S_MDMCFG3 0x83&

92、lt;/p><p>  #define S_MDMCFG2 0x03</p><p>  #define S_DEVIATN 0x15</p><p>  #define S_MCSM0 0x18</p><p>  #define S_FOCCFG 0x16</p><p>  #define

93、 S_FSCAL3 0xE9</p><p>  #define S_FSCAL2 0x2A</p><p>  #define S_FSCAL1 0x00</p><p>  #define S_FSCAL0 0x1F</p><p>  #define S_TEST2 0x81</

94、p><p>  #define S_TEST1 0x35</p><p>  #define S_TEST0 0x09 </p><p>  #define FIFO 0x3F </p><p>  void initial()</p><p><b>  {</b></p

95、><p>  TRISA=0x00;</p><p>  TRISB=0x00;</p><p>  TRISC=0x93;</p><p>  PORTCbits.RC2=1;</p><p>  INTCON=0x00;</p><p>  PIE1=0x00;</p><p

96、><b>  }</b></p><p>  void spi_initial()</p><p><b>  {</b></p><p>  PIR1=0x00; </p><p>  SSPCON=0x20;</p><p>  SSPSTAT=0x40; <

97、/p><p><b>  }</b></p><p>  void delay10us(unsigned int count) </p><p><b>  {</b></p><p>  unsigned int a,b;</p><p>  for(a=count;a>

98、0;a--)</p><p>  for(b=9;b>0;b--);</p><p><b>  }</b></p><p>  void spi_send(char s_data) </p><p><b>  {</b></p><p>  SSPBUF=s_dat

99、a;</p><p><b>  do</b></p><p><b>  {</b></p><p><b>  ;</b></p><p>  }while(SSPIF==0);</p><p><b>  SSPIF=0;</

100、b></p><p><b>  }</b></p><p>  void cc1100_set()</p><p><b>  {</b></p><p>  unsigned char [19]={0x02,0x08,0x0B,0x0D,0x0E, 0x0F,0x10,0x11,0x12,

101、0x15, 0x18,0x19,0x23,0x24,0x25,0x26,0x2C,0x2D,0x2E}; </p><p>  unsigned char c[19]={S_IOCFG0,S_PKTCTRL0,S_FSCTRL1,S_FREQ2,S_FREQ1, </p><p>  S_FREQ0,S_MDMCFG4,S_MDMCFG3,S_MDMCFG2,</p><

102、;p>  S_DEVIATN,S_MCSM0,S_FOCCFG,S_FSCAL3,S_FSCAL2,</p><p>  S_FSCAL1,S_FSCAL0,S_TEST2,S_TEST1,S_TEST0};</p><p>  unsigned char s_data;</p><p>  unsigned int i;</p><p&

103、gt;  for(i=0;i<19;i++)</p><p><b>  {</b></p><p>  s_data=a[i];</p><p>  spi_send(s_data);</p><p>  delay10us(1);</p><p>  s_data=c[i];<

104、;/p><p>  spi_send(s_data);</p><p>  delay10us(1);</p><p><b>  }</b></p><p><b>  }</b></p><p>  void pic_send(unsigned char data);<

105、/p><p><b>  {</b></p><p>  unsigned char s_data;</p><p>  s_data=FIFO;</p><p>  spi_send(s_data);</p><p>  delay10us(1);</p><p>  s_

106、data=data;</p><p>  spi_send(s_data);</p><p>  delay10us(1);</p><p>  }</p><p>  void main()</p><p><b>  {</b></p><p> 

107、 unsigned char data;</p><p>  data='a';//01100001</p><p>  initial();</p><p>  spi_initial();</p><p>  PORTCbits.RC2=0;</p><p>  delay10us(1);<

108、/p><p>  spi_send(0x30); </p><p>  delay10us(1);</p><p>  cc1100_set();</p><p>  spi_send(0x35); </p><p>  delay10us(1);</p><p><b>  while(

109、1)</b></p><p><b>  {</b></p><p>  pic_send(0x0f);</p><p>  pic_send(data);</p><p><b>  }</b></p><p><b>  }</b><

110、;/p><p><b>  接收數(shù)據(jù)部分</b></p><p>  #include<pic.h></p><p>  __CONFIG(0x3B32);</p><p>  #define S_IOCFG0 0x06</p><p>  #define S_PKTCTRL0

111、 0x05</p><p>  #define S_FSCTRL1 0x06</p><p>  #define S_FREQ2 0x10</p><p>  #define S_FREQ1 0xB1</p><p>  #define S_FREQ0 0x3B</p><p>  

112、#define S_MDMCFG4 0xF6</p><p>  #define S_MDMCFG3 0x83</p><p>  #define S_MDMCFG2 0x03</p><p>  #define S_DEVIATN 0x15</p><p>  #define S_MCSM0 0x18<

113、/p><p>  #define S_FOCCFG 0x16</p><p>  #define S_FSCAL3 0xE9</p><p>  #define S_FSCAL2 0x2A</p><p>  #define S_FSCAL1 0x00</p><p>  #define S

114、_FSCAL0 0x1F</p><p>  #define S_TEST2 0x81</p><p>  #define S_TEST1 0x35</p><p>  #define S_TEST0 0x09 </p><p>  #define FIFO 0xBF </p><

115、p>  void initial()</p><p><b>  {</b></p><p>  TRISA=0x00;</p><p>  TRISB=0x00;</p><p>  TRISC=0x93;</p><p>  PORTC=0x04;</p><p>

116、;  INTCON=0x00;</p><p>  PIE1=0x00;</p><p><b>  }</b></p><p>  void usart_initial()</p><p><b>  {</b></p><p>  TXSTA=0x04;</p>

117、;<p>  RCSTA=0x80;</p><p>  SPBRG=0x33;</p><p><b>  TXEN=1;</b></p><p><b>  }</b></p><p>  void spi_initial()</p><p><b&g

118、t;  {</b></p><p><b>  PIR1=0;</b></p><p>  SSPCON=0x20;</p><p>  SSPSTAT=0x40;</p><p><b>  }</b></p><p>  void delay10us(unsi

溫馨提示

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

最新文檔

評論

0/150

提交評論