新型消防車的研究
新型消防車的研究,新型,消防車,研究,鉆研
1 引言1.1問題的提出國(guó)家相關(guān)部門統(tǒng)計(jì)資料顯示,我國(guó)的消防車保有量約為2.3萬(wàn)輛,近年新增和更新消防車近3000輛。但我國(guó)的消防車車型結(jié)構(gòu)不盡合理,特種車比例過低,水罐消防車約占總量的70,而特種車(除水罐、干粉、泡沫以外的車輛)僅占10,且車型較老。有專家預(yù)測(cè):目前,我國(guó)消防車市場(chǎng),從總體上看正處于一個(gè)高增長(zhǎng)的階段。在未來的5年之內(nèi),這種增長(zhǎng)的勢(shì)頭一直不會(huì)減弱。每年平均增長(zhǎng)量會(huì)維持在2000臺(tái)左右。一方面我國(guó)的消防車有待更新,市場(chǎng)前景看好;另一方面國(guó)內(nèi)消防車生產(chǎn)廠家卻在產(chǎn)量小、效益少的低谷中徘徊不前?,F(xiàn)有消防車只是將少數(shù)人接救到車頂?shù)钠脚_(tái)處,或者從車壁上的云梯下到地面,這種傳統(tǒng)的解救方式有兩大缺點(diǎn),首先平臺(tái)空間有限,不足以容納太多的逃生人員,當(dāng)遇到著火樓層逃生人員多時(shí),解救速度太慢,勢(shì)必會(huì)拖延時(shí)間,造成原本可以避免的傷亡。再者消防車高空作業(yè),逃生人員通過云梯向下攀爬,可能產(chǎn)生暈厥現(xiàn)象,不僅逃生速度慢而且安全系數(shù)小。但遇到弱勢(shì)群體時(shí),比如老人,婦孺,殘疾人等請(qǐng)況,會(huì)給營(yíng)救工作帶來很大困難。經(jīng)過改裝后的消防車可以有效的解決上述問題,皮帶傳動(dòng)裝置和可升降逃生電梯的應(yīng)用,不僅解決救生空間的問題,而且提高了增強(qiáng)了消防車的救援速度。因此設(shè)計(jì)了新型消防車系統(tǒng)。1.2課題研究的意義本作品設(shè)計(jì)出了一種新型的消防車,在現(xiàn)有消防車的基礎(chǔ)上,設(shè)計(jì)緩沖裝置以增加消防車的救援功能。具體如下:1 營(yíng)救部分采用皮帶傳送和電梯裝置。皮帶上固定營(yíng)救箱,并箱內(nèi)安裝有保險(xiǎn)帶;電梯裝置類似吊籃裝置,豎直上升和下降,加快了營(yíng)救人員的速度,同時(shí)電梯門設(shè)計(jì)巧妙,通過一個(gè)簡(jiǎn)易閥門實(shí)現(xiàn)電梯的閉合和打開,大大的提高了工作效率。2 消防車上安裝有攝像頭,在一些特定場(chǎng)所消防人員難以進(jìn)入到事故現(xiàn)場(chǎng),在消防車上安裝攝像頭,不僅可以實(shí)時(shí)監(jiān)測(cè)事故現(xiàn)場(chǎng)的狀況,而且可以通過無線模塊實(shí)現(xiàn)對(duì)消防車的遠(yuǎn)程控制。 2 系統(tǒng)概述2.1 系統(tǒng)功能要求1 設(shè)計(jì)并制作消防車的車體結(jié)構(gòu)、車輪的制作、電機(jī)的選擇安裝等;2 設(shè)計(jì)并制作可完成人機(jī)交互工作的控制電路板;3 消防車上安裝有攝像頭,在一些特定場(chǎng)所消防人員難以進(jìn)入到事故現(xiàn)場(chǎng),不僅可以實(shí)時(shí)監(jiān)測(cè)事故現(xiàn)場(chǎng)的狀況,而且可以通過無線模塊實(shí)現(xiàn)對(duì)消防車的遠(yuǎn)程控制。4 設(shè)計(jì)控制板的程序。2.2 系統(tǒng)組成經(jīng)過分析系統(tǒng)功能的要求,可以將各部分功能分別由硬件完成,或硬件與軟件共同完成。硬件部分應(yīng)該包含:底盤電機(jī)控制電路,轉(zhuǎn)盤電機(jī)和升降電機(jī)控制電路,鍵盤輸入電路,電源電路。圖2-1 系統(tǒng)組成軟件部分應(yīng)該實(shí)現(xiàn):鍵盤按鍵的捕捉識(shí)別,底盤電機(jī)的控制,轉(zhuǎn)盤電機(jī)和升降電機(jī)的控制,無線數(shù)據(jù)發(fā)送與接收,電腦視頻數(shù)據(jù)的顯示,得出系統(tǒng)的框圖如圖2-1所示。3 方案論證3.1控制器的方案論證與選擇 方案1:采用可編程邏輯器件CPLD作為控制器。CPLD可以實(shí)現(xiàn)各種復(fù)雜的邏輯功能、規(guī)模大、密度高、體積小、穩(wěn)定性高、IO資源豐富、易于進(jìn)行功能擴(kuò)展。采用并行的輸入輸出方式,提高了系統(tǒng)的處理速度,適合作為大規(guī)模控制系統(tǒng)的控制核心。但本系統(tǒng)不需要復(fù)雜的邏輯功能,對(duì)數(shù)據(jù)的處理速度的要求也不是非常高。且從使用及經(jīng)濟(jì)的角度考慮我們放棄了此方案。方案2:采用凌陽(yáng)公司的16位單片機(jī),它是16位控制器,具有體積小、驅(qū)動(dòng)能力高、集成度高、易擴(kuò)展、可靠性高、功耗低、結(jié)構(gòu)簡(jiǎn)單、中斷處理能力強(qiáng)等特點(diǎn)。處理速度高,尤其適用于語(yǔ)音處理和識(shí)別等領(lǐng)域。但是當(dāng)凌陽(yáng)單片機(jī)在語(yǔ)音處理和辨識(shí)時(shí),由于其占用的CPU資源較多而使得處理其它任務(wù)的速度和能力降低。方案3:采用Atmel公司的ATmaga16單片機(jī)作為主控制器。ATmaga16是一個(gè)低功耗,高性能的8位單片機(jī),片內(nèi)含16k空間的可反復(fù)擦些100,000次的Flash只讀存儲(chǔ)器,具有1Kbytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)IO口,2個(gè)8位可編程定時(shí)計(jì)數(shù)器,1個(gè)16位可編程定時(shí)計(jì)數(shù)器,四通道PWM,內(nèi)置8路10 位ADC。且maga系列的單片機(jī)可以在線編程、調(diào)試,方便地實(shí)現(xiàn)程序的下載與整機(jī)的調(diào)試。從各個(gè)角度考慮,方案3的可行性高。3.2 無線通訊芯片的選擇方案1:nRF905功能特點(diǎn):nRF905是挪威Nordic VLSI公司推出的單片射頻收發(fā)器,工作電壓為1.93.6V,32引腳QSON封裝(55mm),工作于433/868/915MHz三個(gè)ISM(工業(yè)、科學(xué)和醫(yī)學(xué))頻道,頻道之間的轉(zhuǎn)換時(shí)間小于650us。nRF905支持多點(diǎn)間通信,最高傳輸速率可達(dá)100Kb/s,有125個(gè)頻道可供選擇,可滿足多頻及跳頻需要,主要工作參數(shù)大都可通過芯片狀態(tài)字由用戶根據(jù)需要自行配置,只需少量外圍元件便可組成射頻收發(fā)電路。nRF905沒有復(fù)雜的通信協(xié)議,它完全對(duì)用戶透明,同種產(chǎn)品之間可以自由通信。所以nRF905是業(yè)界體積最小、功耗最少、外圍元件最少的低成本射頻系統(tǒng)級(jí)芯片之一。此外,其功耗非常低,以-10dBm的輸出功率發(fā)射時(shí)電流只有11mA,工作于接收模式時(shí)的電流為12.5mA,內(nèi)建空閑模式與關(guān)機(jī)模式,易于實(shí)現(xiàn)節(jié)能。nRF905適用于無線數(shù)據(jù)通信、無線報(bào)警及安全系統(tǒng)、無線開鎖、無線監(jiān)測(cè)、家庭自動(dòng)化和玩具等諸多領(lǐng)域。方案2:也可選用nRF2401以及其他收發(fā)芯片,但它們有的需要外圍元件過多,有的協(xié)議復(fù)雜,不易實(shí)現(xiàn),有的費(fèi)用較高,增加了成本,有的傳輸距離較短。根據(jù)以上兩種方案的比較,因此在本電路設(shè)計(jì)時(shí)采用的是nRF905芯片。4 系統(tǒng)硬件設(shè)計(jì)4.1單片機(jī)電路4.1.1 AVR單片機(jī)內(nèi)部結(jié)構(gòu)AVR單片機(jī)內(nèi)部資源非常豐富,集成了各種常用的外圍設(shè)備,主要由以下部分組成:l 16K字節(jié)擦寫壽命 10000 次的系統(tǒng)內(nèi)可編程Flashl 具有獨(dú)立鎖定位的可選Boot 代碼區(qū)l 片上Boot 程序?qū)崿F(xiàn)系統(tǒng)內(nèi)編程l 可同時(shí)讀寫操作的512字節(jié)擦寫壽命100000 次的EEPROMl 1K字節(jié)的片內(nèi)SRAMl 可以對(duì)鎖定位進(jìn)行編程以實(shí)現(xiàn)用戶程序的加密l JTAG接口,標(biāo)準(zhǔn)的邊界掃描功能支持?jǐn)U展的片內(nèi)調(diào)試功能l 通過JTAG 接口實(shí)現(xiàn)對(duì)Flash、EEPROM、熔絲位和鎖定位的編程l 兩個(gè)具有獨(dú)立預(yù)分頻器和比較器功能的8 位定時(shí)器/ 計(jì)數(shù)器l 一個(gè)具有預(yù)分頻器、比較功能和捕捉功能的16 位定時(shí)器/ 計(jì)數(shù)器l 具有獨(dú)立振蕩器的實(shí)時(shí)計(jì)數(shù)器RTCl 四通道PWMl 8路10 位ADCl 2個(gè)具有可編程增益(1x, 10x, 或200x)的差分通道l 面向字節(jié)的兩線接口IICl 兩個(gè)可編程的串行USARTl 可工作于主機(jī)/ 從機(jī)模式的SPI 串行接口l 具有獨(dú)立片內(nèi)振蕩器的可編程看門狗定時(shí)器TWIl 片內(nèi)模擬比較器l 上電復(fù)位以及可編程的掉電檢測(cè)BODl 片內(nèi)經(jīng)過標(biāo)定的RC 振蕩器l 片內(nèi)/ 片外中斷源l 6種睡眠模式: 空閑、ADC 噪聲抑制、省電、掉電、Standby 模式l 32 個(gè)可編程的I/O 口AVR 內(nèi)核具有豐富的指令集和32 個(gè)通用工作寄存器。所有的寄存器都直接與算邏單元(ALU) 相連接,使得一條指令可以在一個(gè)時(shí)鐘周期內(nèi)同時(shí)訪問兩個(gè)獨(dú)立的寄存器。這種結(jié)構(gòu)大大提高了代碼效率,并且具有比普通的CISC 微控制器最高至10 倍的數(shù)據(jù)吞吐率。AVR的ATmega16 有如下特點(diǎn):16K字節(jié)的系統(tǒng)內(nèi)可編程Flash(具有同時(shí)讀寫的能力,即RWW),512 字節(jié)EEPROM,1K 字節(jié)SRAM,32 個(gè)通用I/O 口線,32 個(gè)通用工作寄存器,用于邊界掃描的JTAG 接口,支持片內(nèi)調(diào)試與編程,三個(gè)具有比較模式的靈活的定時(shí)器/ 計(jì)數(shù)器(T/C),片內(nèi)/外中斷,可編程串行USART,有起始條件檢測(cè)器的通用串行接口,8路10位具有可選差分輸入級(jí)可編程增益(TQFP 封裝) 的ADC ,具有片內(nèi)振蕩器的可編程看門狗定時(shí)器,一個(gè)SPI 串行端口,以及六個(gè)可以通過軟件進(jìn)行選擇的省電模式。 工作于空閑模式時(shí)CPU 停止工作,而USART、兩線接口、A/D 轉(zhuǎn)換器、SRAM、T/C、SPI 端口以及中斷系統(tǒng)繼續(xù)工作;掉電模式時(shí)晶體振蕩器停止振蕩,所有功能除了中斷和硬件復(fù)位之外都停止工作;在省電模式下,異步定時(shí)器繼續(xù)運(yùn)行,允許用戶保持一個(gè)時(shí)間基準(zhǔn),而其余功能模塊處于休眠狀態(tài); ADC 噪聲抑制模式時(shí)終止CPU 和除了異步定時(shí)器與ADC 以外所有I/O 模塊的工作,以降低ADC 轉(zhuǎn)換時(shí)的開關(guān)噪聲; Standby 模式下只有晶體或諧振振蕩器運(yùn)行,其余功能模塊處于休眠狀態(tài),使得器件只消耗極少的電流,同時(shí)具有快速啟動(dòng)能力;擴(kuò)展Standby 模式下則允許振蕩器和異步定時(shí)器繼續(xù)工作。是以Atmel 高密度非易失性存儲(chǔ)器技術(shù)生產(chǎn)的。片內(nèi)ISP Flash 允許程序存儲(chǔ)器通過ISP 串行接口,或者通用編程器進(jìn)行編程,也可以通過運(yùn)行于AVR 內(nèi)核之中的引導(dǎo)程序進(jìn)行編程。引導(dǎo)程序可以使用任意接口將應(yīng)用程序下載到應(yīng)用Flash存儲(chǔ)區(qū)(ApplicationFlash Memory)。在更新應(yīng)用Flash存儲(chǔ)區(qū)時(shí)引導(dǎo)Flash區(qū)(Boot Flash Memory)的程序繼續(xù)運(yùn)行,實(shí)現(xiàn)了RWW 操作。 通過將8 位RISC CPU 與系統(tǒng)內(nèi)可編程的Flash 集成在一個(gè)芯片內(nèi), ATmega16 成為一個(gè)功能強(qiáng)大的單片機(jī),為本系統(tǒng)的應(yīng)用提供了靈活的解決方案。圖4-1 單片機(jī)內(nèi)部結(jié)構(gòu)4.1.2 AVR單片機(jī)引腳功能圖4-2 AVR單片機(jī)引腳功能圖4-2是AVR單片機(jī)DIP封裝的引腳圖,以下是各引腳功能說明。VCC 數(shù)字電路的電源GND 地端口A(PA7.PA0) 端口A 做為A/D 轉(zhuǎn)換器的模擬輸入端。端口A 為8 位雙向I/O 口,具有可編程的內(nèi)部上拉電阻。其輸出緩沖器具有對(duì)稱的驅(qū)動(dòng)特性,可以輸出和吸收大電流。作為輸入使用時(shí),若內(nèi)部上拉電阻使能,端口被外部電路拉低時(shí)將輸出電流。在復(fù)位過程中,即使系統(tǒng)時(shí)鐘還未起振,端口A 處于高阻狀態(tài)。端口B(PB7.PB0) 端口B 為8 位雙向I/O 口,具有可編程的內(nèi)部上拉電阻。其輸出緩沖器具有對(duì)稱的驅(qū)動(dòng)特性,可以輸出和吸收大電流。作為輸入使用時(shí),若內(nèi)部上拉電阻使能,端口被外部電路拉低時(shí)將輸出電流。在復(fù)位過程中,即使系統(tǒng)時(shí)鐘還未起振,端口B 處于高阻狀態(tài)。端口B 也可以用做其他不同的特殊功能。端口C(PC7.PC0) 端口C 為8 位雙向I/O 口,具有可編程的內(nèi)部上拉電阻。其輸出緩沖器具有對(duì)稱的驅(qū)動(dòng)特性,可以輸出和吸收大電流。作為輸入使用時(shí),若內(nèi)部上拉電阻使能,端口被外部電路拉低時(shí)將輸出電流。在復(fù)位過程中,即使系統(tǒng)時(shí)鐘還未起振,端口C 處于高阻狀態(tài)。如果JTAG接口使能,即使復(fù)位出現(xiàn)引腳 PC5(TDI)、 PC3(TMS)與 PC2(TCK)的上拉電阻被激活。端口C 也可以用做其他不同的特殊功能。端口D(PD7.PD0) 端口D 為8 位雙向I/O 口,具有可編程的內(nèi)部上拉電阻。其輸出緩沖器具有對(duì)稱的驅(qū)動(dòng)特性,可以輸出和吸收大電流。作為輸入使用時(shí),若內(nèi)部上拉電阻使能,則端口被外部電路拉低時(shí)將輸出電流。在復(fù)位過程中,即使系統(tǒng)時(shí)鐘還未起振,端口D 處于高阻狀態(tài)。端口D 也可以用做其他不同的特殊功能。RESET 復(fù)位輸入引腳。持續(xù)時(shí)間超過最小門限時(shí)間的低電平將引起系統(tǒng)復(fù)位。門限時(shí)間見P36Table 15。持續(xù)時(shí)間小于門限間的脈沖不能保證可靠復(fù)位。XTAL1 反向振蕩放大器與片內(nèi)時(shí)鐘操作電路的輸入端。XTAL2 反向振蕩放大器的輸出端。AVCC AVCC是端口A與A/D轉(zhuǎn)換器的電源。不使用ADC時(shí),該引腳應(yīng)直接與VCC連接。使用ADC時(shí)應(yīng)通過一個(gè)低通濾波器與VCC 連接。AREF A/D 的模擬基準(zhǔn)輸入引腳。4.1.3 AVR單片機(jī)最小系統(tǒng)電路 圖4-3 AVR單片機(jī)最小系統(tǒng)電路圖4-3是AVR單片機(jī)最小系統(tǒng)電路圖,圖中U1是AVR單片機(jī),是整個(gè)系統(tǒng)的核心控制單元,R1和C1組成單片機(jī)的復(fù)位電路,晶振XTAL,和C1,C2是單片機(jī)時(shí)鐘源的輔助電路。AVR單片機(jī)的外圍電路非常簡(jiǎn)單,使系統(tǒng)更加的簡(jiǎn)單,提高可靠性,降低故障率。復(fù)位電路是為了保證單片機(jī)在正式運(yùn)行程序之前,將內(nèi)部各個(gè)功能寄存器的狀態(tài)回復(fù)到初始狀態(tài),以保證單片機(jī)按照程序設(shè)計(jì)者的意圖運(yùn)行。R1與C1構(gòu)成RC電路,在系統(tǒng)上電后,單片機(jī)復(fù)位端電壓漸漸升高,當(dāng)電壓升高到復(fù)位端RESET門限電壓0.9V時(shí),單片機(jī)完成復(fù)位,在系統(tǒng)斷電后,C1通過復(fù)位引腳內(nèi)部電路放電,在下一次上電時(shí)又可以進(jìn)行復(fù)位過程。由于剛上電時(shí),電路中的電容,電感的存在,電路電源的穩(wěn)定需要一定時(shí)間才能使單片機(jī)正??煽窟\(yùn)行,所以復(fù)位時(shí)間長(zhǎng)對(duì)系統(tǒng)的可靠性有利。電路中R1選10k,C1選10uF,復(fù)位時(shí)間在10MS以上,可以可靠的對(duì)單片機(jī)進(jìn)行復(fù)位。R1,C1應(yīng)該靠近單片機(jī),與單片機(jī)的連線短些,可以減少因?yàn)橹車蓴_一起的錯(cuò)誤復(fù)位動(dòng)作。使用外部晶振速度快,頻率穩(wěn)定,抗干擾強(qiáng),適合在周圍用電環(huán)境復(fù)雜,系統(tǒng)可靠性要求高的電路中。晶振XTAL,和C1,C2與單片機(jī)內(nèi)部時(shí)鐘源電路一起組成8M的時(shí)鐘頻率,供給單片機(jī)內(nèi)部使用,單片機(jī)的熔絲配置中應(yīng)該選擇使用外部晶振選項(xiàng)。晶振,校正電容C2,C3,與單片機(jī)的連線應(yīng)該越短越好,且周圍不要有大電流回路,盡量不要在晶振底部走線,晶振的金屬外殼要與地相連,可以提高時(shí)鐘電路的穩(wěn)定性和可靠性。4.2 電源電路 圖4-4 系統(tǒng)電源電路原理由于電機(jī)的驅(qū)動(dòng)電路需要24V的工作電壓,而單片機(jī)、L298電機(jī)驅(qū)動(dòng)芯片、光電耦合器等工作電壓需要5V,所以變壓器的24V輸出需要經(jīng)過穩(wěn)壓模塊穩(wěn)定到單片機(jī)的工作電壓范圍??紤]到電機(jī)驅(qū)動(dòng)電路必須和單片機(jī)分開供電,這樣可以避免電機(jī)電路對(duì)單片機(jī)電路的干擾所以采取對(duì)單片機(jī)單獨(dú)供電,步進(jìn)電機(jī)和直流電機(jī)橋臂共用一個(gè)24V電源。其系統(tǒng)電源電路原理如上圖4-4所示。 4.2.1 電源電路的結(jié)構(gòu) 由變壓器出來的交流信號(hào)經(jīng)過橋式整流和電容濾波之后送給LM7805,穩(wěn)壓5V輸出,它的輸出單獨(dú)供給單片機(jī)。在三端穩(wěn)壓管的輸入輸出端與地之間連接大容量的濾波電容,使濾掉紋波的效果更好,輸出的直流電壓更穩(wěn)定。接小容量高頻電容以抑制芯片自激,輸出引腳端連接高頻電容以減小高頻噪聲,使單片機(jī)工作在一個(gè)良好的電源環(huán)境中,提高系統(tǒng)穩(wěn)定性。4.2.2 電源芯片引腳功能電源電路主要運(yùn)用到7805穩(wěn)壓芯片,該系列芯片技術(shù)成熟,所需的外圍器件少,性價(jià)比高,運(yùn)用的非常廣泛,其內(nèi)部原理圖如圖4-5所示。圖4-5 7805內(nèi)部原理圖圖4-6為7805的引腳圖INPUT 電源輸入端,最大可達(dá)35VGROUND 電源地OUTPUT +8V輸出端圖4-6 7805的引腳圖4.3無線通訊模塊nRF905nRF905是挪威Nordic VLSI公司推出的單片射頻收發(fā)器,工作電壓為1.93.6V,32引腳QSON封裝(55mm),工作于433/868/915MHz三個(gè)ISM(工業(yè)、科學(xué)和醫(yī)學(xué))頻道,頻道之間的轉(zhuǎn)換時(shí)間小于650us。nRF905支持多點(diǎn)間通信,最高傳輸速率可達(dá)100Kb/s,有125個(gè)頻道可供選擇,可滿足多頻及跳頻需要,主要工作參數(shù)大都可通過芯片狀態(tài)字由用戶根據(jù)需要自行配置,只需少量外圍元件便可組成射頻收發(fā)電路。nRF905沒有復(fù)雜的通信協(xié)議,它完全對(duì)用戶透明,同種產(chǎn)品之間可以自由通信。所以nRF905是業(yè)界體積最小、功耗最少、外圍元件最少的低成本射頻系統(tǒng)級(jí)芯片之一。此外,其功耗非常低,以-10dBm的輸出功率發(fā)射時(shí)電流只有11mA,工作于接收模式時(shí)的電流為12.5mA,內(nèi)建空閑模式與關(guān)機(jī)模式,易于實(shí)現(xiàn)節(jié)能。nRF905適用于無線數(shù)據(jù)通信、無線報(bào)警及安全系統(tǒng)、無線開鎖、無線監(jiān)測(cè)、家庭自動(dòng)化和玩具等諸多領(lǐng)域。下面介紹nRF905的功能特性、芯片結(jié)構(gòu)、引腳定義和工作模式。4.3.1 功能特性1. GFSK調(diào)制收發(fā)合一。2. ShockBurst收發(fā)模式特適用于低功耗應(yīng)用。3. 多頻道應(yīng)用兼容ETSI/FCC,頻道切換時(shí)間小于650us。4. 最大輸出功率10dBm可調(diào),接收靈敏度高達(dá)-100dBm。5. 載波監(jiān)聽功能有效防止RF傳輸碰撞。6. 成功收發(fā)數(shù)據(jù)包信號(hào)提示。7. 接收數(shù)據(jù)包自動(dòng)地址匹配。8. 發(fā)送數(shù)據(jù)包自動(dòng)重傳。9. 自動(dòng)生成數(shù)據(jù)包報(bào)頭及CRC校驗(yàn)碼。10. 數(shù)據(jù)傳輸速率高達(dá)100kbps。11. 16腳雙排接口,可直接與TTL/COMS模式MCU引腳連接。12. 接口協(xié)議:同步串行SPI接口(可用單片機(jī)IO模擬)。4.3.2 芯片結(jié)構(gòu)nRF905由頻率合成器、接收解調(diào)器、功率放大器、晶體振蕩器和調(diào)制器組成,不需外加聲表濾波器,曼徹斯特編碼/解碼由片內(nèi)硬件完成,無需用戶對(duì)數(shù)據(jù)進(jìn)行曼徹斯特編碼,因此使用非常方便。它的結(jié)構(gòu)框圖如下圖4-7所示:圖4-7 nRF905芯片結(jié)構(gòu)框圖4.3.3 引腳定義表4-1 nRF905引腳定義管腳 名稱 描述1 GND 電源地 2 VCC 系統(tǒng)電源 3 TRX_CE 使能芯片接收和發(fā)送 4 TXEN 收發(fā)狀態(tài)選擇:TXEN=1 發(fā)射狀態(tài); TXEN=0 接收狀態(tài) 5 uPCLK 系統(tǒng)時(shí)鐘分頻輸出 6 PWR_UP 工作狀態(tài)控制:PWR=1 正常工作狀態(tài); PWR=0 待機(jī)微功耗狀態(tài) 7 GND 電源地 8 GND 電源地 9 AM 地址匹配 10 CD 載波監(jiān)聽 11 MISO SPI輸出,MCU由此口從RF芯片讀入數(shù)據(jù) 12 DR 接收或發(fā)送就緒 13 SCK SPI時(shí)鐘 14 MOSI SPI輸入,MCU由此口向RF芯片寫入數(shù)據(jù) 15 GND 電源地 16 CSN SPI使能,低激活 4.3.4 工作模式nRF905有兩種工作模式和兩種節(jié)能模式。兩種工作模式分別是ShockBurstTM接收模式和ShockBurstTM發(fā)送模式,兩種節(jié)能模式分別是關(guān)機(jī)模式和空閑模式。nRF905的工作模式由TRX_CE、TX_EN和PWR_UP三個(gè)引腳決定,詳見下表4-2所示:表4-2 nRF905工作模式PWR_UPTRX_CETX_EN工作模式0關(guān)機(jī)模式10空閑模式110射頻接收模式111射頻發(fā)送模式 ShockBurstTM模式:與射頻數(shù)據(jù)包有關(guān)的高速信號(hào)處理都在nRF905片內(nèi)進(jìn)行,數(shù)據(jù)速率由微控制器配置的SPI接口決定,數(shù)據(jù)在微控制器中低速處理,但在nRF905中高速發(fā)送,因此中間有很長(zhǎng)時(shí)間的空閑,這很有利于節(jié)能。由于nRF905工作于ShockBurstTM模式,因此使用低速的微控制器也能得到很高的射頻數(shù)據(jù)發(fā)射速率。在ShockBurstTM接收模式下,當(dāng)一個(gè)包含正確地址和數(shù)據(jù)的數(shù)據(jù)包被接收到后,地址匹配(AM)和數(shù)據(jù)準(zhǔn)備好(DR)兩引腳通知微控制器。在ShockBurstTM發(fā)送模式,nRF905自動(dòng)產(chǎn)生字頭和CRC校驗(yàn)碼,當(dāng)發(fā)送過程完成后,數(shù)據(jù)準(zhǔn)備好引腳通知微處理器數(shù)據(jù)發(fā)射完畢。由以上分析可知,nRF905的ShockBurstTM收發(fā)模式有利于節(jié)約存儲(chǔ)器和微控制器資源,同時(shí)也減小了編寫程序的時(shí)間。下面具體詳細(xì)分析nRF905的發(fā)送流程和接收流程。1 發(fā)送流程典型的nRF905發(fā)送流程分以下幾步:A.當(dāng)微控制器有數(shù)據(jù)要發(fā)送時(shí),通過SPI接口,按時(shí)序把接收機(jī)的地址和要發(fā)送的數(shù)據(jù)送傳給nRF905,SPI接口的速率在通信協(xié)議和器件配置時(shí)確定;B.微控制器置高TRX_CE和TX_EN,激發(fā)nRF905的ShockBurstTM發(fā)送模式;C.nRF905的ShockBurstTM發(fā)送:射頻寄存器自動(dòng)開啟;數(shù)據(jù)打包(加字頭和CRC校驗(yàn)碼);發(fā)送數(shù)據(jù)包;當(dāng)數(shù)據(jù)發(fā)送完成,數(shù)據(jù)準(zhǔn)備好引腳被置高;D.AUTO_RETRAN被置高,nRF905不斷重發(fā),直到TRX_CE被置低;E.當(dāng)TRX_CE被置低,nRF905發(fā)送過程完成,自動(dòng)進(jìn)入空閑模式。ShockBurstTM工作模式保證,一旦發(fā)送數(shù)據(jù)的過程開始,無論TRX_EN和TX_EN引腳是高或低,發(fā)送過程都會(huì)被處理完。只有在前一個(gè)數(shù)據(jù)包被發(fā)送完畢,nRF905才能接受下一個(gè)發(fā)送數(shù)據(jù)包。2 接收流程A.當(dāng)TRX_CE為高、TX_EN為低時(shí),nRF905進(jìn)入ShockBurstTM接收模式;B.650us后,nRF905不斷監(jiān)測(cè),等待接收數(shù)據(jù);C.當(dāng)nRF905檢測(cè)到同一頻段的載波時(shí),載波檢測(cè)引腳被置高;D.當(dāng)接收到一個(gè)相匹配的地址,地址匹配引腳被置高;E.當(dāng)一個(gè)正確的數(shù)據(jù)包接收完畢,nRF905自動(dòng)移去字頭、地址和CRC校驗(yàn)位,然后把數(shù)據(jù)準(zhǔn)備好引腳置高;F.微控制器把TRX_CE置低,nRF905進(jìn)入空閑模式;G.微控制器通過SPI口,以一定的速率把數(shù)據(jù)移到微控制器內(nèi);H.當(dāng)所有的數(shù)據(jù)接收完畢,nRF905把數(shù)據(jù)準(zhǔn)備好引腳和地址匹配引腳置低;I.nRF905此時(shí)可以進(jìn)入ShockBurstTM接收模式、ShockBurstTM發(fā)送模式或關(guān)機(jī)模式。當(dāng)正在接收一個(gè)數(shù)據(jù)包時(shí),TRX_CE或TX_EN引腳的狀態(tài)發(fā)生改變,nRF905立即把其工作模式改變,數(shù)據(jù)包則丟失。當(dāng)微處理器接到地址匹配引腳的信號(hào)之后,其就知道nRF905正在接收數(shù)據(jù)包,其可以決定是讓nRF905繼續(xù)接收該數(shù)據(jù)包還是進(jìn)入另一個(gè)工作模式。3 節(jié)能模式nRF905的節(jié)能模式包括關(guān)機(jī)模式和節(jié)能模式。在關(guān)機(jī)模式,nRF905的工作電流最小,一般為2.5uA。進(jìn)入關(guān)機(jī)模式后,nRF905保持配置字中的內(nèi)容,但不會(huì)接收或發(fā)送任何數(shù)據(jù)??臻e模式有利于減小工作電流,其從空閑模式到發(fā)送模式或接收模式的啟動(dòng)時(shí)間也比較短。在空閑模式下,nRF905內(nèi)部的部分晶體振蕩器處于工作狀態(tài)。nRF905在空閑模式下的工作電流跟外部晶體振蕩器的頻率有關(guān)。4.4 直流電機(jī)驅(qū)動(dòng)芯片L298NL298N是ST公司生產(chǎn)的一種高電壓、大電流電機(jī)驅(qū)動(dòng)芯片。該芯片的主要特點(diǎn)是:工作電壓高,最高工作電壓可達(dá)46V;輸出電流大,瞬間峰值電流可達(dá)3A,持續(xù)工作電流為2A;內(nèi)含兩個(gè)H橋的高電壓大電流全橋式驅(qū)動(dòng)器,可以用來驅(qū)動(dòng)直流電動(dòng)機(jī)和步進(jìn)電動(dòng)機(jī)、繼電器、線圈等感性負(fù)載;采用標(biāo)準(zhǔn)TTL邏輯電平信號(hào)控制;具有兩個(gè)使能控制端,在不受輸入信號(hào)影響的情況下允許或禁止器件工作;有一個(gè)邏輯電源輸入端,使內(nèi)部邏輯電路部分在低電壓下工作;可以外接檢測(cè)電阻,將變化量反饋給控制電路。其管腳圖和實(shí)物圖分別如圖4-8和圖4-9所示,管腳功能如表4-3所示。 圖4-8 L298N管腳圖圖4-9 L298N實(shí)物圖 管腳符 號(hào)功 能115SENSING ASENSING B此兩端與地連接電流檢測(cè)電阻,并向驅(qū)動(dòng)芯片反饋檢測(cè)到的信號(hào)23OUT 1OUT 2此兩腳是全橋式驅(qū)動(dòng)器A的兩個(gè)輸出端,用來連接負(fù)載4Vs電機(jī)驅(qū)動(dòng)電源輸入端57IN 1IN2輸入標(biāo)準(zhǔn)的TTL邏輯電平信號(hào),用來控制全橋式驅(qū)動(dòng)器A的開關(guān)611ENABLE AENABLE B使能控制端.輸入標(biāo)準(zhǔn)TTL邏輯電平信號(hào);低電平時(shí)全橋式驅(qū)動(dòng)器禁止工作。8GND接地端,芯片本身的散熱片與8腳相通9Vss邏輯控制部分的電源輸人端口1012IN 3IN 4輸入標(biāo)準(zhǔn)的TTL邏輯電平信號(hào),用來控制全橋式驅(qū)動(dòng)器B的開關(guān)1314OUT 3OUT 4此兩腳是全橋式驅(qū)動(dòng)器B的兩個(gè)輸出端,用來連接負(fù)載表4-3 L298N管腳功能圖4-10 直流電機(jī)驅(qū)動(dòng)電路4.5 步進(jìn)電機(jī)驅(qū)動(dòng)器步進(jìn)電機(jī)的驅(qū)動(dòng)采用專用的驅(qū)動(dòng)電路模塊,使用模塊電路可以加快產(chǎn)品開發(fā)速度,使系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,穩(wěn)定,可靠。且單片機(jī)只需2個(gè)接口就可以完成步進(jìn)電機(jī)的方向和步進(jìn)控制。所選用的驅(qū)動(dòng)器型號(hào)為森創(chuàng)公司的SH-20403,它的主要參數(shù)如下:l 10V40V直流供電l H橋雙極恒相流驅(qū)動(dòng)l 最大3A的8種輸出電流可選l 最大 64細(xì)分的7種細(xì)分模式可選l 輸入信號(hào)光電隔離l 標(biāo)準(zhǔn)共陽(yáng)單脈沖接口l 脫機(jī)保持功能5 系統(tǒng)的軟件設(shè)計(jì)軟件部分主要完成對(duì)鍵盤的分析及無線數(shù)據(jù)的發(fā)送與接收,來控制消防車救援。包括底盤電機(jī)(步進(jìn)電機(jī))的正反向、轉(zhuǎn)盤的轉(zhuǎn)動(dòng)(直流電機(jī))和救援箱體的升降等功能。5.1直流電機(jī)控制子程序直流電機(jī)控制子程序完成電機(jī)的救援箱體的升降工程,其執(zhí)行流程如圖5-1所示。圖5-1 直流電機(jī)控制流程圖5.2鍵盤子程序鍵盤程序完成鍵盤的掃描,除抖動(dòng),鍵碼保存的功能,其執(zhí)行流程如圖5-2所示。圖5-2鍵盤識(shí)別流程圖5.3 無線通訊模塊驅(qū)動(dòng)程序5.3.1 器件配置所有配置字都是通過SPI接口送給nRF905。SIP接口的工作方式可通過SPI指令進(jìn)行設(shè)置。當(dāng)nRF905處于空閑模式或關(guān)機(jī)模式時(shí),SPI接口可以保持在工作狀態(tài)。1 SPI接口配置SPI接口由狀態(tài)寄存器、射頻配置寄存器、發(fā)送地址寄存器、發(fā)送數(shù)據(jù)寄存器和接收數(shù)據(jù)寄存器5個(gè)寄存器組成。狀態(tài)寄存器包含數(shù)據(jù)準(zhǔn)備好引腳狀態(tài)信息和地址匹配引腳狀態(tài)信息;射頻配置寄存器包含收發(fā)器配置信息,如頻率和輸出功能等;發(fā)送地址寄存器包含接收機(jī)的地址和數(shù)據(jù)的字節(jié)數(shù);發(fā)送數(shù)據(jù)寄存器包含待發(fā)送的數(shù)據(jù)包的信息,如字節(jié)數(shù)等;接收數(shù)據(jù)寄存器包含要接收的數(shù)據(jù)的字節(jié)數(shù)等信息。2 射頻配置射頻寄存器的各位的長(zhǎng)度是固定的。然而,在ShockBurstTM收發(fā)過程中,TX_PAYLOAD、RX_PAYLOAD、TX_ADDRESS和RX_ADDRESS 4個(gè)寄存器使用字節(jié)數(shù)由配置字決定。nRF905進(jìn)入關(guān)機(jī)模式或空閑模式時(shí),寄存器中的內(nèi)容保持不變。5.3.2 程序流程圖 圖5-3 nRF905數(shù)據(jù)發(fā)送流程圖典型ShockBurst TX:1. 當(dāng)應(yīng)用MCU有遙控?cái)?shù)據(jù)節(jié)點(diǎn)時(shí),接收節(jié)點(diǎn)的地址(TX-address)和有效數(shù)據(jù)(TX-payload)通過SPI接口傳送給nRF905。應(yīng)用協(xié)議或MCU設(shè)置接口速度。2. MCU設(shè)置TRX_CE,TX_EN為高來激活nRF905 ShockBurst傳輸。3. nRF905 ShockBurst:無線系統(tǒng)自動(dòng)上電數(shù)據(jù)包完成(加加導(dǎo)碼和CRC校驗(yàn)碼)數(shù)據(jù)包發(fā)送(100kbps,GFSK,曼切斯特編碼)。4. 如果AUTO_RETRAN被設(shè)置為高,nRF905將連續(xù)地發(fā)送數(shù)據(jù)包,直到TRX_CE被設(shè)置為低。5. 當(dāng)TRX_CE被設(shè)置為低時(shí),nRF905結(jié)束數(shù)據(jù)傳傳輸并將自己設(shè)置成standby模式。ShockBurst工作模式確保一個(gè)傳輸包發(fā)送開始后,總是能夠完成,不管在發(fā)送過程中TRX_CE,TX_EN如何被設(shè)置。當(dāng)發(fā)送結(jié)束后,新的模式被激活。圖5-4 nRF905數(shù)據(jù)接收流程圖典型ShockBurst RX:1 通過設(shè)置TRX_CE高,TX_EN低來選擇ShockBurst RX模式。2 650us以后,nRF905監(jiān)測(cè)控制的信息。3 當(dāng)nFR905發(fā)現(xiàn)和接收頻率相同的載波時(shí),載波檢測(cè)CD被置高。4 當(dāng)nFR905 接收導(dǎo)有效的地址時(shí),地址匹配AM被置高。5 當(dāng)nFR905 接收到有效的數(shù)據(jù)包(CRC校驗(yàn)正確)時(shí),nFR905去掉前導(dǎo)碼,地址和CRC位,數(shù)據(jù)準(zhǔn)備就緒DR被置高。6 MCU設(shè)置TRX_CE低,進(jìn)入standby模式(低電流模式)。7 MCU可以以合適的速率通過SPI接口讀出有效數(shù)據(jù)。8 當(dāng)所有的有效數(shù)據(jù)被讀出后,nFR905將AM和DR置低。9 nFR905 將準(zhǔn)備進(jìn)入ShockBurst RX,ShockBurst TX或Powerdown模式。5.4步進(jìn)電機(jī)控制子程序步進(jìn)電機(jī)控制子程序完成電機(jī)方向控制,步數(shù)控制,其執(zhí)行流程如圖5-5所示。圖5-5 步進(jìn)電機(jī)控制流程圖5.5主程序流程圖主程序完成各模塊程序的調(diào)度,其中消防車主控制程序最關(guān)鍵,其執(zhí)行流程如下圖5-6所示。圖5-6 主程序6 系統(tǒng)調(diào)試按下電源開關(guān),按下發(fā)射控制端的“前進(jìn)”按鈕,新型消防車會(huì)執(zhí)行前進(jìn)的動(dòng)作,一直按著,消防車一直前進(jìn),松開按鈕,消防車停止;按下“后退”的按鈕,新型消防車會(huì)執(zhí)行后進(jìn)的動(dòng)作,一直按著,消防車一直后進(jìn),松開按鈕,消防車停止;按下“左轉(zhuǎn)”的按鈕,新型消防車會(huì)執(zhí)行左轉(zhuǎn)的動(dòng)作,一直按著,消防車一直左轉(zhuǎn),松開按鈕,消防車停止;按下“右轉(zhuǎn)”的按鈕,新型消防車會(huì)執(zhí)行右轉(zhuǎn)的動(dòng)作,一直按著,消防車一直右轉(zhuǎn),松開按鈕,消防車停止。按下地盤“順時(shí)針轉(zhuǎn)動(dòng)”的按鈕,消防車的地盤會(huì)執(zhí)行順時(shí)轉(zhuǎn)動(dòng)的動(dòng)作,一直按著,消防車的地盤一直順時(shí)針轉(zhuǎn),松開按鈕,地盤停止轉(zhuǎn)動(dòng);按下地盤“逆時(shí)針轉(zhuǎn)動(dòng)”的按鈕,消防車的地盤會(huì)執(zhí)行逆時(shí)針轉(zhuǎn)動(dòng)的動(dòng)作,一直按著,消防車的地盤一直順時(shí)針轉(zhuǎn)動(dòng),松開按鈕,地盤停止轉(zhuǎn)動(dòng)。按下吊籃“上升”的按鈕,消防車會(huì)執(zhí)行上升的動(dòng)作,一直按著,吊籃一直上升,直到到達(dá)最高點(diǎn),松開按鈕,吊籃停止上升;按下吊籃“下降”的按鈕,新型消防車會(huì)執(zhí)行下降的動(dòng)作,一直按著,消防車一直下降,直到安全下降到地面,松開按鈕,吊籃停止下降。按下皮帶傳送“上升”的按鈕,傳動(dòng)帶會(huì)一直執(zhí)行上升的動(dòng)作;按下皮帶傳送“停止”的按鈕,傳送帶會(huì)執(zhí)行停止的動(dòng)作。結(jié) 論經(jīng)過各項(xiàng)功能的調(diào)試,不斷的修正,系統(tǒng)以達(dá)到良好效果,各項(xiàng)指標(biāo)均已達(dá)到目標(biāo)要求,1 該系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,成本低,控制精確,操作簡(jiǎn)單。2 該系統(tǒng)最后通過實(shí)際使用,系統(tǒng)穩(wěn)定,沒有出現(xiàn)程序跑亂的現(xiàn)象,符合其最終的標(biāo)準(zhǔn)。3 系統(tǒng)的某些指標(biāo)已超過了設(shè)計(jì)要求,達(dá)到了良好效果。這次畢業(yè)設(shè)計(jì),從開始設(shè)計(jì)到設(shè)計(jì)的完成,現(xiàn)場(chǎng)調(diào)試,都讓我感覺收獲挺多,這不僅是理論上的升華,還有實(shí)踐中的鍛煉。在系統(tǒng)調(diào)試過程中,由于每個(gè)電路板出現(xiàn)的問題都不一樣,因此,做完這個(gè)畢業(yè)設(shè)計(jì)后,不僅提高了我的獨(dú)立分析問題能力,而且還加強(qiáng)了實(shí)際解決問題的能力。參考文獻(xiàn)1 童詩(shī)白主編.模擬電子技術(shù)基礎(chǔ).北京:高等教育出版社,1998.2 陳國(guó)呈.PWM調(diào)速技術(shù).北京:機(jī)械工業(yè)出版社,1999. 3 劉瑞新,趙全利等.單片機(jī)原理及應(yīng)用教程.北京:機(jī)械工業(yè)出版社,2003. 4 梅麗風(fēng),王艷秋等.單片機(jī)原理及接口技術(shù).北京:清華大學(xué)出版社,2004.5 李廣弟,朱月秀等.單片機(jī)基礎(chǔ).北京:北京航空航天大學(xué)出版社,2001.6 徐愛鈞.8051單片機(jī)實(shí)踐教程,北京:電子工業(yè)出版社,2001年7 康華光,鄒壽彬.電子技術(shù)基礎(chǔ)(數(shù)字部分),北京:高等教育出版社,20038 吳國(guó)經(jīng).單片機(jī)應(yīng)用技術(shù),北京:中國(guó)電力出版社,20049 吳運(yùn)昌.模擬集成電路原理與應(yīng)用.廣東:華南理工大學(xué)出版社,2001.10 吳金戎.8051單片機(jī)實(shí)踐與應(yīng)用.北京:清華大學(xué)出版社,2002.11 李序葆,趙永健.電力電子器件及其應(yīng)用.北京:機(jī)械工業(yè)出版社,2003.12 王志良.電力電子新器件及其應(yīng)用技術(shù).北京:國(guó)防工業(yè)出版社,1995. 13石東海.單片機(jī)數(shù)據(jù)通信技術(shù)從入門到精通.西安電子科技大學(xué)出版社,2001:201202.14楊波等.移動(dòng)IP和自組網(wǎng)的集成.計(jì)算機(jī)系統(tǒng)應(yīng)用,2004年6月:125145.15無線龍.無線通信和無線網(wǎng)絡(luò)的入門與實(shí)戰(zhàn).成都:成都無線龍通訊科技有限公司,2005:99121.16Ray S, Carrathers J.B, Starobinski D. RTS/CTS induced congestion in ad hoc wireless LANSJ, Wireless Communications and Networking, 2003:635641.17Shugong Xu, Tarek Saadow i. Does IEEE 802.11 MAC Potocol Work Well in Multihop Wireless Ad Hoc NetworksJ. IEEE Communications Magazine June 2001, 39(6) : 130137.18H. Frey. “Scalable Geographic Routing Algorithms for Wireless Ad Hoc Networks,” IEEE Network Mag., July/Aug. 2004:1822附錄1:原理圖附錄2:程序源代碼:#include #include /可以嵌套#include /不可嵌套,執(zhí)行時(shí)總中斷被關(guān)閉#include UART16.h#define SCK_1 PORTB|= _BV(1)#define SCK_0 PORTB&=_BV(1)#define RCK_1 PORTB|= _BV(0)#define RCK_0 PORTB&=_BV(0)#define SER_1 PORTB|= _BV(2)#define SER_0 PORTB&=_BV(2)#define CLK_1 PORTA|= _BV(0)#define CLK_0 PORTA&=_BV(0)#define DIN_1 PORTA|= _BV(1)#define DIN_0 PORTA&=_BV(1)#define CS_1 PORTA|= _BV(2)#define CS_0 PORTA&=_BV(2)/*-*/uint zg16=0x8000,0x4000,0x2000,0x1000,0x0800,0x0400,0x0200,0x0100,0x0080,0x0040,0x0020,0x0010,0x0008,0x0004,0x0002,0x0001; uin zd16=0x7fff,0xbfff,0xdfff,0xefff,0xf7ff,0xfbff,0xfdff,0xfeff,0xff7f,0xffbf,0xffdf,0xffef,0xfff7,0xfffb,0xfffd,0xfffe; /模擬板吸合uint dfs4=0x0000,0x0000,0x0000,0x0000;/緩存的數(shù)據(jù),帶發(fā)送的/*-*/uchar cs=0,ss=0;/中斷函數(shù)中的次數(shù)/*-*/void delay(uint n) uint i,j; for(i=0;in;i+) for(j=0;j1000;j+) ; void TLC5618(uchar nn) uchar i=0; uint dm; dm=js2*16; /dm|=0x1000; dm|=0x9000; DDRA|=_BV(1)|_BV(2)|_BV(3)|_BV(4)|_BV(5)|_BV(0); PORTA=0xff; switch(nn) case 0x01: PORTA=0xc3; break; case 0x03: PORTA=0xe3; break; case 0X05: PORTA=0xd3; break; case 0X07: PORTA=0xf3; break; case 0X09: PORTA=0xcb; break; case 0X0b: PORTA=0xeb; break; case 0X0d: PORTA=0xdb; break; case 0X0f: PORTA=0xfb; break; / put128_c(0x55);/返回個(gè)標(biāo)志位 for(i=0;i16;i+) CLK_1;if(dm&0x8000) DIN_1;else DIN_0;CLK_0; asm(nop); dm=dm1; for(i=0;i16;i+)/因?yàn)橛芯彌_器,所以必須推移16位數(shù)據(jù) CLK_1;DIN_0;CLK_0; asm(nop); /*-除模擬電壓-*/ void clear_5618(uchar nn) uchar i=0; uint dm; /dm=js2*16; /dm|=0x1000; dm=0x9000; DDRA|=_BV(1)|_BV(2)|_BV(3)|_BV(4)|_BV(5)|_BV(0); PORTA=0xff; switch(nn) case 0x01: PORTA=0xc3; break; case 0x03: PORTA=0xe3; break; case 0X05: PORTA=0xd3; break; case 0X07: PORTA=0xf3; break; case 0X09: PORTA=0xcb; break; case 0X0b: PORTA=0xeb; break; case 0X0d: PORTA=0xdb; break; case 0X0f: PORTA=0xfb; break; for(i=0;i16;i+) CLK_1;if(dm&0x8000) DIN_1;else DIN_0;CLK_0; asm(nop); dm=dm1; for(i=0;i=2;n-) dat=dfsn-2; for(i=0;i1; RCK_1;asm(nop);RCK_0; /*-判斷跳轉(zhuǎn)-*/void pdtz(void) uchar pd,dz; pd=js0&0xc0;/狀態(tài) dz=js1; switch(dz) case 0x01: switch(pd) case 0x00: dfs0&=zddz-1;dfs0&=zddz;clear_5618(dz);Txshuju();break;case 0x40: dfs0&=zddz; dfs0|=zgdz-1;Txshuju();break;/01 開路case 0x80: dfs0&=zddz-1;dfs0&=zddz;Txshuju();break; case 0Xc0: dfs0|=zgdz; dfs0|=zgdz-1;Txshuju();TLC5618(dz);break;/ ;break;case 0x03: switch(pd) case 0x00: dfs0&=zddz-1;dfs0&=zddz;clear_5618(dz);Txshuju();break;case 0x40: dfs0&=zddz; dfs0|=zgdz-1;Txshuju();break;/01 case 0x80: dfs0&=zddz-1;dfs0&=zddz;Txshuju();break; case 0Xc0: dfs0|=zgdz; dfs0|=zgdz-1;Txshuju();TLC5618(dz);break;/ ;break;case 0x05:switch(pd) case 0x00: dfs0&=zddz-1;dfs0&=zddz;clear_5618(dz);Txshuju();break;case 0x40: dfs0&=zddz; dfs0|=zgdz-1;Txshuju();break;/01 開路case 0x80: dfs0&=zddz-1;dfs0&=zddz;Txshuju();break;case 0Xc0: dfs0|=zgdz; dfs0|=zgdz-1;Txshuju();TLC5618(dz);break;/模擬電壓轉(zhuǎn) ;break;case 0x07:switch(pd) case 0x00: dfs0&=zddz-1;dfs0&=zddz;clear_5618(dz);Txshuju();break;case 0x40: dfs0&=zddz; dfs0|=zgdz-1;Txshuju();break;/01 開路case 0x80: dfs0&=zddz-1;dfs0&=zddz;Txshuju();break; case 0Xc0: dfs0|=zgdz; dfs0|=zgdz-1;Txshuju();TLC5618(dz);break;/模擬電壓轉(zhuǎn) ;break; case 0x09: switch(pd) case 0x00: dfs0&=zddz-1;dfs0&=zddz;clear_5618(dz);Txshuju();break;case 0x40: dfs0&=zddz; dfs0|=zgdz-1;Txshuju();break;/01 開路case 0x80: dfs0&=zddz-1;dfs0&=zddz;Txshuju();break; case 0Xc0: dfs0|=zgdz; dfs0|=zgdz-1;Txshuju();TLC5618(dz);break;/
收藏