單片機系統的設計_第1頁
單片機系統的設計_第2頁
單片機系統的設計_第3頁
單片機系統的設計_第4頁
單片機系統的設計_第5頁
已閱讀5頁,還剩13頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選文檔第4章 單片機系統的設計4.1 引言 用V/F變換器作A/D轉換時,通常由一些硬件電路如振蕩器、二分頻器、計數器和門電路組成,而由計數器計得的計數值即A/D轉換結果再通過接口電路送入微計算機進行處理,較為復雜和不便,或者采用F/BCD變換電路將V/F變換器輸出的頻率信號變為BCD碼再通過接口電路送入微計算機,也較為復雜,而且還要對BCD碼進行變換。這些方法成本都較高。本設計介紹一種以單片機直接與V/F變換器接口進行A/D轉換的方法,不須額外的硬件電路,完全利用單片機內部的硬件資源,簡單方便,成本最低,大大地提高了V/F變換器作為A/D轉換電路的可行性。當前,單片機特別是Intel公司的

2、MCS-51系列單片機已在智能儀器儀表和過程控制等方面得到廣泛應用,大有取代Z80之勢,因此A/D轉換電路與單片機的接口方法也是人們所關注的。下面將主要介紹MCS-51系列的單片機8031為主控器件的硬件電路。4.2 主控器Intel 8031簡介圖4-1 8031引腳圖Fig.4-1 8031 cite-feet figure根據應用系統功能要求,考慮低成本、小體積等因素,本設計采用Intel 8031單片微計算機。Intel 8031是MCS-51系列單片機目前使用最多的一種基本產品,在它的內部包括一個8位的CPU,128個字節的RAM,21個特殊功能寄存器(SFR),4個8位并行I/O口

3、,1個全雙工的串行口,2個16位的定時器、計數器。但Intel 8031片內無程序存儲器,因此,必須外擴EOPROM芯片存放用戶程序。Intel 8031的引腳配置如圖4-1所示,40條引腳按功能來分,可分為三部分。4.2.1 Intel 8031的引腳4.2.1.1 電源及時鐘引腳 包括電源引腳VCC、VSS,時鐘引腳XTAL1、XTAL2。電源引腳接入單片機的工作電源。VCC(40腳):接5 V電源;VSS(20腳):接地。時鐘引腳外接晶體時與片內的反相放大器構成一個振蕩器,它提供單片機的是時鐘控制信號。時鐘引腳也可外接晶體振蕩器。XTAL1(19腳):接外部晶體的一個引腳。在單片機內部,

4、它是一個反相放大器的輸入端。當采用外接晶體振蕩器時,此引腳外接地。XTAL2(18腳):接外部晶體的另一端在單片機內部接至反相放大器的輸出端。若采用外部振蕩器時,該引腳接收振蕩器的信號,即把此信號直接接到內部時鐘發生器的輸入端。4.2.1.2 控制引腳 包括RESET(即RST)、ALE、,此類引腳提供控制信號,有些引腳具有復雜功能。(1)RST/VPD(9腳) 當振蕩器運行時,在此引腳加上兩個機器周期的高電平將使單片機復位(RST)。復位后應使此引腳電平為0.5 V的低電平,以保證單片機正常工作。掉電期間,此引腳可接上備用電源(VPD),以保值內部RAM中的數據不流失。當VCC下降到低于規定

5、值,而VPD在其規定的電壓范圍內(50.5V)時,VPD就向內部RAM提供備用電源。(2)ALE/(30腳) 當單片機訪問外部存儲器時,ALE(地址鎖促允許)輸出脈沖的下降沿用于鎖存16位地址的低8位。即使不訪問外部存儲器,ALE端有周期性正脈沖輸出,其頻率為振蕩器頻率的1/6。但是,每當訪問外部數據存儲器時,在兩個機器周期中ALE只出現一次,即丟失一個ALE脈沖。ALE端可以驅動8個TTL負載。對于片內具有EPROM型的單片機8751,在EPROM編程期間,此引腳用于輸入編程脈沖。(3)(29腳) 此輸出為單片內訪問外部程序存儲器的讀選通信號。在從外部程序存儲器取指令(或常數)期間,每個機器

6、周期信號將不出現。同樣可以驅動8個TTL負載.(4) /VPP(31腳) 當端保持高電平時,單片機訪問內部程序存儲器,但在PC(程序計數器)值超過OFFFH時,將自動轉向執行外部程序存儲器內的程序。當端保持低電平時,則只訪問外部程序存儲器,不管是否有內部程序存儲器。對8031來說,因其無內部程序存儲器,所以該腳必須接地,這樣只能選擇外部程序存儲器。4.2.1.3 輸入/輸出引腳 輸入/輸出(I/O)口引腳包括P0口、P1口、P2口和P3口。(1)P0口(P0.0P0.7) 雙向8位三態I/O口,此口為地址總線低8位及數據總線分時復用口,可帶8個LS TTL負載。(2)P1口(P1.0P1.7)

7、 8位準雙向I/O口(作為輸入時,口鎖存器置1),可帶4個LS TTL負載。(3)P2口(P2.0P2.7) 8位準雙向I/O口,與地址總線高8位復用,可驅動4個LS TTL負載。(4)P3口(P3.0P3.7) 8位準雙向I/O口,為雙功能復用口,可帶4個LS TTL負載。4.2.2 Intel 8031的內部結構單片機8031內部總體結構如圖4-2所示。按功能劃分,它由8個部分組成,即微處理器(CPU)、程序存儲器(ROM/EPROM)、特殊功能寄存器(SFR)、I/O口、(P0口、P1口、P2口、P3口)、串行口、定時器/計數器及中斷系統,它們是通過片內單一總線連接起來的。由于本設計選用

8、的單片機為8031,所以它的片內無程序存儲器??紤]到本設計的需要下面僅對8031的時鐘和復位電路、存儲器的擴展作詳細的介紹。圖4-2 8031單片機內部總體結構Fig.4-2 Collectivity structure of SCM 80314.2.3 Intel 8031的時鐘和復位電路(1)8031的時鐘可以由內部方式或外部方式產生。內部方式的時鐘電路如圖4-3(a)所示,利用8031內部的振蕩電路,并在XTAL1和XTAL2兩引腳間外接晶體以及電容CX1和CX2可以在20100 pF之間選擇,電容的大小對振蕩頻率有微小影響,可起頻率微調作用。外部方式的時鐘電路如圖4-3(b)所示,XT

9、AL1接地,XTAL2接外部振蕩器。外部振蕩器的振蕩信號應為低于12 MHz的方波信號。為保證XTAL1的電平為TTL邏輯,故外接一個4.710 k的上拉電阻。(a) (b) 圖4-3 8031時鐘電路 Fig.4-3 Clock circuit of SCM 8031(a)內部方式時鐘電路;(b)外部方式時鐘電路 (a) Inside mode clock circuit;(b) Exterior mode clock circuit (2)8031的復位方式通常有上電自動復位和按鈕復位兩種,上電復位電路原理如圖4-4(a)所示,而圖4-4(b)為兼有上電復位和按鈕復位的復位電路。圖4-4

10、復位電路Fig.4-4 Replacement circuit上電復位的工作原理是:通電瞬間,RC電路充電,RST端出現正脈沖,只要RST端保持10 ms以上的高電平,就能使單片機有效復位。當振蕩頻率選用6 MHz時,C取22 F,R取1 K。在需要人工復位大的情況下,按動按鈕,RST端出現高電平,便能可靠的實現復位。此時RS取200 ,RK取1 K。在實際的應用系統中,若有外部擴展的I/O接口電路也需要初始復位,如果它們的復位端與8031的復位端相連,復位電路中的R、C參數要受到影響,此時需要重新調整R、C參數以保證可靠的復位。如果8031的復位與外部I/O口的復位不要求同步,外圍I/O接口

11、的復位端可以不和8031的復位端相連,外圍I/O接口電路可采用獨立的上電復位電路。4.3 Intel 8031存儲器的擴展8031單片機的程序存儲器空間,數據存儲器空間是相互獨立的。8031內部無程序存儲器,外部程序存儲空間最大可擴展至64 KB。外部數據存儲器(簡稱外部RAM)的地址空間最大也可擴至64 KB。由于8031的數據存儲器和I/O地址空間是統一編址的,在64 KB的外部RAM空間內,可劃出一定的區間作為外部擴展接口的地址空間。程序存儲器的擴展:由于選用的單片機Intel 8031片內無程序存儲器,所以必須接在單片機Intel 8031的外部擴展一片程序存儲器作為程序的存儲單元。在

12、本設計中,選用EPROM作為單片機Intel 8031的外部擴展程序存儲器。EPROM是可擦除、可編程只讀存儲器,由獨立的編程器進行編程(燒程序)。EPROM可重新改寫程序,但通常要把EPROM芯片從系統中折下來,放到紫外線下照射才能擦除,然后才能重寫。常用的EPROM程序存儲器的芯片有:2716( 2 K8)、2732(4 K8)、2764(8 K8)、27128(16 K8)、27256(32 K8)、27512(64 K8)。圖4-5和表4-1給出了2716芯片的端子圖和常見的EPROM芯片的主要技術指標。圖4-5 芯片2716的引腳圖Fig.4-5 Cite-feet of 2713

13、CMOS chip表4-1 常見的EPROM芯片的主要技術指標Table4-1 Mostly technique guideline of familiar chip EPROM型號271627322764271282725627512容量(字節)2K4K8K16K32K64K端子數242428282828讀出時間/ns350450200200200200170最大工作電流/mA10010075100100125最大維持電流/mA353535404040EPROM的讀出時間按型號而定,一般在100-300 ns間,表中列出的為典型值。圖4-5中涉及的端子符號的意義如下:(1)A0Ai 地址輸入

14、線,=1011;(2)Q0Q7 三態數據總線,讀或編程校驗時為數據輸出線,編程時為數據輸入線。維持或編程禁止時呈高阻態。(3) 選片信號輸入線,“0”(即TTL低電平)有效。(4)PGM 編程脈沖輸入線。(5) 讀選通信號輸入線,“0”有效。(6)VPP 編程電源輸入線,VPP值因芯片型號和制造廠商而異。(7)VCC 電源輸入線,VCC一般為+5 V。(8)GND 線路地。程序存儲器的擴展時,除必須有EPROM芯片,還必須有鎖存器芯片。常見的鎖存器芯片有三態緩沖輸出的入口鎖存器74LS373和帶清除端的入口鎖存器74LS373及74LS373的功能表4-2。表4-2 74LS373的功能表Ta

15、ble4-2 Function table of 74LS373G功能01直通(i=i)00保持(i保持不便)1輸出高阻圖4-6 鎖存器74LS373的引腳圖Fig.4-6 Cite-feet 74LS373 flip-latch如圖4-6所示為74LS373的外部引腳結構。當為低電平時,芯片處于導通狀態。G稱為數據輸入線,當為低電平時,如果G輸入端為高電平,鎖存器輸出端(Q1Q8)和輸入端(D1D8)狀態相同;如果G端從高電平返回到低電平(下降沿),輸入端(D1D8)的數據鎖入Q1Q8的8位鎖存器中。74LS373的鎖存控制端G可直接與單片機的鎖存控制信號端ALE相連,在ALE下降沿進行地址

16、鎖存。本設計選用2 KB EPROM 2716作為單片機Intel 8031的外部擴展程序存儲器,它與單片機的連接圖,如圖4-7所示。圖4-7 EPROM 2716與單片機8031的連接圖 Fig.4-7 Connecting figure of EPROM2716 and SCM 8031數據存儲器的擴展:單片機8031的片內包含有128個字節的RAM,CPU對內部RAM有豐富的操作指令。在實際應用中,僅靠片內RAM往往不夠,必須擴展外部數據存儲器。常用的數據存儲器有靜態RAM(SRAM)和動態RAM(DRAM)兩類。DRAM一般用于存儲容量較大的系統中,在使用DRAM時,需解決兩個特殊問題

17、:一是因為DRAM芯片容量較大,而芯片引腳有限,地址空間內譯電路往往采用矩陣結構,而且行地址線和列地址線共用一組地址引腳,分別通過行址選通和列址選通信號按照時序分時選通故要增加相應的控制邏輯;二是靠寄生電容存儲電荷表示信息,而電容都有泄露電流,所以必須定期按原來存儲的信息不斷給其充電(稱為刷新),因而還必須增加一個刷新控制邏輯。DRAM芯片具有容量大、功率低、價格便宜等優點,但它也有一個致命的弱點,即DRAM極易受干擾,它對外界環境、工藝結構、控制邏輯和電源質量等的要求都很高。因此,在應用中應避免使用DRAM,在本系統的設計中,采用的是靜態數據存儲器SRAM。數據存儲器與程序存儲器的地址完全重

18、疊,兩者的地址總線和數據總線可完全并聯使用。但數據存儲器只能使用、控制線而不使用線來完成數據讀/寫操作。單片機系統中常用的SMAR芯片的型號典型的有6116( 2 K8)、6264(8 K8)、62128(16 K8)、62256(32 K8)。它們都是單一5 V電源供電,雙列直插封裝,6116為24腳,6264、62128、62256為28腳。與DRAM相比,SRAM無需考慮保持數據而設置的刷新電路,故擴展電路較簡單,但由于SRAM是通過有源電路來保持存儲器中的數據,因此功耗較大,價格也較高。圖4-8所示為SRAM芯片6116的引腳配置,這些引腳功能描述如下:(1) A0Ai 地址輸入線,=

19、10;(2)Q0Q7 雙向三態數據總線。(3) 選片信號輸入線,低電平有效。(4) 寫選通信號輸入線,低電平有效。(5) 讀選通信號輸入線,低電平有效。(6) 片選信號輸入線,低電平有效。(7)VCC 工作電源+5 V。(8)GND 線路地。圖4-8 SRAM芯片6116的引腳圖Fig.4-8 Cite-feet of SRAM chip 6116本設計選用2 KB RAM 6116作為單片機8031的外部擴展數據存儲器 ,它與單片機的連接圖,如圖4-9所示。圖4-9 SRAM 6116與單片機的連接圖Fig.4-9 Connecting figure of SRAM 6116 and SCM

20、 80314.4 Intel 8031與V/F轉換器AD654的接口電路4.4.1 硬件電路連接V/F轉換器AD654與Intel 8031的硬件接口電路非常簡單,只要把V/F變換器輸出的頻率信號直接送到單片機8031的定時器1的計數輸入端T1即可。其設計思想為從傳感器來的mV級電壓信號經過放大器放大到010 V的電壓后加到單片機8031定時器1的計數輸入端T1上。在單片機內部由定時器0作計數定時,由定時器1作輸入脈沖計數。因為定時器0在工作方式1時為16位定時器,所以最大的定時時間為:max=2161/(/12)=21612/ (4-1)其中為單片機晶體振蕩器的振蕩頻率,如12 MHz,則m

21、ax=21612/12106=65.636 mV。 (4-2)如要求的定時時間超過這一數值,定時器產生的溢出中斷,可用單片機內部RAM的存儲單元作軟件計數,則可延長定時時間。單片機8031的定時器1作計數器用時,可計數的外部脈沖最高頻率為單片機晶體振蕩頻率的1/24,即:max=/24=12MHz/24=500 kHz, (4-3)等于AD654的最高允許工作頻率。故單片機8031的內部定時器T0和T1滿足對定時和計數的要求。4.4.2 控制程序選定定時器/計數器T0為定時狀態,方式為1,時間10 ms,T1置計數狀態,方式為1,時鐘頻率為6 MHz。計數時間常數:機器周期=12/晶振頻率=1

22、2/6106=2 s,設置初始為X(216-X)210-6=1010-3 (4-4)X=60536 轉換成16進制為0EB78H即:TH0=0EB,TL0=78HV/F轉換程序編制:定時器T0置中斷方式,每中斷10次采樣一次,V/F轉換主程序框圖如圖4-10所示。圖4-10 V/F轉換主程序框圖Fig.4-10 Program figure of V/F conversion程序清單如下:ORG 0000HREST:AJMP MAIN ORG 000BH AJMP IT0MAIN:MOV TMOD,#51H MOV SP, #60H MOV R0, #0AH MOV TL1, #00H MOV

23、 TH1, #00H MOV TH0, #0EBH MOV TL0, #78H SETB TR0 SETB ET0 SETB EA SETB TR1HERE:AJMP HEREIT0: MOV TH0, #0EBH MOV TL0, #78H DJNZ R0, LOOP CLR TR1 MOV R0, LOOP MOV 20H, TL1 MOV 21H, TH1 MOV TL1, #00H MOV TH1, #00H SETB TR1LOOP:RET14.5 Intel 8031與鍵盤/顯示器接口電路圖4-11 鍵盤/顯示器與8279的接口Fig.4-11 Interfacing of fin

24、gerboard and chip 8279圖4-11為單片機8031與8位LED顯示器、48鍵盤和芯片8729的接口電路。圖中鍵盤的行線接8729的RL0RL3,8729選用編碼方式,SL0SL2經74LS138(1)譯碼輸出接鍵盤的列線,SL0SL2又由74LS138(2)譯碼輸出經驅動后,接到8位LED顯示器的公共陰極。輸出線OUTB03、OUTA03作為8位段選碼數據輸出口。BD控制74LS138(2)的譯碼,當位切換時,BD輸出低電平,使74LS138(2)輸出全為高電平。當鍵盤上出現有效的閉合鍵時,鍵輸入數據自動地進入8279地FIFO RAM,并向8031請求中斷,8031響應中

25、斷讀取FIFO RAM中的輸入鍵值。若要更新顯示器輸出,僅需改變8279中顯示緩沖RAM中的內容。在圖4-11中,8279的命令狀態口地址為7FFEH,數據口地址為7FFEH,顯示器的輸出子程序流程圖,如圖4-12所示。圖4-12 顯示子程序流程Fig.4-12 Showing subprogram flowing figure顯示子程序清單如下:DIR:MOV DPTR, #7FFFH ;輸出寫顯示RAM命令 MOV A, #90H MOVX DPTR, A MOV R0, #70H MOV R7, #08H MOV DPTR, #7FFEHDL0: MOV A, R0 ADD A, #06

26、H MOVC A, A+PC ;轉換為段選碼 MOVX DPTR, A ;寫入顯示RAM INC R0 DJNZ R7, DL0 RETADSEG:DB 3FH,06H,5BH,4FH,66H,6DH ; DB 7DH,07H,7FH,6FH,77H,7CH DB 39H,5EH,79H,71H,73H,3EH DB 31H,6EH,1CH,23H,40H,03H DB 18H,38H,00H4.5.1 芯片8279簡介8279是Intel公司生產的可編程鍵盤/顯示器接口芯片。利用8279可實現對鍵盤/顯示器的自動掃描,并能識別鍵盤上閉合鍵的鍵號。不僅可以大大節省CPU對鍵盤/顯示器的操作時間

27、,從而減輕CPU的負擔;而且顯示穩定、編程簡單、不會出現誤動作。另外8279可以直接和單片機8031接口。由于這些優點,8279芯片日益被廣泛采用。圖4-13 8279的內部結構框圖Fig.4-13 Interior frame of chip 8279圖4-13為8279的內部結構圖。8279主要由下列部件組成,各部件的功能如下。(1)I/0控制和數據緩沖 雙向的三態數據緩沖器將內部總線和外部總線DB07相連,用于傳送CPU和8279之間的數據、命令和狀態信息。為片選信號,當其為低電平時,CPU才選中8279進行讀/寫。A0用于區分信息的特性。當A0為1時,CPU寫入8279的信息為命令,C

28、PU從8279讀出的信息為8279的狀態。當A0為0時,I/O信息都為數據。、是讀/寫選通信號。(2)控制邏輯 控制與定時寄存器用于存儲鍵盤及顯示器的工作方式,鎖存操作命令,通過譯碼產生相應的控制信號,使8279的各個部件完成一定的控制功能。定時控制含有一些計數器,其中有一個可編程的5位計數器,對外部輸入時鐘信號進行分頻,產生100 kHz的內部定時信號。外部輸入時鐘信號的周期不小于500 ns。(3)掃描計數器 掃描計數器由兩種輸出方式:一種為外部譯碼方式(也稱編碼方式),計數器以二進制方式計數,4位計數狀態從掃描線SL0SL3輸出,經外部譯碼器譯碼出16位掃描線;另一種為內部譯碼方式(也稱

29、譯碼方式),即掃描計數器的低二位經內部譯碼器后從SL0SL3輸出。(4)鍵輸入控制 這個部件完成對鍵盤的自動掃描,鎖存RL0RL7的鍵入信息,搜索閉合鍵,去除鍵的抖動,并將鍵輸入數據寫入內部先進現出(FIFO)的存儲器RAM。(5)FIFO RAM和顯示緩沖RAM 8279具有8個字節的先進先出的鍵入緩沖RAM單元,并提供16個字節的顯示緩沖RAM。CPU將段選碼寫入顯示緩沖RAM后,8279自動對顯示器掃描,將其內部顯示緩沖RAM中的數據在顯示器顯示出來。(6)有關控制線 IRQ位中斷請求輸出線,高電平有效。當FIFO RAM緩沖器中存有鍵盤上閉合鍵的編碼時,IRQ線升高,向CPU請求中斷;當CPU將該緩沖器中的鍵輸入數據全部讀出時,IRQ下降為低電平。SHIFT、CNTL/STB為控制鍵輸入線,由內部拉高電阻拉成高電平,也可由外部控制按鍵拉成

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論