




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第10章人機交互設備接口
第10章人機交互設備接口10.1鍵盤接口
鍵盤:是微型計算機系統(tǒng)中最基本的人機對話輸入設備。鍵盤按鍵:有機械式、電容式、導電橡膠式、薄膜式等多種,但不管何種形式,其作用都是一個使電路接通與斷開的開關。1.編碼鍵盤鍵盤本身帶有實現(xiàn)接口主要功能所必需的硬件電路。由硬件邏輯自動提供與被按鍵對應的ASCII碼。2.非編碼鍵盤鍵盤只簡單地提供按鍵開關的行列矩陣。一、鍵盤接口的功能和原理1.接口功能鍵盤接口必須具有去抖動、防串鍵、按鍵識別和鍵碼產生4個基本功能。(1)去抖動每個按鍵在按下或松開時,都會產生短時間的抖動。抖動的持續(xù)時間與鍵的質量相關,一般為5~20ms。所謂去抖動是指在識別被按鍵和釋放鍵時必須避開抖動狀態(tài),只有處在穩(wěn)定接通或穩(wěn)定斷開狀態(tài)才能保證識別正確無誤。去抖動問題可通過軟件延時或硬件濾波電路(RC濾波或RS去抖)解決。(2)防串鍵防串鍵是為了解決多個鍵同時按下或者前一按鍵沒有釋放又有新下時產生的問題。
①雙鍵鎖定:當檢測到有兩個或兩個以上的鍵被按下時,只把最后釋放的鍵當作有效鍵,并產生相應鍵碼。
②N鍵輪回:當檢測到有多個鍵被按下時,能根據(jù)發(fā)現(xiàn)它們的順序依次產生相應鍵的鍵碼。(3)被按鍵識別
①行掃描法:該方法的基本思想是,由程序對鍵盤進行逐行掃描,通過檢測到的列輸出的列輸出狀態(tài)來確定閉合鍵。
②線反轉法:該方法的基本思想是通過行列顛倒兩次掃描來識別閉合鍵。多用Z-80PIO芯片實現(xiàn)(4)鍵碼產生一般在內存區(qū)中鍵立一個鍵盤編碼表,通過查表獲得被按鍵的鍵碼。2.接口原理①檢查是否有鍵按下,其方法是:輸出掃描碼,使所有行線為0。然后讀入列線狀態(tài),檢查是否有列線為0。若有,則表明有行線和列線接通,意味著有鍵按下。②去抖動:當有鍵按下時,延時20ms左右,待抖動消失后,在穩(wěn)定狀態(tài)下進行被按鍵識別。③被按鍵識別:從第0行第0列開始,順序對所有按鍵編號。通過逐行掃描確定被按鍵的編號。④產生鍵碼:根據(jù)掃描得到的鍵編號查找鍵盤編碼表,獲得與被按鍵功能對應的鍵碼。
例如,假定有一個34的矩陣鍵盤通過并行接口芯片8255A與微機相連。8255A的A定義為輸出口,與鍵盤行線相連;B口定義為輸入口,與鍵盤列線相連。接口硬件如圖10.1所示。PA0PA1PA2PB3PB2PB1PB08255ACPU行0行1行2列0列3列1列2圖10.1非編碼鍵盤接口
設8255AA口地址為60H,B口地址為61H,控制寄存器地址為63H,則實現(xiàn)接口有關功能的程序如下:
;8255A初始化
MOVAL,82H;方式0,A口輸出,B口輸入
OUT63H,AL
;檢查是否有鍵按下BEGIN:MOVAL,0;低電平有效
OUT60H,ALWAIT:INAL,61HANDAL,0FHCMPAL,0FH;低電平有效
JZWAIT
MOVCX,7FFH;;延時去抖動L0:LOOPL0;識別被按下的鍵ST:MOVBL,03H;行數(shù)送BLMOVBH,04H;列數(shù)送BHMOVAL,0FEH;掃描碼,0行為0MOVCL,0FH;列線屏蔽碼送CLMOVCH,0FFH ;置鍵號初值為-1L1:OUT60H,AL;掃描一行
ROLALDECBLMOVAH,AL;修改掃描碼并送AH保存
INAL,61H
ANDAL,CLCMPAL,CL;讀入列線值,檢查是否有列填線為0JNZL2;有列線為0時轉去找該列線
ADDCH,BH;否則,指向該行末列鍵號
MOVAL,AH;取回掃描碼
DECBLJNZL1;行數(shù)減1,未完成轉下一行
JMPBEGINL2:INCCH;該列非0,檢查下一列
RCRALJCL2;該列非0,檢查下一列
MOVAL,CH;該列為0,鍵號送AL
JMPKEYTABLE;轉查找鍵盤編碼表子程序,獲取與鍵功能對應的鍵碼二、可編程鍵盤/LED接口芯片82791.內部結構及各部分功能
8279芯片的內部結構框圖如圖10.2所示。圖中各組成部分功能如下:(1)I/O控制及數(shù)據(jù)緩沖器(2)控制與定時寄存器及定時控制(3)掃描計數(shù)器(4)鍵盤去抖與控制及返回緩沖器(5)FIFORAM及狀態(tài)寄存器(6)顯示RAM、顯示寄存器、顯示地址寄存器數(shù)據(jù)緩沖器I/O控制FIFORAM的狀態(tài)寄存器顯示地址寄存器16×8顯示RAM片選總線控制與定時寄存器8×8FIFORAM鍵盤去抖與控制顯示寄存器定時控制掃描計數(shù)器返回緩沖器時鐘CLK復位ResetOUTA0~3OUTB0~3BDSL0~3RL0~3SHIFTCNTL/STBD0~7RDWRCSA0IRQ圖10.28279芯片的內部結構框圖2.外部特性電信號連接示意圖可知,40條引線中與CPU一側相關的共15條,與鍵盤、顯示接口相關的共23條,電源、地各一條。8279RL0~RL7SHIFTCNTL/STBSL0~SL3OUTA0~3OUTB0~3BDD0~D7IRQRDWRCSA0CLKRESET+5VGNDCPU鍵盤顯示器D0~D7:雙向數(shù)據(jù)線,用于CPU和8279芯片之間傳送數(shù)據(jù)、命令和狀態(tài)信息。CLK:系統(tǒng)時鐘,為8279芯片提供內部定時。RESET:復位線,高電平時復位8279芯片到:16個字符顯示(左進方式);編碼掃描鍵盤(雙鍵鎖定);時鐘設置為31.CS-:片選線,由I/O端口地址譯碼器產生低電平時8279芯片被選中。RD-:讀信號,低電平有效。WR-:寫信號,低電平有效。A0:地址線,為0時選中數(shù)據(jù)口;1時選中命令/狀態(tài)口。IRQ:中斷請求線,高電平有效,向CPU申請中斷。SL0~SL3:掃描線,用來掃描鍵盤或顯示器,可編程設定為編碼輸出或譯碼輸出。編碼掃描:SL3-SL0輸出掃描計數(shù),經外部譯碼器的譯碼后最多可為鍵盤和顯示器提供16個掃描信號。譯碼掃描:SL3-SL0輸出可直接作為鍵盤和顯示器的掃描信號,此時鍵盤矩陣為4*8,顯示字符為4位。RL0~RL7:返回線,用作鍵盤矩陣列線的返回信號輸入。SHIFT:移位信號,是鍵盤數(shù)據(jù)的D6位,用于擴充鍵的功能,如作為上、下檔功能鍵。CNTL:控制線。是鍵盤數(shù)據(jù)的D7位,用于擴充鍵的控制功能--控制功能鍵。OUTA0~OUTA3,OUTB0~OUTB3:A/B組顯示信號輸出線,與掃描線SL0~3同步,實現(xiàn)分時數(shù)據(jù)顯示,即刷新各顯示字符。BD-:顯示消隱線,顯示數(shù)據(jù)切換時或收到消隱命令時,將顯示消隱。3.命令字當引腳A0=1時,CPU向8279芯片寫入命令字。8279芯片可執(zhí)行的命令共有8條,它們決定了8279芯片的操作方式。命令字格式如下:特征位命令參數(shù)D7D6D5D4D3D2D1D0(1)設置鍵盤及顯示方式設置鍵盤及顯示方式命令字格式為:000D2D1K2K1K0D4D3(D2D1):用來設定顯示輸出方式,定義如表10.1所示。D4D3(K2K1):設定鍵盤輸入方式,定義如表10.2所示。D0(K0):鍵盤掃描方式。K0=0為編碼掃描;K0=1為譯碼掃描。D2D1
方式000110118個字符顯示,左進方式16個字符顯示,左進方式8個字符顯示,右進方式16個字符顯示,右進方式K2K1
方式00011011掃描鍵盤輸入,雙鍵鎖定掃描鍵盤輸入,N鍵輪回掃描傳感器輸入選通輸入表10.1顯示輸出方式表10.2鍵盤輸入方式D2:0-左進方式1-右進方式D1:0-8個字符1-16個字符左進:顯示位置從最左一位即最高位開始,逐個向右順序輸出右進:顯示位置從最右一位即最低位(個位)開始,高位從右邊進入,逐次左移。==計算器顯示方式N鍵輪回:根據(jù)發(fā)現(xiàn)順序依次將相應鍵盤數(shù)據(jù)送入FIFORAMD4~D0(PPPPP):用來設定對外輸入CLK的分頻系數(shù)N(N值可為2~31),以便獲得8279芯片內部要求的100kHz的基本頻率D7D6D5D4D3D2D1D0001AI×A1A2A0D4(AI):自動地址增量標志位。當AI=1時,每次讀出后地址自動加1指向下一存儲單元AI=0時,讀出后地址不變。D2D1D0(A2A1A0):在鍵盤方式中無意義,都寫0.(2)設置時鐘頻率D7D6D5D4D3D2D1D0010PPPPP(3)讀FIFORAMD7D6D5D4D3D2D1D0CNTLSL2ShiftSL1SL0RL1RL2RL0鍵盤數(shù)據(jù)格式:(4)讀顯示RAMD7D6D5D4D3D2D1D0011AIA3A1A2A0D4(AI):自動地址增量標志。AI=1時讀后地址自動增1;
AI=0時,讀后地址不變。(5)寫顯示RAM100AIA3…A0(6)禁寫顯示RAM/消隱
101×IWAIWBBLABLBIW=1時,顯示RAM禁止寫入該組,CPU寫數(shù)據(jù)不影響該組顯示
BL=1時,該組顯示被消隱,=0時顯示恢復(7)清除
110CD2CD1CD0CFCACF:清空FIFORAM,使IRQ復位
CA總清位,顯示RAM清除方式CD1-0CD2
CD1CD0
方式10×1011100××
全部清除(為00)置成20H(為‘-’)置成全1(為FF)不清除,CA=1,則CD1-0仍有效表10.3顯示RAM清除方式(8)結束中斷/設置錯誤方式111E××××N鍵輪回方式下,當E=1時,設置一種特殊錯誤方式:在8279消抖周期內發(fā)現(xiàn)多件同時按下時,將狀態(tài)字中S/E位置1,并產生中斷請求信號和阻止寫入FIFORAM4.狀態(tài)字主要用來指示FIFORAM中的字符數(shù)和有無錯誤發(fā)生。其格式為:Du:顯示無效,當執(zhí)行RAM清除時置位S/E:多鍵同時按下O:FIFO滿時,再寫入即置位U:FIFO空,即字符個數(shù)=0F:FIFO滿,即字符個數(shù)=8NNN:FIFO有幾個字符待取走0-7D7D6D5D4D3D2D1D0Du0S/EUFNNN5.8279芯片應用舉例
TP86A單板微型計算機使用8279芯片作為鍵盤及LED顯示器接口,電路原理圖如圖10.4所示。8279RL0SHIFTCNTLOUTA0~3OUTB0~3D0~D7RDWRCSA0CLKRESETTP86SL0SL1SL2SL3RL0鍵盤矩陣A74LS45BCD74LS45段驅動器(反相)ABCY0Y1Y20007+5V譯碼器74LS156圖10.4TP86單板機鍵盤/顯示器接口電路譯碼器
①鍵盤輸入程序段,執(zhí)行下面程序段后可在內存400H單元中找到被按下鍵的代碼。
MOVDX,0FFEAHMOVAL,00H;設定鍵盤輸入,編碼掃描方式
OUTDX,AL MOVAL,39H;掃描頻率
OUTDX,ALMOVAL,0D3H;
OUTDX,AL;顯示RAM清0LOOP1:MOVDX,0FFEAHINAL,DX
TESTAL,10H ;檢查是否有鍵入代碼
JNZLOOP1;無再查
MOVAL,40H;有鍵入代碼,指定讀FIFOOUTDX,ALMOVDX,0FFE8HINAL,DX;讀出數(shù)據(jù)
MOVDI,400H;DI指向存放按鍵代碼的內存單元
MOV[DI],AL;存入內存400H單元
HLT;暫停②顯示輸出程序段,執(zhí)行下面程序段后從0位開始顯示八個字符,假定八個字符的字形碼存于內存300H開始的8個單元中。
MOVSI,300H;設置顯示字符內存區(qū)地址指針
MOVCX,08H;設置顯示字符數(shù)
MOVDX,0FFEAHMOVAL,00H;設置顯示輸出工作方式
OUTDX,ALMOVAL,39H;分頻系數(shù)為25,產生
100kHz掃描頻率
OUTDX,ALMOVAL,0D1H;D3HOUTDX,AL;顯示RAM清0MOVAL,90H;寫顯示RAM命令,從0號單元起,地址自動加1OUTDX,ALL:MOVDX,0FFE8HMOVAL,[SI]OUTDX,AL;從內存中取顯示代碼送顯示RAMINCSI;修改地址指針
DECCX;修改計數(shù)器值
JNZLHLT300HDB7FH,3FH,5BH,06H,67H,67H,67H,06H三、PC微機鍵盤及接口①鍵盤由單片機、譯碼器和16行×8列的鍵開關矩陣三大部分組成。②按鍵采用電容開關,即按鍵時的上下動作使電容量發(fā)生變化,從而實現(xiàn)開關接通或斷開的目的。③它是一種由單片機掃描、編碼的智能化鍵盤。④它是一個與主機箱分開的獨立部件,通過一根五芯電纜與主機相連接。
硬中斷程序:中斷號為09H,當按鍵動作引發(fā)IRQ1時,該程序負責把鍵盤掃描碼轉換成ASCII碼,然后存入鍵盤緩沖區(qū)。
軟中斷程序INT16H:ROMBIOS中的鍵盤功能調用程序,該調的功能是從鍵盤緩沖區(qū)取出按鍵產生的ASCII碼。2.鍵盤接口電路(1)接口功能串行接收鍵盤送來的掃描碼,完成串行轉換后保存;收妥一個鍵盤掃描碼后,立即產生一個中斷請求信號;保存的掃描碼可供CPU讀取,并通過軟件進行相應轉換處理;接收CPU的命令,輸出到鍵盤,并接收鍵盤回送的響應信號。(2)接口電路根據(jù)接口電路應完成的功能,接口電路可由串行并轉換電路、時鐘同步電路、中斷請求觸發(fā)器及一些門電路組成。Keyboard(5PC)Pin Name Description TechnicalCLOCK Clock CLK/CTS,DATA Data RxD/TxD/RTS,n/c 4 GND Ground VCC +5VDC口朝上134526PIN(PS/2STYLE)Pin Name Description1 DATA KeyDatan/c - GND 4 VCC +5VDC5 CLK Clockn/c - 654321SEDSS/PD0OECLRCLKGOAOBOHOHD11DCLKCLRPR+5VQQDCLKRQDCLKRQ+5VLS3228255APB7PB6CLKDATARESETGND+5VPCLKRESET8255APA7PA6PA0IRQ1圖10.5微機鍵盤接口電路初始化程序中對8255A的設置:
MOVAL,99H;模式0,A口,C口輸入,B口輸出
OUT63H,AL;將方式控制字寫控制寄存器
MOVAL,40H;PB7=0,PB6=1,允許LS322工作方式輸出
OUT61H,ALIRQ1中斷服務程序中掃描碼的讀取與控制:
INAL,60H;讀8255AA口獲取掃描碼
PUSHAX;將AL中的掃描碼入棧保存
INAL,61H;讀B口原輸出狀態(tài)
MOVAH,AL;暫存于AHORAL,80H;置PB7=1,清除LS322T和中斷請求觸發(fā)器
OUT61H,ALPOPAX;彈出掃描碼至AL中
MOVAH,AL;AH中也為鍵掃描碼鍵處理
10.2CRT顯示器接口
顯示器是計算機系統(tǒng)的基本設備,主要用于程序輸入、程序調試、信息顯示、結果顯示等。(如:MDA單顯示器、低分辯率的CGA、EGA等)當前流行的都分辨率可達1024×768、1280×1042等的高分辨率SuperVGA顯示器.一、顯示器文本方式I/O
顯示的文本方式(TEXTMODE)對于所有類型的顯示器(MDA、CGA、EGA、VGA、SuperVGA等)的操作方法和顯示原理都基本相同。在文本方式下,顯示器的屏幕一般被分成80×25(80列,25行)的網絡,所有的字符就在這2000個(80×25)的網格上顯示,屏幕上顯示的每個字符都在顯示緩沖區(qū)(VRAM)中對應一個存儲單元,即屏幕的存儲器映象。在彩色文本方式下,顯示文本的視頻緩沖區(qū)首地址為B800:000H,每個字符占用兩個存儲器單元,其中每一具單元為顯示字符的ASCII碼,第二個單元為該顯示字符的屬性。1.字符顯示原理
顯示器字符的方法以點陣為基礎。這種方式將字符分解成m×n個點陣組成陣列,將點陣存入由ROM構成的字符發(fā)生器中,在CRT進行光柵掃描的過程中,從字符發(fā)生器中依次讀出點陣,按照點陣的0和1控制掃描電了束開關,在屏幕中形成字符。字符字符點陣的多少取決于字符顯示質量和字符塊大小,在PC機中字符窗口為9×14點陣,字符為7×9點陣。在PC機中,整個屏幕的字符共占用4000字節(jié)的視頻存儲器空間(B800:0H-B800:F9FH),彩色文本顯示的視頻緩沖區(qū)首地址為B800:0H,單色文本為B000:000H。移位寄存器SL視頻信號字符發(fā)生器ROMVRAMRA3~RA0ASCII碼OSCI/9I/(80+18)I/(9+5)I/(25+1)點振蕩器(16.257MHz)點計數(shù)器水平地址計數(shù)器加載控制水平消隱行間消隱垂直消隱光柵地址計數(shù)器垂直地址計數(shù)器水平同步電路垂直同步電路水平同步信號垂直同步信號CPU控制字符時鐘定時控制電路VRAM與顯示屏的對應關系2.字符屬性顯示器上的每個字符在視頻緩沖區(qū)(VRAM)由2個字節(jié)表示,第一個字節(jié)是顯示字符的ASCII碼,而第二具字節(jié)是該顯示字符的司性。字符的必性確定了該顯示字符的特性,如顯示字符的顏色、背景顏色、閃鑠等,在彩色文本方式下,字符的屬性定義如圖所示。其中:1)BI=1:表示該顯示的字符閃爍;2)D6~D4:表示該顯示字符的背景顏色RGB;3)D3~D0:表示該顯示字符的前景顏色RGB;BIRedGreenBlueIRedGreenBlue閃爍位背景顏色背景顏色D7D6D5D4D3D2D1D0彩色文本方式字符屬性
如把80×25模式的整個屏幕全部刷成字符A,屬性為紅色前景、藍色背景、顯示字條款閃爍的程序段為:MOVAX,0B800H;彩色文本方式VRAM首址MOVES,AXMOVDI,0MOVCX,2000MOVAH,10010100B;顯示屬性:閃爍,藍色背景,紅色前景REPSTOSW;AX→VRAM單元中,相當于顯示到屏幕上
在上述程序中,如果把字符屬性改為08(黑色背景,灰白色前景,不閃爍),同時把顯示的字符‘A’改為20H(空格),上述程序則是一個清屏程序。在彩色文本方式下,視頻緩沖區(qū)(VRAM)的首地址為B800:0H,屏幕上顯示的字符依次與B800:0H后的存儲器單元相應,因此,直接寫屏就是把需顯示的字符及屬性直接寫入VRAM中,就達到了彩色文本顯示的目的。直接寫屏的子程序如下:WRITE_SCREENPROCNEARPUSHESPUSHDISHLDX,1SHLDX,1SHLDX,1SHLDX,1;行坐標×16MOVDI,DXSHLDX,1SHLDX,1;行坐標×64ADDDI,DX;行坐標×(64+16)ADDDI,CX;視頻緩沖區(qū)偏移=行×80+列MOVDX,0B800H;VRAM首地址MOVES,AXSTOSW;字符和屬性VRAMPOPDIPOPESRETWRITE-SCREENENDPInearly2001,….andresearchCorporationcompletedAnotheryearof80x25CRTVRAM0行1行i行B800:00B800:A7Hf2行7列
在彩色文本直接寫屏中,顯示位置在視頻緩沖區(qū)VRAM的偏移地址可由公式:VRAM偏移地址=80×行坐標+列坐標,來進行計算。屏幕字符的顯示通常使用中斷(如INT10H、INT21H等)來進行,中斷字符顯示方式速度較慢,但通用性和兼容性好。二、顯示器圖形接口顯示器的圖形方式就是利用顯示器的像點(Pixel)來構成圖形、圖像、各種顯示適配器有不同的顯示模式和分辨率,在下表中主要列出了標準的顯示適配器的各種顯示模式的圖形分辨率、顏色數(shù)和視頻緩沖區(qū)地址。各種顯示適配器(顯示卡)都是向下包含的,如TVGA顯示適配器包含VGA以下的所有顯示適配器的各種顯示模式。顯示類型模式號
顯示分辨率VRAM首地址MDA07720×350(2C)B000:0HCGA0406320×200(4C)640×200(2C)B800:0HB800:0HEGA0D0E0F10320×200(16C)640×200(16C)640×350(4C)640×350(16C)A000:0HA000:0HA000:0HA000:0HVGA111213640×480(2C)640×480(16C)320×200(256C)A000:0HA000:0HA000:0HTVGA5B5C5D5E5F62800×600(16C)640×400(256C)640×480(256C)800×600(256C)1024×768(16C)1024×768(256C)A000:0HA000:0HA000:0HA000:0HA000:0HA000:0H顯示器各種圖形模式下的分辨率MDA、CGA、EGA都是數(shù)字式的顯示適配器,這類顯示器由于顏色數(shù)較少,VGA、SuperVGA均是采用RGB三基色分量的模擬顯示器,由于計算機送出顏色索引值,通過查找索引寄存器取得DAC表中的RGB分量亮度值,再由DAC(數(shù)/模轉換器)輸出RGB的模擬信號供顯示器顯示。采用RGB模擬信號的顯示器的顏色數(shù)多,顏色過渡平滑,色彩鮮艷,更接近自然顏色。
1.VGA圖形顯示原理
VGA(VideoGraphicsArray)顯示適配器是采用RGB模擬顯示的接口卡,VGA顯示適配器的視頻存儲器VRAM與顯示器屏幕上的像點有兩種映射方式:彩色位面法和壓縮像素法。(1)彩色位面法從EGA(EnhanceGraphicsAdapter----增強型圖形適配器)適配器開始首先采用了彩色位面顯示方式,所謂彩色位面
就是把視頻緩沖區(qū)VRAM按照一定的大小(與顯示模式有關,不同的顯示模式一頁的大小也不同)劃分為幾個獨立的位面(頁)每個頁面被用來控制一種顏色分量(RGB),每個顯示像至少在頁面中占一位。如圖10.7所示。
3210IRGBVGA16色顯示模式………..101000000100……………………圖10.7VGA顯示器VRAM與顯示屏映射關系
在VGA顯示適配器中,彩色位面法用于16色模式。圖形16色顯示時把VRAM劃分為4個彩色位面。屏幕上的像點特征由4個位面的值共同確定。在12H(640×480×16C)模式下,一頁的大小為640/8×480=38400B,因此一屏圖形或圖像共占VRAM空間為38400×4=153600字節(jié)。VRAM與物理顯示屏的對應關系(省去了顏色索引和DAC處理)如圖10.7所示。一個彩色位面上的一個字節(jié)對應屏幕上的8個像點Pixel),在缺省調色板一個位面實際上代表某一基色(RGB),因此4個位面共可以表示16種顏色。一般來說,由0~3位面合成的值是一個顏色索引值,而不是真正顯示器所顯示的顏色值,真正顯示的顏色必須通過索引寄存器查到,再通過DAC表產生,如圖10.8所示。0111
顏色索引寄存器
001001
模塊寄存器
顏色選擇寄存器D0D1D2D3D4D5D6D7Red000000Green000000Blue000000063D/AD/AD/A到模擬顯示器DAC轉換表VRAM01110715圖10.8VGA位面法VRAM內存映像
下面是采用直接寫點的640×480(16色)子程序,在應用程序中可以直接調用入口參數(shù):AX=行坐標;BX=列坐標;CH=顏色值VGA-COLOR16PROCNEARMOVDX,0A000H;視頻緩沖區(qū)首地址MOVES,DXMOVDX,80;一行字節(jié)數(shù)MULDX;行×80MOVDI,AXMOVAX,BXMOVCL,3SHRAX,3;列/8ADDDI,AX;VRAM偏移=行×80+列/8;分離字處理MOVCL,BLANDCL,7XORCL,7MOVBL,80HSHLBL,CL;BL=圖形點分離字;寄存器設置MOVDX,3C4H;定序器MOVAL,2OUTDX,AL;選映射模式寄存器INCDXMOVAL,OFH;開放4個彩色位面OUTDX,ALMOVDX,3CEH;圖形控制器端口MOVAL,5;5號:寫模式寄存器OUTDX,ALINCDXMOVAL,2;設置寫模式2:鎖存寫點OUTDX,ALDECDXMOVAL,8;選擇8號:分離字寄存器OUTDX,ALINCDXMOVAL,BLOUTDX,AL;寫入分離字MOVAL,ES:[DI];讀出數(shù)據(jù)MOVES:[DI],CH;寫入新的顏色數(shù)據(jù)RET;返回(2)壓縮像素法在壓縮像素法中,VRAM中的一個字節(jié)對應屏幕上的一個像點(Pixel),由于一個字節(jié)取值0-255,所以屏幕上的點就有256種顏色的變化(256色)。VRAM與屏幕的映射關系如圖10.9所示。為了與彩色位面法和真彩色的彩色位面相對應,在習慣上把256色的顯示方式也稱為8位的彩色位面,相對應256色下生成的圖像、圖形文件稱為8位面的圖像或圖形。A000:0000
…………00010002VGA256色顯示模式……..VRAM……..圖10.9VGA壓縮像素法VRAM內存映象
在壓縮像素法中,VRAM的一個字節(jié)的內容直接通過DAC表查出對應的屏幕顯示顏色值,通過RGB三基色的D/A轉換器顯示到屏幕上。壓縮像素法與彩色位面法一樣,在不同的分辨率模式下,其一屏圖形或圖你所占的VRAM的大小也不相同,如模式為13H(320×200×256C)時,一屏圖像大小為64000字節(jié),為5DH(640×480×256C)時,一屏圖像的大小需256KB的VRAM空間。
VGA_COLOR256PROCNEARMOVDX,0A000H;視頻緩沖區(qū)首地址MOVES,DXMOVDX,320;一行字節(jié)數(shù)MULDX;行數(shù)×一行字節(jié)數(shù)ADDAX,BX;VRAM偏移=行數(shù)×一行字節(jié)數(shù)+列MOVDI,AXMOVES:[DI],CHRET;返回2.DAC數(shù)模轉換器數(shù)模轉換器(DAC)是VGA和VGA圖形適配器所特有寄存器組。DAC能將數(shù)字信號轉換為模擬信號,以驅動VGA或SuperVGA的RGB模擬顯示器。由于模擬信號可以連續(xù)變化,因此顯示器顯示的色彩變化可以非常平滑,適合人的視覺感受。DAC數(shù)模轉換器由3個視頻數(shù)模轉換寄存器(RGB)和DAC電路組成,它們分別控制紅(R)、綠(G)、藍(B)原色亮度值(RGB)。每個寄存器為6位,其亮度值(色飽和度)范圍為0~63,3個寄存器一共可以產生64×64×64=266144種顏色。同時DAC還必須從查色表(顏色索引寄存器)中取得顏色編碼,以決定屏幕上應顯示何種顏色。查色表為8位,所以DAC一次只能從醒色表中轉換28=256種顏色。對于假彩色顯示適配器(顯卡)如:VGA、SuperVGA等,雖然DAC能產生266144種顏色,但同一時刻同屏上只能顯示256種顏色。
DAC的操作一般可通過I/O端口或BIOS的INT10H相應功能來進行,常用I/O端口地址如下:
3C7H:查色表讀索引
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人職業(yè)發(fā)展規(guī)劃與管理技巧
- 《學做端午粽》(教案)-2023-2024學年五年級下冊勞動人教版
- 2025年數(shù)控高精度內外圓磨床項目發(fā)展計劃
- 中小企業(yè)財務規(guī)劃與管理
- shui路合同標準文本
- 《Lesson2 What's your name,please 》(教學設計)-2024-2025學年閩教版(2024)英語三年級上冊
- 中小學思政教育的情感教育與心理疏導
- 先加油后付款合同標準文本
- 入暗股合同標準文本
- 代名購房合同標準文本
- 資本論第二卷講義課件
- 班組班前安全教育記錄表
- 教科版科學五年級下冊全冊全套課件【最新版】
- 胎兒頸項透明層(NT)的超聲診斷課件
- 工程移交單(標準樣本)
- 《最好的未來》合唱曲譜
- 常用材料折彎系數(shù)表大全
- 小班語言《坐火車》課件
- FIDIC合同《設計采購施工(EPC)交鑰匙工程合同條件》(中英文對照版)
- 環(huán)境監(jiān)測課件:第3章 空氣和廢氣監(jiān)測2
- 律師刑事訴訟格式文書一至十九
評論
0/150
提交評論