freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

無(wú)線糧倉(cāng)糧情測(cè)控系統(tǒng)中分線器的軟件畢業(yè)設(shè)計(jì)-資料下載頁(yè)

2025-06-29 13:52本頁(yè)面
  

【正文】 、PALE)用于接口,PDATA必須是雙向管腳,用來(lái)讀回?cái)?shù)據(jù),雙向管腳用于發(fā)送數(shù)據(jù)(DIO)和接收數(shù)據(jù)。提供數(shù)據(jù)計(jì)時(shí)的DCLK應(yīng)與微控器輸入端相連,其余管腳能用來(lái)監(jiān)視LOCK信號(hào)(在管腳CHP_OUT),當(dāng)PLL鎖定時(shí)該信號(hào)為邏輯高電平。(5)信號(hào)接口信號(hào)接口由DIO和DCLK口組成,用于收發(fā)數(shù)據(jù)。DIO是雙向數(shù)據(jù)線,DCLK提供數(shù)據(jù)發(fā)送和數(shù)據(jù)接收的同步時(shí)鐘。 數(shù)據(jù)采集由分線器硬件電路圖32可知,J1~JRC(電阻電容)、MAX4051(多路模擬開(kāi)關(guān))、放大器以及MAX187(A/D轉(zhuǎn)換)組成數(shù)據(jù)采集系統(tǒng),起到了數(shù)據(jù)采集、信號(hào)放大和A/D轉(zhuǎn)換作用。其數(shù)據(jù)采集的詳細(xì)經(jīng)過(guò)如下:A/DJ1~J8連接溫度傳感器(熱敏電阻),第4管腳為地線,電阻與電容電路均起濾波作用。、作為MAX4051的地址輸入,控制多路模擬開(kāi)關(guān)的選通,MAX4051接收被選通的測(cè)溫傳感器測(cè)得的模擬信號(hào),由COM端口輸出,經(jīng)過(guò)OP07CJ進(jìn)行信號(hào)放大,發(fā)送至MAX187的AIN端口,完成數(shù)據(jù)的一次采集 。下面簡(jiǎn)單的介紹一下MAX4051 以及MAX187 芯片的功能。(1)MAX4051芯片一臺(tái)微型機(jī)可供十幾甚至幾十個(gè)回路使用,但是微型機(jī)在某一時(shí)刻只能接收一個(gè)通道的信號(hào),因此必須通過(guò)多路模擬開(kāi)關(guān)進(jìn)行切換,使各路參數(shù)分時(shí)進(jìn)入微型機(jī),MAX4051就是起這樣的作用。它的引腳圖如下圖311所示。圖311 MAX4051的引腳圖NO0~NO7(八通道)作為模擬信號(hào)的輸入端,ADDA、ADDB、ADDC組成地址用來(lái)選通多路模擬開(kāi)關(guān)中的任一路,COM端是數(shù)據(jù)輸出端。(2)MAX187芯片MAX187有8腳DIP封裝和16腳SO封裝兩種,本設(shè)計(jì)采用了8腳封裝的芯片,其DIP封裝的引腳排列如圖312所示,引腳功能見(jiàn)下表37。圖312 MAX187的引腳圖表36 MAX187引腳定義說(shuō)明引腳名稱(chēng)功能1+5V電源2AIN模擬量輸入,范圍0~3作正常操作模式時(shí),為高電平或懸空。高電平時(shí)使用內(nèi)部參考,懸空時(shí)禁止內(nèi)部參考。4REF參考電壓5GND地6DOUT數(shù)據(jù)輸出7片選8SCLK時(shí)鐘,最高為5MHzMAX187由采樣/保持電路和逐位比較寄存器將輸入的模擬信號(hào)轉(zhuǎn)換為12位的數(shù)字信號(hào),其采樣/保持電路不需要外接電容。MAX187有兩種操作模式:正常模式和休眠模式,將其置為低電平時(shí)進(jìn)入休眠模式,這時(shí)的電流消耗降到10181。A以下;置為高電平或懸空的進(jìn)入正常操作模式。使用內(nèi)參考電壓時(shí),可進(jìn)行正常的轉(zhuǎn)換操作。A/D轉(zhuǎn)換的工作過(guò)程是:當(dāng)為低電平時(shí),在下降沿MAX187的T/H電路進(jìn)入保持狀態(tài),并開(kāi)始轉(zhuǎn)換。這時(shí)可在SCLK端輸入一串脈沖將結(jié)果從DOUT端移出,送入單片機(jī)中處理,數(shù)據(jù)讀取完成后將置為高電平。必須注意的是:在置為低電平啟動(dòng)A/D轉(zhuǎn)換后,檢測(cè)到DOUT有效(),才能發(fā)SCLK移位脈沖讀數(shù)據(jù),SCLK至少為13個(gè),發(fā)完脈沖后應(yīng)將其置為高電平。MAX187電源需要加去耦合電容。為了保證采樣精度,將MAX187與單片機(jī)分開(kāi)供電。輸入模擬信號(hào)的電壓范圍為0~,如模擬輸入電壓不在這個(gè)范圍要外加電路進(jìn)行電壓范圍的變換。本章從硬件來(lái)介紹分線器。硬件方面:主要介紹了無(wú)線糧倉(cāng)糧情測(cè)控系統(tǒng)中分線器的組成以及各部分的功能,對(duì)各種元器件的選型作了分析和比較,從實(shí)際功能和需要選擇元器件進(jìn)行硬件設(shè)計(jì),同時(shí)畫(huà)出了各組成部分的電路圖。第四章 無(wú)線糧倉(cāng)糧情測(cè)控系統(tǒng)中分線器的軟件設(shè)計(jì) 軟件設(shè)計(jì)的思想結(jié)合無(wú)線糧倉(cāng)糧情測(cè)控系統(tǒng)中分線器硬件功能的同時(shí),分線器的軟件設(shè)計(jì)首先應(yīng)考慮以下幾個(gè)問(wèn)題:(1)程序的實(shí)時(shí)性。因?yàn)閱纹瑱C(jī)是按照時(shí)序運(yùn)行的,所以在程序設(shè)計(jì)時(shí)必須考慮到溫度數(shù)據(jù)采集的執(zhí)行順序和時(shí)間要求。(2)程序的兼容性。設(shè)計(jì)出來(lái)的程序要求具有靈活性,能適應(yīng)將來(lái)某些程序模塊的變化或者系統(tǒng)進(jìn)行擴(kuò)展時(shí)作必要的修改,即所謂的兼容性。(3)軟件承擔(dān)的任務(wù)。所謂軟件承擔(dān)的任務(wù)就是指程序要完成的工作,任何一個(gè)程序模塊都有其具體的應(yīng)用場(chǎng)合和明確分工,因此程序設(shè)計(jì)的首要問(wèn)題就是明確子程序模塊承擔(dān)的工作。(4)程序的設(shè)計(jì)模式。程序的設(shè)計(jì)模式主要有兩種,就是自頂向下和自下而上,不論采用哪種模式,都要有始有終,否則會(huì)影響程序的編制、糾錯(cuò)以及測(cè)試的難易度 。本文的程序設(shè)計(jì)采用模塊化設(shè)計(jì)思想,即在程序設(shè)計(jì)過(guò)程中,為了有效地完成任務(wù),將一個(gè)完整的程序分成若干相對(duì)獨(dú)立,或者相互仍可有聯(lián)系,同時(shí)又受主程序模塊控制的若干子模塊。這樣的子模塊還可以繼續(xù)細(xì)分成更小的模塊,直至那些小模塊變得任務(wù)相對(duì)單純,對(duì)外的數(shù)據(jù)交換相對(duì)簡(jiǎn)單,容易編寫(xiě),容易檢測(cè),容易閱讀和維護(hù)。采用模塊化技術(shù),可以把錯(cuò)誤在局限在各個(gè)子模塊內(nèi)部而不影響大局,提高系統(tǒng)的可靠性和靈活性。在進(jìn)行程序設(shè)計(jì)的同時(shí)還應(yīng)注意以下幾點(diǎn):(1)要認(rèn)真做好系統(tǒng)分析,搞清楚系統(tǒng)的需求,包括每個(gè)細(xì)節(jié)都應(yīng)條理清晰的有步驟的列出。(2)規(guī)劃進(jìn)程,做好風(fēng)險(xiǎn)管控,按期完工。(3)開(kāi)發(fā)階段,要做好單元測(cè)試并做好筆記,相應(yīng)的文檔要完備,要嚴(yán)格測(cè)試考慮到每種可能出現(xiàn)的情況。根據(jù)無(wú)線糧倉(cāng)糧情測(cè)控系統(tǒng)中分線器要實(shí)現(xiàn)的功能,軟件設(shè)計(jì)主要包括:主程序設(shè)計(jì)、中斷服務(wù)程序設(shè)計(jì)、子程序設(shè)計(jì)等。下面將分別進(jìn)行介紹。 主程序設(shè)計(jì)分線器的主程序流程圖如下圖41所示。圖41主程序流程圖分線器的主程序主要描述數(shù)據(jù)采集并傳輸?shù)倪^(guò)程,CC1000接收到上位機(jī)采集數(shù)據(jù)命令后,將命令傳送至主控芯片AT89C52,主控芯片AT89C52通過(guò)控制MAX4051控制多路模擬開(kāi)關(guān)的選通,MAX4051接收被選通的測(cè)溫傳感器測(cè)得的模擬信號(hào),經(jīng)過(guò)信號(hào)放大、A/D轉(zhuǎn)換后,將數(shù)據(jù)輸出到AT89C52完成數(shù)據(jù)的一次采集,最后由CC1000無(wú)線發(fā)射。 中斷服務(wù)程序設(shè)計(jì)分線器其中斷流程圖如圖42所示。圖42中斷流程圖采用中斷是降低芯片功耗的重要手段,平時(shí)無(wú)線糧倉(cāng)糧情測(cè)控系統(tǒng)處于低功耗模式,當(dāng)進(jìn)行數(shù)據(jù)采集、數(shù)據(jù)通信等工作時(shí),進(jìn)入中斷處理程序。當(dāng)中斷處理完成后,重新進(jìn)入到低功耗模式。中斷程序主要包括數(shù)據(jù)采集中斷和通信中斷,完成數(shù)據(jù)的緩存、緩存管理及組幀、數(shù)據(jù)傳送工作 。 子程序設(shè)計(jì) 數(shù)據(jù)采集模塊分線器其數(shù)據(jù)采集流程圖如圖43所示。圖43 數(shù)據(jù)采集流程圖在數(shù)據(jù)采集過(guò)程中,為避免通信中可能出現(xiàn)的信息沖突與競(jìng)爭(zhēng),、ADDB、ADDC進(jìn)行編址,通信時(shí),AT89C52先發(fā)送地址幀,各MAX4051收到地址幀后,與自身地址相比較,如果相同則發(fā)送數(shù)據(jù),不同則繼續(xù)等待AT89C52訪問(wèn)。AT89C52收到數(shù)據(jù)后,發(fā)確認(rèn)信號(hào)給MAX4051,MAX4051收到確認(rèn)信號(hào)后一次通信即告結(jié)束;若AT89C52未收到數(shù)據(jù),則MAX4051重復(fù)發(fā)送,直到收到確認(rèn)信號(hào)為止。然后將采集的模擬量進(jìn)行信號(hào)放大和A/D轉(zhuǎn)換, 。 電源模塊為了滿足電池供電情況下嚴(yán)格的電源損耗要求,CC1000提供了十分方便的電源管理方法。通過(guò)MAIN寄存器控制低電平模式,有單獨(dú)的位控制接收部分、發(fā)射部分、頻率合成以及晶振。這種獨(dú)立控制可用來(lái)優(yōu)化在某個(gè)應(yīng)用中可能達(dá)到的最低電流損耗。MAIN寄存器其具體介紹見(jiàn)表41。表41 MAIN寄存器功能介紹寄存器名稱(chēng)缺省值激活說(shuō)明MAIN[7]RXTX--接收/發(fā)射開(kāi)關(guān),0:接收;1:發(fā)送MAIN[6]F_REG--頻率寄存器選擇,0:寄存器A;1:寄存器BMAIN[5]RX_PD-高電平LNA低電位模式,混頻器,中頻,解調(diào)器,信號(hào)接口接收部分MAIN[4]TX_PD-高電平信號(hào)接口發(fā)射部分低電位模式,功放MAIN[3]FS_PD-高電平頻率合成器的低電位模式MAIN[2]CORD_PD-高電平晶振核心的低電位模式MAIN[1]BIAS_PD-高電平偏置電流(全電流發(fā)生器)和晶振緩沖器的低電位模式MAIN[0]RESET_N-低電平復(fù)位,低電平激活。低電平寫(xiě)RESET_N將把缺省值寫(xiě)入除MAIN外的所有寄存器里,完成復(fù)位后必須設(shè)成高電平。為達(dá)到最小電源損耗,CC1000芯片一般上電和初始化順序如圖44和45所示。VCO電流是可編程的,應(yīng)根據(jù)工作頻率和輸出功率來(lái)設(shè)定。為了防止流過(guò)內(nèi)部上拉電阻的電流,在低電平模式下PALE應(yīng)設(shè)為三態(tài)或者高電平。為了保證最低可能的電流漏損,在低電平模式下PA_PDW應(yīng)設(shè)成00H。圖44 電源初始化順序圖45電源激活接收或發(fā)射的程序 無(wú)線通信模塊(1)CC1000的主程序流程圖如圖46所示。系統(tǒng)程序結(jié)構(gòu)采用消息驅(qū)動(dòng)機(jī)制,在完成系統(tǒng)內(nèi)部寄存器和變量初始化后便可以進(jìn)入消息循環(huán)程序查詢系統(tǒng)消息。系統(tǒng)消息一般是CPU外部或內(nèi)部的事件通過(guò)CPU中斷系統(tǒng)激勵(lì)CPU運(yùn)行的。為了能夠使系統(tǒng)產(chǎn)生和響應(yīng)消息,必須啟動(dòng)CPU的中斷系統(tǒng),因而在進(jìn)入消息循環(huán)前啟動(dòng)CPU定時(shí)中斷、串行通信中斷、外部觸發(fā)中斷。程序初始化部分在CPU上電或復(fù)位后只執(zhí)行一次,CPU在正常工作時(shí)在消息循環(huán)中反復(fù)檢測(cè)消息是否存在,并根據(jù)消息的種類(lèi)做不同的操作,最后清除相應(yīng)的消息標(biāo)志,再進(jìn)行循環(huán)檢測(cè)消息。本系統(tǒng)中消息共有三種 ,分別是程序節(jié)拍控制信號(hào)、與CC1000通信的信號(hào)以及與用戶通信的信號(hào)。程序節(jié)拍控制信號(hào)控制程序的運(yùn)行過(guò)程,包括時(shí)間信號(hào)、外部中斷信號(hào)(休眠、喚醒)以及其它定時(shí)動(dòng)作信號(hào);與CC1000通信的信號(hào)包括CC1000狀態(tài)轉(zhuǎn)換信號(hào)、接收完成信號(hào)、發(fā)送開(kāi)始信號(hào)以及發(fā)送完畢信號(hào)等,負(fù)責(zé)管理與CC1000的通信和控制工作;與用戶通信的信號(hào)包括接收用戶數(shù)據(jù)完畢信號(hào)、用戶數(shù)據(jù)發(fā)送完畢信號(hào)以及向用戶發(fā)送數(shù)據(jù)開(kāi)始信號(hào)等,負(fù)責(zé)與用戶的通信管理。程序的消息循環(huán)結(jié)構(gòu)如圖47所示。(2)CC1000的配置是通過(guò)對(duì)29個(gè)8位寄存器進(jìn)行編程來(lái)完成的,根據(jù)所選系統(tǒng)參數(shù)的設(shè)置數(shù)據(jù)很容易通過(guò)SmartRF Studio軟件找出。當(dāng)復(fù)位以后,所有寄存器設(shè)為缺省值。復(fù)位后TEST寄存器也設(shè)為缺省值,用戶不能改動(dòng) 。初始化CC1000寄存器的流程圖如圖48所示。(3)CC1000可通過(guò)三串行接口(PDATA,PCLK和PALE)進(jìn)行編程,有36個(gè)8位配置寄存器,每個(gè)由7位地址尋址。由讀/寫(xiě)位初始化選擇讀或?qū)懙牟僮鳌C1000一個(gè)完整的信息要求發(fā)送 29個(gè)數(shù)據(jù)幀,每個(gè)16位(7個(gè)地址位,1個(gè)讀/寫(xiě)位和8個(gè)數(shù)據(jù)位)。PCLK頻率決定了完全信息所需時(shí)間,在10MHzPCLK頻率工作下,完成整個(gè)配置所需時(shí)間少于60181。s。在低電位模式下設(shè)置時(shí)僅需發(fā)射一個(gè)幀,所需時(shí)間少于2181。s。所有寄存器都可讀。在每次寫(xiě)循環(huán)中,16位字節(jié)送入PDATA通道,每個(gè)數(shù)據(jù)幀中7個(gè)最重要的位(A6~A0)是地址位。A6是MSB(最高位),首先被發(fā)送。下一個(gè)發(fā)送的位是讀/寫(xiě)位(高電平寫(xiě),低電平讀),在傳輸?shù)刂泛妥x/寫(xiě)位期間,PALE(編程地址鎖存使能)必須保持低電平,接著傳輸8個(gè)數(shù)據(jù)位(D7~D0)。PDATA在PCLK下降沿有效。當(dāng)8位數(shù)據(jù)位中的最后一個(gè)字節(jié)位D0裝入后,整個(gè)數(shù)據(jù)字才被裝入內(nèi)部配置寄存器中。圖46CC1000 CC1000主程序流程圖圖47消息循環(huán)框圖在每個(gè)寫(xiě)循環(huán)中,編程數(shù)據(jù)線PDATA上都發(fā)送16位數(shù)據(jù),每個(gè)數(shù)據(jù)幀中前7位為地址位,下一位是讀/寫(xiě)位(高電平寫(xiě),低電平讀),后8位是數(shù)據(jù)。在地址和讀/寫(xiě)位傳送過(guò)程中,程序地址鎖存器使能PALE線必須保持低電平,然后傳送8位數(shù)據(jù)位。PDATA上的數(shù)據(jù)同步在編程時(shí)鐘PCLK的負(fù)沿完成。當(dāng)D0位,即8位數(shù)據(jù)位的最后一位已經(jīng)載入時(shí),數(shù)據(jù)就會(huì)被載入內(nèi)部設(shè)置寄存器。這些設(shè)置寄存器也可被單片機(jī)通過(guò)同樣的設(shè)置接口讀取。7位地址位首先被發(fā)送,然后讀/寫(xiě)位被置為低電平,開(kāi)始數(shù)據(jù)回讀。圖48 CC1000寄存器初始化流程圖寫(xiě)寄存器子程序如下:MOV , C 。準(zhǔn)備數(shù)據(jù)CPL 。產(chǎn)生一個(gè)下降沿SUBWRITE:RL A ;7位地址MOV R1, 07H ;循環(huán)7次置數(shù)CLR SETB ;準(zhǔn)備PLCK為高電平CLR CSTART:RLC ACPL ;準(zhǔn)備PLC為高電平DJNZ R1, STARTSETB ;準(zhǔn)備高電平SETB ;1為寫(xiě)數(shù)據(jù)模式CPL ;寫(xiě)有下一個(gè)下降沿CLR CSETB ;準(zhǔn)備為寫(xiě)數(shù)據(jù)SETB ;PLCK為高電平MOV R1, 08HMOV A, R0LOOP: RLC A ;寫(xiě)數(shù)據(jù)MOV , CCPL 。產(chǎn)生一個(gè)下降沿CPL 。準(zhǔn)備PLC為高電平DJNZ R1, LOOPRET(4)下面給出發(fā)射端和接收端的部分通信程序。發(fā)射端通信程序如下:Private Sub MsComm1()Dim n as IntDim Sendbuffer as string =1 。設(shè)置端口=“12000,N,8,1” 。設(shè)置通信協(xié)議=0 。清發(fā)送緩沖區(qū)=true=sendbuffer 。發(fā)送END sub接收端通信程序如下:Private Sub MsComm1OnComm()Dim receivebuffer as stringIf ComEvReceive=2 then 。如果接收事件發(fā)生Receivebuffer=;Else MsgBox“通信出錯(cuò)!”End ifEnd sub CC1000的通信協(xié)議上位機(jī)與下位機(jī)之間如何進(jìn)行數(shù)據(jù)傳輸,怎樣提高通信的效率與可靠性,以及對(duì)通信過(guò)程中的故障處理、幀格式的約定,都需要通
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1