【正文】
O G I C 8OUT5H O L D C A P6U7L F 3 9 8 A N ( 8 )通道 0通道 1通道 2通道 3通道 4通道 5通道 6通道 7P 1. 0C2C A PC3C A PC1C A PC0C A PC4C A PC5C A PC6C A PC7C A POC1C111D31Q22D42Q53D73Q64D84Q95D135Q126D146Q157D177Q168D188Q19U 0 17 4L S 3 73P 0. 0P 0. 1P 0. 2P 0. 3P 0. 4P 0. 5P 0. 6P 0. 7A L E / PP 1. 10V5 .1 2 VI N 0I N 1I N 2I N 3I N 4I N 5I N 6I N 7I N 0I N 1I N 2I N 3I N 4I N 5I N 6I N 7O U T 0O U T 1O U T 2O U T 3O U T 4O U T 5O U T 6O U T 7O U T 0O U T 1O U T 2O U T 3O U T 4O U T 5O U T 6O U T 7P 1. 2 數(shù)據(jù)采集模塊是將從調(diào)理電路送過來的信號進(jìn)行量化,把模擬 量變成數(shù)字量的模塊, A/D轉(zhuǎn)換過程(即采樣信號的量化過程)需要時(shí)間,如果輸入信號變化較大,就會引起轉(zhuǎn)換誤差。保持起把 kTt? 時(shí)刻的采樣值保持到 A/D 轉(zhuǎn)換結(jié)束。采樣控制電平為“ 1”,保持控制電平為“ 0”, OFFFSET用于零位調(diào)整。減小 HC 可提高采樣頻率,但 會降低精度。 在本系統(tǒng)中根據(jù)采樣時(shí)間、電壓下降率等 HC 取為 F,這樣信號達(dá)到 %精度的獲取時(shí)間為25μ s,保持期間的輸出電壓下降率為每秒 3mV。 A/D 轉(zhuǎn)換器的任務(wù)是完成采樣信號到數(shù)字信號的轉(zhuǎn)換, ADC0809 是逐次逼近式,轉(zhuǎn)換時(shí)間為100μ s 的 8 位轉(zhuǎn)換器,它的線性誤差為177。 15 8位 A/D轉(zhuǎn)換器的分辨率約為 ,轉(zhuǎn)換精度在 %以下 , 這對一些精度要求比較高的控制系統(tǒng)而言是不夠的,因此要采用更多位的 A/D轉(zhuǎn)換器,如 10 位、 12位、 14位等 A/D轉(zhuǎn)換器。同時(shí) START 的上升沿將轉(zhuǎn)換器內(nèi)部清零,下降沿起動(dòng) A/D轉(zhuǎn)換,即在時(shí)鐘的作用下,逐位逼近過程開始,轉(zhuǎn)換結(jié)束信號 EOC 即變?yōu)榈碗娖健? A、 B、 C: 3位地址線即模擬量通道選擇線。 C B A 選中通道 0 0 0 INT0 0 0 1 INT1 0 1 0 INT2 0 1 1 INT3 1 0 0 INT4 1 0 1 INT5 1 1 0 INT6 1 1 1 INT7 ADC0809的量化單位 8)()( 2/][ ?? ?? R E FR E F VVq ALE START OE DO7~1 EOC 16 本系統(tǒng)基準(zhǔn)電壓 VVREF )( ?? , VVREF 0)( ?? 此時(shí) q=( ) /28=20Mv, 轉(zhuǎn)換結(jié)果 D= )(/)( mVqmVVIN A/D轉(zhuǎn)換器與單片機(jī)的硬件接口一般有兩種方法,一種方法是通過并行 I/O接口與 8051A單片機(jī)連接(例如 8155 或 8255)需要占用兩個(gè)并行口(其中一個(gè)端口接 A/D 轉(zhuǎn)換器數(shù)據(jù)線,另一 個(gè)端口用來產(chǎn)生 A/D轉(zhuǎn)換器工作控制信號);第二種接口方法是利用 ADC0809轉(zhuǎn)換器三態(tài)輸出鎖存功能,可以直接與 8051的總線連接,在系統(tǒng)中把 ADC0809轉(zhuǎn)換器當(dāng)作外部 RAM單元對待。當(dāng) 8051產(chǎn)生 WR 寫信號時(shí),則由一個(gè)或非門產(chǎn)生轉(zhuǎn)換器的啟動(dòng) START和地址鎖存信號 ALE(高電平有效),同時(shí)將地址總線信息由 A, B, C輸入 并鎖存,模擬量通過被選中的通道送到 A/D轉(zhuǎn)換器,并在 START信號下降沿時(shí)開始逐位轉(zhuǎn)換。經(jīng)反相器可向 CPU發(fā)送一個(gè)高電平信號。 查詢打印模塊電路設(shè)計(jì) 1 2 3 4 5 6ABCD654321DCBAT i t l eN u m be r R e v i s i o nS i z eBD a t e : 3 1 M a y 20 0 6 S he e t o f F i l e : C : \ D o c u m e n t s a n d S e t t i n gs \ u s e r \桌面 \ M y D e s i g n .d dbD r a w n B y:O U T A 027O U T B 031O U T A 126O U T B 130O U T A 225O U T B 229O U T A 324O U T B 328D B 012BD23D B 113D B 214S L 032D B 315S L 133D B 416S L 234D B 517S L 335D B 618D B 719R L 038R L 139I R Q4R L 21R L 32CS22R L 45RD10R L 56WR11R L 67A021R L 78C L K3S H I F T36R E S E T9C N T L / S37U 0 08 27 9abfcgdeD P Y[ L E D gn ]1234567abcdefgD S 00D P Y _7 S E Gab fcgdeD P Y[ L E D gn ]1234567abcdefgD S 01D P Y _7 S E GabfcgdeD P Y[ L E D gn ]1234567abcdefgD S 02D P Y _7 S E Gab fcgdeD P Y[ L E D gn ]1234567abcdefgD S 03D P Y _7 S E GabfcgdeD P Y[ L E D gn ]1234567abcdefgD S 04D P Y _7 S E Gab fcgdeD P Y[ L E D gn ]1234567abcdefgD S 05D P Y _7 S E GabfcgdeD P Y[ L E D gn ]1234567abcdefgD S 06D P Y _7 S E Gab fcgdeD P Y[ L E D gn ]1234567abcdefgD S 07D P Y _7 S E GA1B2C3E14E25E36Y015Y114Y213Y312Y411Y510Y69Y77U87 4 L S 1 3 8E N 11E N 2191 A 1 I N21 A 2 I N41 A 3 I N61 A 4 I N82 A 1 I N112 A 2 I N132 A 3 I N152 A 4 I N172 Y 4 O U T32 Y 3 O U T52 Y 2 O U T72 Y 1 O U T91 Y 4 O U T121 Y 3 O U T141 Y 2 O U T161 Y 1 O U T18U?7 4L S 2 4412345678161514131211109R P 20 0 A21 354 687 90* V C CP 0. 0P 0. 1P 0. 2P 0. 3P 0. 4P 0. 5P 0. 6P 0. 7I N T 0P 2. 0RDWRP 1. 0A L E / PR E S E TY0Y1Y2Y3Y4Y5Y0Y1Y2Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7abbcdefghcdefghaabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgbbbbbbb 用鎖存器或用 8155都可以作鍵盤顯示器的接口。本系統(tǒng)采用的 Intel18279是一個(gè)專用的顯示器鍵盤接口,它用硬件完成對顯示器和鍵盤的掃描。 DB0~DB7是數(shù)據(jù)線,與 CPU總線相連。此時(shí)若 A0=1。若 A0=0,數(shù)據(jù)線上的信息是顯示數(shù)據(jù)或鍵盤數(shù)據(jù)。 17 掃描計(jì)數(shù)器通過 SL0~SL3輸出掃描信號,掃描信號分為譯碼和編碼兩種。這一過程 8279通過硬件自動(dòng)完成,無需程序干預(yù)。當(dāng)有鍵按下時(shí),該鍵在行列中的位置上 SHIFT和 CNTL的狀態(tài)一起被送到 FIFO存儲器中,同時(shí)使 IRQ變高。此時(shí) FIFO 狀態(tài)寄存器存儲器空、滿、益處等狀態(tài)。在傳感器矩陣方式工作時(shí),這個(gè)存儲器是傳感器 RAM,它的每一位對應(yīng)著一個(gè)傳感器的狀態(tài)。 IRQ信號變?yōu)楦唠娖健? 18 第 4 章 單片機(jī)數(shù)據(jù)采集與通信系統(tǒng)軟件設(shè)計(jì) 上一章我們對系統(tǒng)的幾個(gè)主要硬件部分進(jìn)行了介紹,這些構(gòu)成了數(shù)據(jù)采集和通信系統(tǒng)的硬件基礎(chǔ)。系統(tǒng)要真正能夠進(jìn)行按照我們設(shè)計(jì)的意愿進(jìn)行工作還必須有軟件的配合。 采用鍵入不同的值進(jìn)入不同的模式,進(jìn)行各種不同功能的實(shí)現(xiàn),如果在沒按下“ ”鍵以前有鍵按下,判斷為誤操作,程序不予處理,當(dāng)按下“ ”鍵時(shí),系統(tǒng)進(jìn)入采集模式,當(dāng)鍵入的是“ *”鍵時(shí),系統(tǒng)進(jìn)入的是通信模式,當(dāng)在數(shù)據(jù)采集模式下鍵入的是“ ”鍵時(shí),系統(tǒng)就進(jìn)入了查詢模式,如開始 初始化(鍵盤、顯示、存儲、打?。? 讀 ADC0809 狀態(tài)(是否空閑) 讀打印機(jī)狀態(tài)(是否空閑) 設(shè)置各通道數(shù)據(jù)存放地址段 判斷鍵盤送來的字符 查詢模式 通信模式 數(shù)據(jù)采集模式 結(jié)束 19 果需要將查詢到的數(shù)據(jù)打印出來,就需要再一次按下“ ”鍵,從而使 系統(tǒng)完成各項(xiàng)功能。 MOVX A,DPTR。查表轉(zhuǎn)換成有序編碼 CJNE A, 0AH, KEY1 KEY1: JC PDATA;是數(shù)字鍵 ,轉(zhuǎn) PDATA處理 SUBB A, 0AH;以下為命令處理 MOV B, 03H MUL AB MOV DPTR, COMTAB JMP A+DPTR COMTAB: LJMP FIND。 21 LSB。進(jìn)入數(shù)據(jù)查詢模式我們就可以根據(jù)輸入的時(shí)間來查詢那一時(shí)刻所存儲的數(shù)據(jù),按下打印鍵,系統(tǒng)將為你進(jìn)行把所查詢到的數(shù)據(jù)進(jìn)行打印。過從鍵盤送來的不同鍵值選擇不同的工作模式;接受到“ *”系統(tǒng)將自動(dòng)進(jìn)入到查詢和打印模式, 接受到“ ”系統(tǒng)將自動(dòng)進(jìn) 入打印狀態(tài),再一次接受到“ ”的時(shí)候系統(tǒng)將返回到數(shù)據(jù)采集狀態(tài)。然后就是第二通道的采集。 設(shè)置 0通道的下限值 MOV X0min,AL MOV AL,80H 。設(shè)置 1通道的上限值 MOV X1max,AL MOV AL,0A0H 。設(shè)置 3通道的上限值 MOV X3max,AL MOV AL, 0C0H 。設(shè)置 5通道的上限值 MOV X5max,AL MOV AL, 0E0H 。設(shè)置 7通道的上限值 MOV X7max,AL;設(shè)置各通道界限值 MOV A, 10H MOV R0,A INC R0 MOV R1 , 8 MOV A,F0H L1: MOV R0,A INC R0 CLR C SUBB A,8 DJNZ R1,L1 MOV DPTR,228H。通道號設(shè)置為 0 L3: MOV R3, 8;采集次數(shù)設(shè)置為 8 L4: MOVX DPTR, 220H;啟動(dòng) A/D轉(zhuǎn)換 MOVX DPTR,A MOV R7,0