版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 編號(hào) </b></p><p><b> 本科生畢業(yè)設(shè)計(jì)</b></p><p> 基于USB的串行通信軟硬件設(shè)計(jì)</p><p> Based on USB serial communication software and hardware design </p&g
2、t;<p> 2008年 6 月 </p><p><b> 摘 要</b></p><p> 現(xiàn)代工業(yè)生產(chǎn)和科學(xué)研究對(duì)數(shù)據(jù)采集的要求日益提高,在瞬態(tài)信號(hào)測(cè)量、圖像處理等一些高速、高精度的測(cè)量中,需要進(jìn)行高速數(shù)據(jù)采集,而USB 總線具有高速傳輸、熱拔插、即插即用等特點(diǎn),已經(jīng)在高速數(shù)據(jù)采集系統(tǒng)之中得到了越來(lái)越廣泛的應(yīng)用。</p>
3、<p> 文中以PIC單片機(jī)為核心,采用PIC單片機(jī)內(nèi)部的A/D 轉(zhuǎn)換器,設(shè)計(jì)了基于USB100 模塊設(shè)計(jì)了一個(gè)數(shù)據(jù)采集系統(tǒng)。</p><p> 文中詳細(xì)闡述了基于USB100 模塊設(shè)計(jì)了一個(gè)數(shù)據(jù)采集系統(tǒng)的方案選擇和總體設(shè)計(jì)、硬件電路以及系統(tǒng)軟件編程等。介紹了設(shè)計(jì)的具體的電路實(shí)現(xiàn)以及相應(yīng)的實(shí)驗(yàn)結(jié)果,并在文中給出了系統(tǒng)的硬件原理圖及軟件程序流程圖。</p><p> 關(guān)鍵詞
4、:通用串行總線 數(shù)據(jù)采集 單片機(jī)</p><p><b> Abstract</b></p><p> Modern industrial production data collection and scientific research on the require-</p><p> ments of increasing th
5、e transient signal measurement, image processing and other high -speed, high-precision measurement, the need for high-speed data acquisition, and the USB bus with high-speed transmission, hot plug, Plug-and-play features
6、, has been in high-speed data acquisition systems have been more widely used. </p><p> In a PIC microcontroller as the core, a PIC microcontroller internal A / D convert-</p><p> r, designed U
7、SB100 modular design based on a data collection system.</p><p> Described in detail based on the USB100 module designed a data collection syste-</p><p> m and the overall design of the options
8、, hardware and system software programming, </p><p> and so on. On the specific design of the circuit and the corresponding results, and are </p><p> given in the text of the principle of the
9、hardware and software flow chart.</p><p> KeyWords:Universal Serial Bus Data Acquisition Signal Chip</p><p><b> 目 錄</b></p><p><b> 第一章 緒論1&
10、lt;/b></p><p> 第二章 方案選擇和總體設(shè)計(jì)3</p><p> 2.1 方案選擇3</p><p> 2.2 總體設(shè)計(jì)5</p><p> 第三章 系統(tǒng)硬件電路設(shè)計(jì)7</p><p> 3.1 單片機(jī)最小系統(tǒng)7</p><p> 3.1.1 PI
11、C單片機(jī)的特點(diǎn)7</p><p> 3.1.2 PIC16F73單片機(jī)的引腳功能8</p><p> 3.1.3 PIC16F73單片機(jī)最小系統(tǒng)9</p><p> 3.2 顯示器接口電路設(shè)計(jì)10</p><p> 3.3 USB接口電路設(shè)計(jì)12</p><p> 3.3.1 USB100模塊
12、的特點(diǎn)12</p><p> 3.3.2 USB100的引腳圖及功能13</p><p> 3.3.3 USB100控制時(shí)序13</p><p> 3.3.4 USB100與單片機(jī)接口14</p><p> 3.4 數(shù)據(jù)采集電路15</p><p> 第四章 系統(tǒng)軟件設(shè)計(jì)17</p&
13、gt;<p> 4.1 下位機(jī)軟件設(shè)計(jì)17</p><p> 4.1.1 LED顯示程序模塊17</p><p> 4.1.2 數(shù)據(jù)發(fā)送模塊17</p><p> 4.1.3 數(shù)據(jù)接收模塊18</p><p> 4.1.4 壓力數(shù)據(jù)采集模塊19</p><p> 4.1.5
14、 數(shù)據(jù)處理模塊20</p><p> 4.2 上位機(jī)軟件設(shè)計(jì)21</p><p> 4.2.1 串行通信控件的應(yīng)用21</p><p> 4.2.2 數(shù)據(jù)處理23</p><p> 4.2.3 數(shù)據(jù)庫(kù)24</p><p><b> 結(jié) 論27</b></
15、p><p><b> 參考文獻(xiàn)28</b></p><p><b> 致 謝29</b></p><p><b> 第一章 緒論</b></p><p> 在工業(yè)控制和數(shù)據(jù)采集系統(tǒng)中,單片機(jī)以其低成本,編程靈活、方便,實(shí)時(shí)性強(qiáng)和具有一定的智能而得到了廣泛的應(yīng)用。
16、然而,許多復(fù)雜任務(wù)的實(shí)現(xiàn),如人機(jī)對(duì)話、任務(wù)的切換、算法的實(shí)現(xiàn)、大數(shù)據(jù)的運(yùn)算等,單片機(jī)就顯得有些力不從心,而PC機(jī)在這方面卻有強(qiáng)大的優(yōu)勢(shì)。這就需要將它們組合成系統(tǒng),讓單片機(jī)只管控制執(zhí)行機(jī)構(gòu)和進(jìn)行數(shù)據(jù)采集與傳輸;PC機(jī)將數(shù)據(jù)進(jìn)行處理,實(shí)現(xiàn)功能。這就涉及到單片機(jī)與PC機(jī)之間的通訊問(wèn)題,在需要實(shí)時(shí)傳遞和處理聲音和圖象等大批數(shù)據(jù)的時(shí)候,普通的通信方式難以滿足要求。</p><p> 這就為數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)提出了兩個(gè)方面
17、的要求:一方面,要求接口簡(jiǎn)單靈活且有較高的數(shù)據(jù)傳輸率;另一方面,由于數(shù)據(jù)量通常都較大,要求主機(jī)能夠?qū)?shí)時(shí)數(shù)據(jù)做出快速響應(yīng),并及時(shí)進(jìn)行分析和處理,并在單片機(jī)和PC機(jī)之間進(jìn)行高速和可靠的通訊。傳統(tǒng)的外設(shè)與主機(jī)的通信接口難以滿足上述第一個(gè)方面的要求,這些接口一般采用PCI布部線或RS-232串行總線。PCI總線雖然有很高的傳輸率(可達(dá)132Mbps),還能“即插即用”,但是它們的擴(kuò)充槽相當(dāng)有限,且插拔并不方便;RS-232串行總線雖然連接方便
18、,可是它的帶寬非常有限,傳輸速度太慢,而且1條RS-232串口通信電纜只能連接1個(gè)物理設(shè)備。</p><p> USB技術(shù)正是順應(yīng)這一要求提出的,它集PCI和RS-232的優(yōu)點(diǎn)于一身:具有較高的傳輸速率(USB協(xié)議1.1支持最高傳輸速度達(dá)12Mbps,USB協(xié)議2.0支持最高傳輸速度可達(dá)480Mbps),實(shí)現(xiàn)了真正意義上的“即插即用”(Plug & Play),同時(shí)USB上最多可以連接127個(gè)外設(shè),解決
19、了如資源沖突、中斷請(qǐng)求(IRQs)和直接數(shù)據(jù)通道(DMAs)等問(wèn)題。因此,USB技術(shù)非常適合實(shí)時(shí)數(shù)據(jù)采集的場(chǎng)合,是目前較為流行的通訊方式。</p><p> 從應(yīng)用方面來(lái)看,國(guó)外通用串行總線USB因其具備高速傳輸,即插即用等諸多優(yōu)點(diǎn),在各個(gè)領(lǐng)域得到了廣泛應(yīng)用;國(guó)內(nèi)USB總線已經(jīng)得到了控制工程師的普遍關(guān)注,由于其通信協(xié)議比較復(fù)雜,相關(guān)的研究成果還比較少,特別是USB與目前最具競(jìng)爭(zhēng)力的工業(yè)微控制器(PIC單片機(jī))通
20、信的應(yīng)用范例還很匱乏。</p><p> 本設(shè)計(jì)基于USB設(shè)計(jì)出了一套既簡(jiǎn)單又實(shí)用的串行通信程序,并制作了一個(gè)壓力數(shù)據(jù)采集及實(shí)時(shí)顯示的硬件電路對(duì)其進(jìn)行了實(shí)例驗(yàn)證。設(shè)計(jì)選用美國(guó)微芯公司(Microchip)的主要產(chǎn)品PIC16F73單片機(jī)為主控制器,PC機(jī)的程序設(shè)計(jì)采用可視化的、面向?qū)ο蠛筒捎檬录?qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì)語(yǔ)言——Visual Basic。</p><p> 本設(shè)計(jì)能實(shí)
21、現(xiàn)如下幾項(xiàng)功能:</p><p> 壓力信號(hào)經(jīng)精密放大電路后輸入單片機(jī)進(jìn)行A/D轉(zhuǎn)換;</p><p> 單片機(jī)對(duì)采集到的信號(hào)進(jìn)行抗干擾處理和顯示;</p><p> 單片機(jī)將采集到的數(shù)據(jù)實(shí)時(shí)送入PC機(jī);</p><p> PC機(jī)對(duì)所得數(shù)據(jù)運(yùn)算后列表顯示并錄入數(shù)據(jù)庫(kù);</p><p> 單片機(jī)查詢來(lái)自PC機(jī)的
22、實(shí)時(shí)指令,并執(zhí)行相應(yīng)動(dòng)作。</p><p> 圖1.1 基于USB的高速數(shù)據(jù)采集系統(tǒng)示意圖</p><p> 圖1.1為基于USB的高速數(shù)據(jù)采集系統(tǒng)示意圖,就本設(shè)計(jì)而言,傳感器接收壓力信號(hào),PIC單片機(jī)的I/O控制口包括與USB100模塊通信的標(biāo)志位端口及LED顯示輸出口。</p><p> 第二章 方案選擇和總體設(shè)計(jì)</p><p>
23、;<b> 2.1 方案選擇</b></p><p><b> 1、通信接口選擇</b></p><p> 當(dāng)今的計(jì)算機(jī)外部設(shè)備,都在追求高速度和高通用性。為了滿足用戶的需求,以Intel為首的七家公司于1994年推出了USB(Universal Serial Bus通用串行總線)總線協(xié)議,專用于低、中速的計(jì)算機(jī)外設(shè)。目前,USB端口已成為
24、了微機(jī)主板的標(biāo)準(zhǔn)端口;而在不久的將來(lái),所有的微機(jī)外設(shè),包括鍵盤、鼠標(biāo)、顯示器、打印機(jī)、數(shù)字相機(jī)、掃描儀和游戲柄等等,都將通過(guò)USB與主機(jī)相連。</p><p> 這種連接較以往普通并口和串口的連接而言,USB接口的優(yōu)勢(shì)主要表現(xiàn)在以下幾個(gè)方面: </p><p> ?、攀褂梅奖?,連接外設(shè)不必再打開(kāi)機(jī)箱;允許外設(shè)熱插拔,而不必關(guān)閉主機(jī)電源。</p><p> ?、扑俣?/p>
25、快,USB支持三種設(shè)備傳輸速率:1.5 Mb/s(低速設(shè)備)、12 Mb/s(中速設(shè)備)480 Mb/s(高速設(shè)備)。</p><p> ⑶獨(dú)立供電,USB接口提供了內(nèi)置電源。</p><p> ⑷連接靈活,一個(gè)USB口理論上可以連接127個(gè)USB設(shè)備。連接的方式也十分靈活,既可以使用串行連接,也可以使用集線器Hub,把多個(gè)設(shè)備連接在一起,再同PC機(jī)的USB口相接。</p>
26、<p> ?、沙杀镜?,為了把外設(shè)連接到PC上,USB提供了一種低成本的解決方案。</p><p> 綜合上述系統(tǒng)中采用USB接口,具體選用了USB100模塊。</p><p><b> 2、微控制器選擇</b></p><p> 方案一:凌陽(yáng)16位單片機(jī)</p><p> 隨著單片機(jī)功能集成化的發(fā)展
27、,其應(yīng)用領(lǐng)域也逐漸地由傳統(tǒng)控制擴(kuò)展為控制處理、數(shù)據(jù)處理以及數(shù)字信號(hào)處理(DSP,Digital Signal Processing)等領(lǐng)域。凌陽(yáng)的16位單片機(jī)就是為適應(yīng)這種發(fā)展而設(shè)計(jì)的。它的CPU內(nèi)核采用凌陽(yáng)最新推出的µ’nSP?(Microcontroller and Signal Processor)16位微處理器芯片(以下簡(jiǎn)稱µ’nSP?)。圍繞µ’nSP?所形成的16位µ’nSP?系列單片
28、機(jī)(以下簡(jiǎn)稱µ’nSP?家族)采用的是模塊式集成結(jié)構(gòu),µ’nSP?內(nèi)核是一個(gè)通用的核結(jié)構(gòu),以µ’nSP?內(nèi)核為中心集成不同規(guī)模的ROM、RAM和功能豐富的各種外設(shè)接口部件,這種結(jié)構(gòu)可大可小或可有可無(wú)。借助這種通用結(jié)構(gòu)附加可選結(jié)構(gòu)的積木式的構(gòu)成,便可形成各種不同系列派生產(chǎn)品,以適合不同的應(yīng)用場(chǎng)合,這樣做使每一種派生產(chǎn)品具有更強(qiáng)的功能和更低的成本。</p><p> 從目前的應(yīng)用來(lái)看,
29、凌陽(yáng)16位單片機(jī)的優(yōu)勢(shì)在于它具有強(qiáng)大的語(yǔ)音處理功能。然而,它在工業(yè)控制現(xiàn)場(chǎng)的應(yīng)用案例較少,在控制領(lǐng)域并不具備突出的競(jìng)爭(zhēng)力。最重要的是,凌陽(yáng)公司在國(guó)內(nèi)的技術(shù)推廣才剛開(kāi)始,本科四年對(duì)凌陽(yáng)單片機(jī)的了解還十分有限,在畢業(yè)設(shè)計(jì)期間化大量時(shí)間學(xué)習(xí)單片機(jī)的基礎(chǔ)知識(shí)顯然很不合適。</p><p> 方案二:MCS-51系列單片機(jī)</p><p> 傳統(tǒng)的51系列微控制器,在國(guó)內(nèi)使用時(shí)間比較長(zhǎng),開(kāi)發(fā)所需
30、的資料也比較多,但其片內(nèi)資源較少,在外圍電路中需加入多種模塊,如:A/D轉(zhuǎn)換器、PWM、RAM和ROM存儲(chǔ)器等。它的優(yōu)點(diǎn)是外圍電路易于擴(kuò)展,尤其是存儲(chǔ)器的容量可以按需求增大,缺點(diǎn)是在線調(diào)試程序不方便。如果應(yīng)用到本設(shè)計(jì)中,外圍擴(kuò)展電路比較復(fù)雜,電路板空間和制造成本較大,而且在硬件電路的制做和調(diào)試方面也有一定的困難。</p><p> 方案三:PIC系列單片機(jī)</p><p> PIC系列
31、單片機(jī)是美國(guó)微芯公司(Microchip)的主要產(chǎn)品,有PIC16系列、PIC17系列、PIC18系列等。PIC系列單片機(jī)CPU采用RISC結(jié)構(gòu),它具有運(yùn)行速度快、工作電壓低、功耗低、較大的輸入輸出直接驅(qū)動(dòng)能力強(qiáng)、價(jià)格低和體積小等優(yōu)點(diǎn)。</p><p> PIC16F73 單片機(jī)是PIC系列的中檔產(chǎn)品,其內(nèi)部資源非常豐富,含有4K的FLASH程序存儲(chǔ)器、192B的RAM數(shù)據(jù)存儲(chǔ)器、5通道8位A/D轉(zhuǎn)換器、3個(gè)定
32、時(shí)器、2個(gè)捕捉/比較/脈寬調(diào)制、1個(gè)同步串行端口SPI和通用同步/異步收發(fā)器 USART等。另外,它具有外圍接口電路簡(jiǎn)單、工作性能穩(wěn)定等特點(diǎn)。</p><p> 基于以上比較,本設(shè)計(jì)選擇PIC單片機(jī)作為下位機(jī)控制的核心,利用上述豐富的資源來(lái)完成A/D轉(zhuǎn)換、收發(fā)數(shù)據(jù)、輸出顯示信號(hào)等處理和指定的控制任務(wù)。</p><p><b> 3、壓力傳感器選型</b>
33、</p><p> ⑴傳感器是將各種非電量(包括物理量、化學(xué)量和生物量等)按一定規(guī)律轉(zhuǎn)換成易于處理和傳輸?shù)牧硪环N物理量(一般為電量)的裝置。在本設(shè)計(jì)中使用了壓力傳感器,它是力的測(cè)試中最關(guān)鍵的裝置。它的種類繁多,有電容式、壓阻式、差動(dòng)變壓器式、壓電式、電阻應(yīng)變式等。本系統(tǒng)選用的應(yīng)變片式差壓測(cè)力傳感器,它具有靈敏度高、線性度和穩(wěn)定性好、結(jié)構(gòu)簡(jiǎn)單、動(dòng)態(tài)性能優(yōu)良等優(yōu)點(diǎn),廣泛應(yīng)用于力的測(cè)試中,其常見(jiàn)外觀如圖2.1所示:&
34、lt;/p><p> (a)柱形 (b) 懸臂梁形</p><p> 圖2.1 電阻應(yīng)變式測(cè)力傳感器</p><p><b> ?、茐毫鞲衅鲄?shù)</b></p><p> 壓力傳感器是把壓力轉(zhuǎn)換成電信號(hào)的傳感器,用半導(dǎo)體材料制成的壓力傳感器稱為半導(dǎo)體壓力傳感器,由于其體積小、重量輕、靈敏度高、功耗小、便于
35、集成等優(yōu)點(diǎn),發(fā)展十分迅速,應(yīng)用也很廣泛。在本設(shè)計(jì)的過(guò)程中選用了S形雙彎曲梁應(yīng)變片式測(cè)力傳感器,其的結(jié)構(gòu)示意圖如圖2.2所示。</p><p> S形雙彎曲梁應(yīng)變片式測(cè)力傳感器主要參數(shù)如下:</p><p><b> 額定載荷:3kg</b></p><p> 額定輸出:1.3mV/V</p><p><b&g
36、t; 輸入電阻:350Ω</b></p><p><b> 輸出電阻:350Ω</b></p><p> 非線性:0.01%F.S</p><p> 滯后:0.015%F.S</p><p> 重復(fù)性:0.01%F.S</p><p> 安全過(guò)載能力:150%</p&
37、gt;<p> 圖2.2 S形雙彎曲梁壓力傳感器結(jié)構(gòu)示意圖</p><p> 由于S形雙彎曲梁應(yīng)變片式測(cè)力傳感器的結(jié)構(gòu)是雙連孔型的,粘貼應(yīng)變片處比較薄,應(yīng)變大,靈敏度高,而其他部位較厚,故強(qiáng)度、剛度好的特點(diǎn),所以系統(tǒng)中選擇它作為壓力傳感器。</p><p> S形雙彎曲梁應(yīng)變測(cè)力傳感器和PIC16F73單片機(jī)相結(jié)合組成的測(cè)力系統(tǒng),它具有實(shí)時(shí)數(shù)據(jù)采集和LED顯示功能。傳
38、感器彈性體為雙彎曲懸臂梁,四片應(yīng)變片分別貼于梁的上下兩表面組成全橋電路,當(dāng)受到載荷W作用時(shí),R1、R2受拉伸,阻值增加;R3,R4受壓縮,阻值減小,電橋失去平衡,并產(chǎn)生電壓△U輸出,且△U與W成正比。</p><p><b> 2.2 總體設(shè)計(jì)</b></p><p> 數(shù)據(jù)采集是現(xiàn)代控制系統(tǒng)必不可少的控制任務(wù),通用串行總線(USB)因具有傳輸速率快、接口簡(jiǎn)單、支
39、持即插即用(Plug & Play)和使用維護(hù)方便等特點(diǎn)在控制領(lǐng)域具有廣泛的應(yīng)用前景。本設(shè)計(jì)以壓力數(shù)據(jù)采集任務(wù)為載體,深入的學(xué)習(xí)和探討了基于USB的串行通信的實(shí)現(xiàn)問(wèn)題。本系統(tǒng)包括硬件接口設(shè)計(jì)和軟件編程兩個(gè)方面,軟硬件結(jié)合能實(shí)現(xiàn)如圖2.3所示的功能。</p><p> 圖2.3 系統(tǒng)總體框圖</p><p> 第三章 系統(tǒng)硬件電路設(shè)計(jì)</p><p>
40、 3.1 單片機(jī)最小系統(tǒng)</p><p> 美國(guó)Microchip技術(shù)公司的PIC系列單片機(jī)采用精簡(jiǎn)指令集計(jì)算機(jī)(RISC——Reduced Instruction Set Computer)、哈佛(Harvard)雙總線和兩級(jí)指令流水線結(jié)構(gòu)的高性能價(jià)格比的8位嵌入式控制器(Embedded controller)。其高速度、低工作電壓、低功耗、較大的輸入輸出直接驅(qū)動(dòng)LED能力、一次性編程芯片的低價(jià)位、小體積、
41、指令簡(jiǎn)單易學(xué)易用等特點(diǎn),都體現(xiàn)了單片機(jī)工業(yè)發(fā)展的新趨勢(shì)。在全球都可以看到PIC單片機(jī)在不同領(lǐng)域的廣泛應(yīng)用,它在世界單片機(jī)市場(chǎng)份額排名中逐年提前,以致已成為一種新的8位單片機(jī)的世界標(biāo)準(zhǔn)和最有影響力的主流嵌入式控制器,所以本設(shè)計(jì)選用PIC16F73作為主控制器。</p><p> 3.1.1 PIC單片機(jī)的特點(diǎn)</p><p> PIC單片機(jī)的主要優(yōu)點(diǎn)[7]表現(xiàn)在:</p>
42、<p> 1. PIC16F73系列單片機(jī)都具有A/D轉(zhuǎn)換功能,A/D轉(zhuǎn)換器是采用逐次逼近法進(jìn)行模數(shù)轉(zhuǎn)換,轉(zhuǎn)換的結(jié)果是8位數(shù)字量。另外PIC16F7X系列單片機(jī)的A/D轉(zhuǎn)換具有一個(gè)獨(dú)特的功能,就是在CPU休眠期間能照常工作。不過(guò),此時(shí)的A/D轉(zhuǎn)換時(shí)鐘必須選擇A/D內(nèi)部的RC振蕩器。</p><p> 2. 指令的“單字節(jié)化”。因?yàn)橹噶羁偩€和數(shù)據(jù)總線是分離的,并且采用了不同的寬度,所以程序存儲(chǔ)器RO
43、M和數(shù)據(jù)存儲(chǔ)器RAM的尋址空間是相對(duì)獨(dú)立的,而且兩種存儲(chǔ)器寬度也不同。這樣設(shè)計(jì)不僅可以確保數(shù)據(jù)的安全性,還能提高運(yùn)行速度和實(shí)現(xiàn)全部指令的“單字節(jié)化”。而MCS-51系列單片機(jī)的ROM和RAM寬度都是8位指令長(zhǎng)度從1個(gè)字節(jié)(8位)到3個(gè)字節(jié)長(zhǎng)度不一。</p><p> 3. 精簡(jiǎn)指令集(RISC)技術(shù)。PIC系列單片機(jī)的指令系統(tǒng)只有35條指令。這給指令的學(xué)習(xí),記憶,理解帶來(lái)很大的好處,也給程序的編寫(xiě),閱讀,調(diào)試,
44、修改,交流帶來(lái)極大的便利,真可謂易學(xué)好用。。它不僅全部指令均為單字節(jié)指令,而且絕大多數(shù)指令為單周期指令以利于提高執(zhí)行速度。</p><p> 4. 尋址方式簡(jiǎn)單。尋址方式就是尋找操作數(shù)的方法,PIC系列單片機(jī)只有4種尋址方式(即寄存器間接尋址,立即數(shù)尋址,直接尋址和位尋址),容易掌握。</p><p> 5. 運(yùn)行速度高。由于采用了哈佛結(jié)構(gòu),又由于指令的讀取和執(zhí)行采用了流水作業(yè)方式,P
45、IC系列單片機(jī)的運(yùn)行速度大大提高??芍狿IC系列單片機(jī)的運(yùn)行速度遠(yuǎn)高于其它相同檔次的單片機(jī)。在所有8位機(jī)中,PIC17F是目前世界上速度最快的品種之一。</p><p> 6. 功耗低。PIC系列單片機(jī)的功率消耗極底,有些型號(hào)的單片機(jī)在4MHz時(shí)鐘下工作時(shí)耗電不超過(guò)2mA,在睡眠模式下低到1uA以下。</p><p> 7. 驅(qū)動(dòng)能力強(qiáng)。I/O端口驅(qū)動(dòng)負(fù)載的能力較強(qiáng),每個(gè)I/O引腳輸入
46、和輸出電流的最大值可分別達(dá)到25mA和20mA,能夠直接驅(qū)動(dòng)發(fā)光二極管、光電耦合器或者微型繼電器等。</p><p> 8. 具備I²C和SPI串行總線端口:PIC系列單片機(jī)的一些型號(hào)具備I²C和SPI串行總線端口。I²C和SPI分別是由PHILIPS和MOTOROLA公司發(fā)明的芯片之間同步串行數(shù)據(jù)傳輸?shù)膬煞N串行總線技術(shù),利用單片機(jī)串行總線端口可以方便靈活的擴(kuò)展一些必要的外圍器件。
47、串行接口和串行總線的設(shè)置,不僅大大的簡(jiǎn)化了單片機(jī)應(yīng)用系統(tǒng)的結(jié)構(gòu),而且還極易形成產(chǎn)品的模塊化結(jié)構(gòu)。</p><p> 9. 尋址空間設(shè)計(jì)簡(jiǎn)潔。PIC系列單片機(jī)的程序、堆棧和數(shù)據(jù)三者各自采用互相獨(dú)立的尋址空間,而且前兩者的地址安排不需要用戶操心,這會(huì)受到初學(xué)者的喜歡。</p><p> 10. 外圍電路簡(jiǎn)潔。PIC系列單片機(jī)內(nèi)部集成了上電復(fù)位電路、I/O引腳上拉電路、看門狗定時(shí)器等,可以最
48、大程度的減少或免用外圍器件。 </p><p> 11. 開(kāi)發(fā)方便。芯片公司及其國(guó)內(nèi)多家代理商,為應(yīng)用開(kāi)發(fā)提供了豐富多彩的硬件和軟件支持。</p><p> 3.1.2 PIC16F73單片機(jī)的引腳功能</p><p><b> 電源和地線引腳</b></p><p> PIC系列單片機(jī)一般采用5V電壓,為了
49、減少外界噪聲的影響,將電源引腳和地線引腳放置芯片的中間。</p><p> 2. 主復(fù)位信號(hào)引腳</p><p> 復(fù)位信號(hào)引腳用于外部電路產(chǎn)生復(fù)位信號(hào)使PIC單片機(jī)產(chǎn)生復(fù)位,低電平有效。在對(duì)單片機(jī)編程時(shí),此引腳作為編程電壓的輸入端。</p><p> 3. 輸入/輸出端口功能引腳 </p><p> 在PIC16F73微控制器中,
50、有三個(gè)端口,每個(gè)端口引腳大部分都具有兩種或三種功能復(fù)用;作為輸入輸出端口時(shí),端口A、端口B、端口C、都是雙向I/O口。</p><p> 作為第二或第三功能端口,每個(gè)引腳功能都可能不同,主要包含有以下的幾種功能:</p><p> 用于A/D轉(zhuǎn)換的模擬電壓輸入端和參考電壓輸入端;</p><p> 用于定時(shí)器的時(shí)鐘輸入端和振蕩器輸出端;</p>
51、<p> 用于串行通信的輸入/輸出端和時(shí)鐘端;</p><p> 4. 振蕩器輸入輸出線。</p><p> 其引腳布置如圖3.1所示,在PIC單片機(jī)中有一根振蕩器輸入引腳OSC1/CLKIN和一根振蕩器輸出引腳OSC2/CLKOUT,由于PIC單片機(jī)</p><p> 圖3.1 PIC16F73引腳圖</p><p>
52、可以采用不同的振蕩器,這使得兩根引腳可以有不同的功能。采用晶體振蕩器或陶瓷諧振器,將晶體振蕩器的兩腳直接接人OSC1/CLKIN和OSC2/CLKOUT;采用外部RC振蕩器時(shí),OSC1/CLKIN作為輸入,OSC2/CLKOUT開(kāi)路。</p><p> 3.1.3 PIC16F73單片機(jī)最小系統(tǒng)</p><p> 圖3.2 PIC16F73最小系統(tǒng)</p><p
53、> PIC16F73最小系統(tǒng)如圖3.2所示。</p><p> 在本系統(tǒng)設(shè)計(jì)中,PIC16F73微控制器的引腳功能配置如下:</p><p> ?、哦丝贐作為數(shù)據(jù)總線;</p><p> ?、芇A0口為壓力模擬信號(hào)輸入端;</p><p> ?、荘A2和PA3為數(shù)碼管段碼和位碼的片選端;</p><p>
54、⑷PC0和PC1為USB100模塊的存入(WR)和讀出(RD)標(biāo)志位;</p><p> ?、蒔C2和PC3為USB100模塊的標(biāo)志位RXF和TXE</p><p> ?、蔖C4和PC5起到工作狀態(tài)監(jiān)視作用,其中PC4為單片機(jī)接收數(shù)據(jù)狀態(tài)指示端,PC5為單片機(jī)發(fā)送數(shù)據(jù)狀態(tài)指示端。</p><p> 3.2 顯示器接口電路設(shè)計(jì)</p><p>
55、; 為了驗(yàn)證通信結(jié)果的正確性,必須增加有效的手段測(cè)試PIC單片機(jī)接收到的數(shù)據(jù)正確與否,而最簡(jiǎn)單且可行的方法就是增加LED顯示部分。</p><p> LED器件是一種發(fā)光二極管顯示器。</p><p><b> 其特點(diǎn)如下:</b></p><p> ?。?)LED顯示器具備穩(wěn)定、高速、簡(jiǎn)單的系統(tǒng);</p><p>
56、; (2)LED顯示結(jié)構(gòu)簡(jiǎn)單、性能穩(wěn)定;</p><p> (3)LED顯示應(yīng)用在成熟的生產(chǎn)技術(shù)上。</p><p> 發(fā)光二極管組成的顯示器是單片機(jī)應(yīng)用產(chǎn)品中最常用的廉價(jià)輸出設(shè)備。八段發(fā)光二極管結(jié)構(gòu)如圖3.3所示。</p><p> 圖3.3 八段發(fā)光二極管外型</p><p> 發(fā)光二極管的陽(yáng)極連在一起的稱為共陽(yáng)極顯示器,陰極連
57、在一起的稱為共陰極顯示器。1位顯示器有8個(gè)發(fā)光二極管組成,其中7個(gè)發(fā)光二極管a~g控制7個(gè)筆段的亮或暗,另一個(gè)控制一個(gè)小數(shù)點(diǎn)的亮和暗,這種筆畫(huà)式的八段顯示器能顯示的字符少。字符的形象有些失真,但控制方便,使用簡(jiǎn)單。</p><p> 圖3.4 共陰極數(shù)碼管</p><p> 圖3.5 共陽(yáng)極數(shù)碼管</p><p> 考慮到壓力顯示精度和顯示范圍等因素,本設(shè)計(jì)選
58、用4位共陰極LED數(shù)碼管。</p><p> 顯示器的顯示方法有靜態(tài)和動(dòng)態(tài)兩種方法。顯示器位數(shù)較少時(shí),采用靜態(tài)顯示的方法是合適的。當(dāng)位數(shù)較多時(shí),用靜態(tài)顯示所需的I/O太多,一般采用動(dòng)態(tài)顯示方法,所以在系統(tǒng)中我們采用動(dòng)態(tài)顯示。</p><p> 此類數(shù)碼管的工作特點(diǎn)是:</p><p> ?、艛?shù)碼管片選端清0時(shí),對(duì)應(yīng)位的數(shù)碼管才有可能亮;</p>&
59、lt;p> ?、泼看沃荒苡幸粋€(gè)片選端清0,即只能動(dòng)態(tài)移位顯示相應(yīng)的數(shù)據(jù);</p><p> ⑶單片機(jī)控制數(shù)碼管顯示相應(yīng)數(shù)字要用查表子程序來(lái)實(shí)現(xiàn)。</p><p> 此電路的程序設(shè)計(jì)要求是:不能在保持原輸出數(shù)據(jù)的情況下,常時(shí)間持續(xù)執(zhí)行其它控制任務(wù)。在本設(shè)計(jì)中,用顯示程序來(lái)替換其它任務(wù)中必要的延時(shí)子程序,從而實(shí)現(xiàn)了數(shù)據(jù)顯示的連續(xù)性,而且不會(huì)影響其它控制任務(wù)的正確執(zhí)行。</p&g
60、t;<p> 顯示器接口電路如圖3.6所示。LED顯示器采用兩片74LS273動(dòng)態(tài)掃描方式驅(qū)動(dòng),其中U2作為段碼接口,U3作為位碼接口,單片機(jī)通過(guò)B口與74LS273的輸入端相連,PA2和PA3分別作為U2和U3的片選信號(hào),缺省時(shí)顯示0。D1、D2作為單片機(jī)發(fā)送/接收數(shù)據(jù)狀態(tài)指示,當(dāng)單片機(jī)發(fā)送數(shù)據(jù)時(shí)D1點(diǎn)亮;當(dāng)單片機(jī)接收數(shù)據(jù)時(shí)D2點(diǎn)亮。</p><p> 圖3.6 顯示器接口電路</p&
61、gt;<p> 3.3 USB接口電路設(shè)計(jì)</p><p> 3.3.1 USB100模塊的特點(diǎn)</p><p> USB100 是目前開(kāi)發(fā)最為方便的USB 接口產(chǎn)品,用戶無(wú)需編寫(xiě)驅(qū)動(dòng)程序,對(duì)USB的操作就變成了類似于對(duì)外部存儲(chǔ)器的操作,由USB100模塊完成全部協(xié)議的轉(zhuǎn)換和封裝,只要有單片機(jī)和PC 應(yīng)用程序的基本知識(shí),就可以很快地開(kāi)發(fā)好USB 接口和數(shù)據(jù)采集等產(chǎn)品,
62、開(kāi)發(fā)過(guò)程十分簡(jiǎn)單。</p><p> USB100模塊是完全集成化的USB接口模塊,完全滿足USB1.1標(biāo)準(zhǔn),具有8位單片機(jī)總線接口,內(nèi)部多達(dá)384字節(jié)的發(fā)送緩沖區(qū)和128字節(jié)的接收緩沖區(qū),數(shù)據(jù)通訊速率最高可達(dá)8Mbit/S。性能可靠,特別適合工業(yè)控制場(chǎng)合。在單片機(jī)系統(tǒng)中,USB100通訊模塊作為單片機(jī)的并行接口芯片,兩者有機(jī)結(jié)合,構(gòu)成了下位機(jī)的USB通訊接口。</p><p> US
63、B100模塊提供兩種PC機(jī)應(yīng)用程序編程[4]:虛擬串口方式和動(dòng)態(tài)連結(jié)庫(kù)方式。 </p><p> ?、盘摂M串口方式下,用戶在PC機(jī)上安裝USB100模塊專用虛擬串口驅(qū)動(dòng)程序之后,USB100即可作為PC機(jī)上的一個(gè)標(biāo)準(zhǔn)設(shè)備,可以按照與操作串口完全一樣的方法來(lái)編程。 </p><p> ?、圃趧?dòng)態(tài)連結(jié)庫(kù)方式下,用戶要在PC機(jī)上安裝USB100模塊專用動(dòng)態(tài)連結(jié)庫(kù),安裝之后,USB100即成為PC
64、機(jī)的一個(gè)標(biāo)準(zhǔn)外設(shè),編程時(shí)調(diào)用API函數(shù)發(fā)送和接收數(shù)據(jù)。</p><p> 3.3.2 USB100的引腳圖及功能</p><p> USB100的管腳排列圖如圖3.7所示。</p><p> 圖3.7 USB100的管腳排列圖</p><p> 數(shù)據(jù)口(D0…D7)是8位雙向I/O口,它以并行方式與微控制器交換數(shù)據(jù)。 </p
65、><p> RD:允許內(nèi)部接收緩沖區(qū)數(shù)據(jù)通過(guò)8位并行總線讀出。</p><p> WR:將8位并行總線上的數(shù)據(jù)鎖存入內(nèi)部緩沖區(qū)。</p><p> TXE:高表示模塊發(fā)送緩沖區(qū)已滿;低表示發(fā)送緩沖區(qū)為空,可以發(fā)送數(shù)據(jù)。</p><p> RXF:高表示模塊沒(méi)有數(shù)據(jù)輸出;低表示模塊有數(shù)據(jù)輸出,可以讀數(shù)據(jù)。</p><p&
66、gt; USBVCC:USB接口的電源腳。</p><p> D+:USB數(shù)據(jù)腳。</p><p> D-:USB數(shù)據(jù)腳。</p><p><b> GND:電源腳。</b></p><p> VCC:+5V輸出,可提供給外部MCU使用,最大400mA</p><p><b>
67、 NC:空管腳。</b></p><p> 3.3.3 USB100控制時(shí)序</p><p> 發(fā)送時(shí)序[5]如圖3.8所示,當(dāng)單片機(jī)檢測(cè)到USB100模塊TXE為低時(shí),表示內(nèi)部發(fā)送緩沖區(qū)允許發(fā)送數(shù)據(jù),可以將數(shù)據(jù)通過(guò)八位數(shù)據(jù)總線D0…D7發(fā)給USB100模塊,發(fā)送數(shù)據(jù)鎖存由WR控制;USB100模塊TXE為高時(shí),禁止發(fā)送數(shù)據(jù)。</p><p>
68、 圖3.8 單片機(jī)發(fā)送數(shù)據(jù)時(shí)序圖</p><p> 接收時(shí)序[5]如圖3.9所示,當(dāng)單片機(jī)檢測(cè)到USB100模塊RXE為低時(shí),表示內(nèi)部接收緩沖區(qū)有數(shù)據(jù),可以通過(guò)八位數(shù)據(jù)總線D0…D7將數(shù)據(jù)從USB100模塊讀入,接收數(shù)據(jù)鎖存由RD控制。</p><p> 圖3.9 單片機(jī)接收數(shù)據(jù)時(shí)序圖</p><p> 3.3.4 USB100與單片機(jī)接口 </p
69、><p> USB100與單片機(jī)的接口電路如圖3.10所示,USB100通過(guò)總線隔離器與單片機(jī)接口,使得對(duì)USB100的操作有一個(gè)固定的地址。其中PB0~PB7與單片機(jī)的B口相連接,PA4、PA5分別與單片機(jī)的RA4和RA5相連接,PC0~PC3分別與RC0~RC3相連接。</p><p> 圖3.10 USB100與單片機(jī)的接口電路</p><p> 3.4
70、數(shù)據(jù)采集電路</p><p> 通信程序的正確與否只有檢驗(yàn)之后才能定論,考慮到實(shí)用性,本設(shè)計(jì)選擇壓力傳感器檢測(cè)的壓力數(shù)據(jù)作為通信的數(shù)據(jù)源。這樣既增強(qiáng)了設(shè)計(jì)的實(shí)用性,又便于對(duì)通信成功與否的評(píng)估。由于壓力傳感器精度很高,但其輸出的電壓信號(hào)差值很微弱,需經(jīng)過(guò)放大電路放大之后,才能送到微控制器里進(jìn)行處理。:由于本設(shè)計(jì)選用的壓力傳感器輸出的比較電壓信號(hào)變化范圍小,必須增大放大倍數(shù),傳統(tǒng)的一級(jí)放大和兩級(jí)放大電路很難調(diào)試出滿
71、意的結(jié)果。本設(shè)計(jì)改用由三個(gè)運(yùn)算放大器組成的精密放大電路[3],其原理如圖3.11所示。</p><p><b> 輸出電壓:</b></p><p> 本設(shè)計(jì)中,R6為1KΩ的滑動(dòng)變阻器,試驗(yàn)調(diào)整后正常工作是阻值為210Ω,R、 R7、Rf的阻值分別為820Ω、12KΩ和3.3KΩ。此電路可以放大差模信號(hào),抑制共模信號(hào)。差模放大倍數(shù)值愈大,共模抑制比愈高。當(dāng)輸入信
72、號(hào)中含有共模信號(hào)時(shí),也將被抑制。由上式可知,放大倍數(shù)約為460。其中U0與到單片機(jī)的PA0相連接。</p><p> 圖3.11 精密放大電路原理圖</p><p> 第四章 系統(tǒng)軟件設(shè)計(jì)</p><p> 本系統(tǒng)選用PIC單片機(jī)作為下位機(jī),它的程序設(shè)計(jì)是本設(shè)計(jì)的重點(diǎn),也是難點(diǎn)。這不僅要求熟悉PIC單片機(jī)編程的有關(guān)知識(shí),還要求根據(jù)USB100的數(shù)據(jù)手冊(cè)試驗(yàn)
73、出一套實(shí)用的通信協(xié)議程序模塊。在設(shè)計(jì)的過(guò)程中,考慮到實(shí)際需求增加了壓力采集模塊和LED顯示部分,使本設(shè)計(jì)的實(shí)用性得到了增強(qiáng)。</p><p> 4.1 下位機(jī)軟件設(shè)計(jì)</p><p> 4.1.1 LED顯示程序模塊</p><p> 分析LED引腳圖不難發(fā)現(xiàn),各數(shù)碼管段碼控制線采用共享的方式,所以數(shù)碼管顯示功能的實(shí)現(xiàn)必須采用動(dòng)態(tài)掃描的方式,其顯示子程序流
74、程如圖4.1所示。</p><p> 圖4.1 顯示程序流程圖</p><p> 4.1.2 數(shù)據(jù)發(fā)送模塊</p><p> 發(fā)送數(shù)據(jù)程序流程如圖4.2所示,該程序模塊能將字符型數(shù)據(jù)正確的發(fā)送到PC機(jī),由VB程序接收、處理后顯示。</p><p> 圖4.2 發(fā)送數(shù)據(jù)程序流程圖</p><p> 4.1
75、.3 數(shù)據(jù)接收模塊</p><p> 接收數(shù)據(jù)程序流程圖如圖4.3所示,該程序模塊能正確的接收VB發(fā)送的二進(jìn)制數(shù)據(jù),并將接收的數(shù)據(jù)分解、送顯。</p><p> 圖4.3 接收數(shù)據(jù)程序流程圖</p><p> 4.1.4 壓力數(shù)據(jù)采集模塊</p><p> 壓力數(shù)據(jù)采集主要包括兩個(gè)方面:A/D轉(zhuǎn)換和數(shù)據(jù)處理。</p>
76、<p><b> 1、A/D轉(zhuǎn)換流程</b></p><p> A/D轉(zhuǎn)換的種類繁多,工作原理各異,但逐次比較型A/D轉(zhuǎn)換是應(yīng)用較多的類型之一,其主要原因是該類型的A/D轉(zhuǎn)換速度快、精度高。逐次比較型A/D轉(zhuǎn)換由采樣保持電路、電壓比較器、逐次比較寄存器、數(shù)/模轉(zhuǎn)換器和鎖存器等部分組成。PIC16F73單片機(jī)具有5個(gè)A/D模擬輸入通道,器件內(nèi)所有模擬輸入通道均有采樣保持轉(zhuǎn)換器
77、,采用逐次逼近法產(chǎn)生模擬電平的數(shù)字結(jié)果,模擬輸入信號(hào)的A/D轉(zhuǎn)換結(jié)果為對(duì)應(yīng)的8位數(shù)字,參考電壓為5V。</p><p> A/D轉(zhuǎn)換程序流程圖如圖4.4所示。</p><p> 圖4.4 A/D轉(zhuǎn)換程序流程圖</p><p> 由圖4.4可見(jiàn),A/D轉(zhuǎn)換的工作過(guò)程分如下幾個(gè)步驟:</p><p> ?、胚x擇RA0為A/D轉(zhuǎn)換通道,使能
78、A/D轉(zhuǎn)換,ADCON0=0X41;</p><p> ?、妻D(zhuǎn)換結(jié)果右對(duì)齊,RA0為模擬輸入方式,ADCON1=0X8E;</p><p> ⑶清A/D轉(zhuǎn)換標(biāo)志位,ADIF=0;</p><p> ?、葐?dòng)A/D轉(zhuǎn)換,ADGO=1; </p><p> ?、膳袛嗍欠襁M(jìn)行了A/D轉(zhuǎn)換,即ADIF是否為1;若ADIF=1,則將A/D轉(zhuǎn)換的結(jié)果存
79、入寄存器之中。</p><p> 4.1.5 數(shù)據(jù)處理模塊</p><p> 單片機(jī)對(duì)采集數(shù)據(jù)的處理包括以下幾個(gè)方面:</p><p> ?、艑⑹蜛/D轉(zhuǎn)換的結(jié)果累加存入寄存器sum;</p><p> ?、茖um經(jīng)運(yùn)算處理后送顯示子程序顯示。</p><p><b> 數(shù)據(jù)處理程序如下:<
80、/b></p><p> for(i=1;i<11)</p><p> {while(!ADIF);</p><p><b> d=ADRESH;</b></p><p><b> e=ADRESL;</b></p><p> sum+=d×2
81、56+e;</p><p><b> i++;</b></p><p><b> ADIF=0; </b></p><p><b> ADGO=1;</b></p><p><b> } </b></p><p> if(
82、sum<6998) c=(6998-sum)×5/9; //標(biāo)定 </p><p> else c=0; //防止發(fā)生溢出</p><p> 上述處理具有以
83、下優(yōu)點(diǎn):</p><p> 將10次A/D轉(zhuǎn)換的結(jié)果運(yùn)算后送出顯示可以防止數(shù)據(jù)傳輸中的尖峰干擾,但降低了顯示程序的動(dòng)態(tài)性能。然而,由于10次A/D轉(zhuǎn)換所占用的指令周期并不長(zhǎng),本設(shè)計(jì)選用上述處理方式。</p><p> 標(biāo)定程序中加入了if語(yǔ)句,可以有效的防止由于相減為負(fù)數(shù)而發(fā)生溢出的情況,加入if(c>2000)語(yǔ)句可以起到超過(guò)2N發(fā)出警示的作用。</p><
84、p> 4.2 上位機(jī)軟件設(shè)計(jì)</p><p> VB全稱Visual Basic,是微軟公司推出的基于Basic語(yǔ)言的可視化編程環(huán)境,以其簡(jiǎn)單易學(xué)功能強(qiáng)大而倍受廣大電腦愛(ài)好者的青睞。隨著Windows在國(guó)內(nèi)的普及,特別是Windows95的推出,越來(lái)越多的微機(jī)用戶轉(zhuǎn)向了Windows操作系統(tǒng)。要開(kāi)發(fā)一個(gè)功能強(qiáng)、界面美觀的應(yīng)用軟件,其編程和調(diào)試的工作量是非常大的,許多并非搞軟件出身的工程技術(shù)人員對(duì)Win
85、dows編程望而生畏。</p><p> 然而使用微軟的Visual Basic來(lái)開(kāi)發(fā)這些方面的Windows應(yīng)用軟件就十分方便,一般工程技術(shù)人員易于掌握,設(shè)計(jì)軟件界面非常方便。編程工作量相對(duì)較小,只需進(jìn)行主要應(yīng)用功能的編程和少量界面控制的編程。Visual Basic更加簡(jiǎn)化了Windows程序接口的設(shè)計(jì)工作,只需要極少量的代碼,就能實(shí)現(xiàn)標(biāo)準(zhǔn)Windows應(yīng)用程序的接口?;谝陨蟽?yōu)點(diǎn),PC機(jī)采用VB編程設(shè)計(jì)界
86、面。</p><p> 4.2.1 串行通信控件的應(yīng)用</p><p><b> 1、串行通信控件</b></p><p> 在PC機(jī)上安裝USB100模塊專用驅(qū)動(dòng)程序后,USB100即作為PC機(jī)上的一個(gè)標(biāo)準(zhǔn)設(shè)備,可以按照與操作串口完全一樣的方法來(lái)編程,這也是USB100開(kāi)發(fā)與其他USB方案相比最大的優(yōu)點(diǎn)。在VB中可以將其按標(biāo)準(zhǔn)的串口來(lái)
87、使用,用MScomm控件將USB100當(dāng)作一個(gè)真實(shí)的串口來(lái)連接,并進(jìn)行控制,此串口通信速率為8Mbps,PC上設(shè)定該串口的速率不會(huì)對(duì)傳輸速率有影響,這是與實(shí)際串口的區(qū)別。</p><p> 2、串行通信程序?qū)崿F(xiàn)</p><p> 通信初始化設(shè)置程序如下:</p><p> With MSComm1 '通訊初始化</p
88、><p> InputMode = comInputModeBinary '設(shè)置接收數(shù)據(jù)模式為二進(jìn)制形式</p><p> .InputLen = 10 '設(shè)置Input 一次從接收緩沖讀取字節(jié)數(shù)為10</p><p> .SThreshold = 5 '少于5字節(jié)時(shí)生成oncomm事件</p><p>
89、 .RThreshold =4 '當(dāng)接收緩沖區(qū)達(dá)到20個(gè)字節(jié)時(shí)引發(fā)接收事件</p><p> .InBufferCount = 0 '清收發(fā)緩沖區(qū)</p><p> .OutBufferCount = 0</p><p><b> End With</b></p><
90、;p> 3、PC機(jī)接收數(shù)據(jù)程序流程圖</p><p> PC機(jī)接收數(shù)據(jù)程序流程圖如圖4.5所示。</p><p> 圖4.5 PC機(jī)接收數(shù)據(jù)程序流程圖</p><p> 4.2.2 數(shù)據(jù)處理</p><p> 如果有隨機(jī)干擾作用于信號(hào)傳輸過(guò)程中,VB接收到的數(shù)據(jù)就會(huì)偏離真實(shí)值。這樣一來(lái),僅采樣一次,是無(wú)法確定該結(jié)果是否可信
91、的,必須多次采樣,得到一個(gè)A/D轉(zhuǎn)換的數(shù)據(jù)系列,通過(guò)某種算法處理后,才能得到一個(gè)可信度較高的結(jié)果。</p><p> PC機(jī)的優(yōu)勢(shì)在于它具有高速和大批量數(shù)據(jù)處理能力,本設(shè)計(jì)充分利用PC機(jī)的這個(gè)優(yōu)點(diǎn),在程序中加入了求平均值算法。標(biāo)定處理主要完成采集到的數(shù)據(jù)與實(shí)測(cè)數(shù)據(jù)的映射關(guān)系處理,它需要不斷的根據(jù)實(shí)測(cè)數(shù)據(jù)校正。</p><p> 4.2.3 數(shù)據(jù)庫(kù)</p><p&g
92、t; 數(shù)據(jù)采集的目的是對(duì)其進(jìn)行分析處理或備案,將所得的數(shù)據(jù)存入數(shù)據(jù)庫(kù)后可以方便的執(zhí)行各種處理,又具有備案作用,所以,在程序中加入數(shù)據(jù)庫(kù)操作部分是非常必要的。</p><p> 所謂數(shù)據(jù)庫(kù)(DataBase,DB)[10]就是長(zhǎng)期存放在計(jì)算機(jī)內(nèi),以一定組織方式動(dòng)態(tài)存儲(chǔ)的、相互關(guān)聯(lián)的、可共享的數(shù)據(jù)集合,它不僅包括數(shù)據(jù)本身,還包括相關(guān)數(shù)據(jù)之間的聯(lián)系。數(shù)據(jù)庫(kù)最大特點(diǎn)是通過(guò)聯(lián)系減少了不必要的數(shù)據(jù)冗余。同時(shí),不同用戶可以
93、使用同一數(shù)據(jù)庫(kù)中自己所需的子集,從而實(shí)現(xiàn)數(shù)據(jù)共享。利用“可視化數(shù)據(jù)管理器”可以進(jìn)行的數(shù)據(jù)庫(kù)基本操作包括添加記錄、編輯記錄、刪除記錄等。</p><p> 數(shù)據(jù)(Data)控件是VB提供的一個(gè)標(biāo)準(zhǔn)控件,通過(guò)該控件無(wú)需編寫(xiě)代碼就可以方便地訪問(wèn)VB所支持的各種類型數(shù)據(jù)庫(kù)中的數(shù)據(jù)。數(shù)據(jù)控件本身并不能顯示和直接修改記錄,只能在與數(shù)據(jù)控件相關(guān)聯(lián)的數(shù)據(jù)約束控件中顯示各個(gè)記錄。</p><p> 數(shù)據(jù)
94、錄入數(shù)據(jù)庫(kù)的程序如下:</p><p> Sub ru_ku() </p><p> Me.Data1.Recordset.AddNew '數(shù)據(jù)庫(kù)記錄開(kāi)始</p><p> Text6.Text = j</p><p> Text7.Text = Time</p><p&g
95、t; Text5.Text = Trim(Date)</p><p> Me.Data1.Recordset.Update</p><p><b> End Sub</b></p><p> 其中,Text5、Text6和Text7分別與數(shù)據(jù)庫(kù)列表中的日期、壓力和時(shí)間對(duì)應(yīng)。考慮到寫(xiě)入數(shù)據(jù)庫(kù)操作和VB界面不能同時(shí)進(jìn)行,本設(shè)計(jì)采用兩個(gè)文本對(duì)
96、應(yīng)同一錄入項(xiàng)的處理方法,即將處理后的數(shù)據(jù)同時(shí)送入兩個(gè)Text文本框,其中一個(gè)用于界面中的實(shí)時(shí)顯示,另一個(gè)則設(shè)為隱藏方式,它與數(shù)據(jù)庫(kù)列表中的對(duì)應(yīng)項(xiàng)關(guān)聯(lián),由它完成數(shù)據(jù)庫(kù)的錄入工作。</p><p> 部分?jǐn)?shù)據(jù)庫(kù)的記錄如圖4.6所示:</p><p> 圖4.6 數(shù)據(jù)庫(kù)中的記錄圖</p><p> 由于采集到的數(shù)據(jù)用Text文本顯示不能留住歷史記錄,用列表框(Li
97、stBox)顯示雖然可以查找歷史數(shù)據(jù),但效果很差。本設(shè)計(jì)選擇MSFlexGrid 控件進(jìn)行列表顯示采集到的數(shù)據(jù),MSFlexGrid 控件的一個(gè)主要特性是它能顯示層次結(jié)構(gòu)記錄集,以層次結(jié)構(gòu)方式顯示關(guān)系表,另外,它可以顯示網(wǎng)格數(shù)據(jù),也可以對(duì)其進(jìn)行操作。它提供了高度靈活的網(wǎng)格排序、合并和格式設(shè)置功能,網(wǎng)格中可以包含字符串和圖片。使用該控件后,VB人機(jī)界面如圖4.7所示。</p><p> 與MSFlexGrid控件
98、有關(guān)的程序說(shuō)明如下:</p><p><b> 數(shù)據(jù)表格屬性設(shè)置:</b></p><p> Me.MSFlexGrid1.TextMatrix(0, 0) = "編號(hào)"</p><p> Me.MSFlexGrid1.TextMatrix(0, 1) = "壓力值"</p><
99、p> Me.MSFlexGrid1.TextMatrix(0, 2) = "日期"</p><p> Me.MSFlexGrid1.TextMatrix(0, 3) = "時(shí)間"</p><p> Me.MSFlexGrid1.TextMatrix(0, 4) = "檢測(cè)次數(shù)"</p><p>
100、 如何通過(guò)代碼調(diào)節(jié)列寬度</p><p> MSFlexGrid1.ColWidth(i) = 1000</p><p> MSFlexGrid1.ColWidth(i + 1) = 1300</p><p> MSFlexGrid1.ColWidth(i + 2) = 1000</p><p> MSFlexGrid1.ColWi
101、dth(i + 3) = 1000</p><p> 設(shè)置數(shù)據(jù)表格中的內(nèi)容居中顯示</p><p> MSFlexGrid1.ColAlignment(Index) = 5</p><p> MSFlexGrid1.ColAlignment(Index + 1) = 5</p><p> MSFlexGrid1.ColAlignmen
102、t(Index + 2) = 5</p><p> MSFlexGrid1.ColAlignment(Index + 3) = 5</p><p> MSFlexGrid1.ColAlignment(Index + 4) = 5</p><p> 圖4.7 VB人機(jī)界面</p><p><b> 結(jié) 論</b&
103、gt;</p><p> 經(jīng)過(guò)近三個(gè)多月的努力,畢業(yè)設(shè)計(jì)已近尾聲。這次畢業(yè)設(shè)計(jì)是大學(xué)四年所學(xué)知識(shí)的綜合運(yùn)用,是對(duì)四年學(xué)習(xí)的總結(jié)和完善。</p><p> 本設(shè)計(jì)主要完成了以下設(shè)計(jì)任務(wù):</p><p> ?、盼⒖刂破髋cUSB控制芯片的接口硬件設(shè)計(jì),該設(shè)計(jì)結(jié)果能滿足PC機(jī)與PIC單片機(jī)通信的基本要求,并具有通信工作指示功能,它具有一定的實(shí)用性,是在總結(jié)他人成功經(jīng)驗(yàn)
104、又進(jìn)一步完善而成的;</p><p> ?、莆⒖刂破髋cUSB控制芯片的通信程序設(shè)計(jì),該程序能夠完成正確的數(shù)據(jù)收發(fā)工作,并具有一定的通用性和很強(qiáng)的移植性;</p><p> ?、俏⒖刂破髂M數(shù)據(jù)采集部分軟硬件設(shè)計(jì),該部分由精密放大電路和PIC的A/D轉(zhuǎn)換部分組成,能夠正確的完成壓力數(shù)據(jù)采集任務(wù),還增加了PIC單片機(jī)的LED顯示部分,使下位機(jī)系統(tǒng)具有了獨(dú)立工作的能力;</p>&
105、lt;p> ?、萈C機(jī)與USB控制芯片的通信程序設(shè)計(jì),該程序能夠正確接收來(lái)自PIC單片機(jī)的數(shù)據(jù),并將其列表顯示,增加的數(shù)據(jù)庫(kù)錄入環(huán)節(jié)使系統(tǒng)功能更加完善。</p><p> 由于本人的能力和設(shè)計(jì)時(shí)間有限,設(shè)計(jì)還存在如下不足之處:PC機(jī)的發(fā)送數(shù)據(jù)模塊和PIC單片機(jī)的接收數(shù)據(jù)模塊之間的相互協(xié)調(diào)有待進(jìn)一步改進(jìn);PC機(jī)的數(shù)據(jù)處理能力沒(méi)有很好利用,數(shù)據(jù)傳輸速率有待進(jìn)一步提高。</p><p>
106、<b> 參考文獻(xiàn)</b></p><p> [1]洪永強(qiáng). 微機(jī)原理與接口技術(shù).北京[M]:科學(xué)出版社,2004.6</p><p> [2]蕭世文. USB 2.0硬件設(shè)計(jì)[M].北京:清華大學(xué)出版社,2002.10</p><p> [3]張春平 耿恒山. 微控制器在USB接口中的應(yīng)用[M]. 中國(guó)電子網(wǎng)</p>&
107、lt;p> [4]迅通電子. USB100通用串行總線模塊[J]. 迅通科技數(shù)據(jù)手冊(cè)</p><p> [5]王鐵鈞. 主從控制系統(tǒng)的數(shù)據(jù)通訊. 中國(guó)工控網(wǎng)</p><p> [6]劉啟中等. PIC單片機(jī)原理及應(yīng)用. 北京:北京航空航天大學(xué)出版社,2003.12</p><p> [7]劉和平等. PIC16F87X單片機(jī)實(shí)用軟件與接口技術(shù). 北京:
108、北京航空航天大學(xué)出版社,2002.4</p><p> [8]譚浩強(qiáng). C程序設(shè)計(jì). 北京:清華大學(xué)出版社,1999.12</p><p> [9]羅朝盛. Visual Basic 6.0程序設(shè)計(jì)實(shí)用教程. 北京:清華大學(xué)出版社,2004.6</p><p> [10]廖彬山等. Visual Basic面向?qū)ο笈c可視化程序設(shè)計(jì). 北京:清華大學(xué)出版社,20
109、00.10</p><p> [11]范逸之,陳立元. Visual Basic與RS-232串行通信控制. 北京:清華大學(xué)出版社,2002.6</p><p> [12]許永和. USB外圍設(shè)備設(shè)計(jì)與應(yīng)用. 北京:中國(guó)電力出版社,2002.7</p><p> [13]張念淮,江浩. USB總線接口開(kāi)發(fā)指南. 北京:國(guó)防工業(yè)出版社,2001.3</p&
110、gt;<p> [14]何立民. 單片機(jī)高級(jí)教程. 北京:北京航空航天大學(xué)出版社,2000</p><p> [15]Hi_TECH. PICC_ME. Manual. 2001</p><p> [16]Microchip Technology Inc.PIC16F877 Data Sheet.2003</p><p> [17]John K
111、oon. The USB Revolution. 2005.3.25</p><p><b> 致 謝</b></p><p> 在設(shè)計(jì)制作過(guò)程中,楊光老師傾注了大量的心血,他的悉心指導(dǎo)是本設(shè)計(jì)能夠圓滿完成的基礎(chǔ);他嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、淵博的知識(shí)和豐富的研究經(jīng)驗(yàn),使我受益菲淺;他無(wú)私的奉獻(xiàn)精神和誨人不倦的育人態(tài)度,使我受益終身。在此,向揚(yáng)老師致以由衷的敬意和誠(chéng)摯
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)----基于usb的串行通信軟硬件設(shè)計(jì)
- 基于USB接口的軟硬件協(xié)同驗(yàn)證平臺(tái)設(shè)計(jì).pdf
- 指紋采集系統(tǒng)中USB接口的軟硬件設(shè)計(jì).pdf
- 基于usb2.0的配置接口電路軟硬件設(shè)計(jì)與實(shí)現(xiàn)
- 基于usb2.0的視頻處理系統(tǒng)軟硬件設(shè)計(jì)與實(shí)現(xiàn)
- 二軟硬件
- 基于串口通信的上-下位機(jī)控制系統(tǒng)軟硬件設(shè)計(jì).pdf
- tee軟硬件檢測(cè)
- 基于PowerPC與VxWorks的通信設(shè)備軟硬件平臺(tái)開(kāi)發(fā).pdf
- 軟硬件銷售合同
- FPGA-USB-VB軟硬件協(xié)同設(shè)計(jì)方法的研究與實(shí)現(xiàn).pdf
- 基于ZigBee的無(wú)線傳感器網(wǎng)絡(luò)通信節(jié)點(diǎn)的軟硬件設(shè)計(jì).pdf
- 軟硬件設(shè)備采購(gòu)標(biāo)書(shū)
- 基于SoPC系統(tǒng)的軟硬件劃分.pdf
- 【全套設(shè)計(jì)】基于plc的控制系統(tǒng)軟硬件設(shè)計(jì)
- 基于arm的小區(qū)車輛進(jìn)出管理系統(tǒng)軟硬件設(shè)計(jì)
- 基于ARM的手持終端PDA軟硬件系統(tǒng)設(shè)計(jì).pdf
- 基于UML和SystemC的軟硬件協(xié)同設(shè)計(jì)研究.pdf
- 電控柴油噴射軟硬件設(shè)計(jì).pdf
- 基于IC測(cè)試系統(tǒng)數(shù)據(jù)采集的軟硬件設(shè)計(jì).pdf
評(píng)論
0/150
提交評(píng)論