微機(jī)接口芯片及應(yīng)用課件_第1頁(yè)
微機(jī)接口芯片及應(yīng)用課件_第2頁(yè)
微機(jī)接口芯片及應(yīng)用課件_第3頁(yè)
微機(jī)接口芯片及應(yīng)用課件_第4頁(yè)
微機(jī)接口芯片及應(yīng)用課件_第5頁(yè)
已閱讀5頁(yè),還剩119頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第九章微機(jī)接口芯片及應(yīng)用課時(shí)數(shù):10-11第九章微機(jī)接口芯片及應(yīng)用課時(shí)數(shù):10-11第九章主要內(nèi)容一、可編程通用接口芯片的應(yīng)用方法二、可編程并行接口芯片8255A(P408)三、可編程串行接口芯片8250/16550(P430)四、可編程定時(shí)/計(jì)數(shù)接口芯片8254/8253(P440)五、可編程中斷控制器8259A(P459)六、A/D和D/A接口芯片(P485)第九章主要內(nèi)容一、可編程通用接口芯片第九章習(xí)題(P514)5、6、10、17、19、34較難的習(xí)題(可只做框圖或流程圖):7、12、35思考:1、2、3、4、8、13、14、18、22、31、322005.6.8交作業(yè)第九章習(xí)題(P514)5、6、10、17、第九章結(jié)束第九章結(jié)束可編程接口芯片的開發(fā)應(yīng)用了解芯片的基本性能(功能)和內(nèi)部結(jié)構(gòu);掌握芯片的外部連接特性,以進(jìn)行硬件設(shè)計(jì)。一般將引 腳分為面向CPU和面向外設(shè)的兩部分。注意端口地 址的確定方法(面向CPU一邊);掌握芯片各控制字的含義和設(shè)置方法,能根據(jù)系統(tǒng)設(shè)計(jì) 要求確定各控制字值;CPU在初始化程序中按要求發(fā)送各控制字到相應(yīng)端口 (寄存器)以確定芯片的工作方式和狀態(tài);CPU在工作過(guò)程中可以通過(guò)讀狀態(tài)端口檢查接口芯片的 工作狀態(tài),并可重新設(shè)置和發(fā)送某些控制字值,以 改變芯片的工作方式;可編程接口芯片的開發(fā)應(yīng)用了解芯片的基本性能(功能)和內(nèi)部

初始化時(shí)用戶只需確定端口地址及控制字,并通過(guò)送出控制 字確定8255A各端口的工作方式;

數(shù)據(jù)傳送過(guò)程中,用戶通過(guò)讀/寫端口A、B、C實(shí)現(xiàn)數(shù)據(jù)收/發(fā)。 注意C口的位操作方式是通過(guò)寫控制字來(lái)實(shí)現(xiàn)的??删幊掏ㄓ貌⑿薪涌谛酒琁ntel8255(P408)最簡(jiǎn)單的并行接口可由一些鎖存器和(或)總線緩沖器/驅(qū)動(dòng)器組成,只能完成CPU與外設(shè)的無(wú)條件數(shù)據(jù)傳送;而8255可完成無(wú)條件和查詢式、中斷控制式數(shù)據(jù)傳送,其具體的工作方式由用戶程序確定。

8255的內(nèi)部結(jié)構(gòu)及基本功能(P411)

8255的外接特性及端口地址(P409)8255的三種工作方式(P414)及控制字(P412)8255的程控技術(shù)(P412)初始化時(shí)用戶只需確定端口地址及控制字,并通過(guò)送出控制 字8255的內(nèi)部結(jié)構(gòu)及基本功能(P411)讀/寫邏輯控制A組控制B組控制A8bitPA7~PA0C上半部4bitC下半部4bitPC7~PC4PC3~PC0B8bitPB7~PB0CPU接口內(nèi)部邏輯外設(shè)接口三個(gè)獨(dú)立的8位數(shù)據(jù)端口;C口的其它用法:用作兩個(gè)獨(dú)立的4位數(shù)據(jù)端口;用作狀態(tài)或控制口,按位置位或復(fù)位;為A、B口提供所需的各種聯(lián)絡(luò)信號(hào);具有三種工作方式;數(shù)據(jù)總線緩沖器D7~D0RESETRDWRCSA0A18255的內(nèi)部結(jié)構(gòu)及基本功能(P411)讀/寫A組控制B組控為保證8255A和8086的數(shù)據(jù)交換正確,可將8255與8086CPU的低8位數(shù)據(jù)線相連,注意這時(shí)8255A的4個(gè)端口都應(yīng)該分配偶地址,即8086的A2、A1分別接8255的A1、A0。8255的外部特性及端口地址的確定(P409)PA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC5PC6PC7

D0D1D2D3D4D5D6D734433332231130402939283827371819920821622523362435251415161713261211108255A面向CPU面向外設(shè)操

作CSA0A100011011讀/寫端口A讀/寫端口B讀/寫端口C寫控制寄存器數(shù)據(jù)總線三態(tài)1XX0000A0A1/CS/RD/WRRSTVCCGND為保證8255A和8086的數(shù)據(jù)交換正確,可將8258255的工作方式0-基本的輸入或輸出(P414)一、輸入時(shí)序(INAL,PORT)(P414)tRD數(shù)據(jù)有效tDFtRRRDD7~0tRAtARCS,A1,A0tHRtIR外設(shè)輸入數(shù)據(jù)數(shù)據(jù)有效二、輸出時(shí)序(OUTPORT,AL)見P4158255的工作方式0-基本的輸入或輸出(P414)一、輸入時(shí)三、數(shù)據(jù)傳輸特點(diǎn)1.最多可提供三個(gè)8位端口或兩個(gè)8位端口+兩個(gè)4位端口2.所有端口均為單向傳輸(即只能做輸入或輸出)3.可實(shí)現(xiàn)無(wú)條件或自定義聯(lián)絡(luò)信號(hào)(C口)的查詢傳送CPU8255打印機(jī)并行接口(P297)(2~9)(1)(11)(16)PA0~7PC7PC2地D0~7STBBUSY地DBP416例9.5三、數(shù)據(jù)傳輸特點(diǎn)8255打印機(jī)并行接口(P297)(2~9)8255的工作方式1-選通的輸入或輸出(P417)PA7~PA0PC4PC5PC3INTEA與門IBFASTBAINTRARDD7~D0A口方式1輸入時(shí)相應(yīng)的聯(lián)絡(luò)信號(hào)B口方式1輸入時(shí)相應(yīng)的聯(lián)絡(luò)信號(hào)IBFBSTBBINTRBPB7~PB0PC2PC1PC0INTEB與門RDD7~D0一、輸入接口信號(hào)的定義與時(shí)序(P417)8255的工作方式1-選通的輸入或輸出(P417)PA7~PPB7~PB0PA7~PA0STBIBFINTRRD外設(shè)送來(lái)數(shù)據(jù)②⑥當(dāng)INTE=1時(shí)

①⑤③④⑦⑧⑧中斷服務(wù)程序中CPU從A口或B口讀取外設(shè)輸入的數(shù)據(jù)PB7~PB0PA7~PA0STBIBFINTRRD外設(shè)送A口方式1輸出時(shí)相應(yīng)的聯(lián)絡(luò)信號(hào)B口方式1輸出時(shí)相應(yīng)的聯(lián)絡(luò)信號(hào)PA7~PA0PC7PC6PC3INTEA與門ACKAOBFAINTRAWRD7~D0PB7~PB0PC1PC2PC0INTEB與門ACKBOBFBINTRBWRD7~D0二、輸出接口信號(hào)的定義與時(shí)序(P419)A口方式1輸出時(shí)相應(yīng)的聯(lián)絡(luò)信號(hào)B口方式1輸出時(shí)相應(yīng)的聯(lián)絡(luò)信號(hào)①送往外設(shè)的數(shù)據(jù)寫入相應(yīng)端口WROBFINTRACK②③當(dāng)INTE=1時(shí)

PB7~PB0PA7~PA0中斷服務(wù)程序中CPU向A口或B口寫入輸出給外設(shè)的數(shù)據(jù)②④⑤①送往外設(shè)的數(shù)據(jù)寫入相應(yīng)端口WROBFINTRACK②③當(dāng)I三、數(shù)據(jù)傳輸特點(diǎn)1.最多可提供兩個(gè)8位端口(組合方式見圖9-13P421

)2.所有端口均為單向傳輸(即只能做輸入或輸出)3.可實(shí)現(xiàn)固定聯(lián)絡(luò)信號(hào)(C口)的查詢傳送或中斷傳送 ,未定義的C口信號(hào)線可自行定義使用。CPU8255打印機(jī)并行接口PA0~7PC7PC6D0~7STBDBPC3ACKOBFINTRPC0P416例9.7三、數(shù)據(jù)傳輸特點(diǎn)8255打印機(jī)并行接口PA0~7PC7PC6數(shù)據(jù)傳輸特點(diǎn):1.A為雙向端口,B為單向端口,C口組合方式見P425表9-72.可實(shí)現(xiàn)固定聯(lián)絡(luò)信號(hào)(C口)的查詢傳送或中斷傳送 ,未定義的C口信號(hào)線可自行定義使用。8255的工作方式2-雙向輸入、輸出(P423)PA7~PA0PC6PC7ACKAOBFAD7~D0RDWRPC4PC5STBAIBFAINTEA1PC4INTEA2PC6與門PC3INTRA或門與門中斷服務(wù)程序中CPU可通過(guò)查詢IBF和OBF信號(hào)來(lái)確定此次中斷是輸入還是輸出操作數(shù)據(jù)傳輸特點(diǎn):8255的工作方式2-雙向輸入、輸出(P4238255的工作方式控制字(P412)1D7D6D5D4D3D2D1D00輸出1輸入PC3~PC0B口0

輸出1輸入0方式01方式1B口工作方式PC7~PC40輸出1輸入A口0輸出1輸入特征位,D7=1表示是方式控制字A口工作方式00方式001方式11x方式28255的工作方式控制字(P412)1D7D6D5D4D30D7D6D5D4D3D2D1D00復(fù)位1置位設(shè)置內(nèi)容特征位,D7=0表示是C口按位置位/復(fù)位控制字無(wú)意義選擇操作位8255的C口置/復(fù)位控制字(P413)D3D2D1C端口位000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC70D7D6D5D4D3D2D1D00復(fù)位設(shè)置內(nèi)容特征位,DD7D6D5D4D3D2D1D0控制字例1:某8255A占用端口地址范圍0F0~0F3H1)確定各端口地址。2)編程設(shè)置8255A:A口方式0輸入,B口方式0輸出PC7~PC4輸出,PC3~PC0輸入結(jié)論:A口地址0F0H,B口地址0F1H,C口地址0F2H,控制口地址為0F3H;控制字10010001B,即91H

MOVAL,91HOUT0F3H,AL解:A7

A6A5A4

A3

A2

A1

A01

1

1

1

0

0

0

01

11

1

0

0

0

11

1

1

1

0

0

1

01

1

1

1

0

0

1

1A1A0CS地址0F0H

0F1H0F2H

0F3H0

0

0

1

1

01

11特征位00A口方式01A口輸入0PC7~PC4輸出0B口方式00B口輸出1PC3~PC0輸入D7D6D5D4D3D2D1D0控制字例1:某8255A占用例2:設(shè)8255的A口工作于方式1輸入,B口工作于方式0輸出,若允許A口產(chǎn)生中斷,試編程初始化該8255(其端口地址為60H~63H)。MOVAL,0B0H;1011x00XOUT63H,AL;寫方式控制字MOVAL,09H;0XXX01001OUT63H,AL

;寫置/復(fù)位控制字,置INTEA=1b7b6b5b4b3b2b1b0

1011x00xb7b6b5b4b3b2b1b00xxx1001C口置/復(fù)位控制字工作方式控制字例2:設(shè)8255的A口工作于方式1輸入,B口工作于方式0輸出例1:利用8255的PC6產(chǎn)生方波,經(jīng)濾波和功放后,送到揚(yáng)聲器以發(fā)出不同頻率的聲音。(P414)MOV DX,306H ;8255控制口MOV AL,00001101B ;置PC6=1OUT DX,AL CALL DELAY ;高電平維持時(shí)間MOV AL,00001100H ;置PC6=0OUT DX,AL CALL DELAY ;低電平維持時(shí)間其中DELAY為延時(shí)子程序,改變延時(shí)時(shí)間,即可改變喇叭發(fā)聲的頻率。例1:利用8255的PC6產(chǎn)生方波,經(jīng)濾波和功放后,送到揚(yáng)聲例2:現(xiàn)有為某應(yīng)用系統(tǒng)配置的一個(gè)并行打印機(jī)接口,采用查詢方式通過(guò)接口把緩沖區(qū)中的100個(gè)ASCII字符打印出來(lái)。(P416)MOVDX,306H

MOVAL,10000001B OUTDX,AL ;發(fā)方式控制字MOVAL,00001111B OUTDX,AL ;使數(shù)據(jù)選通無(wú)效:PC7置高,/STB=1MOVSI,OFFSETBUF MOVCX,64H MOVDX,304H

INAL,DX ANDAL,04HJNZLL ;PC2(BUSY)=1表示打印機(jī)忙,CPU等待MOVDX,300H

LODSB OUTDX,AL ;發(fā)數(shù)據(jù)至A口MOVDX,306H

MOVAL,00001110BOUTDX,ALCALLDELAY MOVAL,00001111B OUTDX,AL ;使數(shù)據(jù)選通信號(hào)出現(xiàn)有效負(fù)脈沖LOOPLL 初始化查詢發(fā)數(shù)據(jù)發(fā)選通LL:例2:現(xiàn)有為某應(yīng)用系統(tǒng)配置的一個(gè)并行打印機(jī)接口,采用查詢方式例3:編程實(shí)現(xiàn)中斷控制方式下工作的打印機(jī)接口。(P422)MAIN:…… ;內(nèi)務(wù)操作

…… ;保存舊中斷向量,設(shè)置新中斷向量 MOV AL,0A0H OUT 0C6H,AL ;發(fā)方式控制字 MOV AL,01H OUT0C6H,AL ;使選通無(wú)效,PC0=1 MOVAL,0DH OUT0C6H,AL ;允許8255的A口中斷(PC6=1) STI ;開總中斷 MOV CNT,0 ;發(fā)送計(jì)數(shù)器清0WAT:LOOPWAT ;等待中斷RINT:MOV SI,OFFSETTAB ADD SI,CNT MOV AL,[SI] ;取待打印的字符數(shù)據(jù) OUT 0C0H,AL ;輸出字符 MOV AL,00H OUT 0C6H,AL CALL DELAY INC AL OUT 0C6H,AL ;產(chǎn)生有效的選通信號(hào)負(fù)脈沖(PC0)INC CNT ;發(fā)送計(jì)數(shù)器加1 IRET 主程序完成初始化中斷服務(wù)子程序完成數(shù)據(jù)發(fā)送例3:編程實(shí)現(xiàn)中斷控制方式下工作的打印機(jī)接口。(P422)M例4:編程實(shí)現(xiàn)矩陣掃描鍵盤和動(dòng)態(tài)數(shù)碼顯示屏的控制。(P426)OUTINOUTOUT例4:編程實(shí)現(xiàn)矩陣掃描鍵盤和動(dòng)態(tài)數(shù)碼顯示屏的控制。(P426例5:編程實(shí)現(xiàn)8255控制的A/D/A接口。(P429)1.初始化8255A方式1,B方式0(1~3行)2.啟動(dòng)AD(PC7)(4~8行)3.查詢IBF(PC5)(9~12行)4.收AD數(shù)據(jù)(13、14行)5.發(fā)數(shù)據(jù)到DA(15、16行)D/A例5:編程實(shí)現(xiàn)8255控制的A/D/A接口。(P429)1.可編程通用串行接口芯片Intel8250(P430)初始化時(shí)需要發(fā)送各種控制字以確定波特率、數(shù)據(jù)格式及中 斷允許情況;數(shù)據(jù)傳送時(shí)需要讀取各種狀態(tài)字以確定當(dāng)前應(yīng)做的操作;

8250的內(nèi)部結(jié)構(gòu)(P432)

8250的外部特性及端口地址(P430)

8250的初始化及應(yīng)用編程(P436)8250是一種常用的可編程通用異步串行通信接口芯片(UART,UniversalAsynchronousReceiverTransmitter)其主要特點(diǎn)包括:波特率可程控、數(shù)據(jù)格式可程控、可與Modem通信并報(bào)告其狀態(tài)、可進(jìn)行中斷優(yōu)先權(quán)控制、具有故障報(bào)告等內(nèi)部診斷功能??删幊掏ㄓ么薪涌谛酒琁ntel8250(P430)初8250的內(nèi)部結(jié)構(gòu)(P432)電平轉(zhuǎn)換8250的內(nèi)部結(jié)構(gòu)(P432)電平轉(zhuǎn)換8250的外部特性及端口地址的確定(P430)與CPU的連接與Modem的連接線路控制寄存器的D7位:尋址識(shí)別位DLAB08250的外部特性及端口地址的確定(P430)與CPU的連接發(fā)送LCR控制字設(shè)置數(shù)據(jù)幀格式(P436例9.10)D7D6D5D4D3D2D1D0xx0:校驗(yàn)位無(wú)效001:奇校驗(yàn)011:偶校驗(yàn)101:校驗(yàn)位恒0111:校驗(yàn)位恒1校驗(yàn)方式數(shù)據(jù)幀長(zhǎng)00:5位01:6位10:7位11:8位間斷設(shè)置尋址識(shí)別停止位長(zhǎng)0:其它寄存器1:分頻寄存器0:1位1:1.5或2位1-強(qiáng)制間斷(無(wú)數(shù)據(jù)時(shí)為空號(hào)邏輯0)0-正常(無(wú)數(shù)據(jù)時(shí)為傳號(hào)邏輯1)發(fā)送LCR控制字設(shè)置數(shù)據(jù)幀格式(P436例9.10)D7D6發(fā)送分頻控制字設(shè)置波特率(P436例9.11)波特率分頻器DLM(H)分頻器DLL(L)波特率分頻器DLM(H)分頻器DLL(L)5009H00H360000H20H7506H00H480000H18H11004H17H720000H10H15003H00H960000H0CH30001H80H1152000H0AH60000HC0H1920000H06H120000H60H2304000H05H180000H40H5760000H02H240000H30H11520000H01HMOV AL,10000000B MOV DX,3FBH

OUT DX,AL ;通知8250后面將設(shè)置波特率MOV AL,0CH MOV DX,3F8H

OUT DX,AL ;寫入分頻值低位MOV AL,00H INC DX

OUT DX,AL ;寫入分頻值高位發(fā)送分頻控制字設(shè)置波特率(P436例9.11)波特率分頻器分發(fā)送中斷允許控制字設(shè)置中斷種類(P436例9.12)發(fā)送中斷允許控制字設(shè)置中斷種類(P436例9.12)接收/發(fā)送程序(P438例9.14) MOV DX,3FDH IN AL,DX ;讀線路狀態(tài)寄存器(P434圖9-25) TEST AL,1EH ,是否出錯(cuò)? JNZ ERR ;是,轉(zhuǎn)錯(cuò)誤處理 TEST AL,01H ;是否“接收數(shù)據(jù)準(zhǔn)備好”? JNZ RECE ;是,轉(zhuǎn)接收 TEST AL,20H ;是否“發(fā)送數(shù)據(jù)緩沖器空”? JNZ TRAN ;是,轉(zhuǎn)發(fā)送 ……RECE: MOV DX,3F8H IN AL,DX …… ;處理接收的數(shù)據(jù)

TRAN: MOV DX,3F8H …… ;準(zhǔn)備待發(fā)送的數(shù)據(jù) OUT DX,AL ……

ERR: ……PC機(jī)中建議使用BIOS中斷調(diào)用對(duì)串口進(jìn)行操作(P439)接收/發(fā)送程序(P438例9.14) MOV DX,3FDH

初始化:8253沒(méi)有復(fù)位端,開機(jī)后必須進(jìn)行軟件初始化。另外,在改變計(jì)數(shù)器工作方式時(shí)也需要對(duì)8253進(jìn)行初始化設(shè)置。必須先寫入控制字,再設(shè)置計(jì)數(shù)初值。在設(shè)置計(jì)數(shù)初值時(shí),要根據(jù)控制字中內(nèi)容確定是只寫高8位, 只寫低8位,還是先低后高寫入16位。

讀計(jì)數(shù)值:CPU應(yīng)先送計(jì)數(shù)器鎖存命令,再用輸入指令從輸出鎖存器中 獲取計(jì)數(shù)值。

讀取計(jì)數(shù)值時(shí)應(yīng)根據(jù)控制字內(nèi)容確定是只讀高8位,只讀低8 位,還是先低后高讀出16位??删幊掏ㄓ枚〞r(shí)/計(jì)數(shù)接口芯片Intel8253

8253的內(nèi)部結(jié)構(gòu)及基本功能(P442)

8253的外接特性及端口地址(P441)

8253的控制字及工作方式(P444)8253的程控技術(shù)初始化:8253沒(méi)有復(fù)位端,開機(jī)后必須進(jìn)行軟件初始化。另定時(shí)/計(jì)數(shù)功能的實(shí)現(xiàn)定時(shí)功能和計(jì)數(shù)功能均可通過(guò)計(jì)數(shù)器來(lái)實(shí)現(xiàn):若計(jì)數(shù)器輸入為 標(biāo)準(zhǔn)時(shí)鐘脈沖,則通過(guò)計(jì)數(shù)可得到時(shí)間間隔,實(shí)現(xiàn)定時(shí)功 能;若計(jì)數(shù)器的輸入為需計(jì)數(shù)的信號(hào),則計(jì)數(shù)值就是一定 時(shí)間內(nèi)信號(hào)(脈沖)出現(xiàn)的次數(shù),即實(shí)現(xiàn)計(jì)數(shù)功能。定時(shí)/計(jì)數(shù)實(shí)現(xiàn)方式:軟件、硬件。定時(shí)/計(jì)數(shù)器控制寄存器狀態(tài)寄存器數(shù)據(jù)緩沖讀/寫控制邏輯計(jì)數(shù)初值寄存器當(dāng)前計(jì)數(shù)值輸出寄存器計(jì)數(shù)器計(jì)數(shù)控制數(shù)據(jù)總線RESETREADY中斷申請(qǐng)CLKGATEOUT面向外設(shè)面向CPURDWRCSA0定時(shí)/計(jì)數(shù)功能的實(shí)現(xiàn)定時(shí)功能和計(jì)數(shù)功能均可通過(guò)計(jì)數(shù)器來(lái)8253的內(nèi)部結(jié)構(gòu)及基本功能(P442)控制寄存器CRHCRL計(jì)數(shù)初值寄存器OLHOLL輸出鎖存器CEHCEL計(jì)數(shù)執(zhí)行部件16位減法計(jì)數(shù)器0CLK0GATE0OUT0計(jì)數(shù)器1計(jì)數(shù)器2CLK1GATE1OUT1CLK2GATE2OUT2數(shù)據(jù)總線緩沖器D7~D0讀寫邏輯電路RDWRA0A1CSCPU接口計(jì)數(shù)通道8253的內(nèi)部結(jié)構(gòu)及基本功能(P442)CRHCRL計(jì)數(shù)初8253的外接特性及端口地址的確定(P441)8796115104321511422132319201821162417128253D0D1D2D3D4D5D6D7/WR/RDA0A1/CSVCCGNDCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2面向CPU面向外設(shè)數(shù)據(jù)總線三態(tài)1XX寫控制寄存器011讀/寫計(jì)數(shù)器2001讀/寫計(jì)數(shù)器1010讀/寫計(jì)數(shù)器0000操

作A0A1CS8253的外接特性及端口地址的確定(P441)88D0D1D二進(jìn)制計(jì)數(shù)時(shí)最小值為0001H,最大值為10000H(65535)十進(jìn)制(BCD碼)計(jì)數(shù)時(shí)最小值為0001,最大值為10000。8253的控制字及工作方式(P444)D7D6D5D4D3D2D1D0D0=0,采用二進(jìn)制計(jì)數(shù);D0=1,采用二-十進(jìn)制計(jì)數(shù);D3D2D1=000,計(jì)數(shù)器工作在方式0D3D2D1=001,計(jì)數(shù)器工作在方式1D3D2D1=010,計(jì)數(shù)器工作在方式2D3D2D1=011,計(jì)數(shù)器工作在方式3D3D2D1=1X0,計(jì)數(shù)器工作在方式4D3D2D1=1X1,計(jì)數(shù)器工作在方式5D5D4=00,將當(dāng)前計(jì)數(shù)值鎖存至輸出寄存 器中以供CPU讀;D5D4=01,只讀/寫計(jì)數(shù)器低8位;D5D4=10,只讀/寫計(jì)數(shù)器高8位;D5D4=11,先讀/寫計(jì)數(shù)器低8位,再讀/寫 計(jì)數(shù)器高8位;D7D6=00,選擇計(jì)數(shù)器0的控制寄存器;D7D6=01,選擇計(jì)數(shù)器1的控制寄存器;D7D6=10,選擇計(jì)數(shù)器2的控制寄存器;D7D6=11,非法;二進(jìn)制計(jì)數(shù)時(shí)最小值為0001H,最大值為100008253工作在方式0時(shí)的波形圖(P445)CW寫入后使輸出OUT變?yōu)榈碗娖絃SB之后的第一個(gè)CLK下降沿才將計(jì)數(shù)初值送入計(jì)數(shù)器計(jì)數(shù)減至0后OUT恢復(fù)為高電平GATE信號(hào)可以使計(jì)數(shù)暫停計(jì)數(shù)過(guò)程中重新寫入的初值將在之后的第一個(gè)CLK下降沿起作用6種工作方式的對(duì)比P4508253工作在方式0時(shí)的波形圖(P445)CW寫入后使輸出例1:某8253占用端口地址為40H~43H,其中計(jì)數(shù)器0工作在方式0,初值為4,二進(jìn)制計(jì)數(shù),試初始化該8253。初始化程序:MOVAL,10HOUT43H,AL;寫計(jì)數(shù)器0的控制字MOVAL,04HOUT40H,AL;寫計(jì)數(shù)器0的初值00001000控制字例1:某8253占用端口地址為40H~43H,其中計(jì)數(shù)器例2:某8253占用端口地址為40H~43H,其中計(jì)數(shù)器1工作在方式3,初值為4020H,十進(jìn)制計(jì)數(shù),試初始化該8253。初始化程序:MOVAL,77HOUT43H,AL;寫計(jì)數(shù)器1的控制字MOVAL,20HOUT41H,AL;寫計(jì)數(shù)器1的低8位MOVAL,40HOUT41H,AL;寫計(jì)數(shù)器1的高8位11101110控制字例2:某8253占用端口地址為40H~43H,其中計(jì)數(shù)器例:某8253占用端口地址為40H~43H,其中計(jì)數(shù)器2工作在方式0,初值為4020H,二進(jìn)制計(jì)數(shù),試讀出計(jì)數(shù)器2的當(dāng)前計(jì)數(shù)值。讀計(jì)數(shù)值程序段:MOVAL,80HOUT43H,AL;發(fā)控制字鎖存計(jì)數(shù)器2的值INAL,42H

;讀計(jì)數(shù)器1的低8位MOVBL,ALINAL,42H

;讀計(jì)數(shù)器1的高8位MOVBH,AL;BX中為計(jì)數(shù)器2的當(dāng)前計(jì)數(shù)值x

xx

x

0

0

0

1控制字例:某8253占用端口地址為40H~43H,其中計(jì)數(shù)器28253在微機(jī)系統(tǒng)中的應(yīng)用(P452)0計(jì)數(shù)器1用于定時(shí)刷新DRAM計(jì)數(shù)器0用于系統(tǒng)時(shí)鐘,中斷類型號(hào)8計(jì)數(shù)器2用于控制主板揚(yáng)聲器的發(fā)聲頻率;同時(shí)用于揚(yáng)聲器控制的還有8255的PB0和PB18253在微機(jī)系統(tǒng)中的應(yīng)用(P452)0計(jì)數(shù)器1用于定時(shí)刷新

Intel8259A的基本結(jié)構(gòu)及引腳Intel8259A的基本功能Intel8259A的程控技術(shù)

初始化:按順序選擇輸出初始化命令字ICW1~ICW4(P463)工作中根據(jù)需要可隨時(shí)發(fā)送操作命令字OCW1~OCW3(P466)一片8259管理8級(jí)中斷,不增加其它任何電路時(shí)可用9片8259 級(jí)聯(lián)(P472)構(gòu)成64級(jí)的主從式中斷系統(tǒng);具中斷判優(yōu)邏輯,對(duì)任一級(jí)中斷都可以單獨(dú)屏蔽或允許;中斷響應(yīng)后,能將用戶預(yù)置的中斷類型號(hào)自動(dòng)提供給CPU;可通過(guò)編程選擇其工作方式(即可程控),包括設(shè)置優(yōu)先 級(jí)、中斷觸發(fā)方式、中斷響應(yīng)方式、中斷嵌套方式、中 斷結(jié)束方式、總線連接方式等??删幊讨袛嗫刂破?259A(P459)Intel8259A的基本結(jié)構(gòu)及引腳初始化:按順序選Intel8259A的基本功能結(jié)構(gòu)(P461)讀寫邏輯控制邏輯服務(wù)狀態(tài)寄存器ISR優(yōu)先權(quán)處理器PR中斷請(qǐng)求寄存器IRR中斷屏蔽寄存器IMR內(nèi)部總線INT數(shù)據(jù)總線緩沖器D0-D7A0RDWRCSSP/EN級(jí)聯(lián)緩沖/比較器CAS0CAS1CAS2INTA……IR0IR7Intel8259A的基本功能結(jié)構(gòu)(P461)讀寫控制邏輯服8259的級(jí)聯(lián)工作方式(P472)CPU主8259CAS0CAS1CAS2IR0IR1IR2IR7INTINTASP/EN從8259IR0IR1IR2CAS0IR7CAS1CAS2INTINTASP/EN從8259IR0IR1IR2CAS0IR7CAS1CAS2INTINTASP/EN……VCC外設(shè)發(fā)出中斷請(qǐng)求信號(hào)8259的級(jí)聯(lián)工作方式(P472)C主8259INTINTA8259初始化命令字的發(fā)送流程(P466)8259初始化命令字的發(fā)送流程(P466)

帶A/D/A接口的數(shù)字系統(tǒng)結(jié)構(gòu)(P485)A/D接口芯片D/A接口芯片

ADC的分類(P485)

ADC的主要性能指標(biāo)(P486)

ADC芯片的應(yīng)用:ADC0809

P487、ADC574

P490A/D/A接口芯片

DAC的分類(P493)

DAC的主要性能指標(biāo)(P493)

DAC芯片的應(yīng)用:DAC0832

(P494)帶A/D/A接口的數(shù)字系統(tǒng)結(jié)構(gòu)(P485)ADC的分帶A/D/A接口的數(shù)字系統(tǒng)(P485)放大器傳感器采樣/保持器A/D計(jì)算機(jī)系統(tǒng)控制對(duì)象執(zhí)行部件多路模擬開關(guān)IO接口IO接口D/A放大器帶A/D/A接口的數(shù)字系統(tǒng)(P485)放大器傳感器采樣/保持ADC的分類(P485)按轉(zhuǎn)換原理直接間接:并聯(lián)轉(zhuǎn)換、逐次逼近(分辨率高,快)電壓-時(shí)間電壓-頻率電壓-脈寬(積分式(抗干擾性強(qiáng),慢))按分辨率(數(shù)字位數(shù))8位…12位按轉(zhuǎn)換速度超高速(轉(zhuǎn)換時(shí)間≤330ns)次超高速(轉(zhuǎn)換時(shí)間330ns~3.3μs)高速(轉(zhuǎn)換時(shí)間≤

20μs)中速(轉(zhuǎn)換時(shí)間20~300μs)低速(轉(zhuǎn)換時(shí)間≥300μs)按結(jié)果輸出形式串行并行按數(shù)字編碼方式二進(jìn)制(補(bǔ)碼)BCD碼ADC的分類(P485)按轉(zhuǎn)換原理直接間接:并聯(lián)轉(zhuǎn)換、逐次逼

分辨率精度(轉(zhuǎn)換誤差)速度(轉(zhuǎn)換時(shí)間)其它ADC的主要性能指標(biāo)(P486)用于表示ADC對(duì)微小信號(hào)的分辨能力。分辨率值越小或輸出二進(jìn)制代碼的位數(shù)越多,轉(zhuǎn)換精度越高。完成一次A/D轉(zhuǎn)換所需要的時(shí)間,即從它接到轉(zhuǎn)換命令起直到輸出端得到穩(wěn)定的數(shù)字量輸出所需要的時(shí)間。表示AD轉(zhuǎn)換結(jié)果相對(duì)于理論值的誤差,常用LSB(最低有效位)的倍數(shù)表示??杀硎緸閿?shù)字(量化)誤差和模擬(設(shè)備)誤差、絕對(duì)誤差(絕對(duì)精度)和相對(duì)誤差(相對(duì)精度)等。量程(輸入電壓范圍)、輸出電平、編碼方式、功率、溫度等。分辨率ADC的主要性能指標(biāo)(P486)用于表示A則分辨率為:5V/(24-1)=5V/15 =0.333V則分辨率為:5V/(28-1)=

5V/255 =0.0196V通常我們使用數(shù)字量最低有效位(LSB)對(duì)應(yīng)的最小可分辨模擬量來(lái)表示A/D和D/A的分辨率:=滿量程模擬量/(2數(shù)字量位數(shù)-1)設(shè)滿量程模擬量為5V電壓:若數(shù)字量為4bit,有:00000V11115V若數(shù)字量為8bit,有:000000000V111111115V有時(shí)也直接用數(shù)字量的位數(shù)來(lái)表示分辨率。則分辨率為:則分辨率為:通常我們使用A/D轉(zhuǎn)換芯片的應(yīng)用一、根據(jù)系統(tǒng)對(duì)分辨率、精度及速度等各項(xiàng)指標(biāo)的需 求確定ADC的具體型號(hào)。二、確定ADC的參考電壓。三、確定ADC與微處理器的接口:除數(shù)字信號(hào)線外通 常還有一些必要的控制信號(hào)(如啟動(dòng)信號(hào)等)和 狀態(tài)聯(lián)絡(luò)信號(hào)(如忙信號(hào)、中斷請(qǐng)求信號(hào)等)。四、編程實(shí)現(xiàn)A/D轉(zhuǎn)換: ①CPU發(fā)控制信號(hào)啟動(dòng)ADC;

②等待A/D轉(zhuǎn)換完成:CPU可通過(guò)查詢方式或中 斷方式獲知轉(zhuǎn)換是否完成; ③轉(zhuǎn)換完成后,CPU讀入轉(zhuǎn)換結(jié)果。A/D轉(zhuǎn)換芯片的應(yīng)用一、根據(jù)系統(tǒng)對(duì)分辨率、精度及速度等各項(xiàng)指START逐次比較;8路輸入;8位輸出(分辨率);7位精度;時(shí)鐘640kHz時(shí)轉(zhuǎn)換時(shí)間100μs;通道選擇地址及數(shù)據(jù)均已內(nèi)部鎖存,可直接與微機(jī)接口;ADC0809的內(nèi)部結(jié)構(gòu)及基本功能(P488)八位三態(tài)輸出鎖存通道地址鎖存與譯碼控制八路模擬通道選擇開關(guān)比較器逐次逼近寄存器SARD/A……IN0IN1IN7AADAAADBAADCALEREF+REF-EOCOED0~7AADAAADBAADCOE八路八位逐次逼近寄存器SARSTARTSTART逐次比較;8路輸入;8位輸出(分辨率P488例9.439

地址譯

碼器

+5V

D7~D0

IOR

A0~A9

微機(jī)系統(tǒng)總線

IOW

IRQX

D7~D0

VCC

REF+

IN0

CLOCK

OE

ADC0809

START

ADDA

ADDB

ADDC

ALE

REF-

GND

EOC

P489例9.448路輪流采樣;ALE、START、OE均與地址有關(guān),而與數(shù)據(jù)無(wú)關(guān);EOC作為狀態(tài)輸入,供CPU查詢使用;只有1路采樣;START、OE與地址譯碼有關(guān);EOC為中斷請(qǐng)求信號(hào),CPU在中斷服務(wù)程序中讀結(jié)果數(shù)據(jù);CSCSP488例9.439地址譯碼器+5VD7~D0IO與ADC0809相比,AD574有以下特性:也采用逐次逼近式轉(zhuǎn)換原理;分辨率可為8bit或12bit(可以12位同時(shí)并行輸出, 也可以字節(jié)形式分兩次并行輸出);誤差為±1LSB或±0.5LSB位,轉(zhuǎn)換時(shí)間為25μs;模擬信號(hào)可為單極性或雙極性輸入;除啟動(dòng)信號(hào)R//C、忙狀態(tài)信號(hào)STS外,還有與分辨 率選擇、12位輸出方式選擇及輸入信號(hào)極性選 擇有關(guān)的控制信號(hào);AD574的基本特性(P490)與ADC0809相比,AD574有以下特性:AD574的基本系統(tǒng)數(shù)據(jù)總線

D7~D0

WR

RD

A15~3

譯碼

330H

366H

A2

A1

8255

PB3

PB0

PA7

PA0

PC0

PC7

PC6

PC5

D7

D0

WR

RD

CS

A1

A0

DB11

DB8

DB7

DB0

STS

CE

CS

R/C

+5V12/8

+5V

REFIN

REFOUT

BIP

AD574DGND

10VIN

AGND

A0

+

-

100

模擬量100k

100

+12V

100k

-12V

P492例9.45說(shuō)明:1.

AD574工作在12位并行輸出方式,CPU應(yīng)分兩次從8255的A 口和B口讀回轉(zhuǎn)換結(jié)果;2.系統(tǒng)工作在查詢方式,8255的PCX下半部(PC0)為狀態(tài) 口輸入,上半部(PC5~7)為控制口輸出;系統(tǒng)數(shù)據(jù)總線D7~D0WRRDA15~3譯碼33DAC的分類(P493)按轉(zhuǎn)換原理(解碼網(wǎng)絡(luò))T型電阻型倒T型電阻型權(quán)電阻型權(quán)電流型電容型脈寬調(diào)制型按數(shù)據(jù)輸入形式串行并行按模擬信號(hào)輸出形式電流電壓按分辨率(數(shù)字位數(shù))8位……12位DAC的分類(P493)按轉(zhuǎn)換原理T型電阻型按數(shù)據(jù)輸入形式串分辨率精度(轉(zhuǎn)換誤差)速度(轉(zhuǎn)換時(shí)間)其它DAC的主要性能指標(biāo)表示DAC對(duì)輸入微小量變化的敏感程度。分辨率值越小或輸出二進(jìn)制代碼的位數(shù)越多,轉(zhuǎn)換精度越高。用于表示輸出模擬量隨數(shù)字量變化的快慢程度,通常用建立時(shí)間(輸出電壓達(dá)到規(guī)定精度所需要的時(shí)間)來(lái)表示。DAC的轉(zhuǎn)換速度主要由轉(zhuǎn)換網(wǎng)絡(luò)的延遲時(shí)間和運(yùn)算放大器的電壓變化率來(lái)決定。表示DA轉(zhuǎn)換結(jié)果相對(duì)于理論值的誤差,常用LSB(最低有效位)的倍數(shù)表示??杀硎緸榻^對(duì)誤差(絕對(duì)精度)和相對(duì)誤差(相對(duì)精度)、線性誤差(非線性度)、饋送誤差等。輸出電平、溫度系數(shù)等。分辨率DAC的主要性能指標(biāo)表示DAC對(duì)輸入微小一、根據(jù)系統(tǒng)對(duì)精度、速度及輸出電平范圍等各項(xiàng) 指標(biāo)的需求確定DAC的具體型號(hào)。二、確定DAC的參考電壓。三、確定DAC與微處理器的接口:①控制信號(hào)和狀態(tài)信號(hào)一般較少,連接簡(jiǎn)單。②因D/A轉(zhuǎn)換需要一定時(shí)間,所以在連接數(shù)據(jù) 信號(hào)線時(shí)應(yīng)注意DAC本身是否有鎖存功能,如 沒(méi)有則應(yīng)在DAC芯片外部設(shè)計(jì)鎖存功能(如通 過(guò)8255端口鎖存數(shù)據(jù))。四、編程實(shí)現(xiàn)D/A轉(zhuǎn)換。D/A轉(zhuǎn)換芯片的應(yīng)用一、根據(jù)系統(tǒng)對(duì)精度、速度及輸出電平范圍等各項(xiàng) 指標(biāo)的需求確定DAC0832的內(nèi)部結(jié)構(gòu)及基本功能(P495)CSWR1WR2AGNDD4D5D6D7D0D1D2D3VCCVREFRFBDGNDILEXFERIout2Iout11234567891019181716151413121120功能數(shù)據(jù)輸入到寄存器1數(shù)據(jù)由寄存器1轉(zhuǎn)送寄存器2從輸出端取模擬量控制條件CSILEWR1WR2XFER說(shuō)明010無(wú)控制信號(hào),隨時(shí)可取=0存入數(shù)據(jù)WR1=1鎖定輸入WR1=0存入數(shù)據(jù)WR2=1鎖定輸入WR2DAC0832的內(nèi)部結(jié)構(gòu)及基本功能(P495)CSWR1W八位寄存器(1)輸入八位寄存器(2)輸入VREFRFBIout1Iout2AGNDVCC-++uoDGND&ILECSWR1WR2XFERT型電阻網(wǎng)絡(luò)D/AD7D0...11DAC0832內(nèi)部電路框圖8位數(shù)據(jù)輸入;(雙極)電流輸出;輸入可設(shè)置為直通、一級(jí)或兩級(jí)緩存P497、P498;八位寄存器(1)輸入八位寄存器(2)輸入VREFRFBIouPA0~PA7

DAC0832ILECSWR1WR2XFERD0~D7

8255VREFRFBIOUT1IOUT2AGND-+OP1VO1+5VPC0

PC1PC2PC3PC4;---8255初始化程序------- MOV DX,3F6H MOV AL,80H ;A口方式0輸出,C口方式0輸出,B口未用 OUT DX,AL ;發(fā)控制字 MOV DX,3F4H MOV AL,10H ;DAC0832為直通方式 OUT DX,AL ;設(shè)置C口輸出;---利用0832產(chǎn)生鋸齒波----------- MOV DX,3F0H MOV AL,00H LP: OUT DX,AL ;DAC輸入值 INC AL CALL DELAY JMP LP ;循環(huán)輸出,形成鋸齒波PA0~PA7DAC0832ILECSWR1WR2XFER第九章微機(jī)接口芯片及應(yīng)用課時(shí)數(shù):10-11第九章微機(jī)接口芯片及應(yīng)用課時(shí)數(shù):10-11第九章主要內(nèi)容一、可編程通用接口芯片的應(yīng)用方法二、可編程并行接口芯片8255A(P408)三、可編程串行接口芯片8250/16550(P430)四、可編程定時(shí)/計(jì)數(shù)接口芯片8254/8253(P440)五、可編程中斷控制器8259A(P459)六、A/D和D/A接口芯片(P485)第九章主要內(nèi)容一、可編程通用接口芯片第九章習(xí)題(P514)5、6、10、17、19、34較難的習(xí)題(可只做框圖或流程圖):7、12、35思考:1、2、3、4、8、13、14、18、22、31、322005.6.8交作業(yè)第九章習(xí)題(P514)5、6、10、17、第九章結(jié)束第九章結(jié)束可編程接口芯片的開發(fā)應(yīng)用了解芯片的基本性能(功能)和內(nèi)部結(jié)構(gòu);掌握芯片的外部連接特性,以進(jìn)行硬件設(shè)計(jì)。一般將引 腳分為面向CPU和面向外設(shè)的兩部分。注意端口地 址的確定方法(面向CPU一邊);掌握芯片各控制字的含義和設(shè)置方法,能根據(jù)系統(tǒng)設(shè)計(jì) 要求確定各控制字值;CPU在初始化程序中按要求發(fā)送各控制字到相應(yīng)端口 (寄存器)以確定芯片的工作方式和狀態(tài);CPU在工作過(guò)程中可以通過(guò)讀狀態(tài)端口檢查接口芯片的 工作狀態(tài),并可重新設(shè)置和發(fā)送某些控制字值,以 改變芯片的工作方式;可編程接口芯片的開發(fā)應(yīng)用了解芯片的基本性能(功能)和內(nèi)部

初始化時(shí)用戶只需確定端口地址及控制字,并通過(guò)送出控制 字確定8255A各端口的工作方式;

數(shù)據(jù)傳送過(guò)程中,用戶通過(guò)讀/寫端口A、B、C實(shí)現(xiàn)數(shù)據(jù)收/發(fā)。 注意C口的位操作方式是通過(guò)寫控制字來(lái)實(shí)現(xiàn)的??删幊掏ㄓ貌⑿薪涌谛酒琁ntel8255(P408)最簡(jiǎn)單的并行接口可由一些鎖存器和(或)總線緩沖器/驅(qū)動(dòng)器組成,只能完成CPU與外設(shè)的無(wú)條件數(shù)據(jù)傳送;而8255可完成無(wú)條件和查詢式、中斷控制式數(shù)據(jù)傳送,其具體的工作方式由用戶程序確定。

8255的內(nèi)部結(jié)構(gòu)及基本功能(P411)

8255的外接特性及端口地址(P409)8255的三種工作方式(P414)及控制字(P412)8255的程控技術(shù)(P412)初始化時(shí)用戶只需確定端口地址及控制字,并通過(guò)送出控制 字8255的內(nèi)部結(jié)構(gòu)及基本功能(P411)讀/寫邏輯控制A組控制B組控制A8bitPA7~PA0C上半部4bitC下半部4bitPC7~PC4PC3~PC0B8bitPB7~PB0CPU接口內(nèi)部邏輯外設(shè)接口三個(gè)獨(dú)立的8位數(shù)據(jù)端口;C口的其它用法:用作兩個(gè)獨(dú)立的4位數(shù)據(jù)端口;用作狀態(tài)或控制口,按位置位或復(fù)位;為A、B口提供所需的各種聯(lián)絡(luò)信號(hào);具有三種工作方式;數(shù)據(jù)總線緩沖器D7~D0RESETRDWRCSA0A18255的內(nèi)部結(jié)構(gòu)及基本功能(P411)讀/寫A組控制B組控為保證8255A和8086的數(shù)據(jù)交換正確,可將8255與8086CPU的低8位數(shù)據(jù)線相連,注意這時(shí)8255A的4個(gè)端口都應(yīng)該分配偶地址,即8086的A2、A1分別接8255的A1、A0。8255的外部特性及端口地址的確定(P409)PA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC5PC6PC7

D0D1D2D3D4D5D6D734433332231130402939283827371819920821622523362435251415161713261211108255A面向CPU面向外設(shè)操

作CSA0A100011011讀/寫端口A讀/寫端口B讀/寫端口C寫控制寄存器數(shù)據(jù)總線三態(tài)1XX0000A0A1/CS/RD/WRRSTVCCGND為保證8255A和8086的數(shù)據(jù)交換正確,可將8258255的工作方式0-基本的輸入或輸出(P414)一、輸入時(shí)序(INAL,PORT)(P414)tRD數(shù)據(jù)有效tDFtRRRDD7~0tRAtARCS,A1,A0tHRtIR外設(shè)輸入數(shù)據(jù)數(shù)據(jù)有效二、輸出時(shí)序(OUTPORT,AL)見P4158255的工作方式0-基本的輸入或輸出(P414)一、輸入時(shí)三、數(shù)據(jù)傳輸特點(diǎn)1.最多可提供三個(gè)8位端口或兩個(gè)8位端口+兩個(gè)4位端口2.所有端口均為單向傳輸(即只能做輸入或輸出)3.可實(shí)現(xiàn)無(wú)條件或自定義聯(lián)絡(luò)信號(hào)(C口)的查詢傳送CPU8255打印機(jī)并行接口(P297)(2~9)(1)(11)(16)PA0~7PC7PC2地D0~7STBBUSY地DBP416例9.5三、數(shù)據(jù)傳輸特點(diǎn)8255打印機(jī)并行接口(P297)(2~9)8255的工作方式1-選通的輸入或輸出(P417)PA7~PA0PC4PC5PC3INTEA與門IBFASTBAINTRARDD7~D0A口方式1輸入時(shí)相應(yīng)的聯(lián)絡(luò)信號(hào)B口方式1輸入時(shí)相應(yīng)的聯(lián)絡(luò)信號(hào)IBFBSTBBINTRBPB7~PB0PC2PC1PC0INTEB與門RDD7~D0一、輸入接口信號(hào)的定義與時(shí)序(P417)8255的工作方式1-選通的輸入或輸出(P417)PA7~PPB7~PB0PA7~PA0STBIBFINTRRD外設(shè)送來(lái)數(shù)據(jù)②⑥當(dāng)INTE=1時(shí)

①⑤③④⑦⑧⑧中斷服務(wù)程序中CPU從A口或B口讀取外設(shè)輸入的數(shù)據(jù)PB7~PB0PA7~PA0STBIBFINTRRD外設(shè)送A口方式1輸出時(shí)相應(yīng)的聯(lián)絡(luò)信號(hào)B口方式1輸出時(shí)相應(yīng)的聯(lián)絡(luò)信號(hào)PA7~PA0PC7PC6PC3INTEA與門ACKAOBFAINTRAWRD7~D0PB7~PB0PC1PC2PC0INTEB與門ACKBOBFBINTRBWRD7~D0二、輸出接口信號(hào)的定義與時(shí)序(P419)A口方式1輸出時(shí)相應(yīng)的聯(lián)絡(luò)信號(hào)B口方式1輸出時(shí)相應(yīng)的聯(lián)絡(luò)信號(hào)①送往外設(shè)的數(shù)據(jù)寫入相應(yīng)端口WROBFINTRACK②③當(dāng)INTE=1時(shí)

PB7~PB0PA7~PA0中斷服務(wù)程序中CPU向A口或B口寫入輸出給外設(shè)的數(shù)據(jù)②④⑤①送往外設(shè)的數(shù)據(jù)寫入相應(yīng)端口WROBFINTRACK②③當(dāng)I三、數(shù)據(jù)傳輸特點(diǎn)1.最多可提供兩個(gè)8位端口(組合方式見圖9-13P421

)2.所有端口均為單向傳輸(即只能做輸入或輸出)3.可實(shí)現(xiàn)固定聯(lián)絡(luò)信號(hào)(C口)的查詢傳送或中斷傳送 ,未定義的C口信號(hào)線可自行定義使用。CPU8255打印機(jī)并行接口PA0~7PC7PC6D0~7STBDBPC3ACKOBFINTRPC0P416例9.7三、數(shù)據(jù)傳輸特點(diǎn)8255打印機(jī)并行接口PA0~7PC7PC6數(shù)據(jù)傳輸特點(diǎn):1.A為雙向端口,B為單向端口,C口組合方式見P425表9-72.可實(shí)現(xiàn)固定聯(lián)絡(luò)信號(hào)(C口)的查詢傳送或中斷傳送 ,未定義的C口信號(hào)線可自行定義使用。8255的工作方式2-雙向輸入、輸出(P423)PA7~PA0PC6PC7ACKAOBFAD7~D0RDWRPC4PC5STBAIBFAINTEA1PC4INTEA2PC6與門PC3INTRA或門與門中斷服務(wù)程序中CPU可通過(guò)查詢IBF和OBF信號(hào)來(lái)確定此次中斷是輸入還是輸出操作數(shù)據(jù)傳輸特點(diǎn):8255的工作方式2-雙向輸入、輸出(P4238255的工作方式控制字(P412)1D7D6D5D4D3D2D1D00輸出1輸入PC3~PC0B口0

輸出1輸入0方式01方式1B口工作方式PC7~PC40輸出1輸入A口0輸出1輸入特征位,D7=1表示是方式控制字A口工作方式00方式001方式11x方式28255的工作方式控制字(P412)1D7D6D5D4D30D7D6D5D4D3D2D1D00復(fù)位1置位設(shè)置內(nèi)容特征位,D7=0表示是C口按位置位/復(fù)位控制字無(wú)意義選擇操作位8255的C口置/復(fù)位控制字(P413)D3D2D1C端口位000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC70D7D6D5D4D3D2D1D00復(fù)位設(shè)置內(nèi)容特征位,DD7D6D5D4D3D2D1D0控制字例1:某8255A占用端口地址范圍0F0~0F3H1)確定各端口地址。2)編程設(shè)置8255A:A口方式0輸入,B口方式0輸出PC7~PC4輸出,PC3~PC0輸入結(jié)論:A口地址0F0H,B口地址0F1H,C口地址0F2H,控制口地址為0F3H;控制字10010001B,即91H

MOVAL,91HOUT0F3H,AL解:A7

A6A5A4

A3

A2

A1

A01

1

1

1

0

0

0

01

11

1

0

0

0

11

1

1

1

0

0

1

01

1

1

1

0

0

1

1A1A0CS地址0F0H

0F1H0F2H

0F3H0

0

0

1

1

01

11特征位00A口方式01A口輸入0PC7~PC4輸出0B口方式00B口輸出1PC3~PC0輸入D7D6D5D4D3D2D1D0控制字例1:某8255A占用例2:設(shè)8255的A口工作于方式1輸入,B口工作于方式0輸出,若允許A口產(chǎn)生中斷,試編程初始化該8255(其端口地址為60H~63H)。MOVAL,0B0H;1011x00XOUT63H,AL;寫方式控制字MOVAL,09H;0XXX01001OUT63H,AL

;寫置/復(fù)位控制字,置INTEA=1b7b6b5b4b3b2b1b0

1011x00xb7b6b5b4b3b2b1b00xxx1001C口置/復(fù)位控制字工作方式控制字例2:設(shè)8255的A口工作于方式1輸入,B口工作于方式0輸出例1:利用8255的PC6產(chǎn)生方波,經(jīng)濾波和功放后,送到揚(yáng)聲器以發(fā)出不同頻率的聲音。(P414)MOV DX,306H ;8255控制口MOV AL,00001101B ;置PC6=1OUT DX,AL CALL DELAY ;高電平維持時(shí)間MOV AL,00001100H ;置PC6=0OUT DX,AL CALL DELAY ;低電平維持時(shí)間其中DELAY為延時(shí)子程序,改變延時(shí)時(shí)間,即可改變喇叭發(fā)聲的頻率。例1:利用8255的PC6產(chǎn)生方波,經(jīng)濾波和功放后,送到揚(yáng)聲例2:現(xiàn)有為某應(yīng)用系統(tǒng)配置的一個(gè)并行打印機(jī)接口,采用查詢方式通過(guò)接口把緩沖區(qū)中的100個(gè)ASCII字符打印出來(lái)。(P416)MOVDX,306H

MOVAL,10000001B OUTDX,AL ;發(fā)方式控制字MOVAL,00001111B OUTDX,AL ;使數(shù)據(jù)選通無(wú)效:PC7置高,/STB=1MOVSI,OFFSETBUF MOVCX,64H MOVDX,304H

INAL,DX ANDAL,04HJNZLL ;PC2(BUSY)=1表示打印機(jī)忙,CPU等待MOVDX,300H

LODSB OUTDX,AL ;發(fā)數(shù)據(jù)至A口MOVDX,306H

MOVAL,00001110BOUTDX,ALCALLDELAY MOVAL,00001111B OUTDX,AL ;使數(shù)據(jù)選通信號(hào)出現(xiàn)有效負(fù)脈沖LOOPLL 初始化查詢發(fā)數(shù)據(jù)發(fā)選通LL:例2:現(xiàn)有為某應(yīng)用系統(tǒng)配置的一個(gè)并行打印機(jī)接口,采用查詢方式例3:編程實(shí)現(xiàn)中斷控制方式下工作的打印機(jī)接口。(P422)MAIN:…… ;內(nèi)務(wù)操作

…… ;保存舊中斷向量,設(shè)置新中斷向量 MOV AL,0A0H OUT 0C6H,AL ;發(fā)方式控制字 MOV AL,01H OUT0C6H,AL ;使選通無(wú)效,PC0=1 MOVAL,0DH OUT0C6H,AL ;允許8255的A口中斷(PC6=1) STI ;開總中斷 MOV CNT,0 ;發(fā)送計(jì)數(shù)器清0WAT:LOOPWAT ;等待中斷RINT:MOV SI,OFFSETTAB ADD SI,CNT MOV AL,[SI] ;取待打印的字符數(shù)據(jù) OUT 0C0H,AL ;輸出字符 MOV AL,00H OUT 0C6H,AL CALL DELAY INC AL OUT 0C6H,AL ;產(chǎn)生有效的選通信號(hào)負(fù)脈沖(PC0)INC CNT ;發(fā)送計(jì)數(shù)器加1 IRET 主程序完成初始化中斷服務(wù)子程序完成數(shù)據(jù)發(fā)送例3:編程實(shí)現(xiàn)中斷控制方式下工作的打印機(jī)接口。(P422)M例4:編程實(shí)現(xiàn)矩陣掃描鍵盤和動(dòng)態(tài)數(shù)碼顯示屏的控制。(P426)OUTINOUTOUT例4:編程實(shí)現(xiàn)矩陣掃描鍵盤和動(dòng)態(tài)數(shù)碼顯示屏的控制。(P426例5:編程實(shí)現(xiàn)8255控制的A/D/A接口。(P429)1.初始化8255A方式1,B方式0(1~3行)2.啟動(dòng)AD(PC7)(4~8行)3.查詢IBF(PC5)(9~12行)4.收AD數(shù)據(jù)(13、14行)5.發(fā)數(shù)據(jù)到DA(15、16行)D/A例5:編程實(shí)現(xiàn)8255控制的A/D/A接口。(P429)1.可編程通用串行接口芯片Intel8250(P430)初始化時(shí)需要發(fā)送各種控制字以確定波特率、數(shù)據(jù)格式及中 斷允許情況;數(shù)據(jù)傳送時(shí)需要讀取各種狀態(tài)字以確定當(dāng)前應(yīng)做的操作;

8250的內(nèi)部結(jié)構(gòu)(P432)

8250的外部特性及端口地址(P430)

8250的初始化及應(yīng)用編程(P436)8250是一種常用的可編程通用異步串行通信接口芯片(UART,UniversalAsynchronousReceiverTransmitter)其主要特點(diǎn)包括:波特率可程控、數(shù)據(jù)格式可程控、可與Modem通信并報(bào)告其狀態(tài)、可進(jìn)行中斷優(yōu)先權(quán)控制、具有故障報(bào)告等內(nèi)部診斷功能??删幊掏ㄓ么薪涌谛酒琁ntel8250(P430)初8250的內(nèi)部結(jié)構(gòu)(P432)電平轉(zhuǎn)換8250的內(nèi)部結(jié)構(gòu)(P432)電平轉(zhuǎn)換8250的外部特性及端口地址的確定(P430)與CPU的連接與Modem的連接線路控制寄存器的D7位:尋址識(shí)別位DLAB08250的外部特性及端口地址的確定(P430)與CPU的連接發(fā)送LCR控制字設(shè)置數(shù)據(jù)幀格式(P436例9.10)D7D6D5D4D3D2D1D0xx0:校驗(yàn)位無(wú)效001:奇校驗(yàn)011:偶校驗(yàn)101:校驗(yàn)位恒0111:校驗(yàn)位恒1校驗(yàn)方式數(shù)據(jù)幀長(zhǎng)00:5位01:6位10:7位11:8位間斷設(shè)置尋址識(shí)別停止位長(zhǎng)0:其它寄存器1:分頻寄存器0:1位1:1.5或2位1-強(qiáng)制間斷(無(wú)數(shù)據(jù)時(shí)為空號(hào)邏輯0)0-正常(無(wú)數(shù)據(jù)時(shí)為傳號(hào)邏輯1)發(fā)送LCR控制字設(shè)置數(shù)據(jù)幀格式(P436例9.10)D7D6發(fā)送分頻控制字設(shè)置波特率(P436例9.11)波特率分頻器DLM(H)分頻器DLL(L)波特率分頻器DLM(H)分頻器DLL(L)5009H00H360000H20H7506H00H480000H18H11004H17H720000H10H15003H00H960000H0CH30001H80H1152000H0AH60000HC0H1920000H06H120000H60H2304000H05H180000H40H5760000H02H240000H30H11520000H01HMOV AL,10000000B MOV DX,3FBH

OUT DX,AL ;通知8250后面將設(shè)置波特率MOV AL,0CH MOV DX,3F8H

OUT DX,AL ;寫入分頻值低位MOV AL,00H INC DX

OUT DX,AL ;寫入分頻值高位發(fā)送分頻控制字設(shè)置波特率(P436例9.11)波特率分頻器分發(fā)送中斷允許控制字設(shè)置中斷種類(P436例9.12)發(fā)送中斷允許控制字設(shè)置中斷種類(P436例9.12)接收/發(fā)送程序(P438例9.14) MOV DX,3FDH IN AL,DX ;讀線路狀態(tài)寄存器(P434圖9-25) TEST AL,1EH ,是否出錯(cuò)? JNZ ERR ;是,轉(zhuǎn)錯(cuò)誤處理 TEST AL,01H ;是否“接收數(shù)據(jù)準(zhǔn)備好”? JNZ RECE ;是,轉(zhuǎn)接收 TEST AL,20H ;是否“發(fā)送數(shù)據(jù)緩沖器空”? JNZ TRAN ;是,轉(zhuǎn)發(fā)送 ……RECE: MOV DX,3F8H IN AL,DX …… ;處理接收的數(shù)據(jù)

TRAN: MOV DX,3F8H …… ;準(zhǔn)備待發(fā)送的數(shù)據(jù) OUT DX,AL ……

ERR: ……PC機(jī)中建議使用BIOS中斷調(diào)用對(duì)串口進(jìn)行操作(P439)接收/發(fā)送程序(P438例9.14) MOV DX,3FDH

初始化:8253沒(méi)有復(fù)位端,開機(jī)后必須進(jìn)行軟件初始化。另外,在改變計(jì)數(shù)器工作方式時(shí)也需要對(duì)8253進(jìn)行初始化設(shè)置。必須先寫入控制字,再設(shè)置計(jì)數(shù)初值。在設(shè)置計(jì)數(shù)初值時(shí),要根據(jù)控制字中內(nèi)容確定是只寫高8位, 只寫低8位,還是先低后高寫入16位。

讀計(jì)數(shù)值:CPU應(yīng)先送計(jì)數(shù)器鎖存命令,再用輸入指令從輸出鎖存器中 獲取計(jì)數(shù)值。

讀取計(jì)數(shù)值時(shí)應(yīng)根據(jù)控制字內(nèi)容確定是只讀高8位,只讀低8 位,還是先低后高讀出16位??删幊掏ㄓ枚〞r(shí)/計(jì)數(shù)接口芯片Intel8253

8253的內(nèi)部結(jié)構(gòu)及基本功能(P442)

8253的外接特性及端口地址(P441)

8253的控制字及工作方式(P444)8253的程控技術(shù)初始化:8253沒(méi)有復(fù)位端,開機(jī)后必須進(jìn)行軟件初始化。另定時(shí)/計(jì)數(shù)功能的實(shí)現(xiàn)定時(shí)功能和計(jì)數(shù)功能均可通過(guò)計(jì)數(shù)器來(lái)實(shí)現(xiàn):若計(jì)數(shù)器輸入為 標(biāo)準(zhǔn)時(shí)鐘脈沖,則通過(guò)計(jì)數(shù)可得到時(shí)間間隔,實(shí)現(xiàn)定時(shí)功 能;若計(jì)數(shù)器的輸入為需計(jì)數(shù)的信號(hào),則計(jì)數(shù)值就是一定 時(shí)間內(nèi)信號(hào)(脈沖)出現(xiàn)的次數(shù),即實(shí)現(xiàn)計(jì)數(shù)功能

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論