版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 課程設計說明書 no.25數(shù)據(jù)采集系統(tǒng)的設計1.課程設計的目的計算機控制系統(tǒng)課程設計是自動化專業(yè)的一個重要實踐教學環(huán)節(jié)。在課程設計過程中,學生通過一個較完整的設計過程,可以加深對本門課程所學理論知識的理解與應用,提高學生對所學理論知識的綜合運用能力,使學生對計算機控制系統(tǒng)有一個整體認識,掌握計算機控制系統(tǒng)的設計方法。通過課程設計,還可以培養(yǎng)學生獨立工作能力,為將來畢業(yè)設計打好基礎。2.方案論證2.1設計要求設計一個數(shù)據(jù)采集系統(tǒng)。其主要功能有:可實現(xiàn)1-16通道單端模擬量輸入,輸入電壓范圍為0-10v,分辨率為12位。并且實時顯示通道號和相應的輸入電壓值。要求:完成軟、硬件設計。16路模擬量輸
2、入信號的控制,可通過多路開關來實現(xiàn);a/d轉(zhuǎn)換器要選擇分辨率為12位,輸入電壓值要經(jīng)過標度變換、轉(zhuǎn)換為bcd碼后送去顯示。2.2方案選擇系統(tǒng)硬件電路如圖:ad574將010v 模擬信號轉(zhuǎn)換為00ff 數(shù)字信號并傳送單片機, 然后由單片機進行數(shù)據(jù)存儲及數(shù)據(jù)處理,最終由led 顯示器顯示。完成對模擬信號的采集。圖1系統(tǒng)電路結(jié)構框圖3.系統(tǒng)硬件電路設計3.1硬件系統(tǒng)設計原理如圖2所示,本系統(tǒng)中,以at89s51單片機為運算和控制的核心,它具有4個8位并行的i/o端p0-p3,其中由p0口控制數(shù)碼管顯示,p1口控制信號輸入。16路模擬量采集由兩個cd4051完成,a/d轉(zhuǎn)換由ad574完成。圖2系統(tǒng)連
3、線結(jié)構圖3.2 硬件系統(tǒng)各個電路的設計3.2.1多路模擬開關電路設計(1).多路模擬開關的選取目前采用cmos工藝的多路開關應用最為廣泛。盡管模擬開關種類很多,但其功能基本相同,只是在通道數(shù)、開關電阻、漏電流、輸入電壓及方向切換等性能參數(shù)有所不同。多路模擬開關主要有4選1、8選1、雙4選1、雙8選1和16選1等,它們之間除通道和外部管腳排列有些不同,其電路結(jié)構、電源組成及工作原理基本相同。常用單端、雙端八路模擬開關cd4051的引腳圖如圖3所示。圖3 cd4051引腳圖 vdd為正電源,vee為負電源,vss為地,要求vdd+|vee|18v。用兩個cd4051擴展成16通道的多路模擬開關如圖
4、4所示,16通道的多路模擬開關真值表見表1。圖4 16通道的多路模擬開關表1 十六通道的cd4051多路模擬開關真值表輸入狀態(tài)選中通道號a3a2a1a000000000110010200113010040101501106011171000810019101010101111110012110113111014111115(2)a/d轉(zhuǎn)換器的選取ad574是美國模擬器件公司(analog devices)推出的單片高速12位逐次逼近型a/d轉(zhuǎn)換器,轉(zhuǎn)換時間25s。自帶三態(tài)緩沖器,可以直接與8位或16位的微機相連,且能與cmos及ttl電平兼容。由于ad574內(nèi)置基準電壓源及時鐘發(fā)生器,這使它在
5、不需要任何外部電路和時鐘信號的情況下完成一切a/d轉(zhuǎn)換功能。可以采用12v和15v兩種電源電壓,應用非常方便。圖5所示為ad574a的內(nèi)部結(jié)構框圖。ad574a為28引腳雙列直插式封裝,其引腳配置如圖6所示。圖5 ad574內(nèi)部結(jié)構圖3.2.2 ad574的引腳功能圖6 ad574引腳圖vl:數(shù)字邏輯部分電源+5v。:數(shù)據(jù)輸出格式選擇信號引腳。當 =1(+5v)時,雙字節(jié)輸出,即12條數(shù)據(jù)線同時有效輸出;當=0(0v)時,為單字節(jié)輸出,即只有高8位或低4位有效。:片選信號端,低電平有效。a0:字節(jié)選擇控制線。在轉(zhuǎn)換期間:a0=0,ad574a進行全12位轉(zhuǎn)換。在讀出期間:當a0=0時,高8位數(shù)
6、據(jù)有效;a0=1時,低4位數(shù)據(jù)有效,中間4位為“0”,高4位為三態(tài)。因此當采用兩次讀出12位數(shù)據(jù)時,應遵循左對齊原則。:讀數(shù)據(jù)/轉(zhuǎn)換控制信號,當=1,adc轉(zhuǎn)換結(jié)果的數(shù)據(jù)允許被讀??;當=0,則允許啟動a/d轉(zhuǎn)換。ce:啟動轉(zhuǎn)換信號,高電平有效。可作為a/d轉(zhuǎn)換啟動或讀數(shù)據(jù)的信號。vcc、vee:模擬部分供電的正、負電源,為12v或15v。ref out:10v內(nèi)部參考電壓輸出端。ref in:內(nèi)部解碼網(wǎng)絡所需參考電壓輸入端。bip off:補償調(diào)整。接至正負可調(diào)的分壓網(wǎng)絡,以調(diào)整adc輸出的零點。10vin、20vin:模擬量10v及20v量程的輸入端口,信號的另一端接至ag引腳。dg:數(shù)字公
7、共端(數(shù)字地)。ag:模擬公共端(模擬地)。它是ad574a的內(nèi)部參考點,ag和dg在封裝時已連接在一起。db0db11:數(shù)字量輸出。sts:輸出狀態(tài)信號引腳。轉(zhuǎn)換開始時,sts達到高電平,轉(zhuǎn)換過程中保持高電平。轉(zhuǎn)換完成時返回到低電平。ad574a的控制信號的組合控制功能如表2所示。表2 ad574a的控制信號的組合控制功能表cea0工作狀態(tài)0禁止1禁止1000啟動12位轉(zhuǎn)換1001啟動8位轉(zhuǎn)換101接1腳(+5v)12位并行輸出有效101接地0高8位并行輸出有效101接地1低4位加上尾隨4個0有效必須指出端與ttl電平不兼容,故只能用通過布線接至+5v或0v上。另外a0在數(shù)據(jù)輸出期間不能變化
8、。如果要求ad574a以獨立方式工作,只要將ce、端接入+5v,和a0接至0v,將作為數(shù)據(jù)讀出和數(shù)據(jù)轉(zhuǎn)換啟動控制。當=1時,數(shù)據(jù)輸出端出現(xiàn)被轉(zhuǎn)換后的數(shù)據(jù),=0時,即啟動一次a/d轉(zhuǎn)換。在延時0.5s后sts=1表示轉(zhuǎn)換正在進行。經(jīng)過一次轉(zhuǎn)換周期tc(典型值為25s)后sts跳回低電平表示a/d轉(zhuǎn)換完畢,可以從數(shù)據(jù)輸出端讀取新的數(shù)據(jù)。啟動ad574a轉(zhuǎn)換的時序圖如圖7所示,ad574a的讀周期時序圖如圖8所示 。圖7 ad574的時序圖ad574a有單極性和雙極性兩種模擬信號轉(zhuǎn)換方式,這主要通過改變ad574a引腳8、10、12的外接電路來實現(xiàn)。圖8所示為單極性轉(zhuǎn)換電路,可實現(xiàn)輸入信號010v或
9、020v的轉(zhuǎn)換,其系統(tǒng)模擬信號的地線應與引腳9相連,使其地線的接觸電阻盡可能小,圖9為雙極性轉(zhuǎn)換電路,可實現(xiàn)輸入信號-5v+5v或-10v+10v的轉(zhuǎn)換。圖8單極性轉(zhuǎn)換電路圖9 雙極性轉(zhuǎn)換電路3.2.3 ad574與單片機連接圖10中將轉(zhuǎn)換結(jié)束狀態(tài)線sts與單片機的p1.1相連,故該接口采用查詢方式。由于ad574a片內(nèi)有時鐘,故無需外加時鐘信號。由于ad574a內(nèi)部含有三態(tài)鎖存器,故可直接與單片機數(shù)據(jù)總線接口。ad574a是12位向左對齊輸出格式,所以將低4位db30接到db118,第一次讀出高8位db114,第二次讀出低4位,此時db74為0000。圖10中,片選信號由p0.7控制,由于圖
10、中高8位地址p2.7p2.0未使用,故只使用低8位地址,采用寄存器尋址方式。設啟動ad574a的地址是7ch,讀取高8位數(shù)據(jù)的地址為7eh,讀取低4位數(shù)據(jù)的地址為7fh。圖10 8051與ad574連線圖3.3單片機模塊3.3.1 at89s51單片機的簡介at89s51 是一個低功耗,高性能cmos 8位單片機,片內(nèi)含8k bytes isp(in-system programmable)的可反復擦寫1000次的flash只讀程序存儲器,器件采用atmel公司的高密度、非易失性存儲技術制造,兼容標準mcs-51指令系統(tǒng)及80c51引腳結(jié)構,芯片內(nèi)集成了通用8位中央處理器和isp flash存
11、儲單元,功能強大的微型計算機的at89s51可為許多嵌入式控制應用系統(tǒng)供給高性價比的解決方案。at89s51具有如下特點:40個引腳,8k bytes flash片內(nèi)程序存儲器,128 bytes的隨機存取數(shù)據(jù)存儲器(ram),32個外部雙向輸入/輸出(i/o)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(wdt)電路,片內(nèi)時鐘振蕩器。此外,at89s52設計和配置了振蕩頻率可為0hz并可通過軟件設置省電模式。空閑模式下,cpu暫停工作,而ram定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存ram的數(shù)據(jù),停止芯片其它功能直至外
12、中斷激活或硬件復位。同時該芯片還具有pdip、tqfp和plcc等三種封裝形式,以適應不一樣產(chǎn)品的需求。at89s51與at89c51相比,外型管腳完全相同,at89c51的hex程序無須任何轉(zhuǎn)換可直接在at89s51運行,結(jié)果一樣。at89s比at89c51新增了一些功能,支持在線編程和看們狗是其中主要特點。它們之間主要區(qū)別在于以下幾點:1.引腳功能:管腳幾乎相同,變化的有,在at89s51中p1.5,p1.6,p1.7具有第二功能,即這3個引腳的第二功能組成了串行isp編程的接口。2.編程功能:at89c51僅支持并行編程,而at89s51不但支持并行編程還支持isp再線編程。在編程電壓方
13、面,at89c51的編程電壓除正常工作的5v外,另vpp需要12v,而at89s51僅僅需要4-5v即可。3.燒寫次數(shù)更高:at89s51標稱燒寫次數(shù)是1000次,實為1000-10000次,這樣更有利開始學習者反復燒寫,降低學習成本。4.工作頻率更高:at89c51極限工作頻率是24mhz,而at89s51最高工作頻率是33mhz,(at89s51芯片有兩中型號,支持最高工作頻率分別為24mhz和33mhz)從而具有更快的計算速度。5.電源范圍更寬:at89s51工作電壓范圍,達4-5.5v,而at89c51在底于4.8v和高于5.3v的時侯則無法正常工作。 6.抗干擾性更強:at89s51
14、內(nèi)部集成看門狗計時器(watchdog timer),而at89c51需外接看門狗計時器電路,或者用單片機內(nèi)部定時器構成軟件看門狗來實現(xiàn)軟件抗干擾。3.3.2at89s51引腳及功能介紹at89s51引腳圖如下圖11所示:圖11 at89s51引腳圖at89s51芯片的40個引腳功能為:vcc: 電源電壓。gnd: 接地。rst: 復位輸入。當rst變?yōu)楦唠娖讲⒈3?個機器周期時,將使單片機復位。wdt溢出將使該引腳輸出高電平,設置sfr auxr的disrto位(地址8eh)可打開或關閉該功能。diskrto位缺省為reset輸出高電平打開狀態(tài)。xtal1: 反向振蕩放大器的輸入及內(nèi)部時鐘工
15、作電路的輸入。xtal2: 來自反向振蕩放大器的輸出。p0口: 一組8位漏極開路型雙向i/o口。也即地址/數(shù)據(jù)總線復用口。作為輸出口用時,每位能驅(qū)動8個ttl邏輯門電路,對端口寫“1”可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復用,在訪問期間激活內(nèi)部上拉電阻。在flash編程時,p0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。p1口: 一個帶內(nèi)部上拉電阻的8位雙向i/o口,p1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個ttl邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使
16、用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(iil)。flash編程和程序校驗期間,p1接收低8位地址。p1口部分端口引腳及功能如表3所示。表3 p1口特殊功能p1口引腳特殊功能p1.5mosi(用于isp編程)p1.6mosi(用于isp編程)p1.7sck(用于isp編程)p2口: 一個帶內(nèi)部上拉電阻的8位雙向i/o口。p1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個ttl邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(iil)。在訪問外部程序存儲器或16位地址
17、的外部數(shù)據(jù)存儲器時,p2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器時,p2口線上的內(nèi)容在整個訪問期間不改變。flash編程和程序校驗期間,p2亦接收低8位地址。p3口: 一個帶內(nèi)部上拉電阻的8位雙向i/o口。p3的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個ttl邏輯門電路。對p3口寫“1”時,它們被內(nèi)部的上拉電阻把拉到高電并可作輸入端口。作輸入端口使用時,被外部拉低的p3口將用上拉電阻輸出電流(iil)。p3口除了作為一般的i/o口線外,更重要的用途是它的第二功能,如表3所示。p3口還接收一些用于flash閃速存儲器編程和程序校驗期間的控制信號。表4 p3口特殊功能p3口引腳特殊功能p3
18、.0rxd(串行輸入口)p3.1txd(串行輸出口)p3.2(外部中斷0)p3.3(外部中斷1)p3.4t0(定時器0外部輸入)p3.5t1(定時器1外部輸入)p3.6(外部數(shù)據(jù)存儲器寫選通)p3.7(外部數(shù)據(jù)存儲器讀選通)psen/:程序儲存允許輸出是外部程序存儲器的讀先通信號,當at89s51由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次psen/有效,即輸出兩個脈沖。當訪問外部數(shù)據(jù)存儲器,沒有兩次有效的psen/信號。ea/vpp:外部訪問允許。欲使cpu僅訪問外部程序存儲器,ea端必須保持低電平,需注意的是:如果加密位lb1被編程,復位時內(nèi)部會鎖存ea端狀態(tài)。flash存儲器編程
19、時,該引腳加上+12v的編程電壓vpp。注:i/o口的讀寫p0p3口都可以作為普通的i/o口來使用。當作為輸入口使用時,必須先向該口的鎖存器中寫入“1”,然后再從引腳緩沖器中讀入引腳狀態(tài),這樣的讀入結(jié)果才正確。當作為輸出口使用時,可能要經(jīng)常修改輸出口各引腳的狀態(tài),為此在at89s51單片機的指令系統(tǒng)中,設置有“讀-修改-寫”指令。例如,邏輯與指令“anl p1,a”就屬于這類指令。該指令的執(zhí)行過程是:cpu先讀入p1上的數(shù)據(jù),然后與累加器a中的數(shù)據(jù)按位進行邏輯與操作,最后將與的結(jié)果送回p1口,完成對p1口各位狀態(tài)的修改。這類指令中,讀入p1口的數(shù)據(jù)是前一次寫入p1口輸出鎖存器的數(shù)據(jù),而不是p1
20、口的實際狀態(tài),兩者不一定相同。例如,用p1的一根線去驅(qū)動一個晶體管的基極,當向此口線寫入“1”時,晶體管導通,并把引腳上的電平拉成低電平“0”。這時若從引腳上讀取數(shù)據(jù)(引腳緩沖器),會讀錯成“0”,而不是先前輸出的“1”。為此,在p0p3口每一根線的結(jié)構上都設有一個讀鎖存器緩沖器,當執(zhí)行這類指令時,讀入的數(shù)據(jù)時鎖存器的輸出狀態(tài)。3.4 復位電路設計res引腳是復位信號的輸入端,復位信號是高電平有效,其有效時間應持續(xù)24個振蕩周期(即兩個機器周期)以上。若使用頻率為6mhz的晶振,則復位信號持續(xù)時間應超過4us,才能完成復位。復位操作有上電自動復位和按鍵手動復位兩種方式。本設計采用上電復位,如圖
21、12所示。圖12 上電復位電路圖上電自動復位電路是在加電瞬間電容通過充電來實現(xiàn)的。在通電瞬間,電容c3通過電阻充電rst端出現(xiàn)正脈沖,用以復位。上電瞬間,rst端的的電位與vcc相同,隨著電容的逐步充電,充電電流減小,rst電位逐漸下降。上電復位所需的最短時間是振蕩器建立時間加上二個機器周期,在這段時間里,振蕩建立時間不超過10ms。3.5 晶振電路設計at89s51芯片內(nèi)部有一個高增益反相放大器,用于構成振蕩器。反相放大器的輸入端為xtal1,輸出端為xtal2,兩端跨接石英晶體及兩個電容就可以構成穩(wěn)定的自激振蕩器,如圖13所示。電容器c1和c2通常取30pf左右,可穩(wěn)定頻率并對振蕩頻率有微
22、調(diào)作用。本設計中采用6mhz的晶振構成單片機的時鐘電路。晶振頻率也就是振蕩電路的脈沖頻率,也稱振蕩頻率。(振蕩脈沖頻率范圍為024mhz)圖13 晶振電路電路圖此振蕩器由xtal1端向內(nèi)部時鐘電路提供一定的頻率時鐘源信號。另外,振蕩器的工作還可由軟件控制,當對單片機內(nèi)電源控制寄存器pcon中的pd位置1時,可停止振蕩器的工作,使單片機進入省電工作狀態(tài),此振蕩器稱為內(nèi)部振蕩器。晶振頻率是單片機的一項重要性能指標。因為單片機的時鐘信號是通過振蕩信號分頻得到的,所以競爭頻率直接影響時鐘信號的頻率。晶振頻率高,系統(tǒng)的時鐘頻率就高,單片機運行速度也就快。然而晶振頻率高對存儲器等的速度和印刷電路板的工藝要
23、求也高。晶振頻率不但影響速度,而且對單片機的工作電流也有一定影響,所以在選擇晶振頻率是,要兼顧速度、功耗和線路工藝。片內(nèi)振蕩器對構成并聯(lián)諧振電路的外接電容c1和c2要求并不嚴格,外接晶體時,c1和c2的典型值為30pf左右。而且,在設計印刷電路板時,晶體(或陶瓷諧振器)和電容應盡可能安裝得靠近單片機,以減少寄生電容,保證振蕩器的穩(wěn)定和可靠性。3.6輸出電路設計輸出電路采用數(shù)碼管顯示,顯示方法為動態(tài)掃描顯示。動態(tài)顯示驅(qū)動:數(shù)碼管動態(tài)顯示接口是單片機中應用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃“a,b,c,d,e,f,g,dp”的同名端連在一起,另外為每個數(shù)碼管的公共極c
24、om增加位選通控制電路,位選通由各自獨立的i/o線控制,當單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通com端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的com端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位數(shù)碼管的點亮時間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應,盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大
25、量的i/o端口,而且功耗更低。顯示部分的原理圖如下圖14所示,利用8255a擴展的4位led動態(tài)顯示器接口電路。圖中將所有位的段選線相應地并聯(lián)在一起,pb口作為段數(shù)端口,經(jīng)同相驅(qū)動器后接顯示器各個極,形成段選線的多路復用,而pa3pa0作為掃描口線,經(jīng)反相驅(qū)動器75452接顯示器公共陰極。在每一時刻使pa3pa0中有一位為高電平,即4位顯示器中僅有一位公共陰極位低電平,其他位為高電平,同時,段選線上輸出相應位要顯示的字符字型碼。這樣同一時刻,4位led中只有選通那一位顯示出字符,而其他位熄滅的。同樣,下一時刻,只讓下一位的選線處于選通狀態(tài),而其他位處于關閉狀態(tài),同時,在段選線上輸出相應位將要顯
26、示字符的字型碼。如此循環(huán)下去,就可以使4位顯示出要顯示的字符。圖14 輸出電路連線圖4.軟件系統(tǒng)設計4.1主程序流程圖圖14主程序流程圖4.2 a/d轉(zhuǎn)換流程圖圖15 a/d轉(zhuǎn)換子程序流程圖4.3 a/d轉(zhuǎn)換數(shù)據(jù)處理程序本設計中,以查詢方式實現(xiàn)a/d轉(zhuǎn)換。查詢方式a/d轉(zhuǎn)換程序如下:org 0200hstart:movdptr, #9000hmovp1, #0ffhmovr0, #07chmovxr0, aloop: jbp1.1, loop incr0incr0movxa, r0movxdptr, aincr0incdptrmovxa, r0movxdptr, ahere:ajmphere
27、ret4.4顯示子程序根據(jù)led顯示器的結(jié)構原理,顯示不同的字符需要不同的字形碼。本設計選用共陰極數(shù)碼管,由pa口控制led信號燈的顯示。數(shù)碼管顯示的真值表如下表所示:表4 數(shù)碼管顯示真值表顯示字符共陰極接法共陽極接法顯示字符共陰極接法共陽極接法03fhc0hc39hc6h106hf9hd5eha1h25bha4he79h86h34fhb0hf71h8eh466h99hp73h8ch56dh92hu3ehc1h67dh82ht31hceh707hf8hy6eh91h87fh80hh76h89h96fh90hl38hc7ha77h88h“滅”00hffhb7ch83hled顯示程序為:displ
28、ay: mov dptr,#numtabmov r0,#2dp1: mov r2,#150;設置動態(tài)顯示次數(shù)loop3: mov a,#0eh;選通點亮第1位數(shù)碼管mov p0,amov a,r1movc a,a+dptrmov p2,aacall dimssetb p0.0;選通點亮第2位數(shù)碼管clr p0.1mov a,50hmovc a,a+dptrmov p2,aclr p2.7acall dimssetb p0.1;選通點亮第3位數(shù)碼管clr p0.2mov a,51hmovc a,a+dptrmov p2,aacall dimssetb p0.2;選通點亮第4位數(shù)碼管clr p0.
29、3mov a,52hmovc a,a+dptrmov p2,aacall dimssetb p0.3djnz r2,loop3djnz r0,dp1retdims: mov r7,#00djnz r7,$ret4.5 多路數(shù)據(jù)采集系統(tǒng)主程序具體程序如下:st bit p3.5oe bit p3.4 eoc bit p3.3org 0000hajmp startorg 0030hstart: mov r5,#0 sett: mov a,r5 mov r1,a mov 50h,a mov 51h,a mov 52h,a lcall display inc r5cjne r5,#10, sett ;
30、自檢完畢ad: mov r1, #00 ;開始檢測16路數(shù)據(jù)mov r4, #0c3h mov p1, #0c3h lcall wait ;檢測并顯示第1路數(shù)據(jù)mov r4, #0e3h mov p1, #0e3h lcall wait ;檢測并顯示第2路數(shù)據(jù)mov r4, #0d3hmov p1, #0d3h lcall wait ;檢測并顯示第3路數(shù)據(jù)mov r4, #0f3h mov p1, #0f3h lcall wait ;檢測并顯示第4路數(shù)據(jù) mov r4, #0cbh mov p1, #0cbh lcall wait ;檢測并顯示第5路數(shù)據(jù)mov r4, #0ebh mov p1
31、, #0ebh lcall wait ;檢測并顯示第6路數(shù)據(jù)mov r4, #0fbh mov p1, #0fbh lcall wait ;檢測并顯示第7路數(shù)據(jù)mov r4, #0c7h mov p1, #0c7h lcall wait ;檢測并顯示第8路數(shù)據(jù)mov r4, #0c7h mov p1, #0c7h lcall wait ;檢測并顯示第9路數(shù)據(jù)mov r4, #0e7h mov p1, #0e7h lcall wait ;檢測并顯示第10路數(shù)據(jù) mov r4, #0d7h mov p1, #0d7h lcall wait ;檢測并顯示第11路數(shù)據(jù)mov r4, #0f7hmov
32、p1, #0f7hlcall wait ;檢測并顯示第12路數(shù)據(jù)mov r4, #0cfh mov p1, #0cfh lcall wait ;檢測并顯示第13路數(shù)據(jù)mov r4, #0efh mov p1, #0efh lcall wait ;檢測并顯示第14路數(shù)據(jù)mov r4, #0dfh mov p1, #0dfh lcall wait ;檢測并顯示第15路數(shù)據(jù)mov r4, #0ffh mov p1, #0ffh lcall wait ;檢測并顯示第16路數(shù)據(jù)ljmp lop;返回并繼續(xù)循環(huán)檢測wait: inc r1;啟動ad,檢測數(shù)據(jù),數(shù)據(jù)處理,數(shù)據(jù)顯示調(diào)用子程序setb tr0l
33、call dimsclr p3.5setb p3.5clr p3.5jnb eoc,$setb oemov a,p1clr oelcall loop2clr tr0lcall displayret;數(shù)據(jù)處理程序loop2: mov b, #0ffh ;數(shù)據(jù)處理程序div abmov 51h, amov 52h, bmov b, #0ahmul abmov 53h, bmov 54h, amov a, #16mul bamov 55h, bmov 56h, amov a, 54hadd a, bmov 57h, amov r0, aret;顯示子程序display: mov dptr,#numtabmov r0,#2dp1: mov r2,#150;設置動態(tài)顯示次數(shù)loop3:mov a,#0eh;選通點亮第1位數(shù)碼管mov p0,amov a,r1movc a,a+dptrmov p2,aacall dimssetb p0.0;選通點亮第2位數(shù)碼管clr p0.1mov a,50hmovc a
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)莊水庫出租合同模板
- 輕質(zhì)土施工合同模板
- 認證合同模板
- 餐飲租賃轉(zhuǎn)讓合同模板
- 測溫設備采購安裝合同模板
- 酒店保潔員工勞務合同模板
- 不合規(guī)貸款合同模板
- 園區(qū)保潔服務合同模板
- 企業(yè)it維護合同模板
- 連鎖品牌加盟合同模板
- 《基礎醫(yī)學概論》教學大綱
- 維吾爾自治區(qū)某引水樞紐施工組織設計
- 勞動教育《蒸饅頭》課件
- 農(nóng)村高中生物教學與農(nóng)業(yè)生產(chǎn)相結(jié)合提高教學效果
- 《財務大數(shù)據(jù)分析基礎與應用》-課程教學大綱
- 高三英語教學計劃15篇
- 幼兒園課件:《雷鋒的故事》
- GB/T 9119-2010板式平焊鋼制管法蘭
- GB/T 40946-2021海洋牧場建設技術指南
- GB/T 2912.1-2009紡織品甲醛的測定第1部分:游離和水解的甲醛(水萃取法)
- GB/T 10069.3-2008旋轉(zhuǎn)電機噪聲測定方法及限值第3部分:噪聲限值
評論
0/150
提交評論