手機訪問更快捷
更多流量 更易傳播
隨時掌握行業(yè)動態(tài)
網(wǎng)絡(luò)課堂 行業(yè)直播
電磁流量計信號處理模塊
3.1單片計80C196KC簡介
近年來,單片機系統(tǒng)在工業(yè)自動化、生產(chǎn)過程控制,智能化儀器儀表等領(lǐng)域的應(yīng)用,有效地提高了生產(chǎn)效率,改善了工作條件,大大提高了控制質(zhì)量與經(jīng)濟效益。80C196KC單片機是一種嵌入式單片機,由于它的高性能的寄存器一寄存器結(jié)構(gòu),CPU操作直接面向內(nèi)存所有數(shù)據(jù)寄存器,消除了某些單片機只用累加器作運算的瓶頸效應(yīng),因而運算速度和數(shù)據(jù)吞吐能力大大提高。總線寬度可以控制為8 位或16位.它屬于MCS96系列單片機的HSIO系列,它的性能比Intel公司生產(chǎn)的80C196系列單片機的第二代產(chǎn)品性能要提高25%,它的A/D轉(zhuǎn)換器有8位和10 和兩種工作方式,不僅如此,它通過微代碼處理中斷事件,這樣可以大大減少CPU 響應(yīng)中斷服務(wù)的開銷。正因為80C196KC單片機的良好性能,使得它在汽車電子控制系統(tǒng)及智能化儀表儀器中有了廣泛的應(yīng)用[su2,s4,5"1j。
3.1.1 80C196KC單片機適合于儀表開發(fā)的特點
80C196KC單片機是Intel 16位單片機,采用了寄存器結(jié)構(gòu)。CPU的操作是在由寄存器陣列和SFR特殊功能寄存器所構(gòu)成的256字節(jié)寄存器空間進行的。這些寄存器都具有累加器的功能,可使CPU對運算前后的數(shù)據(jù)進行快速交換,同時又提供了高速的數(shù)據(jù)處理能力和輸入輸出能力。80C196KC單片機還具有以下特點,使之非常適于儀表的開發(fā):
1.A/D轉(zhuǎn)換有兩種方式,即10位方式和8位方式,我們采用了lO位方式以提高分辨率。當采用10位方式時,輸出結(jié)果為: %rⅣ.1023×—Vav-A—NGND (3—1) .‰F—ANGND pk為輸入電壓,%EF為參考電壓,ANGND為地線的電壓;
2.高效的指令系統(tǒng)。該指令系統(tǒng)可以對不帶符號數(shù)進行操作,有16位乘16 位和32位除16位的乘除指令,有符號擴展指令,還有數(shù)據(jù)規(guī)格化指令(有利于浮點運算)等等,這些都是它優(yōu)于MCS-51指令系統(tǒng)之處。
3.具有六種尋址方式,提高了編程和數(shù)據(jù)處理的靈活性;最多可擴展40個I/0口,同時片內(nèi)的A/D轉(zhuǎn)換器可實現(xiàn)8路模擬量輸入,這有利于儀表的升級換代, 有利于在今后采用更多的傳感器來實現(xiàn)數(shù)據(jù)輸入。
3.1.2 80C196KC單片機的結(jié)構(gòu)
80C196KC單片機是HSl0系列主流產(chǎn)品,由帶有高速輸入/輸出口的系統(tǒng)構(gòu)成, 是第二種CHMOS 196系列單片機。HSl0系列的主要特點是:可運行20MHz的工作主頻;可達1000B寄存器RAM;可動態(tài)配置8位或16位總線寬帶;16位看門構(gòu)定時器;快速寄存器一寄存器結(jié)構(gòu);總線HOLD/HOLDA協(xié)議;16位定時器和16位計數(shù)器;8通道8位或10位A/D變換;外設(shè)事件服務(wù)器(PTS):電源的閑置和掉電模式吣城】。圖3-1 80C196KC單片機的硬件總體框圖由上圖3-1該單片機的硬件總體框圖,可以知道,80C196KC的內(nèi)部EPROM/ROM 為16KB,內(nèi)部RAM為512字節(jié),也有24字節(jié)的專用寄存器。其中PTS稱為外部設(shè)備事件服務(wù)器,能夠提供類似于DMA的響應(yīng),大大減少了CPU的軟件開銷, 從而提高單片機的信息處理速度,F(xiàn)rs有5種運行方式,PTS矢量與15個中斷矢量相映像。下面就結(jié)合此硬件框圖,對本項目所要涉及到的主要單片機部分做一個介紹:
3.1.2.1存儲器空間
80C196KC存儲器的布局圖示于圖3.2,其中0000H~01FFI-I單元和1FFFH~ 2080H單元是有專門用途的,所有其他單元可用于放置程序、數(shù)據(jù)或由存儲器映射的外部設(shè)備占用。
外部存儲器或FOo 內(nèi)宣母Rc嘿函卿RoM或p 外部存儲器一保留一PTs向量一中斷向量一ROIvl/EPROM密鑰p 保留一CCB, 保留一低端中斷向量一P3和P4。外部存儲器一附力口RA^垂一寄存器陣列和外部程序存儲器一OFFFF玨6000H√ 2080lj“ 205E田■ 204忸p 2030l|k 2020玨, 2019H√ 2018】jp 20141玉一2000m 1F,拿阻200l五一10DII.一圖3.2 80C196KC存儲器布局00H~1FFH單元包含寄存器陣列、專用寄存器和256字節(jié)的附加RAM,若企圖從這些單元執(zhí)行指令,那么指令將從外部存儲器取得。這其中,00H~017H是專用寄存器區(qū),018H~0FFH是寄存器陣列,可由RALU直接訪問,宛如有232 個累加器。100H~1FFH是附加的256字節(jié)RAM。這些RAM靠“垂直寄存器窗” 結(jié)構(gòu),也可以作為寄存器由RALU直接訪問,因而給程序設(shè)計帶來了很大的方便。另外,ooH~17H單元作為專用寄存器,除了P3和P4外,80C196KC的所有其他片內(nèi)外設(shè)裝置都由這些專用寄存器控制。80c196KC提供了3個水平寄存器窗,以增加專用寄存器空間,使得MCS--96系列芯片能保持向上兼容。具體包括水平窗0,水平窗1和水平窗15。
3.1.2.2寄存器窗口
MCS--96系統(tǒng)結(jié)構(gòu)中的之一是取消了常規(guī)的累加器結(jié)構(gòu),使RALU 的操作可直接面向整個寄存器空間。由于采用的是8位尋址段,RALU在同一時刻可直接尋址的寄存器位256字節(jié)。采用寄存器窗口技術(shù),靠簡單的切換寄存器窗口,使RALU可以訪問更多的寄存器。80C19KC采用了水平窗口和垂直窗口兩種結(jié)構(gòu),窗口之間的轉(zhuǎn)換,由窗口選擇寄存器WSR的低7位控制,WSR的定義見圖3.3,其中位WSR.7(HODEN)是HOLD/HLDA總線交換協(xié)議選通位。WSR: 圖3-3窗口選擇寄存器WSR
a、水平窗口結(jié)構(gòu),可以使直接尋址的專用寄存器的字節(jié)數(shù)大大增加,3個水平窗口為:窗口0、1和15。切換水平窗口后,可以把水平窗口的24字節(jié)映射到寄存器陣列的低24字節(jié),專用寄存器WSR的低4位用于選擇水平窗口,切換的辦法很簡單,只要把的水平窗口號寫到WSR的低4位,并使WSR的位4至位6為0就可以了;
b、垂直窗口結(jié)構(gòu),因為片內(nèi)RAM512字節(jié),其中低256字節(jié)可直接尋址,若不采用專門的措施,高256字節(jié)只能利用16位變址或間接尋址。這樣,高256字節(jié)就只能作為普通的片內(nèi)RAM使用,而不能作寄存器使用了。采用了垂直窗口結(jié)構(gòu),就可以把512字節(jié)RAM中的任何一個部分映射到00H~0FFFI空間中的頂部, 因而CPu就可以對它們直接尋址,即把被映射的部分當作寄存器使用,使得通用寄存器數(shù)增加了256個字節(jié)。垂直窗口技術(shù)把00H~IFFH共512個字節(jié)分為32 字節(jié)、64字節(jié)或128字節(jié)的窗口,利用垂直窗口切換指令,把的窗口映射到寄存器陣列(c10時~0FFrI)的頂部,如圖34: 圖3-4 80C196KC的垂直窗口向WSR寄存器寫入適當?shù)臄?shù)據(jù),就可以實現(xiàn)垂直窗的切換,寫入的數(shù)據(jù)是這樣規(guī)定的,W6、W5、W4窗口的大小,其中; W6W5W4=100 為32字節(jié)窗口=010 為“字節(jié)窗口=001 為128字節(jié)窗口W3~W0了窗口號,如圖3.3,窗口大小為32字節(jié)時,窗口號為0~15: 窗口號為64字節(jié)時,窗口號為0~7;窗口為128字節(jié)時,窗口號為0~3。垂直窗口技術(shù)可以大大加速程序運行速度和精簡程序結(jié)構(gòu)。在中斷服務(wù)程序或子程序中,其優(yōu)點尤其顯得突出。增添了新的256字節(jié)寄存器,使得每個服務(wù)程序都可能擁有自己的寄存器組,而在服務(wù)程序的入口和出口處,可以用簡單的垂直窗口切換指令代替常用的入棧、出棧指令。程序設(shè)計時,可以把488字節(jié)的片內(nèi)RAM劃分為2類:一類是局部變量,屬各中斷服務(wù)程序或子程序?qū)S茫么怪贝翱诩夹g(shù)進行切換;另一類是全局變量,用于各子程序和主程序之間傳遞結(jié)果數(shù)據(jù),通常占用寄存器陣列的較低地址,不用窗口技術(shù)。
3.1.2.3中斷系統(tǒng)
中斷系統(tǒng)向量框圖如圖3-5, 圖3-5中斷向量框圖下面就中斷系統(tǒng)框圖的圖示作一解釋,關(guān)于中斷源的概念是:外部設(shè)備或者是單片內(nèi)部的有關(guān)部分,為了實現(xiàn)某種需求而向CPU提出中斷申請,要求為其服務(wù),這些中斷請求的發(fā)源地就稱為中斷源。80C196KC單片機總共提供了28個各中斷源,18個中斷向量。其中非屏蔽中斷NMI、軟件陷阱TRAP和非法操作碼中斷是3種特殊的中斷源,各占用了一個專門的中斷向量;其余25個中斷源分享另外15 個中斷向量。一臺功能很強的設(shè)備,總是希望它能為眾多的用戶服務(wù),而且首先要為重要用戶服務(wù),對于這么多的中斷源,有可能同時向cPU提出中斷申請,但是,在某~段時間內(nèi),單片機只能為其中之一盡力。因此,科學管理和正確對待這些中斷源是一項十分重要的工作,在諸多中斷源同時提供請求時,CPU將首先為級別者服務(wù)。不論哪一個中斷申請者,當其要求得到響應(yīng)時,CPU總是去執(zhí)行某一段中斷服務(wù)程序,但事先必須找到該程序的入口地址,存放入口地址的單元又需要標明其地址,這便是中斷向量的概念,所有的中斷源都又自己固定的中斷向量,不可任意挪用或更改。,就我們現(xiàn)在做的項目而言,主要用到了三個中斷源, 分別是定時器中斷,中斷源代碼INT00,中斷向量是2000H,優(yōu)先權(quán)級別是O;高速輸入通道位O數(shù)據(jù)有效中斷,即HIS.0引腳中斷,中斷源代碼INT04,中斷向量是2008H,優(yōu)先權(quán)級別是4;外部中斷,中斷源代碼INT07,中斷向量200EH,優(yōu)先權(quán)級別為7。當任何一個或多個中斷源同時產(chǎn)生由0一l的跳變信號時,跳變信號檢測器就會把它們的要求一向“中斷懸掛寄存器”報告,中斷懸掛寄存器實際上是“登記冊”,80C19KC單片機有兩個8位的中斷懸掛寄存器,只要是跳變信號檢測器介紹進來的來訪者,它都予以登記。所謂的登記,也就是寄存器的有關(guān)位寫上“1”,所有的中斷懸掛寄存器上置1的中斷,單片機都有權(quán)區(qū)別對待它們, 處理這項工作的就是兩個8位中斷屏蔽寄存器,中斷屏蔽寄存器中的每一位分別與一個固定的中斷源相對應(yīng)。某位為1,表示歡迎;反之,就是等待。那些通過了中斷屏蔽寄存器的中斷申請,最后還受程序狀態(tài)字寄存器PSW的第9位控制,就是圖3-5中的總允許位,當PSW的D。=1時,表示中斷允許,否則,中斷不能被執(zhí)行。如果中斷源信號最后允許通過,下面就是優(yōu)先權(quán)編碼的問題了,優(yōu)先權(quán)編碼器根據(jù)中斷源信號的級別進行評選,找出別者,CPU首先為其服務(wù)。把中斷源相對應(yīng)的中斷向量送上內(nèi)部數(shù)據(jù)總線上,CPU從中斷向量的存儲單元里得到中斷服務(wù)程序入口地址,從而執(zhí)行中斷服務(wù)程序,實現(xiàn)中斷調(diào)轉(zhuǎn)。
3.2電磁流量計勵磁模塊
本項目的勵磁電路是采用單片機控制的恒流源勵磁方式阻-明m】,其中,基本的恒流源勵磁電路如下圖3-6; 圖3-6基本恒流源勵磁電路這里,由K1、K2、K3和K4組成橋式開關(guān),傳感器勵磁線圈接在橋式開關(guān)的對角線上。開關(guān)K1、K4和K2、K3分別受勵磁控制脈沖negative和positive的控制,(其中,negative接80e196kc單片機的P1—6引腳,positive接P1—4引腳) 交替地導通和截止。當開關(guān)K1和K4導通時(這時開關(guān)K3和K2截止),電流由電源Ec自右向左流過勵磁線圈L、晶體管T和采樣電阻R;開關(guān)K3和K2導通時(這時開關(guān)K1和K4截止),電流由電源Ec自左向右流過勵磁線圈上,晶體管T 和采樣電阻R。流過勵磁線圈的電流方向,隨控制開關(guān)negative和positive的變化而變化,電流的方向改變和控制脈沖一致,電流的大小由‘-B/R決定。由于本項目的勵磁方式是通過單片機來控制的,所以具有很好的可調(diào)性,根據(jù)對不同的流體的測量,可以設(shè)定不同的勵磁方式,以供用戶靈活的選擇。默認的,我們選擇了三值低頻勵磁波作為系統(tǒng)的勵磁方式。
3.3智能型電磁流量計 A/D轉(zhuǎn)換模塊
在計算機控制系統(tǒng)及各類用單片機(或微處理器)構(gòu)成的智能儀器儀表中, 所要用的外部模擬信號要進入計算機就必須要通過A/D轉(zhuǎn)換,變換為數(shù)字信號。而在本系統(tǒng)中,雖然所用的單片機80c196kc具有內(nèi)置的A/D轉(zhuǎn)換器,但其內(nèi)置的轉(zhuǎn)換器,只能將模擬電壓轉(zhuǎn)換成一個8位或10位的數(shù)字量,這對于電磁流量計來說,其精度和分辨率是達不到要求的,所以在這里,我們采用一種新型的12位低功耗模/數(shù)采樣轉(zhuǎn)換器ADS7806u,ADS7806u是美國BURR.BROWN公司所推出12位轉(zhuǎn)換器,它采用state-of-the.a(chǎn)rt CMOS結(jié)構(gòu),可以在25us內(nèi)就完成數(shù)據(jù)的讀取和轉(zhuǎn)換,而它的功耗也就35roW,在輸入IkHZ的信號時,其最小信噪比可以達到72db,電壓方面,可提供3種方式,標準的±10v,0-5v,和0-4v。在數(shù)字輸出方面,有并行及串行兩種方式,具有很大的靈活性。在這里,我們采用的是并行輸出的方式[3“z,55“J。接口電路如下: 圖3—7與單片機的并行接口電路由上圖3-7,D7’D0是接在數(shù)據(jù)總線上,Rc腳接單片機的P2-7,BYTE接的是單片機PI-0,叫SY(2 4腳)接的是外部中斷INTR(P2—2),因為BUSY腳是表示轉(zhuǎn)換的結(jié)束,所以這里我們用中斷來更方便的讀取數(shù)據(jù),一旦BUSY腳變?yōu)楦唠娖剑?就產(chǎn)生中斷,在中斷服務(wù)程序里面,完成對轉(zhuǎn)換數(shù)據(jù)的讀取。該轉(zhuǎn)換器具體的過程為:首先,Cs和RC腳變低至少40ns,啟動轉(zhuǎn)換器轉(zhuǎn)換模擬信號,BUSY腳電平拉低表示開始轉(zhuǎn)換,直到轉(zhuǎn)換器內(nèi)部輸出寄存器數(shù)據(jù)得到更新,即轉(zhuǎn)換完成,在BUSY腳保持低電平時,所有的轉(zhuǎn)換指令將不被響應(yīng),另外,在BUSY腳變高前,CS 和Rc腳必須已經(jīng)為高,否則新一輪的轉(zhuǎn)換會在轉(zhuǎn)換數(shù)據(jù)還沒有足夠的時間被讀取的情況下,就開始又一次的轉(zhuǎn)換了。在這里,因為我們說的是并行輸出,所以ExT/INT(8腳)和DATACLK(18腳)就保持低電平,而SD^TA(19腳)就懸空。在轉(zhuǎn)換完成以后,BUSY腳電平自動拉高,這樣,在C S腳的下降沿即把轉(zhuǎn)換結(jié)果輸出到數(shù)據(jù)總線上,因為我們轉(zhuǎn)換的結(jié)果是1 2位的,所以要分兩次讀取,而這個功能是由BYTE(21)腳來實現(xiàn),當BYTE(21)腳是低電平時,數(shù)據(jù)總線上輸出高8位,反之,輸出低4位。
3.4電磁流量計按鍵模塊
在鍵盤接口電路方面【4“幢“,我們采用了如下圖3-8所式的電路結(jié)構(gòu)形式: VCC 圖3—8鍵盤接n電路我們用4個按鍵來對儀表進行數(shù)據(jù)及命令的輸入,電路中的四個鍵,分別為加一鍵、移位鍵、設(shè)定鍵、確定鍵,具體來說就是,對于參數(shù)的設(shè)定,在正常計量狀態(tài)或報警狀態(tài)下按“確定鍵”進入,通過不斷的按“設(shè)定鍵”來設(shè)定各級之間的切換。當要設(shè)定具體的某一級參數(shù)時,通過“移位鍵”在當前屏幕顯示位之間切換,通過“加一鍵”使當前位上的數(shù)值加一。完成設(shè)定以后,應(yīng)按“確定鍵” 退出,回到正常的計量狀態(tài)。在本項目中,我們對鍵值的讀取是通過中斷來控制的,當某一個按鍵按下時,或門產(chǎn)生一個信號,作用于單片機,產(chǎn)生一個外部中斷,在外部中斷服務(wù)程序里,通過一定的延遲,去除鍵盤的前沿抖動,然后對鍵盤進行讀取,用這種方法讀取鍵值,基本可以做到正確的判斷與鍵值的讀取。并且接口電路簡單,占用CPU的時間也少,而對于程序的設(shè)計,也是很方便的。
3.5 智能電磁流量計LCD液晶顯示模塊
LCD具有耗電低,驅(qū)動電壓低(正負幾伏),結(jié)構(gòu)空間小而有效面積大、體薄物輕等優(yōu)點,廣泛用于儀器儀表的應(yīng)用中。在我們這個流量計的設(shè)計中,采用了TRULY SEMICONDUCTORS LTD的MSD-G12864點陣圖形示液晶顯示器來顯示累積流量、瞬時流量等數(shù)據(jù)信息,MGl2864液晶顯示模塊自帶兩個KS0108B和一個顯示驅(qū)動控制器,兩個KS0108B分別控制左右兩個半屏(64X64)象素點的顯示,KS0107B 作為用64行的行驅(qū)動控制似川.其內(nèi)部結(jié)構(gòu)如下圖3-9所示: 啪●一BLvOC BU跚圖3-9 MGl2864液晶顯示模塊結(jié)構(gòu)框圖其中VSS表示邏輯地連接端,提供工作電源參考地;VCC表示供電電源連接端,提供LCD工作的電源;LCDVIN表示LCD工作電源輸入端,提供LCD工作的電源:RS表示內(nèi)部功能寄存器選擇信號,提供內(nèi)部功能選擇的輸入端,當RS =H時,為選擇數(shù)據(jù)寄存器,當RS=L時,為選擇命令或狀態(tài)寄存器;R/W表示讀/寫操作控制端,提供讀/寫操作的輸入信號,R/W=H為讀操作,R/W=L為寫操作;E表示片選使能,提供選通工作的輸入信號,高低平有效;DB0~DB7為內(nèi)部數(shù)據(jù)總線,提供數(shù)據(jù)輸入,輸出的信息交換通道;CSl表示片選輸入端,提供KS0108B(1)片選信號;CS2亦表示片選輸入端,提供KS0108B(2)片選信號; RSTB表示復位控制輸入端,低電平有效:VOUT表示驅(qū)動電壓輸出端,提供uD 驅(qū)動電壓輸出;BLVCC表示背光電源輸入端,提供背光電路的電源;BLGND表示背光地,提供背光電路的參考地。MGl2864液晶模塊簡單的工作原理可以表述為:MGl2864液晶模塊經(jīng)數(shù)據(jù)總線接收外部微處理器發(fā)來的指令和數(shù)據(jù),并存入內(nèi)部的指令或數(shù)據(jù)寄存器中,在這些控制指令的控制下,行、列驅(qū)動器對128×64點陣的LCD顯示屏進行控制, 從而實現(xiàn)所需信息的顯示. MGl2864液晶顯示模塊的對外接口實質(zhì)上就是KS0108B及KS0107B控制器與微處理器的接口。利用MGl2864液晶顯示模塊文本或圖形,就其接口技術(shù)來講, 通常需要考慮兩個問題,其一就是接口的邏輯設(shè)計,其二就是接口的時序設(shè)計。接口的邏輯設(shè)計就是根據(jù)MGl2864液晶顯示模塊提供的接口信號,結(jié)合微處理器系統(tǒng)讀寫外部I/O設(shè)備的操作方式,設(shè)計出微處理器系統(tǒng)控制液晶顯示模塊的硬件接口電路;接口的時序設(shè)計就是根據(jù)已設(shè)計好的硬件接口電路,根據(jù)微處理器系統(tǒng)操作外部I/O設(shè)備的讀寫時序,設(shè)計出可以滿足液晶顯示模塊讀寫時序要求的實現(xiàn)時序,若硬件接口電路不能滿足時序要求,則需對硬件電路進行適當修改或增加可編程接口電路。通常,MGl2864液晶顯示模塊與微處理器的連接方式有兩種,一種是直接控制方式,另一種是間接控制方式。直接控制方式就是將液晶顯示模塊的接口作為存儲器或I/O設(shè)備直接掛在微處理器總線上,微處理器以控制存儲器或I/O設(shè)備的方式操作液晶顯示模塊的工作。間接控制方式就是微處理器通過自身的或系統(tǒng)中的并行接口與液晶顯示模塊連接,以達到對液晶顯示模塊的控制。對于本項目的研究,我們采用的是直接控制方式,具體的電路連接方式為:P31(A9)作為RS 信號控制寄存器的選擇,P30(AS)作為R/W信號控制數(shù)據(jù)總線的數(shù)據(jù)流向,DB0~ DB7接P4,P33(A11)接CSl,P32(A10)接CS2。
相關(guān)產(chǎn)品
免責聲明
客服熱線: 13199863987
加盟熱線: 13199863987
媒體合作: 0571-87759945
投訴熱線: 0571-87759942
下載儀表站APP
Ybzhan手機版
Ybzhan公眾號
Ybzhan小程序