3 TỔng quan thiết bị ĐƯa tin vàO 2 Bàn phím (Keyboard)



tải về 262.42 Kb.
trang3/3
Chuyển đổi dữ liệu17.08.2016
Kích262.42 Kb.
#21217
1   2   3
3.4.2. Thiết bị quang

Ngµy nay ®Üa quang ®­îc sö dông rÊt phæ biÕn, chóng cã mËt ®é ghi th«ng tin cao h¬n ®Üa tõ th«ng th­êng rÊt nhiÒu. Ban ®Çu c¸c ®Üa quang ®­îc chÕ t¹o vµ ph¸t triÓn nh»m ghi c¸c ch­¬ng tr×nh truyÒn h×nh sau ®ã ®­îc sö dông lµm ph­¬ng tiÖn nhí ngoµi cho m¸y tÝnh.

* Nguyªn lý chÕ t¹o (ghi)

Ng­êi ta t¹o ra c¸c ®Üa CD ROM b»ng c¸ch dïng mét tia laser m¹nh ®èt ch¸y c¸c hèc ®­êng kÝnh 1m trªn mét ®Üa chñ, tõ ®Üa chñ nµy t¹o ra khu«n ®Ó t¹o ra c¸c b¶n copy trªn c¸c ®Üa chÊt dÎo. Sau ®ã ng­êi ta phñ lªn mét líp nh«m máng råi mét líp chÊt dÎo trong suèt lªn trªn líp nh«m ®Ó b¶o vÖ.

C¸c hèc bÞ ®èt gäi lµ c¸c pits (tÝ hiÖu 0), phÇn kh«ng bÞ ®èt gäi lµ c¸c lands (tÝn hiÖu 1), chóng cã ®é t­¬ng ph¶n kh¸c nhau do ®ã cã thÓ ph©n biÖt ®­îc pits vµ lands.

* Tæ chøc th«ng tin

Th«ng tin trªn CDROM ®­îc tæ chøc theo mét ®­êng xo¾n èc duy nhÊt. D÷ liÖu ghi tõng nhãm 24 byte, mçi byte ®Çu tiªn ®­îc më réng thµnh 14 bit. Ba bit ®Æc biÖt ®­îc bæ xung vµo gi÷a c¸c nhãm vµ mét byte ®ång bé ®­îc bæ xung ®Ó t¹o thµnh 1 frame. Mét nhãm 98 frame t¹o thµnh 1 block chøa 2 KB d÷ liÖu cña ng­êi sö dông. Mçi CDROM chøa 270.000 block, cho dung l­îng lµ 553 MB.

* C¸ch ®äc th«ng tin

C¸c ®Üa CDROMs ®­îc ®äc b»ng thiÕt bÞ nh­ m¸y ghe nh¹c CD, dïng mét ®Çu dß (detector) ®o n¨ng l­îng ph¶n x¹ tõ bÒ mÆt ®Üa khi chiÕu lªn bÒ mÆt mét tia laser c«ng xuÊt nhá. D÷ liÖu ®­îc ®äc víi vËn tèc tuyÕn tÝnh kh«ng ®æi lµ 57 inches/sec, cho ta tèc ®é ®äc ghi d÷ liÖu lµ 153,60 KB/sec

* ¦u ®iÓm, nh­îc ®iÓm vµ c¸ch kh¾c phôc:

¦u ®iÓm : c«ng nghÖ chÕ t¹o CDROM b»ng c¸ch dËp khu«n do ®ã gi¸ thµnh 1 CDROM rÊt rÎ, ngoµi ra viÖc ®äc dïng tia laser kh«ng cÇn sù tiÕp xóc c¬ khÝ, bÒ mÆt cã sù b¶o vÖ do ®ã cã ®é tin cËy cao, dung l­îng lín nªn ®­îc sö dông réng r·i.

Nh­îc ®iÓm : viÖc dËp khu«n khã ®¹t ®­îc ®é chÝnh x¸c cao vµ ®ång ®Òu do vËy c¸c th«ng tin sè th­êng cã nhiÒu lçi.

Kh¾c phôc : ®Çu ®äc trong æ ®Üa th­êng cã mét g­¬ng chÝnh x¸c, ®­îc ®iÒu khiÓn bëi mét c¬ cÊu servo nh»m b¸m s¸t bÒ mÆt ®Üa, bï trõ cho c¸c lçi s¶n xuÊt. Thø hai sö dông lo¹i m· söa sai tèt h¬n khi ghi th«ng tin.

3.4.3. Phương pháp tác động

Chóng ta cã thÓ sö dông mét sè ng¾t ®Ó lËp tr×nh trùc tiÕp víi c¶ ®Üa cøng vµ ®Üa mÒm.

BIOS : Ng¾t 13 h cho c¶ ®Üa cøng vµ ®Üa mÒm

Ng¾t 41h chØ tíi b¶ng th«ng sè cña ®Üa cøng 1

Ng¾t 46h chØ tíi b¶ng th«ng sè cña ®Üa cøng 2

DOS : Ng¾t 25h ®äc trùc tiÕp tõ ®Üa cøng

Ng¾t 26h ghi trùc tiÕp vµo ®Üa cøng.

LËp tr×nh ng¾t trong PASCAL

ViÖc gäi ng¾t trong PASCAL còng ®­îc thùc hiÖn theo mÉu trªn.Song ph¶i theo mét sè quy ®Þnh sau:


  • C¸c lÖnh ®­îc sö dông lµ c¸c lÖnh cña PASCAL. LÖnh g¸n t­¬ng ®­¬ng víi lÖnh MOV trong ASSEMBLY

  • NÕu sö dông hÖ ®Õm thËp lôc ph©n,th× ph¶i cµi ®Æt dÊu ‘$’ ®øng tr­íc mçi sè ®ã.

  • Muèn t¸c ®éng trùc tiÕp tíi c¸c thanh ghi cña bé vi xö lý ,ta ph¶i sö dông biÕn cã kiÓu lµ REGISTERS. kiÓu nµy ®­îc quy ®Þnh trong UNIT DOS nh­ sau:

+ KiÓu REGISTERS ®­îc khai b¸o trong UNIT DOS:

TYPE


REGISTERS=RECORD

CASE integer OF

0:(AX,BX,CX,DX,BP,SI,DI,DS,ES,Flags:word);

1:(AL,AH,BL,BH,CL,CH,DL,DH:Byte);

END;

+ C¸c thanh ghi cña bé vi xö lý ®­îc quy ®Þnh b»ng c¸c tªn biÕn. Muèn truy nhËp ®Õn c¸c biÕn nµy, ta ph¶i quy ®Þnh vÒ kiÓu b¶n ghi. VÝ dô : R lµ biÕn kiÓu REGISTERS



=>R.AH:=$01; hoÆc with R do AH:=$01;

- Muèn gäi ng¾t trong PASCAL, cã thÓ sö dông thñ tôc:

INTR(,);

VÝ dô : R lµ biÕn kiÓu REGISTERS => INTR($ 10,R);

- Riªng víi sè hiÖu ng¾t 21h ta cã thÓ sö dông thñ tôc

MSDOS();

VÝ dô: INTR($21,R); <=>MSDOS(R);

Mét sè ng¾t th«ng dông



Ng¾t 21h: Ng¾t chøc n¨ng cña DOS

Hµm 01h: Vµo mét kÝ tù tõ bµn phÝm vµ hiÓn thÞ ra mµn h×nh



M« t¶

VÝ dô minh ho¹

Vµo: AH=01h

Ra: AL=M· ASCII cña kÝ tù nhËp vµo



MOV AH,01H

INT 21H


MOV ktu,AL

Hµm 02h: In mét ký tù ra mµn h×nh v¨n b¶n

Vµo AH=02h

DL= m· ASCII cña kÝ tù nhËp vµo

Ra Kh«ng


MOV AH,02H ;In ra mµn h×nh

MOV DL,’A’ ; ch÷ ’A’

INT 21H


Hµm 08h: Vµo mét kÝ tù tõ bµn phÝm,kh«ng hiÓn thÞ kÝ tù ra mµn h×nh

Vµo AH=01h

Ra AL= m· ASCII cña kÝ tù nhËp vµo



MOV AH,08H

INT 21H


MOV ktu,AL

Hµm 09h: In mét chuçi kÝ tù ra mµn h×nh

Vµo AH=09h

DS:DX=Con trá ®Õn chuçi kÕt thóc b»ng ‘$’

Ra Kh«ng


MOV AH,09H

LEA DX,chuçi

INT 21H


Hµm 4Ch: KÕt thóc ch­¬ng tr×nh .EXE

Vµo : AH=4Ch

Ra : Kh«ng



MOV AH,4CH

INT 21H


Hµm 2Ah: X¸c ®Þnh ngµy th¸ng

Vµo : AH=2Ah

Ra : AL=ngµy trong tuÇn(0-6)

CX=n¨m(1980-2099)

DH=th¸ng(1-12)

DL=ngµy(1-31)


R.AH:=$2A

INTR($21,R)

Ngay-tuan:=R.AL;

Nam:=R.CX;

Thang:=R.DH;

Ngay:=R.DL;



Hµm 2Bh: §Æt ngµy th¸ng (§Æt l¹i ngµy hÖ thèng)

Vµo : AH= 2Bh

CX=n¨m(1980-2099)

DH=th¸ng(1-12)

DL= ngµy(1-31)

Ra : AL=0 nÕu ngµy hîp lÖ;

AL=FFh nÕu ngµy kh«ng hîp lÖ



R.AH:=$2B;

Nam:=R.CX;

Thang:=R.DH;

Ngay:=R.DL;

INTR($21,R);

IF R>AL=0 then write(‘OK!’);

Else write(‘Not OK!’);


Hµm 2Ch: X¸c ®Þnh thêi gian hÖ thèng

Vµo: AH=2Ch

Ra : CH=giê(0-23)

CL=phót(0-59)

DH=gi©y(0-59)

DL=phÇn tr¨m gi©y(0-99)


R.AH:=$2C;

NTR($21,R);

Gio:=R.CH;

Phut:=R.CL;

Giay:=R.DH;

Phan_tram:=R.DL




Hµm 2Dh: §Æt thêi gian (§Æt l¹i thêi gian hÖ thèng)

Vµo: AH=2Dh

CH=giê(0-23)

CL=phót(0-59)

DH=gi©y(0-59)

DL=phÇn tr¨m gi©y(0-99)

Ra : AL=0 nÕu thêi gian hîp lÖ

AL=FFh nÕu thêi gian kh«ng hîp lÖ


R.AH:=$2D;

R.CH:=gio;

R.CL:=phut;

R.DH:=giay;

R.DL:=phan_tram;

INTR($21,R);

If R.AL=0 then write(‘OK!’)

Else write(‘Not OK!’);



Hµm 30h: X¸c ®Þnh sè phiªn b¶n cña DOS

Vµo : AH=30h

Ra : BX=0000h

CX=0000h

AL=sè tr­íc dÊu phÈy

AH=sè sau dÊu phÈy


R.AH:=30H

INTR($21,R);

Ver1:=R.AL;

Ver2:=R.AH;

Write(‘MS_DOS Version ‘,ver1,’,’,ver2)


Hµm 36h: X¸c ®Þnh dung l­îng cßn trèng trªn ®Üa

Vµo :AH=36h

DL=æ ®Üa(0_mÆc ®Þnh;1_A;1_B;...)

Ra : BX=Sè liªn cung ch­a dïng

CX=Sè byte/cung

DX=Sè liªn cung / ®Üa

AX=FFFFh nÕu æ ®Üa kh«ng hîp lÖ=sè cung/liªn cung(hîp lÖ)



R.AH:=36H;

R.DL:=1;


INTR($21,R);

Free_cyl:=R.BX;

Bps:=R.CX; {byte per sector}

Cpd:=R.DX; {cylinder per dick}

If AX=$FFFF then write(‘No Dick’)

Else spc:=R.AX; {sector per cylinder);



Ng¾t 10h: Ng¾t mµn h×nh

Hµm 00h: Chän chÕ ®é hiÓn thÞ cho mµn h×nh



Vµo: AH=0h

AL=chÕ ®é

03h:Text 80*25*16

12h:Grapt 640*480*16

13h: Grapt 320*200*256

Ra : Kh«ng



R.AH:=0h;

R.AL:=mode;

INTR($10,R);


Hµm 02h: DÞch chuyÓn Con trá

Vµo: AH=02h

BH=trang sè

DH=hµng

DL=cét


Ra : Kh«ng

R.AH:=02h;

R.BH:=trang;

R.DH:=hang;

R.DL:=cot;

INTR($10,R)


Hµm 06h: Cuèn mµn h×nh hay cöa sæ lªn mét sè dßng x¸c ®Þnh

Vµo: AH=06h

AL=sè dßng cuèn(=0;toµn bé)

BH=thuéc tÝnh cña dßng trèng

CH,DL=dßng,cét gãc trªn tr¸i

DL,DL=dßng,cét gãc d­íi ph¶i

Ra: Kh«ng



R.AH:=06h;

R.AL:=so_dong;

R.BH:=thuoc_tinh;

R.CH:=dong1;R.CL=cot1;

R.DH:=dong2;R.DL=cot2;

INTR($10,R);



Hµm 07h: Cuèn mµn h×nh hay cöa sæ xuèng mét dßng x¸c ®Þnh

Vµo : AH=07h

AL=sè dßng cuèn(=0;toµn bé)

BH=thu«c tÝnh c¸c dßng trèng

CH,CL=dong,cét gãc d­íi ph¶i

Ra : Kh«ng


R.AH:=07h;

R.AL:=so_dong;

R.BH:=thuoc_tinh;

R.CH:=dong1;R.CL=cot1;

R.DH:=dong2;R.DL=cot2;

INTR($10,R);



Hµm 09h: HiÓn thÞ kÝ tù víi thuéc tÝnh t¹i vÞ trÝ Con trá

Vµo: AH=09h

AL=m· ASCII cña kÝ tù

BH=trang sè

BL=thuéc tÝnh(text); mµu(graph)

CX=sè lÇn viÕt kÝ tù

Ra :Kh«ng



R.AH:=09h;

R.AL:=kitu;

R.BH:=0; {trang so 0}

R.BL:=mau;

R.CX=solan;

INTR($10,R);



Ng¾t 16h: Ng¾t bµn phÝm

Hµm 00h: §äc kÝ tù tõ bµn phÝm



Vµo : AH=00h

Ra :AH=m· quÐt cña phÝm

AL=m· ASCII cña kÝ tù


R.AH:=00h;

INTR($16,R);

R.AH:=ma_scan;

R.AL:=ma_ascii;



Hµm 02h: LÊy c¸c cê bµn phÝm

Vµo : AH=02h

Ra : AL=c¸c cê

Bit 7: insert; bit 6:capslock; bit 5:numlock; bit 4:scrollock


R.AH:=00h;

INTR($16,R);

R.AH:=ma_scan;

R.AL:=ma_ascii;



Ng¾t 33h: Ng¾t con chuét

Hµm 00h: Khëi t¹o chuét



Vµo : AX=00h

Ra : AX=FFFFh kh«ng nhËn chuét



R.AX:=00h;

INTR($33,R);

if R.AX=FFFFh then

WRITE('Khong khoi tao duoc chuot!');



Hµm 01h: HiÖn trá chuét

Vµo : AX=01h

Ra : Kh«ng



R.AX:=01h;

INTR($33,R);



Hµm 02h: Èn trá chuét

Vµo : AX=02h

Ra : Kh«ng



R.AX:=02h;

INTR($33,R);



Hµm 03h: Tr¹ng th¸i nhÊn chuét

Vµo : AX=03h

Ra : CX,DX=to¹ ®é ¶o cña chuét.

BX=tr¹ng th¸i nót chuét nhÊn

bit 0: Nót tr¸i

bit 1: Nót ph¶i

bit 2: Nót gi÷a



R.AX:=03h;

INTR($33,R);

X=R.CX shl 3+1;

Y=R.DX shl 3+1;

if (R.BX and 1)=1 then

WRITE('Phim trai chuot!!!');





NV&GD Trang 3 - Bộ môn KTMT

Каталог: 2008
2008 -> THỦ TƯỚng chính phủ
2008 -> Ủy ban nhân dân cộng hòa xã HỘi chủ nghĩa việt nam tỉnh thừa thiên huế Độc lập Tự do Hạnh phúc
2008 -> Định nghĩa sác xuất Bài 1
2008 -> UỶ ban nhân dân tỉnh thừa thiên huế`
2008 -> BỘ KẾ hoạch và ĐẦu tư
2008 -> UỶ ban chứng khoán nhà NƯỚc cấp chứng nhậN ĐĂng ký chào bán cổ phiếu ra công chúng chỉ CÓ nghĩa là việC ĐĂng ký chào bán cổ phiếU ĐÃ thực hiện theo các quy đỊnh của pháp luật liên quan mà không hàM Ý ĐẢm bảo giá trị CỦa cổ phiếU
2008 -> Ủy ban nhân dân tỉnh an giang cộng hòa xã HỘi chủ nghĩa việt nam
2008 -> Công ty cổ phần đầu tư và xây dựng số 18 báo cáo tài chính tóm tắt quý 3/2008
2008 -> Bài 12. Biến đổi dãy số. Cho dãy số nguyên dương a = (a1, a2, an)
2008 -> VÀ phát triển nông thôN

tải về 262.42 Kb.

Chia sẻ với bạn bè của bạn:
1   2   3




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương