【正文】
dat=0。 for(i=0。i8。i++) { dat|=ADDO。 ADCLK=1。 _nop_()。 _nop_()。 ADCLK=0。 _nop_()。 _nop_()。 dat=1。 if(i==7)dat|=ADDO。 } for(i=0。i8。i++) { j=0。 j=j|ADDO。 ADCLK=1。 _nop_()。 _nop_()。 ADCLK=0。 _nop_()。 24 _nop_()。 j=j7。 ndat=ndat|j。 if(i7)ndat=1。 } ADCS=1。 ADCLK=0。 ADDO=1。 dat=8。 dat|=ndat。 return(dat)。 //return ad k } 風向軟件設(shè)計 圖 風速軟件設(shè)計框圖 開 始 初始化 傳感器采集數(shù)據(jù) 單片機處理 顯示相應(yīng)風向角度 25 圖 格雷碼轉(zhuǎn)化 風向部分程序 格雷碼轉(zhuǎn)化二進制碼程序部分: Unsigned int Wind_Drct=0。 Unsigned int Wind_Gray=0。 if (KBA1==1) Wind_Gray+=0x0001。 if (KBA2==1) Wind_Gray+=0x0002。 If (KBA3==1) Wind_Gray+=0x0004。 if (KBA4==1) Wind_Gray+=0x0008。 Wind_Gray=Wind_Grayamp。0x4F。 Wind_Drct=Wind_Gray。 while (Wind_Gray1) Wind_Drct^=Wind_Gray。 Wind_Drct=Wind_TB1[Wind_Drct]。//查表 求出風向值 開始 四位引腳輸入 計算格雷碼 只取四位格雷碼 轉(zhuǎn)化成二進制碼 查表求方位 根據(jù)方位查風向 26 第 4 章 硬件電路圖與仿真設(shè)計 硬件電路圖設(shè)計工具與仿真工具 硬件電路圖原理圖設(shè)計工具 Protel99se是應(yīng)用于 Windows9x/2020/NT操作系統(tǒng)下的 EDA設(shè)計軟件,采用設(shè)計庫管理模式,可以進行聯(lián)網(wǎng)設(shè)計,具有很強的數(shù)據(jù)交換能力和開放性及 3D模擬功能,是一個 32位的設(shè)計軟件,可以完成電路原理圖的設(shè)計。 Protel 99 SE主要由原理圖設(shè)計系統(tǒng)、印制電路板設(shè)計系統(tǒng)兩大部分組成。這是一個易于使用的具有大量元件庫的原理圖編輯器,主要用于原理圖的設(shè)計。它可以為印制電路板設(shè)計 提供網(wǎng)絡(luò)表。該編輯器除了具有強大的原理圖編輯功能以外,其分層組織設(shè)計功能、設(shè)計同步器、豐富的電氣設(shè)計檢驗功能及強大而完善的打印輸出功能,使用戶可以輕松完成所需的設(shè)計任務(wù)。 Protel99se的功能特性: 1.分層次組織設(shè)計功能 2.強大的元件及元件庫的組織、編輯功能 3.方便的連線工具 4.高效、便捷的編輯功能 5.電氣設(shè)計檢測功能 6.與印制電路板的緊密連接 7.自定義原理圖模塊 8.強大而完善的輸出功能 硬件電路仿真工具 Proteus ISIS是英國 Labcenter公司開發(fā)的電路分析與 實物仿真軟件。它運行于 Windows操作系統(tǒng)上,可以仿真、分析 (SPICE)各種模擬器件和集成電路,該軟件的特點是:①實現(xiàn)了單片機仿真和 SPICE 電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、 RS232 動態(tài)仿真、 I2C 調(diào)試器、 SPI 調(diào)試器、鍵盤和 LCD 系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。②支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有: 6800系列、 8051系列、 AVR系列、 PIC12系列、 PIC16系列、 PIC18系列、 Z80系列、 HC11系列以及各種外圍芯片。③提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點等調(diào)試功能,同時可以觀察各個變量、寄存器等的當前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調(diào)試環(huán)境 ,如 keil C51 uVision2等軟件。④具有強大的原理圖繪制功能??傊?,該軟件是一款集單片機和 SPICE分析于一身的仿真軟件,功能極其強大。 Proteus仿真實驗可以直觀的看到設(shè)計的效果,利用仿真可以節(jié)約設(shè)計的時間和成本。 27 P 1 . 01P 1 . 12P 1 . 23P 1 . 34P 1 . 45P 1 . 56P 1 . 67P 1 . 78R S T / V P D9P 3 . 0 / R X D10P 3 . 1 / T X D11P 3 . 2 / I N T 012P 3 . 3 / I N T 113P 3 . 4 / T 014P 3 . 5 / T 115P 3 . 6 / W R16P 3 . 7 / R D17X T A L 218X T A L 119V S S20P 2 . 021P 2 . 122P 2 . 223P 2 . 324P 2 . 425P 2 . 526P 2 . 627P 2 . 728P S E N29A L E / P R O G30E A / V P P31P 0 . 732P 0 . 633P 0 . 534P 0 . 435P 0 . 336P 0 . 237P 0 . 138P 0 . 039V C C408 9 C 5 2VSS1VDD2VEE3RS4RW5E6D07D18D29D310D411D512D613D714L C DL M 0 1 6 L+5RS RW ER31 0 0 kR21 0 kR11 0 kERWRSP 3 . 5P 3 . 5P 3 . 7P 3 . 7P 3 . 6P 3 . 6D0D0C H 02C H 13CS1C L K7DI5V R E F8DO6A D C 0 8 3 2D1 D2 D3 D4 D5 D6RSTD7D1D2D3+5D45 4 3 2 1壓力傳感器D5D6D7112233445566778899J 1 R 1 K排阻+5 5 VB8B4B2B1+58 . 2 kR11 2 M H ZX T A L 11 0 u fC8R S T+53 3 p fC7+53 3 p fC6X T A L 1X T A L 1X T A L 2X T A L 2+5 圖 風速設(shè)計原理圖 28 P 1 . 0 / T 21P 2 . 021P 1 . 1 / T 2 E X2P 2 . 122P 1 . 23V C C40P 1 . 34P 1 . 78P 0 . 039P 3 . 0 / R X D10P 3 . 1 / T X D11P 1 . 45P 0 . 138P 3 . 4 / T 014P 1 . 56P 0 . 237P 1 . 67X T A L 218X T A L 119V S S20P 0 . 336R S T / V P D9P 0 . 435P 3 . 2 / I N T 012P 0 . 534P 3 . 3 / I N T 113P 0 . 633P 3 . 5 / T 115P 0 . 732P 3 . 6 / W R16E A / V P P31P 3 . 7 / R D17A L E / P R O G30P S E N29P 2 . 728P 2 . 223P 2 . 627P 2 . 324P 2 . 526P 2 . 425A T 8 9 S 5 2abfcgdeD P Y1234567abcdefg8dpdpK KL E D 0abfcgdeD P Y1234567abcdefg8dpdpK KL E D 1abfcgdeD P Y1234567abcdefg8dpdpK KL E D 2abfcgdeD P Y1234567abcdefg8dpdpK KL E D 3ab b b bc c c cd d d de e e ef f f fg g g gh h h h1 0 u fC8R1+5RSTR S T1 2 M H ZX T A L 13 3 p fC73 3 p fC6XTAL2XTAL1X T A L 1X T A L 21 2A7 4 H C 1 4+ 5 V2k10k+ 5 V9 0 1 210K絕對式光電編碼器abcdefgh+5P N P P N P P N P P N P+5 圖 風向設(shè)計原理圖 電路仿真設(shè)計 風速測量仿真 啟動 Proteus軟件,按 Protel99SE設(shè)計的原理圖畫出電路仿真圖,根據(jù)元件屬性設(shè)置相應(yīng)元件參數(shù)。由于傳感器在仿真 軟件庫中沒有原型 , 由于傳感器輸出的信號是以電壓的大小來輸出信號的,所以在仿真時按原理對其進行替換,通過改變電阻的阻值改變電壓的大小 。 Proteus 軟件的仿真是依靠單片機程序來實現(xiàn)的,因此先將程序通過第三方 Keil C51 軟件編譯,連接,執(zhí)行后產(chǎn)生一個 HEX 文件,再與 Proteus仿真軟件進行關(guān)聯(lián)就可以實現(xiàn)仿真。 系統(tǒng)電路仿真圖如圖 。 29 圖 系統(tǒng)電路仿真圖 風向測量仿真 啟動 Proteus軟件,按 Protel99SE設(shè)計的原理圖畫出電路仿真圖,根據(jù)元件屬性設(shè)置相應(yīng)元件參數(shù)。由于傳感器在仿真 軟件庫中沒有原型 , 由于四位盤輸出的信號是以并行四位輸入的形式輸出的,所以在仿真時按原理對其進行替換,通過四個開關(guān)控制電源的閉合代替格雷碼的輸入 。 Proteus 軟件的仿真是依靠單片機程序來實現(xiàn)的,因此先將程序通過第三方 Keil C51 軟件編譯,連接,執(zhí)行后產(chǎn)生一個 HEX 文件,再與 Proteus仿真軟件進 行關(guān)聯(lián)就可以實現(xiàn)仿真 。 系統(tǒng)電路仿真圖如圖 : 30 圖 風向電路仿真圖 仿真分析 Proteus軟件的仿真是依靠單片機程序來實現(xiàn)的,因此先將程序通過第三方 Keil C51軟件編譯,連接,執(zhí)行后產(chǎn)生一個 HEX文件,再與 Proteus仿真軟件進行關(guān)聯(lián)就可以實現(xiàn)仿 真。 風速 仿真電路通過調(diào)節(jié)滑動變阻器范圍來調(diào)節(jié) 電壓 范圍,使輸入到 A/D 轉(zhuǎn)換器的模擬電壓在250mv750mv范圍內(nèi),進行 A/D轉(zhuǎn)換。 風向仿真電路利用開關(guān)控制電源的閉合模擬 P1口四位格雷碼輸入,通過單片機處理顯示出對應(yīng)風向。 31 第 5 章 系統(tǒng)的調(diào)試 硬件調(diào)試 為安全起見,首先必須進行斷電調(diào)試。確認電源電壓是否正常。用電壓表測量接地引腳跟電源引腳之間的電壓,看是否是電源電壓,例如常用的 5V。接下來就是檢查復位引腳電壓是否正常。分別測量按下復位按鈕和放開復位按鈕的電壓值,看是否正確。然后再檢查晶振 電路是否起振了,此,現(xiàn)在已經(jīng)很少有用外部擴 ROM的了),一定要將 EA引腳拉高,否則會出現(xiàn)程序亂跑的情