freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第7章:常用io芯片(存儲版)

2025-07-06 10:45上一頁面

下一頁面
  

【正文】 的應(yīng)答聯(lián)絡(luò)信號,其余 3根 線可用作方式0,也可用作 B口方式 1的應(yīng)答聯(lián)絡(luò)線。 STBIBFINTRRD從外設(shè)來的輸入數(shù)據(jù)(1)(2)(3)(4)特點: 2個 8位選通端口 A組和 B組 A、 B、 C口 I/O鎖存 A、 B組方式任意 注意: INTE中斷允許標志 INTEA==PC4置位 /復(fù)位 PC4=置位,口 A允許中斷 INTEB==PC2置位 /復(fù)位 PC2=置位,口 B允許中斷 方式 1工作過程: ? 工作過程 ? 設(shè)置方式選擇控制字, PORTA、 B ? 設(shè)置口 C, ?INTE=1 ? 輸入數(shù)據(jù) ? 輸入鎖存器空( IN) ?IBF=0 ? DATA?PORT A?STB ?PC4 ?IBF=1 ? INTEA amp。 D7~D0 8 A 8 4 4 8 C B PA7PA0 PC7PC4 PC3PC0 PB7PB0 例 3:若要求 8255A工作在方式 0,其 A端口、 B端口和 C端口均作輸入,則初始化編程為: MOV AL, 9BH ;方式選擇控制字送 AL MOV DX, PortCtr ; 控制口地址 PortCtr送 DX OUT DX, AL ; 方式選擇控制字送控制端口 1 0 0 1 1 0 1 1D7 D6 D5 D4 D3 D2 D1 D09BH、 8255A工作方式 ? 方式 1,單向選通方式 ? 方式 1是一種選通 I/O方式, A口和 B口仍作為兩個獨立的 8位 I/O數(shù)據(jù)通道 ,可單獨連接外設(shè),通過編程分別設(shè)置它們?yōu)檩斎牖蜉敵觥?梢愿鶕?jù) CPU送來的編程命令來控制 8255A的工作方式,也可以根據(jù)編程命令來對 C口的指定位進行置 /復(fù)位的操作。 、 8255引腳功能 ? 面向 IO的信號 ? PA0~PA7: A組數(shù)據(jù)信號,用來連接外設(shè); ? PB0~PB7: B組數(shù)據(jù)信號,用來連接外設(shè); ? PC0~PC7: C組數(shù)據(jù)信號,用來連接外設(shè)或者作為控制信號。適合一些并行輸入 /輸出設(shè)備的使用。 計數(shù)值 N=1ms/=2500D=09C4H ( 3) 通道 2: 工作方式 0,產(chǎn)生 1S定時中斷。而方式 ,則自動裝入計數(shù)初值繼續(xù)計數(shù)。 ? (2). 方式 5與方式 1工作過程相同,但輸出波形不同,方式 1輸出的是寬度為 N個 CLK脈沖的低電平有效的脈沖(計數(shù)過程中輸出為低),而方式 5輸出的為寬度為一個 CLK脈沖的負脈沖(計數(shù)過程中輸出為高)。但若中間遇到有 GATE脈沖,則在此脈沖后即裝入新值開始計數(shù)。其中 0、 4是電平觸發(fā)方式, 5是上升沿觸發(fā)。 ? 控制字為: 01010000B=50H ? 計數(shù)值為: 80H ? 初始化程序: ? MOV AL, 50H ? OUT 07H, AL ? MOV AL, 80H ? OUT 05H, AL ? 3)讀取 8253通道中的計數(shù)值 ? 8253可用控制命令來讀取相應(yīng)通道的計數(shù)值,由于計數(shù)值是 16位的,而讀取的瞬時值,要分兩次讀取,所以在讀取計數(shù)值之前,要用鎖存命令,將相應(yīng)通道的計數(shù)值鎖存在鎖存器中,然后分兩次讀入,先讀低字節(jié),后讀高字節(jié)。 ? 3). WR:來自于 CPU的寫控制信號輸入引腳,低電平有效。 8253計數(shù)器 /定時器 特點 ? /定時器的特點 ? 1.每個 8253芯片有 3個獨立的 16位計數(shù)器通道 ? 2.每個計數(shù)器通道都可以按照二進制或二 —十進制計數(shù) ? 3.每個計數(shù)器的計數(shù)速率可以高達 2MHz ? 4.每個通道有 6種工作方式,可以由程序設(shè)定和改變 ? 5.所有的輸入、輸出電平都與 TTL兼容。 ?計數(shù):如果計數(shù)的對象是與外部過程相對應(yīng)的脈沖信號(周期可以不相等),則此時即為計數(shù) 。 ? 3).控制字寄存器 ? 在 8253的初始化編程時,由 CPU寫入控制字,以決定通道的工作方式,此寄存器只能寫入,不能讀出。 ? 8253芯片為 DIP24引腳 ? 面向外部設(shè)備 ? 6) CLKi: i=0,1,2,第 i個通道的計數(shù)脈沖輸入引腳,8253規(guī)定,加在 CLK引腳的輸入時鐘信號的頻率不得高于 ,即時鐘周期不能小于 380ns。 ? MOV AL, 40H; ? OUT 0FBH, AL ;鎖存計數(shù)值 ? IN AL, 0F9H ? MOV CL, AL;低八位 ? IN AL, 0F9H; ? MOV CH, AL;高八位 8253計數(shù)器 /定時器 ? 8253工作方式 ? 幾條基本原則 ? (1). 控制字寫入計數(shù)器時,所有的控制邏輯電路立即復(fù)位,輸出端 OUT進入初始狀態(tài)。當 GATE= 0時,暫停計數(shù);當 GATE= 1時,繼續(xù)計數(shù); ? ④ 在計數(shù)過程中可以改變計數(shù)值,且這種改變是立即有效的,分成兩種情況: 若是 8位計數(shù),則寫入新值后的下一個脈沖按新值計數(shù);若是 16位計數(shù),則在寫入第一個字節(jié)后,停止計數(shù),寫入第二個字節(jié)后的下一個脈沖按新值計數(shù)。 它與方式 1的區(qū)別是: ? 方式 1產(chǎn)生寬度為 N*TCLK的負脈沖,而方式 4則只產(chǎn)生寬度為 TCLK的負脈沖。 ? (5). 6種工作方式中,只有方式 2和方式 3是連續(xù)計數(shù),其它方式都是一次計數(shù),要繼續(xù)工作需要 重新啟動 ,方式 0、 4由軟件啟動,方式 5由硬件啟動。 5S/20MS=250 例 2:要求 8253完成如下功能: 利用通道 0完成對外部事件的計數(shù)功能,計滿 100次后向 CPU 發(fā)出中斷請求; 利用通道 1產(chǎn)生頻率為 1KHZ的方波; 在 2的基礎(chǔ)上,利用通道 2產(chǎn)生 1秒的定時中斷。 程序如下: ; STACK SEGMENT PARA STACK ‘STACK’ DB 256 DUP( 0) STACK ENDS ; DATA SEGMENT SEG8 DW ? ;存放 8號中斷向量的段地址 OFF8 DW ? ;存放 8號中斷向量的偏移量 IMR DB ? ;存放 8259中 IMR寄存器值 COUNT DB 100 ;設(shè)置 100次中斷后秒加 1,即 10MS*100=1秒 TENH DB ‘2’ ;存放時的十位 HOUR DB ‘3’ ;存放時的個位 DB ‘:’ TENM DB ‘5’ ;存放分的十位 MINUTE DB ‘9’ ;存放分的個位 DB ‘:’ TENS DB ‘5’ ;存放秒的十位 SECOND DB ‘0’ ;存放秒的個位 DB 0DH,‘ $’ ;從 23: 59: 50開始計時 DATA ENDS CODE SEGMENT START PROC FAR ASSUME CS: CODE, DS: DATA MOV AX, DATA MOV DS, AX MOV AH, 0 INT 16H ; 等待 鍵按下,并讀入到 AX中(注意 “等待” 二字?。? MOV AL, 08H MOV AH, 35H INT 21H MOV SEG8, ES MOV OFF8, BX ;取 8H中斷向量并保存 CLI IN AL, 21H OR AL, 01H OUT 21H, AL ; P134中的內(nèi)容,屏蔽端口地址為 21H中的定時器中斷 PUSH DS MOV AX, SEG TIMER MOV DS, AX MOV DX, OFFSET TIMER MOV AL, 08H MOV AH, 25H INT 21H POP DS ;更改 8H中斷中的中斷向量 MOV AL, 36H OUT 43H, AL ;初始化 8253:計數(shù)器 0,工作方式 3, 43H為計數(shù)器控制口 MOV AX, 11932 OUT 40H, AL MOV AL, AH OUT 40H, AL ;給計數(shù)器 0送計數(shù)值 11932,使之 10MS中斷一次 IN AL, 21H ;讀入 8259中的 IMR MOV IMR, AL ;保存 IRQ0屏蔽時的 IMR AND AL, 0FCH OUT 21H, AL ;開放時鐘和鍵盤中斷 STI FOREVER: MOV AH, 1 INT 16H ;檢測鍵盤而不等待 CMP AL, 20H JZ EXIT ;有空格鍵按下就退出 MOV DX, OFFSET TENH MOV AH, 09H INT 21H ;顯示時、分、秒字符串 MOV AL, SECOND ;取秒值 WAITCHA: CMP AL, SECOND ;秒值變否? JZ WAITCHA ;秒值不變等待 JMP FOREVER EXIT: CLI MOV AL, IMR ;還原中斷向量表之前,關(guān)中斷 OUT 21H, AL ;此時 IMR中的 IRQ0是屏蔽的 MOV AL, 36H OUT 43H, AL ;重新初始化 8253,計數(shù)器 0,工作方式 3 MOV AL, 0 OUT 40H, AL OUT 40H, AL ;重置 8253,使之 55MS中斷一次 PUSH DS MOV AX, SEG8 MOV DS, AX MOV DX, OFF8 MOV AL, 08H MOV AH, 25H INT 21H POP DS ;恢復(fù)原中斷向量 IN AL, 21H AND AL, FEH OUT 21H, AL ;重新開放 IRQ0 STI MOV AH, 4CH INT 21H ;返回 DOS系統(tǒng),它等效于: .exit 0 ; TIMER PROC FAR PUSHAD ;保存通用寄存器, 386指令 DEC COUNT JNZ L2 ;沒有到 1秒的時間不加 1 MOV COUNT, 100 ;恢復(fù)計數(shù)值為 100 INC SECOND CMP SECOND,‘ 9’ JLE TIMEXT MOV SECOND,‘ 0’ INC TENS CMP TENS,‘ 6’ JL TIMEXT MOV TENS,‘ 0’ ;秒加 1,并考慮到它為 60進制 INC MINUTE CMP MINUTE,‘ 9’ JLE TIMEXT MOV MINUTE,‘ 0’ INC TENM CMP TENM CMP TENM,‘ 6’ JL TIMEXT MOV TENM,‘ 0’ ;分加 1,并考慮到它為 60進制 JMP L3 L2: JMP TIMEXT 中斷服務(wù)程序: L3: MOV AL, HOUR MOV AH, TENH CMP AH, 32H ; CMP AH,‘ 2’ JE LA CMP AL, 39H JE LB LC: INC AL MOV HOUR, AL JMP TIMEXT LA: CMP AL, 33H ; CMP AL,‘ 3’ JNE LC MOV AH, 30H MOV AL, 30H MOV HOUR, AL MOV TENH, AH JMP TIMEXT LB: INC AH MOV AL, 30H MOV TENH, AH JMP TIMEXT ;以上程序段為小時數(shù)加 1,并考慮到它是 24進制的情況 TIMEXT: MOV AL, 20H MOV 20H, AL ;中斷結(jié)束,送 EOI命令 POPAD IRET TIMER ENDP START ENDP CODE ENDS END START (AH) ← 時的十位數(shù)(AL) ← 時的十位數(shù)(AH)=2?(AL)=3?(AH) ← 0(AL) ← 0(AL) 按十進制加法計數(shù)(AL)=9?(AL)
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1