usb數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)_第1頁
已閱讀1頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)設(shè)計(jì)(論文)</b></p><p>  題 目:USB數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)</p><p>  專 業(yè):精密機(jī)械制造與維修</p><p>  班 次: </p><p>  姓 名: </p><

2、;p>  指導(dǎo)老師: </p><p><b>  二OO七年六月</b></p><p><b>  摘 要</b></p><p>  USB通用串行總線是計(jì)算機(jī)外設(shè)接口的發(fā)展趨勢(shì),它的最大特點(diǎn)就是傳輸速度快、即插即用、易擴(kuò)展,使用非常方便,被越來越廣泛的應(yīng)用于工業(yè)控制和數(shù)字設(shè)備中。其連接方式非

3、常靈活,既可使用串行連接,也可使用集線器(HUB)把多個(gè)設(shè)備連接在一起,與同PC機(jī)的USB接口相連。此外,它還可以從系統(tǒng)中直接汲取電源,無需單獨(dú)的供電系統(tǒng)。</p><p>  本論文以西安泰達(dá)電子公司生產(chǎn)的USB20C模塊設(shè)計(jì)了一個(gè)基于USB數(shù)據(jù)接口,數(shù)據(jù)傳輸和存儲(chǔ)的系統(tǒng),同時(shí)采用VB語言進(jìn)行了內(nèi)部程序的設(shè)計(jì)。</p><p>  關(guān)鍵字: USB 接口技術(shù) AT89

4、C51 數(shù)據(jù)采集和存儲(chǔ)</p><p><b>  Abstract</b></p><p>  The USB universal serial bus usb is outside the computer supposes theconnection the development tendency, its most major characteristi

5、c isthe transmission speed quick, namely inserts namely with, is easy toexpand, the use is extremely convenient, by more and more widespreadapplication in industry control and digital equipment. Its connectionway extreme

6、ly nimble, also may use the serial connection, also may usethe concentrator (HUB) many equipment to connect in, with is togetherconnected with the</p><p>  Key Words:USB Connection technology AT89C51……Da

7、ta acquisition and memory</p><p><b>  目 錄</b></p><p><b>  摘 要2</b></p><p>  Abstract2</p><p>  第一章.前言及總體設(shè)計(jì)方案的選擇4</p><p>

8、<b>  1.1.前言4</b></p><p>  1.2 設(shè)計(jì)方案的選擇5</p><p>  1.2.1硬件:5</p><p>  1.2.2.軟件設(shè)計(jì):6</p><p>  第二章 硬件電路的設(shè)計(jì)7</p><p>  2.1 模數(shù)轉(zhuǎn)換電路7</p><

9、;p>  2.1.1. 51系列單片機(jī)簡介7</p><p>  2.1.2. 模數(shù)轉(zhuǎn)換芯片的介紹及選擇14</p><p>  2.1.3.模數(shù)轉(zhuǎn)換電路圖15</p><p>  2.2 USB模塊接口電路16</p><p>  2.2.1 USB20C模塊介紹16</p><p>  2.2.1.

10、2.硬件描述17</p><p> ?。?2.2.USB模塊與單片機(jī)的接口電路20</p><p> ?。?2.3.總體電路的設(shè)計(jì)23</p><p>  第三章 軟件設(shè)計(jì)25</p><p> ?。?1.Visual Basic簡介25</p><p>  3.2. USB20C函數(shù)接口介紹25</

11、p><p>  .3.2.1,USB設(shè)備操作函數(shù)25</p><p>  3.2.2.函數(shù)原型說明26</p><p>  3.3 程序設(shè)計(jì)28</p><p>  3.3.1上位機(jī)程序框圖28</p><p>  3.3.2. VB程序設(shè)計(jì)29</p><p><b>  第四

12、章.結(jié)論41</b></p><p><b>  .謝辭42</b></p><p><b> ?。戒?3</b></p><p><b> ?。畢⒖嘉墨I(xiàn)44</b></p><p>  第一章.前言及總體設(shè)計(jì)方案的選擇</p><p&

13、gt;<b>  1.1.前言</b></p><p>  隨著計(jì)算機(jī)技術(shù)的發(fā)展和計(jì)算機(jī)應(yīng)用的普及,計(jì)算機(jī)的通信問題成了其應(yīng)用的主要問題之一。而現(xiàn)在廣泛使用的USB接口已經(jīng)越來越多的應(yīng)用于工業(yè)生產(chǎn)、數(shù)字設(shè)備等領(lǐng)域。USB通用串行總線將是計(jì)算機(jī)外設(shè)接口的發(fā)展趨勢(shì),將逐漸取代PC機(jī)上的RS232協(xié)議口。</p><p>  USB具有速度快,即插即用,易擴(kuò)展等優(yōu)點(diǎn),被越來

14、越廣泛的使用。但是仍然有很多的設(shè)備上面沒有USB接口,而接收的數(shù)據(jù)又以USB的方式出現(xiàn),那么在數(shù)據(jù)的接收端則要求將USB信號(hào)轉(zhuǎn)換成傳統(tǒng)的RS232信號(hào)以便接收;另一方面也會(huì)出現(xiàn)一端以RS232方式通信,而另一端為USB接口。他們都同樣的涉及到USB與RS232的相互轉(zhuǎn)換問題。本課題所研究的內(nèi)容就是就是要設(shè)計(jì)這樣一個(gè)轉(zhuǎn)換系統(tǒng),使其能夠?qū)崿F(xiàn)他們之間的相互轉(zhuǎn)換。</p><p>  要實(shí)現(xiàn)這種轉(zhuǎn)換,第一種方案是采用普通

15、單片機(jī)加專用USB接口芯片;采用帶USB接口的單片機(jī),即專用US13控制器芯片。目前國外有很多半導(dǎo)體廠商都設(shè)計(jì)生產(chǎn)出自己的USB接口芯片,例如USBN9602 (National Semiconductor公司)、PDIUSBD I2 (Philips公司)和USS820/825 (Lucent公司);Cygnal公司生產(chǎn)的CP201使用也相當(dāng)方便。在國內(nèi)方面:凌陽公司生產(chǎn)的SPCP825A芯片就帶有UART與USB格式轉(zhuǎn)換的功能;南

16、京沁恒電子公司生產(chǎn)的CH341、CH372、CH375等芯片都是很好的USB接口芯片。這種方案的優(yōu)點(diǎn)是:開發(fā)人員可以利用現(xiàn)有單片機(jī)開發(fā)系統(tǒng)開發(fā)外設(shè)應(yīng)用程序,缺點(diǎn)是硬件設(shè)計(jì)比較復(fù)雜,調(diào)試麻煩。</p><p>  第二種方案是采用西安泰達(dá)電子公司生產(chǎn)的USB20C模塊為器件,USB20C是于西安電子有限公司設(shè)計(jì)的USB2.0C設(shè)備通用接口模塊,它隱藏了通過USB總線進(jìn)行數(shù)據(jù)傳輸所需要的煩瑣技術(shù)細(xì)節(jié).應(yīng)用程序通過調(diào)用

17、本模塊提供的函數(shù),可以把相應(yīng)的功能轉(zhuǎn)變成模塊硬件接口上的一系列脈沖和電平,發(fā)送到外圍邏輯,進(jìn)行指定的數(shù)據(jù)傳輸,從而極大的簡化USB設(shè)備的設(shè)計(jì)工作.</p><p>  USB設(shè)備的應(yīng)用目前在國外處于高速發(fā)展階段,在國內(nèi)也已廣泛運(yùn)用,在USB數(shù)據(jù)采集,USB工業(yè)控制等領(lǐng)域已經(jīng)取得了一定的成果,在現(xiàn)實(shí)中等到成功的運(yùn)用。USB2.0協(xié)議,數(shù)據(jù)傳輸速度高達(dá)480MBPS,如此高的傳輸速率能用于1.0的傳輸速率所無法滿足的

18、地方。如高時(shí)實(shí)性的工業(yè)設(shè)備控制,動(dòng)態(tài)圖象實(shí)時(shí)傳輸?shù)?。隨著時(shí)代的進(jìn)步和技術(shù)的發(fā)展,USB必將在更廣泛的領(lǐng)域得到更深層次得應(yīng)用。VISUAL BASIC 系列軟件是美國MICROSOFT公司推出得,是很好得程序設(shè)計(jì)系統(tǒng)。我們將借助它方便,快捷以及功能強(qiáng)大等特點(diǎn)來完成這次畢業(yè)設(shè)計(jì)。</p><p>  1.2 設(shè)計(jì)方案的選擇</p><p><b>  1.2.1硬件:</b&

19、gt;</p><p>  USB20C可以作為用戶系統(tǒng)的嵌入式模塊使用,用戶無需深入了解USB的協(xié)議及底層控制操作,就像操作PC總線一樣,通過USB接口實(shí)現(xiàn)對(duì)用戶系統(tǒng)的控制。</p><p>  對(duì)于筆記本電腦來說,使用USB接口的意義更加重大,通用的USB接口不僅使筆記本電腦對(duì)外的連接變得方便,更可以使筆記本電腦生產(chǎn)廠商不再需要為不同配件在主板上安裝不同的接口,這使主板的線路,組件的數(shù)

20、量以及復(fù)雜程度都有不用程度的消減,從而使系統(tǒng)運(yùn)行中的散熱問題得到很好的改善。也將促進(jìn)更高主頻的處理器可以迅速應(yīng)用在移動(dòng)計(jì)算機(jī)中,使筆記本電腦于PC的差距進(jìn)一步縮小。</p><p>  USB20C控制模塊發(fā)揮了USB2.0高速數(shù)據(jù)傳輸?shù)奶攸c(diǎn),尤其適合于高速數(shù)據(jù)采集及圖象數(shù)據(jù)傳輸設(shè)備,用于醫(yī)療,地震,振動(dòng),監(jiān)控,虛擬儀器,科研實(shí)驗(yàn)室,工業(yè)生產(chǎn)現(xiàn)場領(lǐng)域的數(shù)據(jù)采集設(shè)備,特別是為便攜式筆記本電腦和日益流行的餓掌上電腦數(shù)

21、據(jù)采集提供了極為廣闊的發(fā)展空間。</p><p>  本論文的硬件主要有三部分組成:西安泰達(dá)電子公司生產(chǎn)的USB20C模塊,單片機(jī)AT89C51及模數(shù)轉(zhuǎn)換ADC0809。外部模擬信號(hào)從ADC0809的8個(gè)輸入口進(jìn)入,經(jīng)模數(shù)轉(zhuǎn)換后變成數(shù)字信號(hào)輸出到單片機(jī)AT89C51內(nèi)進(jìn)行信息處理,單片機(jī)連接到USB20C模塊上,數(shù)據(jù)傳輸?shù)侥K上進(jìn)一步處理,最后連接到個(gè)人計(jì)算機(jī)中。本設(shè)計(jì)的硬件連接框圖如下所示:</p>

22、<p>  1.2.2.軟件設(shè)計(jì):</p><p>  USB接口數(shù)據(jù)采集系統(tǒng)軟件主要由USB芯片軟件程序,USB系統(tǒng)驅(qū)動(dòng)程序和計(jì)算機(jī)應(yīng)用程序三大部分組成。</p><p>  本設(shè)計(jì)采用的USB20C接口c,USB芯片軟件程序由USB20C 自帶,不需另外編寫。</p><p>  USB系統(tǒng)驅(qū)動(dòng)程序采用中斷方式完成軟件的編寫;同時(shí),為了保證程序的模

23、塊化及良好的可移植性,在設(shè)計(jì)中采用分層結(jié)構(gòu)進(jìn)行軟件的編寫。</p><p>  本論文的程序主要為上位機(jī)程序,考慮到大一時(shí)學(xué)過VB程序設(shè)計(jì),所以在本文中的上位機(jī)程序均才用VB來編。</p><p>  第二章 硬件電路的設(shè)計(jì)</p><p>  本設(shè)計(jì)要涉及大量的電路基礎(chǔ)知識(shí),為更詳細(xì)的介紹本設(shè)計(jì)的思想,接下來將介紹有關(guān)電路方面的知識(shí),包括:MCS-51系列單片機(jī)的

24、介紹,51單片機(jī)的通信原理,USB20C的使用說明,模數(shù)轉(zhuǎn)換器A/D0809的介紹,特別是對(duì)USB20C,本章對(duì)其進(jìn)行了重點(diǎn)介紹。在各小節(jié)進(jìn)行子電路的設(shè)計(jì),在第三節(jié)將子電路綜合起來,進(jìn)行總電路的連接和設(shè)計(jì)。</p><p>  2.1 模數(shù)轉(zhuǎn)換電路</p><p>  模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)示進(jìn)行本設(shè)計(jì)的第一步,所以即顯得格外的重要。而模數(shù)轉(zhuǎn)換涉及到模數(shù)轉(zhuǎn)換器選擇的問題,也涉及到單片機(jī)的接

25、口問題,所以在進(jìn)行電路設(shè)計(jì)前對(duì)51單片機(jī)及A/D轉(zhuǎn)換器進(jìn)行適當(dāng)?shù)慕榻B示很有必要的。</p><p>  2.1.1. 51系列單片機(jī)簡介</p><p>  2.1.1.1、8051簡介</p><p>  MCS-51 是由美國INTEL公司生產(chǎn)的一系列單片機(jī)的總稱,包括8031,8051,8751,87C51、89C51、8032,8052等。下圖是本課題中87

26、C51引腳圖和邏輯符號(hào)圖:</p><p>  圖3.1 引腳圖和邏輯符號(hào)</p><p>  2.1.1.2、MCS-51單片機(jī)引腳功能</p><p>  1、電源:單片機(jī)使用的是5V電源,其中正極接VCC引腳,負(fù)極接VSS引腳。</p><p>  2、振蕩電路:單片機(jī)是一種時(shí)序電路,必須提供脈沖信號(hào)才能正常工作,在單片機(jī)內(nèi)部已集成了振

27、蕩器。當(dāng)使用外接晶體振蕩器時(shí),接(18)、(19)腳。 </p><p>  3、ALE/PROG (30):地址鎖存控制信號(hào),高電平有效。在系統(tǒng)擴(kuò)展時(shí),ALE用于控制把P0口輸出的低8位地址鎖存起來,以實(shí)現(xiàn)低位地址和數(shù)據(jù)的隔離。</p><p>  4、復(fù)位電路,RST/VPD (9):復(fù)位信號(hào)輸入端。8051接通電源后,在時(shí)鐘電路作用下,該腳上出現(xiàn)兩個(gè)機(jī)器周期(24個(gè)振蕩周期)以上的高

28、電平,使內(nèi)部復(fù)位。第二功能是VPD ,即備用電源輸入端。當(dāng)主電源VCC 發(fā)生故障,降低到低電平規(guī)定值時(shí),VPD 將為RAM提供備用電源,以保證存儲(chǔ)在RAM中的信號(hào)不丟失。</p><p>  5、EA/VPP:內(nèi)部和外部程序存儲(chǔ)器選擇線。EA=0時(shí)訪問外部ROM 0000H~FFFFH;EA=1時(shí),地址0000H~0FFFH空間訪問內(nèi)部ROM,地址1000H~FFFFH空間訪問外部ROM。</p>

29、<p>  6、PSEN(29):片外程序存儲(chǔ)器選通信號(hào),低電平有效</p><p>  7、輸入/輸出口引腳P0、P1、P2和P3:P0口(39~32):該端口為漏極開路的8位準(zhǔn)雙向口,負(fù)載能力為8個(gè)高LSTTL負(fù)載,它為8位地址線和8位數(shù)據(jù)線的復(fù)用端口。P1口(1~8):它是一個(gè)內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口,P1口的驅(qū)動(dòng)能力為4個(gè)LSTTL負(fù)載。P2口(21~28):它為一個(gè)內(nèi)部帶上拉電阻的8

30、位準(zhǔn)雙向I/O口,P2口的驅(qū)動(dòng)能力也為4個(gè)LSTTL負(fù)載。在訪問外部程序存儲(chǔ)器時(shí),它作存儲(chǔ)器的高8位地址線。P3口(10~17):P3口同樣是內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口,P3口除了作為一般的I/O口使用之外,其還具有特殊功能。</p><p>  2.1.1.3.、8051單片機(jī)的結(jié)構(gòu)特點(diǎn)</p><p>  8051單片機(jī)是MCS-51系列單片機(jī)的一個(gè)產(chǎn)品。MCS-51系列單片機(jī)

31、是Intel公司推出的通用型單片機(jī)。8051單片機(jī)是HMOS工藝的,它的片內(nèi)程序存儲(chǔ)器ROM為掩膜型的,在制造芯片時(shí)已將應(yīng)用程序固化進(jìn)去,使它具有了某種專用功能。其特點(diǎn)如下:</p><p>  1.?dāng)?shù)據(jù)存儲(chǔ)器(RAM):片內(nèi)為128個(gè)字節(jié)(單元),片外最多可外擴(kuò)至64K字節(jié)。</p><p>  2.程序存儲(chǔ)器(ROM):片內(nèi)為4K字節(jié),片外最多可外擴(kuò)至64K字節(jié)。</p>

32、<p>  3.中斷系統(tǒng):有5個(gè)中斷源,2級(jí)中斷優(yōu)先權(quán)。</p><p>  4.定時(shí)器/計(jì)數(shù)器:2個(gè)16位的定時(shí)器/計(jì)數(shù)器,具有四種工作方式。</p><p>  5.串行口:1個(gè)全雙工的串行口,具有四種工作方式。</p><p>  6.并行口:4個(gè)8位并行I/O口,即P0口、P1口、P2口、P3口。</p><p>  7.

33、特殊功能寄存器(SFR):共有21個(gè),用于對(duì)片內(nèi)各功能模塊進(jìn)行管理、控制、監(jiān)視。實(shí)際上是一些控制寄存器和狀態(tài)寄存器,是一個(gè)特殊功能的RAM區(qū)。</p><p>  8.位處理器(CPU):為8位的CPU,且內(nèi)含一個(gè)1位CPU(位處理器)不僅可處理字節(jié)數(shù)據(jù),還可進(jìn)行位變量的處理。</p><p>  9.片內(nèi)振蕩器及時(shí)鐘電路,具有布爾代數(shù)的運(yùn)算能力。</p><p>

34、  2.1.1.4、單片機(jī)的時(shí)鐘電路與復(fù)位電路</p><p> ?。ㄒ唬r(shí)鐘系統(tǒng)的設(shè)計(jì)</p><p>  80C51系列單片機(jī)片內(nèi)時(shí)鐘振蕩器與外部諧振電路如圖3.2.3所示,其片內(nèi)振蕩器與外部諧振電路構(gòu)成了一個(gè)并聯(lián)諧振的時(shí)鐘振蕩電路。外部諧振電路并行連接石英晶體或陶瓷諧振器QC和負(fù)載電容C1、C2、QC通常都按時(shí)鐘頻率選擇相應(yīng)的石英諧振器。80C51系列單片機(jī)可使用的外部獨(dú)立時(shí)鐘振蕩器

35、產(chǎn)生時(shí)鐘信號(hào)。使用外部時(shí)鐘信號(hào)時(shí),輸入連接如圖3.2.2,3.2.1是本課題中使用的時(shí)鐘電路:</p><p><b>  (二) 復(fù)位電路</b></p><p> ?。?)典型的上電復(fù)位電路如圖3.3.1(本課題中使用到):</p><p> ?。?)外部復(fù)位電路如圖3.3.2:</p><p> ?。?)上電及外部

36、復(fù)位電路如圖3.3.3(本課題中使用到):</p><p> ?。?)上電外部復(fù)位電路如圖3.3.4:</p><p>  2.1.1.5、系列單片機(jī)的中斷系統(tǒng)</p><p>  中斷是指中央處理器CPU正在處理某事情的時(shí)候,外部又發(fā)生了某一件事需要CPU迅速處理,于是CPU暫時(shí)中斷當(dāng)前的工作,轉(zhuǎn)入處理所發(fā)生的事件,中斷處理完后在返回到原來的地方繼續(xù)處理原來的事件

37、。8051中一共有5個(gè)中斷源:兩個(gè)外部中斷INT0和INT1,兩個(gè)計(jì)數(shù)/定時(shí)器中斷T1和T2,一個(gè)串行口中斷。本課題中用到了串行中斷,INT0/1,其電氣連接見電氣原理圖,在應(yīng)用程序中也有體現(xiàn)。</p><p> ?。ㄒ唬㎝CS-51中斷系統(tǒng)的控制寄存器</p><p>  定時(shí)器/計(jì)數(shù)器控制寄存器TCON(地址是88H,可以按位尋址)</p><p>  

38、3; IE1/IE0:外部邊沿觸發(fā)中斷請(qǐng)求標(biāo)志,其功能和操作類似于TF0。</p><p>  · IT1/IT0:外部中斷類型控制位,通過軟件設(shè)置或清除,用于控制外中斷的觸發(fā)信號(hào)類型。IT1=1是邊沿觸發(fā),IT=0是電平觸發(fā)。</p><p>  ·SCON是串行口控制寄存器,地址為98H,低二位是串行口的發(fā)送/接收中斷標(biāo)志:</p>

39、<p>  · TI:MCS-51串行口的發(fā)送中斷標(biāo)志,在串行口以方式0發(fā)送時(shí),發(fā)送完8位數(shù)據(jù),由硬件置位。但是CPU響應(yīng)中斷請(qǐng)求后,必須有“CLR TI”或“ANL SCON, #0FDH”等指令來清零TI。·  RI:串行口接收中斷標(biāo)志,若串行口接收器允許接收,并以方式0工作,每當(dāng)接收到8位數(shù)據(jù)時(shí),RI被置1,若以方式1、2、3方式工作,當(dāng)接收到半個(gè)停止位時(shí),TI被置1表示串口接

40、收器正向CPU申請(qǐng)中斷。同樣RI標(biāo)志由用戶的軟件清“0”</p><p>  中斷允許寄存器IE(地址為A8H,可以按位尋址)</p><p>  · EA:中斷總控制位,EA=1,CPU開放中斷。EA=0,CPU禁止所有中斷</p><p>  · ES:串行口中斷控制位,ES=1允許串行口中斷,ES=0,屏蔽串行口中斷。&

41、lt;/p><p>  · ET1/0:定時(shí)/計(jì)數(shù)器T1中斷控制位。ET1為1允許T1中斷,為0禁止T1中斷。</p><p>  · EX1/0:外中斷1中斷控制位,EX1為1允許外中斷1中斷,為0禁止中斷。</p><p>  中斷優(yōu)先級(jí)寄存器IP</p><p>  8051單片機(jī)有高/低優(yōu)先級(jí)兩個(gè)中

42、斷優(yōu)先級(jí),每個(gè)中斷源都可以編程為高優(yōu)先級(jí)和低優(yōu)先級(jí)。兩級(jí)中斷通過使用IP寄存器設(shè)置,地址為B8H,可以按位尋址:</p><p>  其中各位為1時(shí),被聲明為高優(yōu)先級(jí)中斷,為0時(shí)聲明為低優(yōu)先級(jí)中斷。</p><p>  8051復(fù)位時(shí),IP被請(qǐng)“0” ,5個(gè)中斷源都在同一優(yōu)先級(jí),若幾個(gè)中斷源同時(shí)產(chǎn)生中斷請(qǐng)求,則CPU按照片內(nèi)硬件優(yōu)先級(jí)鏈路的順序響應(yīng)中斷,順序如下:</p>&

43、lt;p><b>  中斷源</b></p><p>  外部中斷0(IE0) 高</p><p>  定時(shí)器/計(jì)數(shù)器0(TF0) </p><p>  外部中斷1(IE1)</p><p>  定時(shí)器/計(jì)數(shù)器1(TF1)</p><p>  串行口中斷(R

44、I/TI) 低</p><p><b> ?。ǘ┲袛囗憫?yīng)過程</b></p><p>  中斷響應(yīng)的條件:MCS-51工作時(shí),在每個(gè)機(jī)器周期中都會(huì)去查詢一下各個(gè)中斷標(biāo)記,在下列三種情況之一時(shí),CPU將封鎖對(duì)中斷的響應(yīng):</p><p> ?。?)CPU正在處理一個(gè)同級(jí)或更高級(jí)別的中斷請(qǐng)求。</p><p>

45、; ?。?)現(xiàn)行的機(jī)器周期不是當(dāng)前正執(zhí)行指令的最后一個(gè)周期。要等整條指令都執(zhí)行完了,才能響應(yīng)中斷。</p><p> ?。?)當(dāng)前正執(zhí)行的指令是返回批令(RETI)或訪問IP、IE寄存器的指令,則CPU至少再執(zhí)行一條指令才應(yīng)中斷。</p><p>  CPU響應(yīng)中斷時(shí),把當(dāng)前下一條指令的地址送入堆棧,根據(jù)中斷標(biāo)記,將中斷入口地址送入PC程序指針,CPU取指令根據(jù)PC中的值,程序就會(huì)轉(zhuǎn)到中斷

46、入口處繼續(xù)執(zhí)行。每個(gè)中斷向量地址間隔了8個(gè)單元,如0003-000B,在中斷處安排一個(gè)LJMP指令,這樣就可以把中斷程序跳轉(zhuǎn)到任何地方,例如:</p><p><b>  ORG 0000H</b></p><p>  LJMP START ;跳轉(zhuǎn)主程序</p><p><b>  ORG 0003H</b></p

47、><p>  LJMP INT0 ;轉(zhuǎn)外中斷</p><p>  0ORG 000BH</p><p><b>  RETI </b></p><p>  中斷程序完成后,執(zhí)行一條RETI指令,執(zhí)行這條指令后,CPU將會(huì)把堆棧中保存著的地址取出,送回PC,那么主程序就會(huì)從主程序的中斷處繼續(xù)往下執(zhí)行了。</p>

48、<p>  中斷優(yōu)先級(jí)處理與中斷嵌套:優(yōu)先級(jí)的問題發(fā)生在幾個(gè)中斷同時(shí)產(chǎn)生的情況,或者是已發(fā)生在一個(gè)中斷,又有一個(gè)中斷產(chǎn)生時(shí)的情況。如果有低優(yōu)先級(jí)的中斷正在執(zhí)行,那么高優(yōu)先級(jí)的中斷出現(xiàn),CPU則會(huì)響應(yīng)這個(gè)高優(yōu)先級(jí)中斷,即高優(yōu)先級(jí)中斷可以打斷低優(yōu)先級(jí)中斷,反之則不行。下圖面是一個(gè)中斷嵌套流程: </p><p>  2.1.1.6、控制寄存器</p><p>  8051單片機(jī)通

49、過引腳RXD(P3.0,串行數(shù)據(jù)接收端)和引腳TXD(P3.1,串行數(shù)據(jù)發(fā)送端)與外界通訊。SBUF是串行口緩沖寄存器,包括發(fā)送寄存器和接收寄存器。它們有相同名字和地址空間,但不會(huì)出現(xiàn)沖突。</p><p>  串行通信控制寄存器SCON </p><p>  表二:串行口的工作方式及接收/發(fā)送控制。字節(jié)地址為98H,其各位定義如下</p><p>  表三:(1)

50、.SM0、SM1:串行口工作方式選擇位,其定義如下</p><p>  其中fosc為晶振頻率</p><p>  (2).SM2:多機(jī)通信控制位    多機(jī)通信是工作于方式2和方式3。本課題不涉及,在此不作介紹。</p><p>  (3).REN:允許接收位    REN用于控制

51、數(shù)據(jù)接收的允許和禁止,REN=1時(shí)允許接收,REN=0時(shí)禁止接收。    (4).TB8:發(fā)送接收數(shù)據(jù)位8    在方式2和方式3中,TB8是第9位數(shù)據(jù)位。在多機(jī)通信中同樣亦要傳輸這一位,并且它代表傳輸?shù)牡刂愤€是數(shù)據(jù),TB8=0為數(shù)據(jù),TB8=1時(shí)為地址。    (5).RB8:接收數(shù)據(jù)位8 

52、0;  在方式2和方式3中,RB8存放接收到的第9位數(shù)據(jù),用以識(shí)別接收的數(shù)據(jù)特征。    (6).TI/RI:發(fā)送/接收中斷標(biāo)志位,在前面中斷一章已作介紹。</p><p>  電源管理寄存器PCON:主要是設(shè)置SMOD位,當(dāng)SMOD=1時(shí),串行口波特率加倍。系統(tǒng)復(fù)位默認(rèn)為SMOD=0。</p><p>  中斷允許寄存器IE:

53、其中ES=1允許串行中斷,ES=0,禁止串行中斷。</p><p>  在本課題中既涉及到的單片機(jī)對(duì)其性能及內(nèi)存無特殊要求,可選最常用的一種,例如AT89C51單片機(jī)。</p><p>  2.1.2. 模數(shù)轉(zhuǎn)換芯片的介紹及選擇</p><p>  在測控系統(tǒng)中。除了數(shù)字量之外,還存在大量的模擬量,如:溫度,壓力,流量,速度,電壓,電流等。而計(jì)算機(jī)只能處理數(shù)字量,要

54、實(shí)現(xiàn)對(duì)模擬量的測量和控制,首先必須將模擬量轉(zhuǎn)換成數(shù)字量(A/D轉(zhuǎn)換)。相反。計(jì)算機(jī)輸出時(shí)有時(shí)也需要將數(shù)字量轉(zhuǎn)換成模擬量(D/A轉(zhuǎn)換)。目前,A/D轉(zhuǎn)換和D/A轉(zhuǎn)換電路都已集成化,它們就有體積小,功能強(qiáng),可靠性高,誤差小,功耗底,與計(jì)算機(jī)接口簡單等特點(diǎn)。A/D轉(zhuǎn)換是把模擬量轉(zhuǎn)換成數(shù)字量的過程.A/D轉(zhuǎn)換的方法很多,如:頻率法.雙斜積分法,逐次逼近法等.其性能指標(biāo)也很多,如:分辨率,轉(zhuǎn)換時(shí)間,轉(zhuǎn)換精度,電源,輸出特性等.</p>

55、<p>  ADC0809是一種典型的A/D轉(zhuǎn)換器.它是采用逐次逼近法的8位8通道的A/D轉(zhuǎn)換器.+5V單電源供電.轉(zhuǎn)換時(shí)間在100us左右.</p><p>  ADC0809為28引腳,雙列直插芯片,其引腳如圖8-51所示.</p><p><b>  各引腳功能如下: </b></p><p>  IN7~I(xiàn)N0 :8位模

56、擬量輸入端; </p><p>  D7~D0 :8位數(shù)字量輸出端口; </p><p>  START :A/D轉(zhuǎn)換啟動(dòng)信號(hào)輸入端;</p><p>  ALE :地址鎖存應(yīng)許信號(hào).高電平有效;</p><p>  EOC :轉(zhuǎn)換結(jié)束信號(hào),高電平有效; </p><p>  OE :輸出應(yīng)許控制信號(hào),高電平有效

57、;</p><p>  CLK :時(shí)鐘信號(hào)輸入端;</p><p>  A.B.C:轉(zhuǎn)換通道的地址; </p><p>  VREF(+):參考電源的正端;</p><p>  VREF(-):參考電源的負(fù)端;</p><p><b>  VCC:電源負(fù)端;</b></p><

58、p><b>  GND:地.</b></p><p>  ADC0809由一個(gè)8位A/D轉(zhuǎn)換器,一個(gè)8路模擬開關(guān),8路模擬地址鎖存譯碼器和一個(gè)三態(tài)數(shù)據(jù)輸出鎖存器組成.</p><p>  當(dāng)ALE為高電平時(shí),通道地址輸入到地址鎖存器中,下降沿將地址鎖存,并譯碼.在START上跳沿時(shí),所有的內(nèi)部寄存器清0,在下降沿時(shí),開始進(jìn)行A/D轉(zhuǎn)換,此期間START應(yīng)保持低電

59、平.需要注意的是,在START下降沿后10us左右,轉(zhuǎn)換結(jié)果信號(hào)EOC變?yōu)榈碗娖?EOC低電平時(shí),表示正在轉(zhuǎn)換,變?yōu)楦唠娖綍r(shí),表示轉(zhuǎn)換結(jié)束.OE為輸出應(yīng)許信號(hào),控制三態(tài)輸出鎖存器輸出數(shù)據(jù),OE=1,應(yīng)許轉(zhuǎn)換結(jié)果輸出.</p><p>  因本設(shè)計(jì)對(duì)模數(shù)轉(zhuǎn)換器并無特殊要求,所以一般的模數(shù)轉(zhuǎn)換芯即可實(shí)現(xiàn)將進(jìn)入的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)。本設(shè)計(jì)采用最常用的轉(zhuǎn)換芯片ADC0809。</p><p>

60、  2.1.3.模數(shù)轉(zhuǎn)換電路圖</p><p>  2.1.3.1.單片機(jī)與ADC0809的連接是一個(gè)很常見的數(shù)模轉(zhuǎn)換電路,現(xiàn)將在本設(shè)計(jì)中要用到的此電路略畫如下:</p><p><b> ?。?1.3.2 </b></p><p>  單片機(jī)內(nèi)數(shù)據(jù)采集的子程序:數(shù)據(jù)采集框圖</p><p><b>  ORG

61、 0000H</b></p><p><b>  AJMP MAIN</b></p><p><b>  ORG 0013H</b></p><p>  AJMP PINT1</p><p>  MAIN:MOV R1,#30H</p><p>  MOV R7,

62、#08H</p><p>  MOV DPTR,#FEF8H</p><p><b>  SETB IT1</b></p><p><b>  SETB EXI</b></p><p><b>  SETB EA</b></p><p>  MOVX @

63、DPTR A</p><p>  LOOP:MOV A,R7</p><p><b>  JNZ LOOP</b></p><p><b>  CLR EXI</b></p><p><b>  SJMP $</b></p><p>  PINT1:MO

64、VX A,@DPTR</p><p>  MOVX @R1,A</p><p><b>  INC R1</b></p><p><b>  INC DPTR</b></p><p><b>  DEC R7</b></p><p>  MOVX @DP

65、TR,A</p><p><b>  RET1</b></p><p>  2.2 USB模塊接口電路</p><p>  這個(gè)模塊接口電路是本設(shè)計(jì)的重點(diǎn)設(shè)計(jì)電路,依據(jù)USB模塊的說明及單片機(jī)的相關(guān)知識(shí),即可設(shè)計(jì)出滿意的電路。因此,在論文中對(duì)USB模塊進(jìn)行詳細(xì)的介紹就顯得很有必要了。</p><p>  2.2.1 US

66、B20C模塊介紹</p><p>  2.2.1.1.模塊參數(shù)。</p><p>  USB20C是于西安電子有限公司設(shè)計(jì)的USB2.0C設(shè)備通用接口模塊,它隱藏了通過USB總線進(jìn)行數(shù)據(jù)傳輸所需要的煩瑣技術(shù)細(xì)節(jié).應(yīng)用程序通過調(diào)用本模塊提供的函數(shù),可以把相應(yīng)的功能轉(zhuǎn)變成模塊硬件接口上的一系列脈沖和電平,發(fā)送到外圍邏輯,進(jìn)行指定的數(shù)據(jù)傳輸,從而極大的簡化USB設(shè)備的設(shè)計(jì)工作</p>

67、<p>  本模塊提供兩種數(shù)據(jù)傳輸模式地址IO模式批量數(shù)據(jù)傳輸模式以設(shè)計(jì)一個(gè)AD數(shù)據(jù)采集器為例可以使用地址IO模式執(zhí)行初始化設(shè)置采樣參數(shù)讀取狀態(tài)等功能使用批量數(shù)據(jù)傳輸模式讀取采樣得到的大批量數(shù)據(jù) </p><p>  本模塊是一個(gè)USB2.0設(shè)備同時(shí)也兼容USB1.1標(biāo)準(zhǔn)但是會(huì)降低數(shù)據(jù)傳輸速度 </p><p>  標(biāo)準(zhǔn)USB接口高性能USB 接口器件符合通用串行總線USB2

68、.0版規(guī)范 </p><p>  高速DMA讀寫控制讀寫速度大于20Mbyte/Sec </p><p>  系統(tǒng)驅(qū)動(dòng)文件DLL動(dòng)態(tài)連接庫用戶不必編寫任何驅(qū)動(dòng)程序 </p><p>  MT工藝低功耗系統(tǒng)超小體積模塊化設(shè)計(jì), 無需外接電源 </p><p>  簡化的標(biāo)準(zhǔn)外部總線: 8位數(shù)據(jù)總線雙向 </p><p>

69、  5位地址總線單向輸出 </p><p><b>  9根讀寫控制線 </b></p><p>  配備I2C存儲(chǔ)模塊 </p><p>  提供一個(gè)48MHz(30MHz)的時(shí)鐘輸出 </p><p><b>  提供5V電源輸出 </b></p><p>  USB20

70、C可以作為用戶系統(tǒng)的嵌入式模塊使用用戶無需深入了解USB的協(xié)議及底層控制方法就像操作PC總線一樣通過USB接口實(shí)現(xiàn)對(duì)用戶系統(tǒng)的控制 </p><p>  對(duì)于筆記本電腦來說使用USB接口的意義更加重大通用的USB接口不僅使筆記本電腦對(duì)外的連接變得方便更可以使筆記本電腦生產(chǎn)廠商不再需要為不同配件在主板上安置不同的接口這使主板的線路組件的數(shù)量以及復(fù)雜程度都有不同程度的削減從而使系統(tǒng)運(yùn)行中的散熱問題得到了改善也將促進(jìn)更

71、高主頻的處理器可以迅速應(yīng)用在移動(dòng)計(jì)算機(jī)中使筆記本電腦與桌面PC的差距進(jìn)一步縮小 </p><p>  USB20C控制模塊發(fā)揮了USB2.0高速數(shù)據(jù)傳輸?shù)奶攸c(diǎn)尤其適合于高速數(shù)據(jù)采集及圖像數(shù)據(jù)傳輸設(shè)備用于醫(yī)療地震振動(dòng)監(jiān)控虛擬儀器科研實(shí)驗(yàn)室工業(yè)生產(chǎn)現(xiàn)場領(lǐng)域的數(shù)據(jù)采集設(shè)備特別是為便攜式筆記本電腦和日益流行的掌上電腦數(shù)據(jù)采集提供了極為廣闊的發(fā)展空間</p><p>  USB20C模塊示意圖<

72、;/p><p>  2.2.1.2.硬件描述</p><p>  本模塊提供了8位數(shù)據(jù)總線5位地址總線3位地址IO所需的控制信號(hào)9位批量傳輸所需的控制信號(hào)以及其他的輔助控制信號(hào)</p><p><b>  輔助控制信號(hào)</b></p><p>  本模塊提供了4根輔助控制信號(hào)DMAINGCLKOUTSCLSDA</p&

73、gt;<p>  DMAING 正在批量數(shù)據(jù)傳輸指示信。</p><p>  本信號(hào)為數(shù)據(jù)傳輸模式指示信號(hào)由本模塊輸出 </p><p>  高電平指示工作于批量數(shù)據(jù)傳輸模式 </p><p>  低電平指示工作于地址IO模式 </p><p>  本信號(hào)由函數(shù)USB20C_STARTDMAREAD USB20C_STARTDM

74、AWRITE設(shè)置為高電平由函數(shù)USB20C_ENDDMA設(shè)置為低電平 </p><p>  CLKOUT 模塊內(nèi)單片機(jī)時(shí)鐘輸出信號(hào) </p><p>  本信號(hào)輸出模塊內(nèi)單片機(jī)的時(shí)鐘 </p><p>  本信號(hào)由函數(shù)USB20C_SETCPUCS控制可以設(shè)定時(shí)鐘的頻率是否輸出是否翻轉(zhuǎn)</p><p>  SCLSDA 外接I2C器件信號(hào) &

75、lt;/p><p>  本信號(hào)用于外擴(kuò)I2C存儲(chǔ)器使用時(shí)需要把本模塊的這兩個(gè)信號(hào)管腳與外擴(kuò)的I2C器件的相應(yīng)管腳相連這兩個(gè)信號(hào)已經(jīng)在模塊內(nèi)上拉不需要外部上拉 </p><p>  外擴(kuò)I2C存儲(chǔ)器件的芯片地址只能是23456之一地址017已經(jīng)被本模塊使用外擴(kuò)器件不得使用 </p><p>  SCL時(shí)鐘信號(hào)上的工作頻率可以由函數(shù)USB20C_SetI2CFrequenc

76、y函數(shù)選擇為400KHz/100KHz 2.1 2.1.1 2.1.2 2.1.3 </p><p>  Xi’an DATA Electronic Co. Ltd. 029-85272421 85277568 http://www.dataie.com 5 USB20C 使用說明 西安達(dá)泰電子有限責(zé)任公司 2.2 </p><p><b>  數(shù)據(jù)總線</b><

77、;/p><p>  本模塊提供8位寬的數(shù)據(jù)總線兩種數(shù)據(jù)傳輸模式共用此數(shù)據(jù)總線當(dāng)工作于地址IO模式并且PWR信號(hào)有效或者工作于批量傳輸模式DMARD信號(hào)有效并且DMACSDMAOE有效時(shí)數(shù)據(jù)總線處于輸出狀態(tài)否則數(shù)據(jù)總線處于輸入狀態(tài) </p><p><b>  地址總線 </b></p><p>  本模塊提供5位寬的地址總線地址總線總是由本模塊輸出

78、 </p><p>  以下函數(shù)可以改變地址 </p><p>  USB20C_SETADDRESS </p><p>  USB20C_INPUT </p><p>  USB20C_OUTPUT </p><p>  USB20C_MULTINPUT </p><p>  USB20C_M

79、ULTOUTPUT </p><p>  USB20C_MIXEDIO </p><p>  當(dāng)使用后三個(gè)函數(shù)時(shí)地址會(huì)根據(jù)函數(shù)的參數(shù)而改變函數(shù)調(diào)用結(jié)束后地址為函數(shù)參數(shù)指定的最后一個(gè)地址 2.3 </p><p>  Xi’an DATA Electronic Co. Ltd. 029-85272421 85277568 http://www.dataie.com 6

80、 USB20C 使用說明 西安達(dá)泰電子有限責(zé)任公司 2.4 </p><p>  地址IO所需的控制信號(hào) </p><p>  本模塊提供了3個(gè)地址IO所需的控制信號(hào)PWRPRDPWAIT </p><p><b>  PWR 地址寫 </b></p><p>  本信號(hào)為地址寫的寫脈沖是一個(gè)低電平脈沖本脈沖由函數(shù) &l

81、t;/p><p>  USB20C_OUTPUT </p><p>  USB20C_MULTOUTPUT </p><p><b>  產(chǎn)生 </b></p><p>  當(dāng)進(jìn)行一次地址寫時(shí)本模塊首先更新地址總線把數(shù)據(jù)總線定義為輸出并輸出數(shù)據(jù)然后使PWR=0接著判斷PWAIT狀態(tài)等待PWAIT=1此時(shí)可以等待外部單片機(jī)等慢

82、速邏輯執(zhí)行或者超時(shí)超時(shí)時(shí)間由模塊內(nèi)單片機(jī)的工作頻率決定具體時(shí)間待測最后使PWR=1把數(shù)據(jù)總線定義為輸入完成一次地址寫 </p><p><b>  PRD 地址讀 </b></p><p>  本信號(hào)為地址讀的讀脈沖是一個(gè)低電平脈沖本脈沖由函數(shù) </p><p>  USB20C_INPUT </p><p>  USB

83、20C_MULTINPUT </p><p><b>  產(chǎn)生</b></p><p>  當(dāng)進(jìn)行一次地址讀時(shí)本模塊首先更新地址總線把數(shù)據(jù)總線定義為輸入使PRD=0接著判斷PWAIT狀態(tài)等待PWAIT=1或者超時(shí)然后從地址總線讀取數(shù)據(jù)并把此數(shù)據(jù)返回主機(jī)最后使PRD=1完成一次地址讀 </p><p>  PWAIT 等待外圍邏輯 </p&

84、gt;<p>  本信號(hào)為一個(gè)輸入信號(hào)一般情況下當(dāng)外部邏輯為單片機(jī)等慢速邏輯時(shí)需要使用本信號(hào)如果外部邏輯為一個(gè)CPLD則可以懸空本信號(hào)管腳 </p><p>  當(dāng)外部邏輯為單片機(jī)等慢速邏輯時(shí)先由外部邏輯把本信號(hào)拉低則本模塊在地址IO時(shí)會(huì)在PWRPRD脈沖有效后會(huì)插入等待周期等待外部邏輯執(zhí)行完指定的讀/寫后外部邏輯把本信號(hào)拉高本模塊檢測到PWAIT=1后結(jié)束PWRPRD脈沖外部邏輯檢測到PWRPRD

85、無效后再次使PWAIT=0準(zhǔn)備好下一次讀/寫 </p><p><b>  地址IO的時(shí)序圖 </b></p><p>  注圖中PWAIT信號(hào)應(yīng)該反向 2.4.1 2.4.2 2.4.3 2.4.4 </p><p>  Xi’an DATA Electronic Co. Ltd. 029-85272421 85277568 http://w

86、ww.dataie.com 7 USB20C 使用說明 西安達(dá)泰電子有限責(zé)任公司 </p><p>  注圖中PWAIT信號(hào)應(yīng)該反向 </p><p>  Xi’an DATA Electronic Co. Ltd. 029-85272421 85277568 http://www.dataie.com 8 USB20C 使用說明 西安達(dá)泰電子有限責(zé)任公司 2.5 </p>

87、<p>  批量數(shù)據(jù)傳輸所需的控制信號(hào) </p><p>  本模塊提供了9個(gè)批量數(shù)據(jù)傳輸所需要的信號(hào)他們分別是DMACSDMARDDMAWRDMADIRDMAOEPKTENDFIFOEMPTYFIFOFULLIFCLK </p><p><b>  DMACS </b></p><p>  模塊選擇信號(hào)由外部邏輯提供低電平有效 &l

88、t;/p><p>  當(dāng)整個(gè)設(shè)備需要本模塊與其他外部邏輯需要共享數(shù)據(jù)總線時(shí)使DMACS=1可以使本模塊斷開與外部總線的鏈接本模塊將忽略DMARDDMAWRDMAOEPKTEND信號(hào) </p><p><b>  DMARD </b></p><p>  由外部邏輯提供低電平脈沖有效 </p><p>  當(dāng)使用USB20C_

89、DMAWRITE從主機(jī)向設(shè)備寫數(shù)據(jù)時(shí)數(shù)據(jù)首先從主機(jī)傳送到本模塊內(nèi)的緩沖區(qū)內(nèi)外部邏輯使用DMARD脈沖從本模塊的緩沖區(qū)內(nèi)讀取主機(jī)發(fā)來的數(shù)據(jù) </p><p>  當(dāng)DMAOE有效時(shí)讀到的數(shù)據(jù)在DMARD為低電平時(shí)從數(shù)據(jù)總線輸出當(dāng)DMAOE無效時(shí)數(shù)據(jù)總線懸空但是DMARD脈沖依然有效只不過數(shù)據(jù)不能輸出 </p><p><b>  DMAWR </b></p>

90、<p>  由外部邏輯提供低電平脈沖有效 </p><p>  當(dāng)使用USB20C_DMAREAD主機(jī)從設(shè)備讀數(shù)據(jù)時(shí)外部邏輯首先使用DMAWR脈沖把數(shù)據(jù)寫入本模塊的緩沖區(qū)內(nèi)然后數(shù)據(jù)從本模塊內(nèi)的緩沖區(qū)內(nèi)傳輸?shù)街鳈C(jī) </p><p><b>  DMADIR </b></p><p>  讀/寫控制信號(hào)由本模塊輸出 </p>

91、;<p>  高電平批量讀數(shù)據(jù)數(shù)據(jù)從設(shè)備傳向主機(jī) </p><p>  低電平批量寫數(shù)據(jù)數(shù)據(jù)從主機(jī)傳向設(shè)備 </p><p><b>  DMAOE </b></p><p>  由外部邏輯提供低電平有效 </p><p>  當(dāng)DMAOE有效時(shí)外部邏輯從本模塊內(nèi)部緩沖區(qū)讀數(shù)據(jù)時(shí)在DMARD為低電平時(shí)讀到的

92、數(shù)據(jù)從數(shù)據(jù)總線輸出當(dāng)DMAOE無效時(shí)數(shù)據(jù)總線懸空但是DMARD脈沖依然有效只不過數(shù)據(jù)不能輸出 </p><p><b>  PKTEND </b></p><p>  由外部邏輯提供低電平脈沖有效 </p><p>  在批量讀數(shù)據(jù)時(shí)外部邏輯使用DMAWR把數(shù)據(jù)寫入本模塊內(nèi)部緩沖區(qū)每寫滿一個(gè)數(shù)據(jù)包后如果本模塊連接在USB2.0總線上則每個(gè)數(shù)據(jù)包

93、為512字節(jié)如果連接在USB1.1總線上則數(shù)據(jù)包為64字節(jié)數(shù)據(jù)會(huì)自動(dòng)傳送到主機(jī)如果需要傳輸一個(gè)不滿的數(shù)據(jù)包短包比如需要傳輸31個(gè)字節(jié)則外部邏輯應(yīng)該在寫31個(gè)字節(jié)數(shù)據(jù)后產(chǎn)生一個(gè)PKTEND脈沖本模塊接收到一個(gè)PKTEND脈沖后會(huì)把接收到短包發(fā)送回主機(jī) </p><p>  FIFOEMPTY </p><p>  本模塊內(nèi)部緩沖區(qū)空標(biāo)志由本模塊輸出低電平有效本信號(hào)在批量寫數(shù)據(jù)時(shí)使用 <

94、/p><p>  本模塊內(nèi)部提供了2048字節(jié)的批量寫數(shù)據(jù)緩沖區(qū)在批量寫數(shù)據(jù)時(shí)主機(jī)首先發(fā)送數(shù) 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 </p><p>  Xi’an DATA Electronic Co. Ltd. 029-85272421 85277568 http://www.dataie.com 9 USB20C 使用說明 西安達(dá)泰電子有限責(zé)

95、任公司 </p><p>  據(jù)到本模塊的內(nèi)部緩沖區(qū)本模塊接收到數(shù)據(jù)后會(huì)使本信號(hào)無效表示內(nèi)部緩沖區(qū)已經(jīng)有數(shù)據(jù)共外部邏輯讀取外部邏輯檢測到本信號(hào)無效開始從本模塊緩沖區(qū)讀取數(shù)據(jù)數(shù)據(jù)全部讀出后本信號(hào)重新有效此時(shí)外部邏輯應(yīng)停止從本模塊讀取數(shù)據(jù) </p><p><b>  FIFOFULL </b></p><p>  本模塊內(nèi)部緩沖區(qū)滿標(biāo)志由本模塊輸

96、出低電平有效本信號(hào)在批量讀數(shù)據(jù)時(shí)使用 </p><p>  本模塊內(nèi)部提供了2048字節(jié)的批量讀數(shù)據(jù)緩沖區(qū)在批量讀數(shù)據(jù)時(shí)如果本模塊的內(nèi)部緩沖區(qū)不滿則模塊使本信號(hào)無效表示可以向本模塊內(nèi)部緩沖區(qū)寫數(shù)據(jù)外部邏輯檢測到正在批量讀數(shù)據(jù)而且本信號(hào)無效開始向本模塊寫數(shù)據(jù)每寫滿一個(gè)標(biāo)準(zhǔn)數(shù)據(jù)包如果本模塊連接在USB2.0總線上則每個(gè)數(shù)據(jù)包為512字節(jié)如果連接在USB1.1總線上則數(shù)據(jù)包為64字節(jié)后如果主機(jī)正在使用USB20C_DM

97、AREAD函數(shù)讀取數(shù)據(jù)則數(shù)據(jù)自動(dòng)發(fā)送到主機(jī)如果主機(jī)一直沒有讀取數(shù)據(jù)則在外部邏輯寫滿2048個(gè)字節(jié)后模塊內(nèi)部緩沖區(qū)滿本信號(hào)有效此時(shí)外部邏輯應(yīng)停止寫數(shù)據(jù)。</p><p> ?。?2.2.USB模塊與單片機(jī)的接口電路</p><p>  根據(jù)以上USB模塊的說明,可設(shè)計(jì)出多個(gè)其與單片機(jī)的接口電路,例如以下兩種:</p><p>  考慮到本設(shè)計(jì)的內(nèi)部程序不大,不需要太多

98、的擴(kuò)展,且盡量使設(shè)計(jì)更簡單,本設(shè)計(jì)采用第一種連現(xiàn)方法,既采用5根地址線,8根數(shù)據(jù)線。</p><p>  為了進(jìn)一步提高數(shù)據(jù)采集的效率,本設(shè)計(jì)采用中斷工作方式。</p><p>  首先求定時(shí)器初值:我們利用定時(shí)器每隔1毫秒控制產(chǎn)生寬度為2個(gè)機(jī)器周期的負(fù)脈沖,由P1.0送出。時(shí)鐘頻率為12MHZ。</p><p>  設(shè)定時(shí)器初值為X,則定時(shí)1毫秒時(shí),應(yīng)有:<

99、/p><p> ?。?13-X)*10-6=1*10-3?</p><p>  式中機(jī)器周期為1毫秒,可求的X=7096=11011101 11000B,其中高8位DDH賦給THO,底五位賦給TLO,由于系統(tǒng)復(fù)位后,TMOD被清,正好處于定時(shí)器方式0狀態(tài),且GATE=0,也可步設(shè)置TMOD。程序如下:</p><p><b>  ORG 0000H</b

100、></p><p><b>  AJMP MAIN</b></p><p><b>  ORG 000BH</b></p><p>  AJMP TOINT</p><p><b>  ORG 100H</b></p><p>  MAIN:MOV

101、 TH0,#0DDH</p><p>  MOV TL0,#18H</p><p>  MOV IE,#82H</p><p><b>  SETB TRO</b></p><p>  LOOP:SJMP LOOP</p><p><b>  ORG 200H</b><

102、/p><p>  TOINT:CLR P1.0</p><p><b>  SETB P1.0</b></p><p>  MOV TH0,#0DDH</p><p>  MOV TL0,#18H</p><p><b>  RETI</b></p><p&g

103、t;  以上既為單片機(jī)內(nèi)部的中斷程序。</p><p><b>  下面為其程序框圖:</b></p><p><b>  中斷程序框圖</b></p><p> ?。?2.3.總體電路的設(shè)計(jì)</p><p>  將以上各單元電路組合起來,就可得到完整的硬件電路如下:</p><

104、p><b>  單片機(jī)內(nèi)部程序:</b></p><p><b>  ORG 0000H</b></p><p>  LJMP MAIN ;復(fù)位,轉(zhuǎn)主程序</p><p><b>  ORG 0013H</b></p><p>  LJM

105、P PINT1 ;中斷,轉(zhuǎn)中斷服務(wù)子程序</p><p>  MAIN:MOV R1,#30H ;置數(shù)據(jù)區(qū)首地址</p><p>  MOV R7,#08H ;置通道數(shù)</p><p>  MOV DPTR,#FEF8H ;置0809通道0地址</

106、p><p>  SETB IT1 ;置邊沿觸發(fā)方式</p><p>  SETB EXI ;開中斷</p><p>  SETB EA ;CPU開中斷</p><p>  MOVX @DPTR A ;啟動(dòng)0通道

107、A/D</p><p>  DEC R7 ;通道數(shù)減1</p><p>  SJMP $ ;等待中斷</p><p>  ORG 0200H ;中斷服務(wù)子程序</p><p>  PINT1:MOVX A,@DPTR

108、 ;讀A/D值</p><p>  MOVX @R1,A ;存A/D值</p><p>  INC R1 ;修正數(shù)據(jù)區(qū)地址</p><p>  INC DPTR ;修正通道地址</p><p>  MOVX @DPTR,A

109、 ;啟動(dòng)下一通道A/D</p><p>  DJNZ R7,GORETI ;判斷8路采集完否</p><p>  CLR EX1 ;8路采集已完,關(guān)中斷</p><p>  MAIN:MOV TH0,#0DDH</p><p>  MOV TL0,#18H

110、</p><p>  MOV IE,#82H</p><p><b>  SETB TRO</b></p><p>  LOOP:SJMP LOOP</p><p><b>  ORG 200H</b></p><p>  TOINT:CLR P1.0</p>

111、<p><b>  SETB P1.0</b></p><p>  MOV TH0,#0DDH</p><p>  MOV TL0,#18H</p><p><b>  RETI</b></p><p>  MOV DPTR,#2000H ;置USB數(shù)據(jù)地址</

112、p><p>  LOOP:MOV R0,#30H ;傳采集數(shù)據(jù)</p><p>  MOV R7,#08H ;置循環(huán)次數(shù)</p><p>  MOV A,R0 ;存數(shù)據(jù)</p><p>  MOV ·DPTR,A ;

113、傳數(shù)據(jù)至USB20C接口</p><p>  INC R7 ;次數(shù)自動(dòng)減1</p><p>  DJNZ R7,LOOP ;判斷是否完</p><p>  RETI ;數(shù)據(jù)采集完</p><p><b>  單

114、片機(jī)主程序框圖</b></p><p><b>  第三章 軟件設(shè)計(jì)</b></p><p> ?。?1.Visual Basic簡介</p><p>  Visual Basic語言誕生于1991年,為人們開發(fā)圖形用戶界面的應(yīng)用程序提供了有力的工具,它是近年來被廣泛使用的一種高級(jí)語言。Visual Basic繼承了BASIC語言簡

115、單易學(xué)的特點(diǎn),又增加了許多新的功能,它采用當(dāng)前最新的程序設(shè)計(jì)思想:面向?qū)ο笈c事件驅(qū)動(dòng),使編程變得更加方便,快捷。使用Visual Basic既可以開發(fā)個(gè)人或小組使用得小型工具,又可以開發(fā)多媒體軟件,數(shù)據(jù)庫運(yùn)用程序,網(wǎng)絡(luò)運(yùn)用程序等大型軟件。</p><p> ?。眨樱拢?0數(shù)據(jù)采集系統(tǒng)需要硬件和軟件兩部分組成,硬件由USB信號(hào)模擬器以及計(jì)算機(jī)組成,軟件由測試軟件和動(dòng)態(tài)數(shù)據(jù)庫組成.在測試程序中處理各種數(shù)據(jù),顯示處理結(jié)

116、果,在動(dòng)態(tài)數(shù)據(jù)庫中進(jìn)行數(shù)據(jù)的存儲(chǔ),讀取操作.</p><p>  3.2. USB20C函數(shù)接口介紹</p><p>  .3.2.1,USB設(shè)備操作函數(shù)</p><p><b>  使用需知</b></p><p>  Visual C++:</p><p>  要使用如下函數(shù)關(guān)鍵的問題是:&l

117、t;/p><p>  首先,必須在您的源程序中包含如下語句(注意參考VC示范程序中的StdAfx.h頭文件中的用戶填加部分):</p><p>  #include “C:\USB203\INCLUDE\usb203.h” </p><p>  注:以上語句采用默認(rèn)路徑,應(yīng)根據(jù)您的安裝情況確定usb203.h頭文件的正確路徑,當(dāng)然也可以把此文件拷到您的源程序目錄中。

118、</p><p>  其次,您還應(yīng)該在Visual C++編譯環(huán)境軟件包的Project Setting對(duì)話框的Link屬性頁中的Object/Library Module輸入行中加入如下指令:</p><p>  C:\USB203\usb203.lib</p><p>  注:以上語句采用默認(rèn)路徑,應(yīng)根據(jù)您的安裝情況確定usb203.lib的路徑,當(dāng)然也可以把此

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論