MCS-51單片機(jī)的擴(kuò)展與應(yīng)用_第1頁
MCS-51單片機(jī)的擴(kuò)展與應(yīng)用_第2頁
MCS-51單片機(jī)的擴(kuò)展與應(yīng)用_第3頁
MCS-51單片機(jī)的擴(kuò)展與應(yīng)用_第4頁
MCS-51單片機(jī)的擴(kuò)展與應(yīng)用_第5頁
已閱讀5頁,還剩116頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第七章MCS-51單片機(jī)的擴(kuò)展與應(yīng)用?程序存儲器擴(kuò)展?數(shù)據(jù)存儲器擴(kuò)展?I/O口擴(kuò)展?鍵盤與數(shù)碼管顯示電路?D/A轉(zhuǎn)換接口電路?A/D轉(zhuǎn)換接口電路第七章MCS-51單片機(jī)的擴(kuò)展與應(yīng)用?程序存儲器擴(kuò)展第一節(jié)程序存儲器的擴(kuò)展51單片機(jī)存儲器的特點(diǎn):程序存儲器和數(shù)據(jù)存儲器分開可擴(kuò)展空間各為64K內(nèi)部有4K程序存儲器和128bytes數(shù)據(jù)存儲器第一節(jié)程序存儲器的擴(kuò)展51單片機(jī)存儲器的特點(diǎn):常用程序存儲器芯片:INTEL27162K27324K27648K2712816K2725632K2751264K常用程序存儲器芯片:D7—D0:數(shù)據(jù)輸出A12—A0:地址CE:片選信號OE:允許輸出控制信號PGM:編程脈沖輸入VPP:編程電壓輸入2764引腳D7—D0:數(shù)據(jù)輸出2764引腳D7—D0:數(shù)據(jù)輸入端Q7—Q0;數(shù)據(jù)輸出端LE:鎖存允許信號(高)OE:允許輸出信號(低)當(dāng):LE=1,Di=Qi當(dāng):LE=0,Qi保持74LS138譯碼器引腳數(shù)據(jù)鎖存器74LS373D7—D0:數(shù)據(jù)輸入端當(dāng):LE=1,Di=Qi74LS138數(shù)據(jù)鎖存器74LS373數(shù)據(jù)鎖存器74LS37374LS138譯碼器引腳A、B、C:譯碼器輸入端Y0—Y7:譯碼器輸出端E1、E2:使能端(低)E3:使能端(高)譯碼器74ls1383-LineTo8-LineDecoders/Demultiplexers74LS138譯碼器引腳A、B、C:譯碼器輸入端譯碼器74l3-LineTo8-LineDecoders/Demultiplexers3-LineTo8-LineDecoders/DemuE3E2E1CBAY7Y6Y5Y4Y3Y2Y1Y01000001111111010000111111101100010111110111000111111011110010011101111100101110111111001101011111110011101111111××1×××11111111×1××××111111110×××××1111111174LS138譯碼器真值表E3E2E1CBAY7Y6Y5Y4Y3Y2Y1Y010000地址鎖存器P0ALEP2PSENA15A8A7A0OECEEA8031EPROMD0D7程序存儲器擴(kuò)展及工作時(shí)序LEOE地P0ALEP2PSENA15A7OECEEA8031EPR①②③④①8051訪問外部數(shù)據(jù)存儲器時(shí)序①②③④①8051訪問外部數(shù)據(jù)存儲器時(shí)序訪問程序存儲器步驟:①輸出當(dāng)前PC值:P0輸出PCL,P2輸出PCH。②ALE下降沿鎖存PCL(74LS373)。③PSEN有效,指令由程序存儲器輸出。④CPU由P0口讀入指令。CPU取指令的過程。訪問程序存儲器步驟:①輸出當(dāng)前PC值:P0輸出PCL,P8031擴(kuò)展2764電路8031擴(kuò)展2764電路8031擴(kuò)展多片2764U3的地址:0000H—1FFFHU4的地址:2000H—3FFFH8031擴(kuò)展多片2764U3的地址:0000H—1FFFH第二節(jié)數(shù)據(jù)存儲器的擴(kuò)展常用芯片:

6116626462256第二節(jié)數(shù)據(jù)存儲器的擴(kuò)展常用芯片:地址鎖存器P0ALEP2A15A8A7A0OECEEA8031RAMD0D7RDWRWE數(shù)據(jù)存儲器的擴(kuò)展示意圖LEOE地P0ALEP2A15A7OECEEA8031RAMD0RD數(shù)據(jù)存儲器讀/寫周期①②③④①①②③④①⑤⑤數(shù)據(jù)存儲器讀/寫周期①②③④①①②③④①⑤⑤訪問數(shù)據(jù)存儲器步驟:‘讀’,‘寫’指令(‘MOVX’)。①輸出當(dāng)前DPTR的值:

P0輸出DPL,P2輸出DPH。②

ALE下降沿鎖存DPL(74LS373)。③RD或WR有效,數(shù)據(jù)由數(shù)據(jù)存儲器輸出。④

CPU由P0口讀入數(shù)據(jù)。⑤讀/寫結(jié)束訪問數(shù)據(jù)存儲器步驟:‘讀’,‘寫’指令(‘MOVX’)。D0—D7:8位數(shù)據(jù)線A0--A10:11位地址線CE:片選信號(低)OE:讀WE:寫6116引腳HM6116

2K×8靜態(tài)-RAMD0—D7:8位數(shù)據(jù)線6116引腳HM61162K×88031擴(kuò)展的61168031擴(kuò)展的61168031擴(kuò)展2764和61168031擴(kuò)展2764和6116第三節(jié)MCS51單片機(jī)I/O口擴(kuò)展51單片機(jī)I/O口的特點(diǎn):

P0:I/O口、輸入指令、輸入/輸出數(shù)據(jù)、輸出低八位地址。

P1:I/O口

P2:I/O口、高八位地址。

P3:I/O口、第二功能。I/O口擴(kuò)展的目的:增加I/O口的數(shù)量。匹配外設(shè)的工作速度。第三節(jié)MCS51單片機(jī)I/O口擴(kuò)展51單片機(jī)I/O口的一、并行輸入/輸出接口電路Intel8255

8255為Intel公司的可編程I/O接口芯片,具有三個8位I/O口,三種工作方式。一、并行輸入/輸出接口電路Intel82551、8255的引腳D7—D0:三態(tài)雙向數(shù)據(jù)線PA7—PA0:A口輸入輸出線PB7—PB0:B口輸入輸出線PC7—PC0:C口輸入輸出線CS:片選信號RD:讀信號WR:寫信號RESET:復(fù)位信號A1、A0:I/O口地址線1、8255的引腳D7—D0:三態(tài)雙向數(shù)據(jù)線2、8255的結(jié)構(gòu)端口A、B、C控制電路總線數(shù)據(jù)緩沖器讀/寫邏輯控制電路2、8255的結(jié)構(gòu)端口A、B、C8255的結(jié)構(gòu)框圖A組B組8255的結(jié)構(gòu)框圖A組B組A1A000A口01B口10C口11控制字寄存器8255

IO口的地址A1A000A口01B口10C口11控制字寄存器8255I8255的工作狀態(tài)A1

A0

RD

WR

CS

輸入操作

0

0

0

1

0

A口

數(shù)據(jù)總線

0

1

0

1

0

B口

數(shù)據(jù)總線

1

0

0

1

0

C口

數(shù)據(jù)總線

輸出操作

0

0

1

0

0

數(shù)據(jù)總線A口

0

1

1

0

0

數(shù)據(jù)總線B口

1

0

1

0

0

數(shù)據(jù)總線C口

1

1

1

0

0

數(shù)據(jù)總線

控制字寄存器

斷開狀態(tài)

×

×

×

×

1

數(shù)據(jù)總線為三態(tài)

1

1

0

1

0

非法狀態(tài)

×

×

1

1

0

數(shù)據(jù)總線為三態(tài)

8255的工作狀態(tài)A1A0RDWRCS操作3、8255的工作方式工作方式0:基本輸入輸出工作方式工作方式1:選通工作方式工作方式2:雙向傳送工作方式3、8255的工作方式工作方式0:基本輸入輸出工作方式工作方式0:基本輸入輸出工作方式工作方式0:基本輸入輸出工作方式工作方式1:選通工作方式工作方式1:選通工作方式工作方式2:雙向傳送工作方式工作方式2:雙向傳送工作方式D1D6D7D0D2D3D4D5端口B:1=IN;0=OUT端口C下半部:1=IN;0=OUTB組工作方式:0=方式0;1=方式1端口A:1=IN;0=OUT端口C上半部:1=IN;0=OUTA組方式選擇:00=方式0;01=方式1;1×=方式2置方式標(biāo)志位:1=有效}(1)工作方式控制字寄存器D1D6D7D0D2D3D4D5端口B:1=IN;0=OD1D6D7D0D2D3D4D51=置位;0=復(fù)位置位/復(fù)位控制位001101020113110001010076540C口111100=置位/復(fù)位寄存器置位/復(fù)位控制標(biāo)志位×××C口按位操作控制字C口位地址D1D6D7D0D2D3D4D51=置位;0=復(fù)位置位/復(fù)位

設(shè)8255選擇為A、B、C口均為基本輸入輸出工作方式,A口為輸入,B、C口為輸出。00100010D1D6D7D0D2D3D4D5工作方式控制字寄存器工作方式控制字寄存器的內(nèi)容為90H

設(shè)8255選擇為A、B、C口均為基本輸入輸出工作方式,A口為輸出,B、C口為輸入。設(shè)8255選擇為A、B、C口均為基本輸入輸出工

將C口的PC0置1,C口按位操作控制字寄存器的內(nèi)容應(yīng)為何值。00010000D1D6D7D0D2D3D4D5C口按位操作控制字寄存器

將C口的PC7置1,C口按位操作控制字寄存器的內(nèi)容應(yīng)為何值。

將C口的PC3清0,C口按位操作控制字寄存器的內(nèi)容應(yīng)為何值。將C口的PC0置1,C口按位操作控制字寄存器的(2)工作方式工作方式0:基本輸入輸出工作方式三個8位雙向I/O口或2個8為和2個4位I/O口;各個口均可設(shè)為輸入或輸出;數(shù)據(jù)輸出時(shí)鎖存、輸入時(shí)不鎖存。(2)工作方式工作方式0:基本輸入輸出工作方式方式0輸入時(shí)序DataValidFromRD方式0輸入時(shí)序DataValidFromRD方式0輸出時(shí)序DataValidtoWRHigh方式0輸出時(shí)序DataValidtoWRHigh工作方式1:選通工作方式A、B、C分為2組—A組、B組。A組:A口和C口上部B組:B口和C口下部三個端口分為2組:A組合B組每組包括一個8位I/O口和4位控制/狀態(tài)口每個口都可以設(shè)為輸入或輸出輸入和輸出均有鎖存功能工作方式1:選通工作方式STBBIBFBPB7-0INTEBPC0PC1PC28INTRB1×1×1×××端口B輸入端口B方式1RDPA7-0INTEAPC6,7PC3PC5PC428STBAIBFAINTRA×01××I/O11端口A輸入端口A方式11=輸入0=輸出PC6,7RD方式1輸入A口方式1輸入B口方式1輸入PC4PC2STBBIBFBPB7-0INTEBPC0PC1PC28IOBFBACKBPB7-0INTEBPC0PC2PC18INTRBPA7-0INTEAPC4,5PC3PC6PC728OBFAACKAINTRA×01××I/O11端口A輸出端口A方式11=輸入0=輸出PC4,5WRA口方式1輸出0×1×1×××端口B輸出端口B方式1WRB口方式1輸出方式1輸出OBFBACKBPB7-0INTEBPC0PC2PC18I方式1輸入時(shí)序方式1輸出時(shí)序方式1輸入時(shí)序方式1輸出時(shí)序WR1/0111/01/0×××端口A方式11=輸入0=輸出PC2-0輸入/輸出RD1=輸入0=輸出B口輸入/輸出1=方式10=方式0B組工作方式PA7-0INTE2PC2-0PC5PC6PC738ACKAINTRAIBFAPC4INTE1PC3STBAOBFA工作方式2:雙向數(shù)據(jù)傳送工作方式(A組)WR1/0111/01/0×××端口A方式11=輸入PC2-方式2輸入/輸出時(shí)序方式2輸入/輸出時(shí)序8031與8255的接口電路8031與8255的接口電路8255的地址:低8位地址××××××A1A6A7A0A2A3A4A5A1A0=00A口01B口10C口11控制字寄存器××0×××××A9A14A15A8A10A11A12A13高8位地址A口--7FFCHB口--7FFDHC口--7FFEH控制字寄存器--7FFFH8255的地址:低8位地址××××××A1A6A7A0A2A

設(shè)8255選擇為A、B、C口均為基本輸入輸出工作方式,A口為輸入,B、C口為輸出。00100010D1D6D7D0D2D3D4D5工作方式控制字寄存器8255按上述設(shè)置初始化:MOVDPTR,#7FFFHMOVA,#90HMOVX@DPTR,A(1)工作方式控制字寄存器設(shè)8255選擇為A、B、C口均為基本輸入輸出工二、并行輸入/輸出接口電路Intel8155

8155為Intel公司的可編程I/O接口芯片具有:二個8位I/O口和一個6位(PC)I/O口256字節(jié)靜態(tài)RAM,一個14位定時(shí)/計(jì)數(shù)器二種工作方式。二、并行輸入/輸出接口電路Intel81551、8155的引腳AD7—AD0:三態(tài)雙向數(shù)據(jù)線PA7—PA0:A口輸入輸出線PB7—PB0:B口輸入輸出線PC5—PC0:C口輸入輸出線CS:片選信號RD:讀信號WR:寫信號ALE:地址鎖存信號IO/M:I/O口、RAM選擇信號RESET:復(fù)位信號TIMERIN:定時(shí)器輸入TIMEROUT:定時(shí)器輸出1、8155的引腳AD7—AD0:三態(tài)雙向數(shù)據(jù)線2、8155的結(jié)構(gòu)A、B、C口256字節(jié)RAM一個14位定時(shí)/計(jì)數(shù)器控制電路256×8靜態(tài)存儲器定時(shí)器ABCWRRDALERESETCE

IO/MAD0-7TIMEINTIMEOUTPC0-5PB0-7PA0-7VCCVSS控制電路2、8155的結(jié)構(gòu)A、B、C口256×8定時(shí)器ABCWR8155框圖8155框圖ADDRESS

LATCH256BYTERAMCOUNTER

LENGTH

REGISTERTIMER/COUNTERCOMMAND

STATUS

REGISTERCONTROL

CIRCUITPCPAPBIO/MCSWRRDRESETALEPA0~7PC0~5PB0~7VCCVSSTIMER

OUTTIMER

IN886AD0~78155框圖ADDRESSLATCH256BYTECOUNTERLEAD7---AD0A7A6A5A4A3A2A1A0×××××000命令/狀態(tài)寄存器×××××001A口(PA0-7)×××××010B口(PB0-7)×××××011C口(PC0-5)×××××100定時(shí)器低8位×××××101定時(shí)器高6位及操作法寄存器8155命令寄存器、I/O口、定時(shí)器的地址AD7---AD0A7A6A5A4A3A2A1A0×××××3、8155工作方式8155的工作方式:基本輸入輸出工作方式選通輸入輸出工作方式3、8155工作方式8155的工作方式:PBTM1TM2PAPC1PC2IEAIEBPA0:A口定義為輸入方式,1:A口定義為輸出方式PB0:B口定義為輸入方式,1:B口定義為輸出方式PC2,PC100ALT1:A口、B口定義為基本輸入輸出,C口為輸入方式11ALT2:A口、B口定義為基本輸入輸出,C口為輸出方式01ALT3:A口選通輸入輸出,B口基本輸入輸出,C口:10ALT4:A口、B口定義為選通輸入輸出,C口為控制/狀態(tài)TM2TM100空操作,不影響計(jì)數(shù)器操作。01停止定時(shí)器操作10若定時(shí)器正在計(jì)數(shù),長度減為1時(shí)停止計(jì)數(shù)11置定時(shí)器方式與長度后立即啟動計(jì)數(shù),若正在計(jì)數(shù),溢出按IEA0:禁止A口中斷,1:允許A口中斷IEB0:禁止B口中斷,1:允許B口中斷8155命令寄存器PC0-AINTRPC1-ABFPC2-ASTBPC0-AINTR,PC1-ABF,PC2-ASTBPC3-BINTR,PC4-BBF,PC5-BSTBPBTM1TM2PAPC1PC2IEAIEBPA0:A口定義MCS-51單片機(jī)的擴(kuò)展與應(yīng)用INTAA口中斷請求標(biāo)志位ABFA口緩沖器滿標(biāo)志位INTEAA口允許標(biāo)志位INTBB口中斷請求標(biāo)志BBFB口緩沖器滿標(biāo)志位INTEBB口允許標(biāo)志位TIMER定時(shí)/計(jì)時(shí)器中斷標(biāo)志位BFATIMER×INTARINTEAINTRBBFBINTEBD1D6D7D0D2D3D4D58155的狀態(tài)寄存器INTAA口中斷請求標(biāo)志位ABFA口緩沖器滿標(biāo)志位INTEAT1T6T7T0T2T3T4T5D1D6D7D0D2D3D4D5T8M1M2T8T9T9T10T11D1D6D7D0D2D3D4D5單脈沖01110M2連續(xù)脈沖1連續(xù)方波0單方波0定時(shí)器輸出波形方式M1定時(shí)計(jì)數(shù)器:定時(shí)計(jì)數(shù)器工作方式4、8155定時(shí)計(jì)數(shù)器T1T6T7T0T2T3T4T5D1D6D7D0D2D3D45、8031與8155的接口電路8031與8155的接口電路5、8031與8155的接口電路8031與8155的接口電路P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0×××××A2A1A0P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0CE××××××IO/M11111A2A1A001111111訪問I/O口(無關(guān)位置1)P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0A7A6A5A4A3A2A1A0P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0CE××××××IO/MA7A6A5A4A3A2A1A001111110訪問存儲器(無關(guān)位置1)P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0命令/狀態(tài)寄存器7FF8HA口7FF9HB口7FFAHC口7FFBH定時(shí)器低8位7FFCH定時(shí)器高8位7FFDHRAM的地址7E00H—7EFFH圖中:8155I/O口、寄存器、RAM的地址命令/狀態(tài)寄存器7FF8HA口7FF9HB口7FFAHC口7舉例:設(shè)8155的A、B口為基本I/O方式,A、C口為輸入,B口為輸出,定時(shí)器輸出連續(xù)方波,為輸入脈沖的24分頻。初始化程序?yàn)椋篗OVDPTR,#7FFCH;定時(shí)器低8位MOVA,#18H;24MOVX@DPTR,AINCDPTR;定時(shí)器高8位MOVA,#40H;連續(xù)方波MOVX@DPTR,AMOVDPTR,#7FF8H;命令/狀態(tài)寄存器MOVA,#0C2H;B-O,立即啟動MOVX@DPTR,A舉例:TIMER

INTIMER

OUT?連續(xù)脈沖。?

連續(xù)方波。?

單脈沖。?

單方波。TIMER=412341234TIMERINTIMEROUT?連續(xù)脈沖。TIMER=作業(yè):1.設(shè)計(jì)8051與8255的接口電路。并將A口、B口、C口初始化為基本輸入輸出工作方式,A口、B口輸出,C口輸入。已知:8255的A口地址為:FEFCHB口地址為:FEFDHC口地址為:FEFEH

寄存器地址為:FEFFH2.設(shè)計(jì)8051與8155的接口電路。并將A口、B口、C口初始化為基本輸入輸出工作方式,A口、B口輸出,C口輸入。已知:8155的寄存器地址為:7FF8HA口地址為:7FF9HB口地址為:7FFAHC口地址為:7FFBHRAM的地址為:6F00H~6FFFH作業(yè):1.設(shè)計(jì)8051與8255的接口電路。并將A口、B口3.已知下圖,將8255選擇為A、B、C口均為基本輸入輸出工作方式,A、C口為輸入,B口為輸出。分析8255的地址(IO口,寄存器地址),編寫初始化程序。3.已知下圖,將8255選擇為A、B、C口均為基本輸入輸出工4.已知下圖,將8155的A、B口為基本I/O方式,A、C口為輸出,B口為輸入,定時(shí)器輸出連續(xù)方波,為輸入脈沖的24分頻。分析8155的地址(RAM,IO口,寄存器地址,編寫初始化程序。4.已知下圖,將8155的A、B口為基本I/O方式,A、C口第四節(jié)鍵盤與數(shù)碼管顯示電路鍵盤:輸入設(shè)備數(shù)碼管顯示器:輸出設(shè)備第四節(jié)鍵盤與數(shù)碼管顯示電路鍵盤:輸入設(shè)備一、鍵盤電路開始按下完全松開鍵盤抖動現(xiàn)象按鍵基本電路1、基本電路編碼鍵盤鍵盤非編碼鍵盤程序掃描式中斷掃描式一、鍵盤電路開始按下完全松開鍵盤抖動現(xiàn)象按鍵基本電路1、基本2、非編碼鍵盤的結(jié)構(gòu)獨(dú)立式按鍵結(jié)構(gòu)2、非編碼鍵盤的結(jié)構(gòu)獨(dú)立式按鍵結(jié)構(gòu)行列式鍵盤電路行列式鍵盤電路3、8031的鍵盤接口電路通過8155擴(kuò)展的4×4鍵盤3、8031的鍵盤接口電路通過8155擴(kuò)展的4×4鍵盤

根據(jù)鍵盤的工作過程,8155A口、B口和C口應(yīng)為基本輸入/輸出工作方式,A口、(B口)輸出,C口輸入,則8155命令寄存器的內(nèi)容為:

03H

命令寄存器:7FF8HA口:7FF9HB口:7FFAHC口:7FFBH根據(jù)鍵盤的工作過程,8155A口、B口和C開始有鍵閉合嗎?延時(shí)12ms求閉合鍵的鍵號閉合鍵釋放否?鍵號送A返回延時(shí)6ms有鍵閉合嗎?鍵盤子程序流程圖YESNOYESYESNONO開始有鍵閉合嗎?延時(shí)12ms求閉合鍵的鍵號閉合鍵釋放否?鍵號開始置行,列初值1行有鍵按下?R4←求新列號4列掃描完了?2行有鍵按下?3行有鍵按下?4行有鍵按下?求鍵號返回求鍵號程序框圖YYYYYNNNNN掃描碼左移一位開始置行,列初值1行有鍵按下?R4←求新列號4列掃描完了?;查是否有鍵閉合子程序

KS1:MOVDPTR,#7F01H;A口地址MOVA,#00HMOVX@DPTR,A;A口0

INCDPTRINCDPTR;指向C口MOVXA,@DPTR;讀C口CPLAANLA,#0FHRET;查是否有鍵閉合子程序程序:KEY1:ACALLKS1;判斷有無健閉合

JNZLK1;有健閉合((A)≠0),轉(zhuǎn)去抖動

ACALLTIM;無健閉合,延時(shí)6msAJMPKEY1LK1:ACALLTIM;延時(shí)6msACALLTIM;延時(shí)6msACALLKS1;再判斷有無健閉合

JNZLK2;有健閉合((A)≠0),求健碼

ACALLTIM;延時(shí)6msAJMPKEY1;無健閉合,返回LK2:MOVR2,#0FEH;R2

掃描碼程序:

MOVR4,#00H;R4

列號LK3:MOVDPTR,#7F01H;DPTRA口地址

MOVA,R2;MOVX@DPTR,A;A口

掃描碼

INCDPTRINCDPTR;指向C口

MOVXA,@DPTR;讀C口

JBACC.0,L1;PC0=1轉(zhuǎn),第一行無鍵閉合

MOVA,#00H;PC0=0,第一行有鍵閉合

AJMPLK;轉(zhuǎn)去求鍵號

L1:JBACC.1,L2;PC1=1轉(zhuǎn),第2行無鍵閉合MOVR4,#00H

MOVA,#04H;置行號

AJMPLKL2:JBACC.2,L3;PC1=1轉(zhuǎn),第3行無鍵閉合

MOVA,#08H;置行號

AJMPLKL3:JBACC.3,NEXT;PC1=1轉(zhuǎn)下列,第4行無鍵閉合

MOVA,#0CH;置行號LK:ADDA,R4;鍵號=行號+列號

PUSHACC;保存在堆棧中LK4:ACALLTIMMOVA,#04HACALLKS1JNZLK4;等待鍵釋放POPACCNS:RET;返回NEXT:INCR4;形成新的列號,指向下一列

MOVA,R2;A口

掃描碼JNBACC.3,NS;判斷4列掃描是否完畢

RLA;形成新的掃描碼

MOVR2,AAJMPLK3;轉(zhuǎn)去掃描下一列ACALLKS1;查是否有鍵閉合子程序

KS1:MOVDPTR,#7F01HMOVA,#00HMOVX@DPTR,A

INCDPTRINCDPTRMOVXA,@DPTRCPLAANLA,#0FHRET;查是否有鍵閉合子程序數(shù)碼管引腳數(shù)碼管示意圖數(shù)碼管電路二、數(shù)碼管顯示電路abdpgcdef數(shù)碼管引腳數(shù)碼管示意圖數(shù)碼管電路二、數(shù)碼管顯示電路abdpgabgcdefhgfedcbaD7D6D5D4D3D2D1D000000110顯示‘1’顯示代碼:06HabgcdefhgfedcbaD7D6D5D4D3D2D1D8031擴(kuò)展的6位數(shù)碼管電路8031擴(kuò)展的6位數(shù)碼管電路顯示子程序置顯示緩沖區(qū)首地址和顯示位代碼查表求顯示代碼并送8155B口延時(shí)2ms(R0)+1指向下一個顯示數(shù)據(jù)六位顯示完否?R3(位選碼)左移一位返回顯示子程序流程圖YESNO顯示子程序置顯示緩沖區(qū)首地址和顯示位代碼查表求顯示代碼并送8

DIR:MOVR0,#79H;置顯示緩沖區(qū)受地址

MOVR3,#01H;置位選碼

MOVA,R3LOOP:MOVDPTR,#7F01H;A口地址

MOVX@DPTR,AINCDPTR;B口地址

MOVA,@R0;取顯示數(shù)據(jù)

ADDA,#12H;表首的的地址

MOVCA,@A+PC;轉(zhuǎn)換為顯示碼程序代碼:DIR:MOVR0,#79H

JNBPSW.5,DIR1;F0=1,顯示小數(shù)點(diǎn)

SETBACC.7DIR1:MOVX@DPTR,A;從B口輸出顯示碼ACALLDLT;延時(shí)

INCR0;下一個顯示數(shù)據(jù)

MOVA,R3;取位選碼JBACC.5,LOOP1;六位顯示完畢?

RLA;新的位選碼

MOVR3,AAJMPLOOPLOOP1:RETJNBPSW.5,D;顯示代碼表

DB3FH,06H,5BH,4FHDB66H,6DH,7DH,07HDB7FH,6FH,77H,7CH

DB39H,5EH,79H,71H延時(shí)程序:

DLT:MOVR7,#04HDLT1:MOVR6,#0FFHDLT2:DJNZR6,DLT2DJNZR7,DLT1RET;顯示代碼表8031擴(kuò)展的鍵盤和數(shù)碼管顯示電路8031擴(kuò)展的鍵盤和數(shù)碼管顯示電路第五節(jié)D/A轉(zhuǎn)換接口電路D/A轉(zhuǎn)換是將數(shù)字量轉(zhuǎn)換為模擬量的過程。常用芯片:

0832DAC1210第五節(jié)D/A轉(zhuǎn)換接口電路D/A轉(zhuǎn)換是將數(shù)字量轉(zhuǎn)換為模1、DAC08320832的引腳圖1、DAC08320832的引腳圖DI7—DI0:數(shù)字量輸入端CS:片選信號(低)ILE:數(shù)據(jù)鎖存允許信號WR1:第一寫信號(低)WR2:第二寫信號(低)XFER:數(shù)據(jù)傳送控制信號(低)IOUT1:電流輸出端1IOUT2:電流輸出端2RFB:反饋電阻端VREF:基準(zhǔn)電壓DGND:數(shù)字地AGND:模擬地DI7—DI0:數(shù)字量輸入端VREF:基準(zhǔn)電壓8位輸入寄存器8位DAC寄存器8位D/A轉(zhuǎn)換器DI7DI0ILECSWR1WR2XFERVREFIOUT2IOUT1RFBAGNDVCCDGND0832的結(jié)構(gòu)LE2=WR2·XFERLE1=WR1·CS·ILERfb8位8位8位DI7DI0ILECSWR1WR2XFERVRE0832的基本輸出電路DAC0832+-VOUT·IOUT1IOUT2RFBRfbVREF0832的基本輸出電路+-VOUT·IOUT1IOUT2RF2、0832的工作狀態(tài)DAC0832+-VOUT·IOUT1IOUT2RFBCSWR1ILEXFERWR2VCCD7—D0地址譯碼器二級緩沖器連接方式VREF2、0832的工作狀態(tài)DAC0832+-VOUT·IOUT1單級緩沖器連接方式DAC0832+-VOUT·IOUT1IOUT2RFBCSWR1ILEXFERWR2VCCD7—D0地址譯碼器WRVREF單級緩沖器連接方式DAC0832+-VOUT·IOUT1IODAC0832+-VOUT·IOUT1IOUT2RFBCSWR1ILEXFERWR2VCCD7—D0直通連接方式VREFDAC0832+-VOUT·IOUT1IOUT2RFBCSW3、8031于0832的接口電路8031于0832的接口電路MOVX@DPTR,A3、8031于0832的接口電路8031于0832的接口電路圖中0832的地址輸入寄存器:7FFFHDAC寄存器:7FFFH示范程序:MOVDPTR,#7FFFH;置0832地址MOVA,#80H;置被轉(zhuǎn)換的數(shù)字量MOVX@DPTR,A;圖中0832的地址第六節(jié)A/D轉(zhuǎn)換接口電路A/D轉(zhuǎn)換是將模擬量轉(zhuǎn)換位數(shù)字量的過程。常用芯片:

0809AD1674第六節(jié)A/D轉(zhuǎn)換接口電路A/D轉(zhuǎn)換是將模擬量轉(zhuǎn)換位數(shù)字量1、0809的引腳IN7~IN0:8路模擬量輸入端D7~D0:8路數(shù)字量輸出端START:A/D啟動信號OE:允許輸出控制ALE:地址鎖存允許信號(高)EOC:轉(zhuǎn)換結(jié)束信號,(高)CLK:時(shí)鐘信號輸入端A、B、C:轉(zhuǎn)換通道地址VREF(+):參考電源正端VREF(-):參考電源負(fù)端VCC:電源正端GND:地1、0809的引腳IN7~IN0:8路模擬量輸入端8位模擬量開關(guān)8位A/D轉(zhuǎn)換器3態(tài)輸出鎖存器IN0I

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論