版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、作業(yè)講解3機器周期2us,定時分別為2ms和400us,計算初值:400us定時,X=256-400/2=56=38H,400us*5=2ms;每次定時中斷后,P1.1取反;定時中斷5次后P1.0取反.根據(jù)題意,利用定時器0,設(shè)置為定時方式3,利用TL0作為定時計數(shù)器 作業(yè)講解3初始化:設(shè)置參數(shù)和中斷入口地址設(shè)置ORG0000HAJMPMAINORG000BHAJMPINTT0MAIN:MOVR0,#05H;保存中斷次數(shù)MOVTMOD,#03H;T0方式3,定時器中斷MOVTL0,#38H;TL0定時400usSETBTR0;開啟定時器TL0CLRTR1SETBET0;開定時器TL0中斷SET
2、BEA;開啟中斷總開關(guān)SJMP$;中斷等待中斷服務(wù)子程序:INTT0:MOVTL0,#38H;TL0定時400us重置CPLP1.1;400us定時到,p1.1輸出變反DJNZR0,RETURN;2ms定時未到,不作處理MOVR0,#05H;2ms定時到,重置5次CPLP1.0; 2ms定時到,p1.0輸出變反RETURN:RETIEND作業(yè)講解3作業(yè)講解31、不加以說明;2、用A作為計數(shù)寄存器;3、中斷入口地址標號與寄存器和常用標識符相同;4、分別用兩個中斷;5、用一個中斷定時200us,可簡化,不需要定時100us,然后兩個都需要循環(huán);6、方式3下,TF1給定時器0使用;7、定時400us
3、,5次后得到2ms,但是用定時器來完成5次,不合適。因為兩個不同步,需要硬件配合。第8章 單片微機系統(tǒng)功能擴展8.1 系統(tǒng)擴展概述8.2 常用擴展器件簡介8.3 存儲器的擴展8.4 I/O擴展8.5 串行標準接口的擴展8.6 按鍵、鍵盤及其接口8.7 顯示及顯示器接口8.1 系統(tǒng)擴展概述8.1.1 最小應(yīng)用系統(tǒng)(a) 8051/8751最小系統(tǒng)結(jié)構(gòu)圖;(b) 8031最小系統(tǒng)結(jié)構(gòu)圖圖8.1 MCS51單片機最小化系統(tǒng) 8.1.2 單片機系統(tǒng)擴展的內(nèi)容與方法 1單片機的三總線結(jié)構(gòu) 圖8.2 MCS51單片機的三總線結(jié)構(gòu)形式 總線定義:主機與各外部擴展的部器件之間的連接線??偩€分為:地址總線,數(shù)據(jù)
4、總線和控制總線8051單片機地址總線:P2.7P2.0(高八位),P0.7P0.0(低八位)。 數(shù)據(jù)總線:P0.7P0.0(與低八位地址總線復用)??刂瓶偩€信號主要有:ALE(低八位地址鎖存信號) /PSEN(外部程序存貯器讀信號) /RD(外部數(shù)據(jù)存貯器讀信號) /WR(外部數(shù)據(jù)存貯器寫信號) 2系統(tǒng)擴展的內(nèi)容與方法 (1) 系統(tǒng)的擴展一般有以下幾方面的內(nèi)容: 外部程序存儲器的擴展。 外部數(shù)據(jù)存儲器的擴展。 輸入/輸出接口的擴展。 管理功能器件的擴展(如定時器/計數(shù)器、鍵盤/顯示器、中斷優(yōu)先級編碼器等)。 (2) 系統(tǒng)擴展的基本方法:一般來講,所有與計算機擴展連接芯片的外部引腳線都可以歸屬為
5、三總線結(jié)構(gòu)。擴展連接的一般方法實際上是三總線對接。要保證單片機和擴展芯片協(xié)調(diào)一致地工作,即要共同滿足其工作時序。8.2 常用擴展器件簡介表8.1 常用的擴展器件表8.1 常用的擴展器件8.2.1 8D鎖存器74LS373圖8.3 74LS373結(jié)構(gòu)示意圖 圖8.4 74LS373用作地址鎖存器 8.2.2 3-8譯碼器74LS138圖8.8 74LS138引腳圖 表8.2 74LS138的譯碼邏輯關(guān)系 8.3 存儲器的擴展8.3.1 存儲器擴展概述 1MCS-51單片機的擴展能力 根據(jù)MCS-51單片機總線寬度(16位),在片外可擴展的存儲器最大容量為64 KB,地址為0000HFFFFH。
6、片外可擴展的程序存儲器與數(shù)據(jù)存儲器分別為64 KB。 2擴展的一般方法 存儲器芯片與單片機擴展連接具有共同的規(guī)律。不論何種存儲器芯片,其引腳都呈三總線結(jié)構(gòu),與單片機連接都是三總線對接。 存儲器芯片的控制線:ALE(低八位地址鎖存信號) /PSEN(外部程序存貯器讀信號) /RD(外部數(shù)據(jù)存貯器讀信號) /WR(外部數(shù)據(jù)存貯器寫信號) 存儲器芯片的數(shù)據(jù)線:數(shù)據(jù)線的數(shù)目由芯片的字長決定。8位字長的芯片數(shù)據(jù)線有8根。存儲器芯片的數(shù)據(jù)線與單片機的數(shù)據(jù)總線(P0.0P0.7)按由低位到高位的順序順次相接。 存儲器芯片的地址線:地址線的數(shù)目由芯片的容量決定。容量(Q)與地址線數(shù)目(N)滿足關(guān)系式:Q=2N
7、。存儲器芯片的地址線與單片機的地址總線(A0A15)按由低位到高位的順序順次相接。8K存貯器:13根地址線A0A12 (如8K EPROM 2764, 8K RAM 6264)16K存貯器:14根地址線A0A13(如16K EPROM 27128)32K存貯器:15根地址總線A0A14(如32 EPROM27256)64K存貯器:16根地址總線A0A15(如64K EPROM 27512) 對存儲器芯片訪問時,片選信號必須有效,即選中存儲器芯片。片選信號線與單片機系統(tǒng)的譯碼輸出相接后,就決定了存儲器芯片的地址范圍。一般單片機的剩余高位地址線的譯碼及譯碼輸出與存儲器芯片的片選信號線的連接,這是存
8、儲器擴展連接的關(guān)鍵問題。3、線選法片選信號的產(chǎn)生用P2.7 、P2.6、 P2.5作片選信號,其它十三位 (P2.4P2.0,P0.7P0.0)作為地址線。1)P2.7有效時的地址范圍2)P2.6有效時的地址范圍0110 0000 0000 0000 0111 1111 1111 1111地址范圍為6000H7FFFH(8K范圍)1010 0000 0000 0000 1011 1111 1111 1111地址范圍為A000HBFFFH(8K范圍) )P2.5有效時的地址范圍 地址范圍為C000HDFFFH(8K范圍) 用P2.7,P2.6作片選信號,其它十四位(P2.5P2.0,P0.7P0
9、.0) 作為地址線 1)P2.7有效時的地址范圍 地址范圍為4000H7FFFH(16K范圍 ) 2)P2.6有效時的地址范圍 地址范圍為8000HBFFFH(16K范圍)P2.7作片選信號,其它十五位(P2.6P2.0,P0.7P0.0) 作為地址線地址范圍為0000H7FFFH(32K范圍) 4、譯碼法片選信號的產(chǎn)生 通常采用 P2.7 P2.6 P2.5 與三八譯碼器74LS138產(chǎn)生片選信號P2.7(C)P2.6(B)P2.5(A)片選信號 地址范圍 000/Y00000H1FFFH (8K)001/Y12000H3FFFH (8K)010/Y24000H5FFFH (8K)011/Y
10、36000H7FFFH (8K)100/Y48000H9FFFH (8K)101/Y5A000HBFFFH (8K)110/Y6C000HDFFFH (8K)111/Y7E000HFFFFH (8K)8.3.2 程序存儲器的擴展8.3.2.1程序存貯器擴展概述1、 地址選擇多采用簡易的線選法。2、 程序存儲器與數(shù)據(jù)存儲器共用地址總線與數(shù)據(jù)總線。3、 8051訪問外部程序存儲器時,所使用的控制信號有:ALE:低8位地址鎖存控制;/PSEN:外部程序存儲器“讀取”控制。 4、擴展電路芯片EPROM典型系列芯片:2716(2K*8)2732(4K*8)27256(32K*8)/OE:讀選通信號/PS
11、EN/CE:片選信號線地址鎖存器:因為P0口是分時提供低8位地址和數(shù)據(jù)信息, 所以必須用鎖存器把地址鎖存住。 以下三個地址鎖存器管腳互不兼容。74LS373:帶三態(tài)緩沖輸出的8D鎖存器,鎖存控制端G直接接ALE8282:帶三態(tài)緩沖輸出的8D鎖存器,鎖存控制端STB直接接ALE74LS273:帶清除端的8D鎖存器,鎖存控制端接ALE的反相器5、P2口即使沒有全部占用,但空余的幾根已不宜作通用I/O線。8.3.2.2 程序存儲器擴展舉例1、不用片外譯碼器的單片程序存儲器的擴展 例1 試用EPROM2764構(gòu)成8031的最小系統(tǒng)。 2764是8K8位程序存儲器,芯片的地址引腳線有13條,順次和單片機
12、的地址線A0A12相接。由于不采用地址譯碼器,所以高3位地址線A13、A14、A15不接,故有23=8個重疊的8 KB地址空間。因只用一片2764,其片選信號CE可直接接地(常有效)。其連接電路如圖 所示。圖所示連接電路的8個重疊的地址范圍為00000000000000000001111111111111,即0000H1FFFH;00100000000000000011111111111111,即2000H3FFFH;01000000000000000101111111111111,即4000H5FFFH;01100000000000000111111111111111,即6000H7FFFH
13、;10000000000000001001111111111111,即8000H9FFFH;10100000000000001011111111111111,即A000HBFFFH;11000000000000001101111111111111,即C000HDFFFH;11100000000000001111111111111111,即E000HFFFFH。2、 采用線選法的多片程序存儲器的擴展 例2 使用兩片2764擴展16 KB的程序存儲器,采用線選法選中芯片。擴展連接圖如圖4.12所示。以P2.7作為片選,當P2.7=0時,選中2764(1);當P2.7=1時,選中2764(2)。因兩
14、根線(A13、A14)未用,故兩個芯片各有22=4個重疊的地址空間。它們分別為圖8.12 用兩片2764 EPROM的擴展連接圖 左片:000000000000000000001111111111111,即0000H1FFFH; 001000000000000000011111111111111,即2000H3FFFH; 010000000000000000101111111111111,即4000H5FFFH; 011000000000000000111111111111111,即6000H7FFFH;右片:100000000000000001001111111111111,即8000H9F
15、FFH; 101000000000000001011111111111111,即A000HBFFFH; 110000000000000001101111111111111,即C000HDFFFH; 111000000000000001111111111111111,即E000HFFFFH。 3 采用地址譯碼器的多片程序存儲器的擴展 例3 要求用2764芯片擴展8031的片外程序存儲器,分配的地址范圍為0000H3FFFH。 本例要求的地址空間是唯一確定的,所以要采用全譯碼方法。由分配的地址范圍知:擴展的容量為16 KB,2764為8 K8位,故需要兩片。第1片的地址范圍應(yīng)為0000H1FFFH
16、;第2片的地址范圍應(yīng)為2000H3FFFH。 由地址范圍確定譯碼器的連接。為此畫出譯碼關(guān)系圖如下:8.3.3 數(shù)據(jù)存儲器的擴展一、數(shù)據(jù)存貯器的擴展概述1、 數(shù)據(jù)存儲器的/OE、/WE信號線分別為輸出允許和寫允許 控制端,由單片機的/RD和/WR信號控制。2、 訪問片外擴展數(shù)據(jù)存儲器僅可用下面4條寄存器間址指令.MOVXA,RiMOVXA,DPTRMOVXRi,AMOVXDPTR,A3、 典型系列芯片:2114(2K*4),6116(2K*8),6264(8K*8) 二數(shù)據(jù)存儲器芯片圖8.14 常用靜態(tài)RAM芯片的引腳圖圖8.15 iRAM芯片的引腳圖 三數(shù)據(jù)存儲器的擴展舉例例4 采用2114芯
17、片在8031片外擴展1 KB數(shù)據(jù)存儲器。圖8.16 用兩片2114 EPROM的擴展連接圖 8.3.4 兼有片外程序存儲器和片外數(shù)據(jù)存儲器的擴展舉例舉例:片外擴展16K字節(jié)數(shù)據(jù)存儲器和16K字節(jié)程序存儲器1、線選法 2、譯碼法 分析兩種存儲器及各芯片的地址范圍 0100 0000 0000 0000 -0101 1111 1111 1111IC0:程序存儲器空間:IC1:程序存儲器空間:0010 0000 0000 0000 -0011 1111 1111 1111IC0:0000H-1FFFH(Y0) IC1:2000H-3FFFH(Y1)IC2:0000H-1FFFH(Y0) IC3:40
18、00H-5FFFH(Y2)8.4 I/O 擴 展8.4.1 I/O口擴展概述 1MCS-51單片機I/O口擴展性能 單片機應(yīng)用系統(tǒng)中的I/O口擴展方法與單片機的I/O口擴展性能有關(guān)。 (1) 在MCS-51單片機應(yīng)用系統(tǒng)中,擴展的I/O口采取與數(shù)據(jù)存儲器相同的尋址方法。所有擴展的I/O口或通過擴展I/O口連接的外圍設(shè)備均與片外數(shù)據(jù)存儲器統(tǒng)一編址。任何一個擴展I/O口,根據(jù)地址線的選擇方式不同,占用一個片外RAM地址,而與外部程序存儲器無關(guān)。 (2) 利用串行口的移位寄存器工作方式(方式0),也可擴展I/O口,這時所擴展的I/O口不占用片外RAM地址。 (3) 擴展 I/O口的硬件相依性。在單片
19、機應(yīng)用系統(tǒng)中,I/O口的擴展不是目的,而是為外部通道及設(shè)備提供一個輸入、輸出通道。因此,I/O口的擴展總是為了實現(xiàn)某一測控及管理功能而進行的。例如連接鍵盤、顯示器、驅(qū)動開關(guān)控制、開關(guān)量監(jiān)測等。這樣,在I/O口擴展時,必須考慮與之相連的外部硬件電路特性,如驅(qū)動功率、電平、干擾抑制及隔離等。 (4) 擴展I/O口的軟件相依性。根據(jù)選用不同的I/O口擴展芯片或外部設(shè)備時,擴展I/O口的操作方式不同,因而應(yīng)用程序應(yīng)有不同,如入口地址、初始化狀態(tài)設(shè)置、工作方式選擇等。 2I/O口擴展方法 根據(jù)擴展并行I/O口時數(shù)據(jù)線的連接方式,I/O口擴展可分為總線擴展方法、串行口擴展方法。 (1) 總線擴展方法。擴展
20、的并行I/O芯片,其并行數(shù)據(jù)輸入線取自MCS-51單片機的P0口。這種擴展方法只分時占用P0口,并不影響P0口與其它擴展芯片的連接操作,不會造成單片機硬件的額外開銷。因此,在MCS-51單片機應(yīng)用系統(tǒng)的I/O擴展中廣泛采用這種擴展方法。 (2) 串行口擴展方法。這是MCS-51單片機串行口在方式0工作狀態(tài)下所提供的I/O口擴展功能。串行口方式0為移位寄存器工作方式,因此接上串入并出的移位寄存器可以擴展并行輸出口,而接上并入串出的移位寄存器則可擴展并行輸入口。這種擴展方法只占用串行口,而且通過移位寄存器的級聯(lián)方法可以擴展多數(shù)量的并行I/O口。對于不使用串行口的應(yīng)用系統(tǒng),可使用這種方法。但由于數(shù)據(jù)
21、的輸入輸出采用串行移位的方法,傳輸速度較慢。 3I/O口擴展用芯片兩大類:通用I/O口芯片,選用Intel公司的芯片,其接口最為簡捷可靠,如8255、8155等。8255可編程通用并行接口 8155帶256字節(jié)RAM和14位定時/計數(shù)器的可編程并行接口TTL、CMOS鎖存器、緩沖器電路芯片,具有體積小、成本低、配置靈活的特點。一般在擴展8位輸入或輸出口時十分方便。可以作為I/O擴展的TTL芯片有: 74LS373、74LS277、74LS244、74LS273、74LS367等。8255A芯片的內(nèi)部結(jié)構(gòu)圖 8.4.2 8255可編程并行I/O口 擴展1芯片引腳及其內(nèi)部結(jié)構(gòu) (1) 數(shù)據(jù)總線緩沖
22、器:是一個8位的雙向三態(tài)驅(qū)動器,用于與單片機的數(shù)據(jù)總線相連。 (2) 讀/寫控制邏輯:根據(jù)單片機的地址信息(A1、A0)與控制信息(RD、WR、RESET),控制片內(nèi)數(shù)據(jù)、CPU控制字、外設(shè)狀態(tài)信息的傳送。 (3) 控制電路:根據(jù)CPU送來的控制字使所管I/O口按一定方式工作。對C口甚至可按位實現(xiàn)置位或復位。控制電路分為兩組:A組控制電路控制A口及C口的高4位(PC7PC4),B組控制電路控制B口及C口的低4位(PC3PC0)。 (4) 三個并行I/O端口:A口可編程為8位輸入,或8位輸出,或雙向傳送;B口可編程為8位輸入,或8位輸出,但不能雙向傳送;C口分為兩個4位口,用于輸入或輸出,也可用
23、作A口、B口的狀態(tài)控制信號。 8255A芯片的引腳圖 表8.3 8255芯片的引腳信號說明續(xù)表 CS: 片選信號,低電平有效D0D7: 數(shù)據(jù)線/RD : 讀信號/WR : 寫信號A1 A0 : 地址線,通道選擇信號端,與/CS,/RD,/WR的信號端組合,用來控制PA、PB、PC三個通道口和控制字端口及其功能選擇。它通常與地址總線的最低位A0,A1相連。端口地址/CSA1A0選中端口000PA口001PB口010PC口011控制口(控制寄存器)PA0PA7:I/O口(PA口)8位數(shù)據(jù)輸出鎖存/緩沖而輸入鎖存功能。PB0PB7:I/O口(PB口)8位數(shù)據(jù)輸出鎖存/緩沖而輸入緩沖功能。PC0PC7
24、:I/O口(PC口)8位數(shù)據(jù)輸出鎖存/緩沖而輸入緩沖功能。作為輸入/輸出口可在“方式字”控制下分成兩個4位端口,作為PA口和PB口選通方式操作時的狀態(tài)控制信號,可作按位置位/復位操作。VCC :+5VGND:地28255的操作方式1) 讀/寫控制邏輯操作選擇 表8.4 8255的口操作狀態(tài) 組合功能表見書中P217,表8.72)三種基本操作方式方式0:基本輸入/輸出方式方式1:選通輸入/輸出方式方式2:雙向傳送方式(僅PA口有)3) 8255A的編程控制字方式選擇控制字8255A的操作方式: 通過軟件編程將方式選擇控制字寫入8255A的控制字寄存器,選擇操作方式。 PC口按位置位/復位控制字
25、8255的PC通道中的任一位,均可通過軟件編程使指定的位單獨實現(xiàn)置位/復位操作??刂谱指袷揭妶Db 不論哪一種控制字均通過向控制口寄存器寫入來實現(xiàn)。通過寫入內(nèi)容的特征位來區(qū)分。3、8051配置8255的硬件接口書中P219確定端口地址設(shè)隨機地址信號為“0”。則: PA口地址:4000H PB口地址:4001H PC口地址:4002H 控制地址:4003H設(shè)隨機地址信號為“1。則: PA口地址:5FFCH PB口地址:5FFDH PC口地址:5FFEH 控制地址:5FFFH 假設(shè)8255 PA口基本輸入,PB口基本輸出,PC7PC4基本輸出, PC3PC0基本輸入。則工作方式控制字為:1001 0
26、001 (91H)MOV DPTR,#4003H;控制寄存器地址(或5FFFH)MOV A,#91H;控制字MOVX DPTR,A ;控制字寫入控制寄存器假設(shè)PC口用于位置位/復位方式,且要求PC5位置位,則8255的PC口置位/復位的控制字為00001011B=0BHMOV DPTR,#4003H;控制寄存器地址(5FFFH)MOV A,#0BH;控制字MOVX DPTR,A ;控制字寫入控制寄存器工作方式控制字與置位/復位控制字同用一個地址“11”,8255根據(jù)控制字的特征位把它們分別送入對應(yīng)的控制寄存器。 4. 8255A的三種工作方式1).方式0基本的輸入/輸出方式。外設(shè)的I/O數(shù)據(jù)可
27、在8255A的各端口得到鎖存和緩沖。MCS-51可對8255A進行數(shù)據(jù)的無條件傳送 例如:從口線讀入一組開關(guān)狀態(tài),向端口輸出數(shù)字量,控制一組指示燈的亮、滅。不需要聯(lián)絡(luò)信號,基本功能為:(1)具有兩個8位端口(A、B)和兩個4位端口(C的上半部分和下半部分)。(2)任一個端口都可以設(shè)定為輸入或輸出,各端口的輸入、輸出可構(gòu)成16種組合。(3)數(shù)據(jù)輸出鎖存,輸入不鎖存。2). 方式1 選通輸入/輸出工作方式。A口和B口通常用于I/O數(shù)據(jù)傳送,C口用作A口和B口的聯(lián)絡(luò)線,以中斷方式傳送數(shù)據(jù)。 方式1輸入 控制聯(lián)絡(luò)信號如圖9-5所示,STB*與IBF構(gòu)成了一對應(yīng)答聯(lián)絡(luò)信號,聯(lián)絡(luò)信號的功能如下圖:STB*
28、:選通輸入,是由輸入外設(shè)送來的輸入信號。IBF:輸入緩沖器滿,高電平有效。表示數(shù)據(jù)已送入 8255A的輸入鎖存器,它由STB*信號的下降沿置 位,由信號的上升沿使其復位INTR:中斷請求信號,高電平有效。由8255A輸出, 向單片機發(fā)中斷請求。INTE A:A口中斷允許,由PC4控制, INTE B:B口中斷允許,由PC2控制。A口的方式1輸入工作方式見圖9-6。 方式1輸出 如圖9-7所示。OBF*與ACK*構(gòu)成了一對應(yīng)答聯(lián)絡(luò)信號,各信號的功能如下:OBF*:輸出緩沖器滿信號,8255A給外設(shè)的聯(lián)絡(luò)信號,外設(shè)可以將數(shù)據(jù)取走。ACK*:外設(shè)的響應(yīng)信號,外設(shè)已將數(shù)據(jù)取走。INTR*:中斷請求信號
29、。表示該數(shù)據(jù)已被外設(shè)取走, 請求單片機繼續(xù)輸出下一個數(shù)據(jù)。INTE A:中斷允許,由PC6控制。INTE B:中斷允許,由PC2控制。B口的方式1輸出如圖9-8所示:3).方式2只有A口才能設(shè)定為方式2。圖9-9為方式2工作示意圖。在方式2下,PA7PA0為雙向I/O總線。 當輸入時,PA7PA0受STBA*和IBFA控制,其工作過程和方式1輸入時相同; 當輸出時,PA7PA0受OBFA*、ACKA*控制,其工作過程和方式1輸出時相同。4. MCS-51單片機和8255A的接口1).硬件接口電路 如圖9-10是8031擴展1片8255A的電路圖。74LS373是地址鎖存器,P0.1、P0.0經(jīng)
30、74LS373與8255A的地址線A1、A0連接; P0.7經(jīng)74LS373與片選端相連,其他地址線懸空。2).端口地址確定圖9-10中8255A各端口寄存器的地址為:A口: FF7CHB口: FF7DHC口: FF7EH控制寄存器: FF7FH 3).軟件編程例 要求8255A工作在方式0,且A口作為輸入,B口、C口作為輸出,MOV A,#90H ;控制字送AMOVDPTR,#0FF7FH ;控制寄存器地址DPTRMOVX DPTR,A ;方式控制字控制寄存器MOVDPTR,#0FF7CH ;A口地址DPTRMOVX A,DPTR ;從A口讀數(shù)據(jù)MOV DPTR,#0FF7DH ;B口地址D
31、PTRMOV A,#DATA1 ;要輸出的數(shù)據(jù)DATA1AMOVX DPTR,A ;將DATA1送B口輸出MOV DPTR,#0FF7EH ;C口地址DPTRMOV A,#DATA2 ;DATA2AMOVX DPTR,A ;將數(shù)據(jù)DATA2送C口輸出例 對端口C的置位/復位。把PC5置位,控制字為0BH MOV R1,#7FH ;控制口地址R1 MOV A,#0BH ;控制字AMOVX R1,A ;控制字控制口,PC5=1把PC5復位,控制字為0AHMOV R1,#7FH ;控制口地址R1 MOV A,#0AH ;控制字AMOVX R1,A ;控制字控制口,PC5=08.4.3 用74LSTT
32、L電路擴展并行I/O口 利用74LS273和74LS244,將P0口擴展成簡單的輸入、輸出口的電路。 74LS273輸出端接8個LED發(fā)光二極管,以顯示8個按鈕開關(guān)狀態(tài),某位低電平時二極管發(fā)光。 74LS244是緩沖驅(qū)動器,擴展輸入口,接8個按鈕開關(guān)。 74LS273和74LS244的工作受8031的P2.0、RD*、WR*三條控制線控制。電路的工作原理如下: 當P2.0=0,WR*=0(RD*=)選中寫74LS273, 8031通過P0口輸出數(shù)據(jù)到74LS273,; 當P2.0=0,RD*=0(WR*=1)時選中讀74LS244, 某開關(guān)按下時則對應(yīng)位輸入為“0”。輸出程序段:MOV A,#
33、data ;數(shù)據(jù)AMOV DPTR,#0FEFFH;I/O地址DPTRMOVX DPTR,A ;WR*為低,數(shù)據(jù)經(jīng)74LS273口輸出輸入程序段: MOV DPTR,#0FEFFH ;I/O地址DPTR MOVX A,DPTR;RD*為低,74LS244口 ;數(shù)據(jù)讀入內(nèi)部RAM例 編寫程序把按鈕開關(guān)狀態(tài)通過圖9-20中的發(fā)光二極管顯示出來。程序如下:DDIS:MOV DPTR,#0FEFFH ;輸入口地址DPTRLP:MOVX A,DPTR ;按鈕開關(guān)狀態(tài)讀入A中MOVX DPTR,A ;A中數(shù)據(jù)送輸出口SJMP LP ;反復連續(xù)執(zhí)行8.4.4. 用MCS-51的串行口擴展并行口1 用74LS
34、165擴展并行輸入口例 從16位擴展口讀入5組數(shù)據(jù)(每組二個字節(jié)),并把它們轉(zhuǎn)存到內(nèi)部RAM 20H開始的單元中。MOV R7,#05H ;設(shè)置讀入組數(shù)MOV R0,#20H ;設(shè)置內(nèi)部RAM數(shù)據(jù)區(qū)首址START: CLR P1.0;并行置入數(shù)據(jù),S/L*=0 SETB P1.0;允許串行移位,S/L*=1 MOV R1,#02H;設(shè)置每組字節(jié)數(shù),即外擴 ;74LS165的個數(shù)RXDAT: MOV SCON,#10H ;設(shè)串口方式0,允許接收,啟動MOV A,SBUF;讀入數(shù)據(jù)MOV R0,A;送至RAM緩沖區(qū)INC R0;指向下一個地址DJNZ R1,RXDATA ;未讀完一組數(shù)據(jù),繼續(xù)DJ
35、NZ R7,START;5組數(shù)據(jù)未讀完重新并行置入 ;對數(shù)據(jù)進行處理WAIT: JNB RI,WAIT ;未接收完一幀,循環(huán)等待CLR RI ;清RI標志,準備下次接收2 用74LS164擴展并行輸出口.74LS164:8位串入并出移位寄存器。 圖9-22是利用74LS164擴展二個8位并行輸出口的接口電路。例 編寫將內(nèi)部RAM單元30H、31H的內(nèi)容經(jīng)串行口 由74LS164并行輸出子程序。START: MOV R7,#02H;設(shè)置要發(fā)送的字節(jié)個數(shù) MOV R0,#30H;設(shè)置地址指針 MOV SCON,#00H ;設(shè)置串行口為方式0SEND: MOV A,R0 MOV SBUF,A ;啟動
36、串行口發(fā)送過程WAIT: JNB TI,WAIT ;1幀數(shù)據(jù)未發(fā)完,循環(huán)等待 CLR TI INC R0 ;取下一個數(shù) DJNZ R7,SEND ;未完,發(fā)完從子程序返回 RET8.5 串行標準接口的擴展8.5.1 為什么要進行串行口擴展1、 單片機的串行口以TTL電平傳送數(shù)據(jù)信息,其抗干擾能力 較差,只能在幾米的范圍內(nèi)傳輸數(shù)據(jù)信息。2、為提高串行通訊的可靠性,增大串行通訊的距離,采用標準串行接口,重新定義信號電平,使“1”和“0”的信號電平之差增大,克服信號電平在傳輸線上的衰減,增強抗干擾能力,提高可靠性,實現(xiàn)較遠距離的信息通信。標準串行接口:RS-232、RS-422A、RS-485等標準
37、。 1. 電氣特性(1)采取不平衡傳輸方式,是為點對點(即只用一對收、 發(fā)設(shè)備)通信而設(shè)計的;(2)采用負邏輯。(3)適用于傳送距離不大于15m,速度不高于20kb/s的本 地設(shè)備之間通信的場合。RS-232是由美國電子工業(yè)協(xié)會(EIA)于1962年制定的標準。8.5.2 RS-232C標準串行口定義數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通訊設(shè)備(DCE)之間的串行接口標準。2、RS-232C的電平轉(zhuǎn)換RS-232C采用負邏輯,邏輯“1”:-5V -15V 邏輯“0”:+5V +15VMCS-51采用TTL正邏輯:邏輯“1”:3.6V 邏輯“0”:0.3V3、電平轉(zhuǎn)換常用芯片傳輸驅(qū)動器MC1488,輸入
38、為TTL電平,輸出為RS-232C電平傳輸接收器MC1489,輸入為RS-232C電平,輸出為TTL電平管腳書中P2434、連接方式 2計算機 或終端 3 72 計算機 或終端7發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù)接收數(shù)據(jù)接收數(shù)據(jù)信號地書中P244,8051與RS-232C硬件接口圖 MAX232芯片是Maxim公司生產(chǎn)的低功耗、單電源、雙RS-232發(fā)送/接收器,可實現(xiàn)TTL到EIA的雙向電平轉(zhuǎn)換。其引腳排列如下圖所示。 EIA RS-232C與單片機系統(tǒng)的接口 RS-232C與單片機系統(tǒng)的接口電路如圖下所示。MAX232外圍的4個電解電容Cl, C2, C3, C4,是內(nèi)部電源轉(zhuǎn)換所需電容,其取值均為1F/2
39、5V,C5為0.1F的去耦電容。MAX232的引腳T1IN, T2IN, R1OUT, R2OUT為接TTL/CMOS電平的引腳,引腳T1OUT, T2OUT, R1IN, R2IN為接RS-232C電平的引腳。 所以,T1IN, T2IN引腳應(yīng)與MCS-51的串行發(fā)送引腳TXD相連接。R1OUT, R2OUT應(yīng)與MCS-51的串行接收引腳RXD相連接。T1OUT, T2OUT應(yīng)與PC機的接收端RD相連接。R1IN, R2IN應(yīng)與PC的發(fā)送端TD相連接。 8.5.3 RS-422A標準串行口 1、主要技術(shù)指標(1)全雙工方式;RS-232C是利用傳輸信號線與公共地之間的電壓差傳輸信號;RS-4
40、22A利用信號導線之間的信號電壓差,其標準是雙端線傳送信號。(2)最大傳輸速度可達10Mbit/s,此時最大傳送距離為300M。 如果采用較低的傳輸速率,例如 90000波特率時,最大距離可達 1200M。 2、常用芯片驅(qū)動器75174:將串行輸出的TTL電平轉(zhuǎn)換成標準的RS-422A電平;接收器75175:將RS-422A接口信號還原成TTL電平信號3、接線方式書中P246,RS-422A接口電平轉(zhuǎn)換電路8.5.4 RS-485標準接口RS-485是RS-422A的變型,它與RS-422A的區(qū)別在于:RS-422A為全雙工,采用兩對平衡差分信號線;而RS-485為半雙工,采用一對平衡差分信號
41、線。RS-485對于多站互連是十分方便的。RS-485標準允許最多并聯(lián)32臺驅(qū)動器和32臺接收器。1. 電氣特性 RS-485的信號傳輸采用兩線間的電壓來表示邏輯“1”和邏輯“0”,由于收發(fā)方需要兩根傳輸線。數(shù)據(jù)采用差分傳輸,所以干擾抑制性好。又因無接地問題,所以傳輸距離可達1200米,傳輸速率可達10Mbit/s??偩€兩端接匹配電阻(1000左右),驅(qū)動器負載為54。驅(qū)動器輸出電平在1.5V以下時為邏輯“1”,在1.5V以上時為邏輯“0”。接收器輸入電平在0.2V以下時為邏輯“1”,在0.2V以上為邏輯“0”。普通的PC機一般不帶RS-485接口,因此要使用RS-232/RS-485轉(zhuǎn)換器。
42、對于單片機可以通過芯片MAX485來完成TTL/RS-485的電平轉(zhuǎn)換。2. 電平轉(zhuǎn)換在RS-422A標準中所用的驅(qū)動器和接收器芯片,在 RS-485中均可以使用。除了RS-422A電平轉(zhuǎn)換中所列舉的驅(qū)動器和接收器外,還有收發(fā)器SN75176芯片,該芯片集成了一差分驅(qū)動器和一差分接收器 ,如圖13-9所示。RS-485點對點遠程通訊電路如圖13-10所示。圖13-16給出了其RS- 485雙機通訊接口電路。將1臺IBM-PC機和若干臺MCS-51單片機構(gòu)成的小型分布式測控系統(tǒng),如圖13-20所示。1臺PC機與數(shù)臺8031單片機進行多機通訊的RS-485串行通訊接口電路如圖13-21所示。主控計
43、算機RS232串口RXDTXDRTSMAX232RS232-TTL轉(zhuǎn)換主控臺單片機TXDRXDSN75176DIRORE/DESN75176DIRORE/DESN75176DIRORE/DESN75176DIRORE/DEABABABAB學生機學生機學生機 學生機學生機學生機 學生機學生機學生機 學生機學生機學生機 主控計算機主控臺8.6 按鍵、鍵盤及其接口8.6.1 鍵輸入過程與軟件結(jié)構(gòu)圖 MCS51單片機鍵輸入過程 8.6.2 鍵盤接口和鍵輸入軟件中應(yīng)解決的幾個問題 1消除鍵抖動鍵穩(wěn)定鍵按下前沿抖動前沿抖動圖 鍵合斷時的電壓抖動圖 消除鍵抖動電路 2鍵編碼及鍵值 (1) 用鍵盤連接的I/O
44、線的二進制組合表示鍵碼。例如用4行、4列線構(gòu)成的16個鍵的鍵盤,可使用一個8位I/O口線的高、低4位口線的二進制數(shù)的組合表示16個鍵的編碼,如圖 (a)所示。各鍵相應(yīng)的鍵值為88H、84H、82H、81H、48H、44H、42H、41H、28H、24H、22H、21H、18H、14H、12H、11H。這種鍵值編碼軟件較為簡單直觀,但離散性大,不便安排散轉(zhuǎn)程序的入口地址。 (2) 順序排列鍵編碼。如圖 (b)所示。這種方法,鍵值的形成要根據(jù)I/O線的狀態(tài)作相應(yīng)處理。鍵碼可按下式形成:鍵碼=行首鍵碼+列號圖 行列式鍵盤的編碼與鍵值 (a) 二進制組合編碼;(b) 順序排列編碼 3鍵盤的監(jiān)測方法 對
45、于計算機應(yīng)用系統(tǒng),鍵盤掃描只是CPU工作的一部分,鍵盤處理只是在有鍵按下時才有意義。對是否有鍵按下的信息輸入方式有中斷方式與查詢方式兩種。8.6.3 獨立式按鍵1獨立式按鍵接口結(jié)構(gòu)圖 獨立式按鍵的接口電路示意圖中斷方式查詢方式 2獨立式按鍵的軟件結(jié)構(gòu) 下面是查詢方式的鍵盤程序。K0K7為功能程序入口地址標號,其地址間隔應(yīng)能容納JMP指令字節(jié),PROM0PROM7分別為每個按鍵的功能程序。設(shè)I/O為P1口。START:MOV A,#0FFH ; MOV P1,A ;置P1口為輸入狀態(tài) MOV A,P1 ;鍵狀態(tài)輸入 JNB ACC.0,K0 ;檢測0號鍵是否按下,按下轉(zhuǎn) JNB ACC.1,K1
46、 ;檢測1號鍵是否按下,按下轉(zhuǎn)JNB ACC.2,K2 ;檢測2號鍵是否按下,按下轉(zhuǎn) JNB ACC.3,K3 ;檢測3號鍵是否按下,按下轉(zhuǎn) JNB ACC.4,K4 ;檢測4號鍵是否按下,按下轉(zhuǎn) JNB ACC.5,K5 ;檢測5號鍵是否按下,按下轉(zhuǎn) JNB ACC.6,K6 ;檢測6號鍵是否按下,按下轉(zhuǎn) JNB ACC.7,K7 ;檢測7號鍵是否按下,按下轉(zhuǎn) JMP START ;無鍵按下返回,再順次檢測K0:AJMP PROM0K1:AJMP PROM1 K7:AJIMP PROM7;入口地址表 PROM0: ;0號鍵功能程序 JMP START ;0號鍵功能程序執(zhí)行完返回PROM1:
47、;0號鍵功能程序 JMP START ;1號鍵功能程序執(zhí)行完返回 ;7號鍵功能程序PROM7: JMP START ;7號鍵功能程序執(zhí)行完返回8.6.4 行列式鍵盤 行列式鍵盤又叫矩陣式鍵盤。用I/O口線組成行、列結(jié)構(gòu),按鍵設(shè)置在行列的交點上。例如44的行列結(jié)構(gòu)可組成16個鍵的鍵盤。因此,在按鍵數(shù)量較多時,可以節(jié)省I/O口線。 1行列式鍵盤的接口及原理 行列式鍵盤的接口方法有許多,例如直接接口于單片機的I/O口上;利用擴展的并行I/O接口;用串行口擴展并行I/O口接口;利用一種可編程的鍵盤、顯示接口芯片8279進行接口等。其中,利用擴展的并行I/O接口方法方便靈活,在單片機應(yīng)用系統(tǒng)中比較常用。
48、圖 8155擴展I/O口組成的行列式鍵盤 行線PC0-PC3輸入狀態(tài),列線PA0-PA7為輸出狀態(tài);按鍵設(shè)置在行、列線交點上,行、列線分別連接到按鍵開關(guān)的兩端;讀取PC0-PC3的狀態(tài)可知道有無鍵按下;判斷哪一個鍵按下?由列線逐列置低電平后,檢查行輸入狀態(tài)確定。鍵盤進行掃描:逐列檢查鍵盤狀態(tài)的過程 2、鍵盤的工作方式 編程掃描方式(查詢方式、定時掃描方式)和中斷掃描方式編程掃描方式:利用CPU的工作空余,調(diào)用鍵盤掃描子程序,響應(yīng)鍵輸入要求,在執(zhí)行鍵功能程序時,CPU不再響應(yīng)鍵輸入要求。判斷鍵盤上有無鍵按下。PA口輸出全掃描字“0”時,讀PC口狀態(tài),若PC0-PC3全為“1”,則鍵盤無鍵按下,若
49、不全為“1”,則有鍵按下。去除鍵的抖動影響。在判斷有鍵按下后,軟件延時一段時間,一般為10ms左右,在判斷鍵盤狀態(tài),如果仍有鍵按下狀態(tài),則認為有一個確定的鍵被按下,否則按鍵抖動處理。 掃描鍵盤,得到按下的鍵值。鍵值用十六進制數(shù)碼表示, X為任意值,而二進制“0”所在位置恰為行列號。FEXEFDXEFBXEF7XEEFXEDFXEBFXE7FXEFEXDFDXDFBXDF7XDEFXDDFXDBFXD7FXDFEXBFDXBFBXBF7XBEFXBDFXBBFXB7FXBFEX7FDX7FBX7F7X7EFX7DFX7BFX77FX7 判別閉合的鍵是否釋放,等鍵釋放后進行鍵功能操作。鍵掃描子程序
50、框圖圖 鍵盤掃描子程序流程框圖有鍵按下否調(diào)用6 ms延時子程序開 始有鍵按下否判斷閉合鍵,鍵碼入棧保存閉合鍵釋放否鍵碼 A返 回YYYNNN調(diào)用12 ms延時子程序 中斷工作方式 計算機應(yīng)用系統(tǒng)工作時,并不經(jīng)常需要鍵輸入。但無論是查詢工作方式還是定時掃描工作方式,CPU經(jīng)常處于空掃描狀態(tài)。為了提高CPU的效率,可采用中斷工作方式。這種工作方式是當鍵盤上有鍵按下時,向CPU發(fā)一個中斷請求信號,CPU響應(yīng)中斷后,在中斷服務(wù)程序中掃描鍵盤,執(zhí)行鍵功能程序。中斷服務(wù)程序中應(yīng)完成鍵識別、消除抖動、排除多次執(zhí)行鍵功能操作等功能,可參考查詢工作方式鍵盤程序。8.7 顯示及顯示器接口8.7.1 LED顯示器結(jié)
51、構(gòu)與原理圖 七段顯示塊管腳與結(jié)構(gòu)圖 怎樣點亮共陰極LED顯示器 使共陰極字位控制端(COM)為低電平即可點亮共陰極LED顯示器;當某發(fā)光二極管的陽極為高電平時,此二極管點亮。怎樣點亮共陽極LED顯示器 使共陽極字位控制端(COM)為高電平即可點亮共陽極LED顯示器。當某發(fā)光二極管的陰極為低電平時,此二極管點亮。 Dp g fedcba字形字形碼 D7 D6 D5D4D3D2D1D0 0 0 11111103FH 0 0 0001101O6H 0 1 01101125BH 0 1 00111134FH 0 1 100110466H 0 1 10110156DH 0 1 11110167DH 0
52、0 000111707H 0 1 1 1111187FH 0 1 10111196FH 1 0 1111110.BFH 共陰極選碼表 七段LED的段選碼顯示字符共陰極段選碼共陽極段選碼顯示字符共陰極段選碼共陽極段選碼03FHC0HC39HC6H106HF9HD5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82H31HCEH707HF8Hy6EH91H87FH80H8.FFH00H96FH90H“滅”00HFFHA77H88HB7CH83H8.7.2 LED顯示器與顯示方式圖 N位LED顯示器 1LED靜態(tài)顯示
53、方式 LED工作在靜態(tài)顯示方式下,共陰極接地或共陽極接+5 V;每一位的段選線(ag、dp)與一個8位并行I/O口相連,如圖所示。該圖表示了一個4位靜態(tài)LED顯示器電路,顯示器的每一位可獨立顯示,只要在該位的段選線上保持段選碼電平,該位就能保持相應(yīng)的顯示字符。由于每一位由一個8位輸出口控制段選碼,故在同一時刻各位可以顯示不同的字符。 N位靜態(tài)顯示器要求有N8根I/O口線,占用I/O口線較多。故在位數(shù)較多時往往采用動態(tài)顯示方式。2LED動態(tài)顯示方式圖 8位LED動態(tài)顯示器電路 所有位的段選線并接在一個I/O口上,共陰極端或共陽極端分別由相應(yīng)的I/O口線進行位控制。顯示方式:1、從段選線I/O口上
54、按位次分別送顯示字符的段選碼;2、在位選控制口也按相應(yīng)的次序分別選通相應(yīng)的顯示位;3、選通位就顯示相應(yīng)字符,并保持幾毫秒的延時;4、未選通位不顯示字符(保持熄滅);5、分時輪流選通數(shù)碼管的公共端,使得各個數(shù)碼管輪流導通,循環(huán)進行;6、由于數(shù)碼管的余輝及人眼的視覺殘留,所以感覺所有數(shù)碼管是同時點亮的。8.7.3 鍵盤、顯示器組合接口舉例1、利用單片機通過擴展的8255,控制8255的PA,PB口,使6個LED分別顯示1,2,3,4,5,6控制寄存器地址:0C003H(/CS接Y6) PA口地址:0C000H PB口地址:0C001H PC口地址:0C002H工作方式控制字:80H(PA,PB輸出)MOVDPTR,#0C003HMOVA,#80HMOVXDPTR,A 各端口地址及8255的初始化LED動態(tài)顯示方式(PA口控制“段”,PB口控制“位”)8位LED動態(tài)顯示器電路 8255PA口PA7PA6PA5PA4PA3PA2PA1PA0顯示字型顯示MC1413A7A6A5A4A3A2A1LED共陰dpabcdefg110011110CFH11001001092H2字型表分析位控制:8255 MC1413 LED 輸出
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- (高級)三級煉化貯運工職業(yè)技能鑒定理論考試題庫(含答案)
- 2025年河北工藝美術(shù)職業(yè)學院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 物業(yè)管理中的場地租賃與商務(wù)活動管理
- 電影知識競賽考試題庫及答案(綜合題型)
- 2025年外研版三年級起點七年級物理上冊月考試卷含答案
- 智能化資產(chǎn)管理合同(2篇)
- 2025年蘇教版九年級地理下冊月考試卷含答案
- 村衛(wèi)生所輸液瓶處置合同(2篇)
- 2025年粵人版八年級地理下冊階段測試試卷
- 2025年粵人版選擇性必修2物理上冊月考試卷
- 第1課 隋朝統(tǒng)一與滅亡 課件(26張)2024-2025學年部編版七年級歷史下冊
- 【歷史】唐朝建立與“貞觀之治”課件-2024-2025學年統(tǒng)編版七年級歷史下冊
- 產(chǎn)業(yè)園區(qū)招商合作協(xié)議書
- 2024年廣東省公務(wù)員錄用考試《行測》真題及答案解析
- 盾構(gòu)標準化施工手冊
- 天然氣脫硫完整版本
- 人教版八級物理下冊知識點結(jié)
- 2021年高考真題-生物(湖南卷) 含解析
- 幼兒園2024-2025學年第二學期園務(wù)工作計劃
- 2024公路工程施工安全風險辨識與管控實施指南
- 新疆2024年新疆和田師范??茖W校招聘70人筆試歷年典型考題及考點附答案解析
評論
0/150
提交評論