【正文】
制信號或與其它電源復(fù)用引腳 控制信號或與其它電源復(fù)用引腳有 RST/VPD、 ALE/P、 PSEN 和 EA/VPP 等 4種形式。 ( B). ALE/ P ( 30 腳):當(dāng)訪問外部存儲器時, ALE(允許地址鎖存信號)以每機(jī)器周期兩次的信號輸出,用于鎖存出現(xiàn)在 P0口的低 ( C). PSEN(29 腳 ):片外程序存儲器讀選通輸出端 ,低電平有效。當(dāng)EA 端保持高電平時,單片機(jī)訪問片內(nèi)程序存儲器 4KB( MS— 52 子系列為 8KB)。 ④輸入 /輸出( I/O)引腳 P0 口、 P1 口、 P2 口及 P3 口 (A).P0 口( 39腳~ 22腳): ~ 統(tǒng)稱為 P0 口。對于片內(nèi)含有 EPROM 的單片機(jī),當(dāng) EPROM 編程時,從 P0 口輸入指令字節(jié),而當(dāng)檢驗程序時,則輸出指令字節(jié)。 (C).P2 口( 21 腳~ 28 腳): ~ 統(tǒng)稱為 P2 口,一般可作 為準(zhǔn)雙向 I/O接口。它為雙功能口,可以作為一般的準(zhǔn)雙向 I/O 接口,也可以將每 1 位用于第 2 功能,而且 P3 口的每一條引腳均可獨立定義為第 1 功能的輸入輸出或第 2功能。常用的數(shù)據(jù)存儲器有靜態(tài)存儲器RAM 和動態(tài)數(shù)據(jù)存儲器,由于在實際應(yīng)用中,需要擴(kuò)展的容量不大,所以本次采用 SRAM6116. 數(shù)據(jù)存儲器空間地址同程序存儲器一樣,油 P2 口提供高 8 位地址, P0 口分時提供 8 位地址和 8 位雙向數(shù)據(jù)線。為了保證系 統(tǒng)可靠復(fù)位,在設(shè)計復(fù)位電路時,一般使 RESET 引腳保持 10ms 以上的高電平,單片機(jī)便可以可靠地復(fù)位。當(dāng)加電時,電容 C充電,電路有電流流過,構(gòu)成回路,在電阻 R上產(chǎn)生壓降, RESET引腳為高電平;當(dāng)電容 C 充滿電后,電路相當(dāng)于斷開, RESET 的點位與地相同,復(fù)位結(jié)束。采用內(nèi)部方式時,在 C1 和 C2 引腳上接石英晶體和微調(diào)電容可以構(gòu)成振蕩器, 振蕩頻率的選擇范圍為 1. 2— 12MHZ 在使用外部時鐘時, XTAL2 用來輸入外部時鐘信號,而 XTALI 接地。對于單周期指令,當(dāng)指令操作碼讀 入 指令寄存器時,使從 S1P2 開R1kC2 2u FV C CV C CR E S E TV S S. ... 本科生課程設(shè)計(論文) 7 始執(zhí)行指令。多數(shù) 89C51指令周期為 1— 2個機(jī)器周 期,只有乘法和除法指令需要兩個以上機(jī)器周期的指令,它們需 4 個機(jī)器周期。本設(shè)計,采用新型水位傳感器 CBM2100,可以達(dá)到對水位高度的精確檢測,以利于提高后續(xù)電路控制的精度。片內(nèi)有多路模擬開關(guān)及通道地址譯碼及鎖存電路,可對多路模擬信 號進(jìn)行分時采集與轉(zhuǎn)換;片內(nèi)配置了三態(tài)輸出數(shù)據(jù)緩沖器,提供了與微處理器兼容接口; ADC0808 的最大不可調(diào)誤差小于177。 本科生課程設(shè)計(論文) 9 圖 模擬量檢測接口電路圖 水庫水位監(jiān)測裝置 輸出接口 電路設(shè)計 報警電路,如圖 所示。選亮數(shù)碼管采用動態(tài)掃描顯示。再經(jīng)過信號處理電路將這一直流模擬量轉(zhuǎn)換為 8位的并行數(shù)字量,并送入單片機(jī)進(jìn)行處理。 根據(jù)上述狀態(tài),即可分別對數(shù)碼顯示和 SPEAKER 實現(xiàn)單片機(jī)的自動化控制。 主程序 輸入數(shù)據(jù)首地址 30H 送 R2 IN0 地址送 R2 本科生課程設(shè)計(論文) 12 圖 主程序流程圖 中斷子程序 中斷子程序如圖 所示:在中斷到來后,程序轉(zhuǎn)到中斷子程序。 GAODU子程序 如圖 — GAODU子程序所示。在 GAODU 子程序中,將輸入數(shù)據(jù)處理為以 0 開始的 100種狀態(tài),正是出于這一考慮。轉(zhuǎn)到高度子程序 ORG 0080H 0200H A← 水位高度 A← 2*A A*B=BA 利用 PC← A+DPTR 指令 查表 轉(zhuǎn)到 ROUT00 轉(zhuǎn)到 ROUT01 轉(zhuǎn)到 ROUT49 圖 — 查表子程序 本科生課程設(shè)計(論文) 16 AJMP CHAB 。開 CPU 中斷 SETB EX1 。IN0 地址送 A MOVX R0, A 。端口地址送 R0 MOVX A , R0 。輸入數(shù)據(jù)送 A MOV B ,26 。B ← 10 MUL AB 。A ← B MOV B,10 。A/B: A中存整數(shù), B 中存余數(shù) MOV B,A 。水位高度存儲地址 MOV R0,A 。A ← A*2 ADD A ,10 MOV DPTR , BRTAB 。轉(zhuǎn)到 ROUT01 AJMP ROUT02 … … AJMP ROUT48 AJMP ROUT49 ROUT00: MOV P1, 00H 。轉(zhuǎn)到 MAIN … … … … ROUT39: MOV P1 , 39H LJMP MAIN ROUT40: MOV P1 , 40H 。關(guān)中斷 1 LJMP MAIN 。 P 1P 2P 3P 4P 5P 6P 7P 8R E S E T9P 10P 11P 12P 13P 14P 15P ( W R )16P ( R D )17X T A L 218X T A L 119V S S20V C C40P 21P 22P 23P 24P 25P 26P 27P 28P S E N29ALE/PROG30E A /V P P31P 32P 33P 34P 35P 36P 37P 38P 3989 C 5 1OC1C111D22D33D44D55D66D77D88D91Q192Q183Q174Q165Q156Q147Q138Q1274 H C 57 3A1B2C3G 2A4G 2B5G16Y77Y69Y510Y411Y312Y213Y114Y01574 L S 13 8I N 026m s b2 1212 220I N 1272 3192 418I N 2282 582 615I N 312 714lsb2 817I N 42E O C7I N 53A D D A25I N 64A D D B24A D D C23I N 75A L E22r e f ( )16E N A B L E9S T A R T6r e f ( + )12C L O C K10A D C 08 09V C C1A11B21Y32A42B52Y6G N D73A83B93Y104Y114B124A13V C C14T C 40 01RDWRP P P P P P P P P P P P V C CG N DQ3Q4c lk1D2D _C F Q123C B M 21 00G N DV C C..abfcgdeD P Y[ L E D gn ]1234567abcdefgabfcgdeD P Y[ L E D gn ]1234567abcdefgabfcgdeD P Y[ L E D gn ]1234567abcdefgD03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE11P P P P P P P P A L E /P P P P ..R1kC22 uFV C CR E S E TV S S.Y12 M H zC130 pFC230 pFS P E A K E R4. 7KV C CN P ND01D1