call read ;doc file,AX = so byte doc duoc or ax,ax ;ket thuc file je pexit ;dung, ket thuc file mov cx,ax ;CX chua so byte doc duoc call display ;hien thi file jmp read_loop ;lap lai

;lay thong bao loi

;hien thi thong bao loi lea dx,openerr add errcode,al mov ah,9 int 21h

mov cx,2000

mov dx,card_base add dx,5 in al,dx jmp short $+2 test al,20h jnz pok_2_send loop pthre_wait

mov dx,offset err1_ms call show_message jmp ppexit

call con_hex ;goi chtr con chuyen sang so hex lea dx,buffrr

mov cx,256 call display

mov cx,256

mov dx,card_base lea di,buffrr ;tro toi vung dem

Tröôøng ÑH SPKT Luaän vaên toát nghieäp open_error: ;********************************************************* ***** ;output and display ;show_and_send: pexit: pthre_wait: ;wait period timed out,display error message and exit pok_2_send: ;place in transmitter hoding register to send ppl: mov al,[di] ;lay byte data out dx,al jmp short $+2

GVHD: Nguyeãn Ñình Phuù SVTH: Nguyeãn Trung Duõng

;dong the file call close jmp monitor

near

;DI tro toi ten file push ax push dx push di mov ah,9 ;ham hien thi chuoi lea dx,prompt int 21h cld lea di,filename mov ah,1 ;ham doc ki tu tu ban phim

;co phai CR ;dung ket thuc ;luu no vao trong chuoi int 21h cmp al,0dh je done stosb jmp read_name ;tiep tuc doc vao

mov al,0 ;luu byte 0

near ;ham mo file

mov ah,3dh mov al,0 ;chi doc int 21h ret

near

;ham mo file ;chi doc

Tröôøng ÑH SPKT Luaän vaên toát nghieäp call edelay inc di loop ppl ;display character ; call tty ppexit: mov bx,handle ;lay the file ;********************************************************* ***** get_name proc read_name: done: stosb pop di pop dx pop ax ret get_name endp open proc open endp read proc push cx mov ah,3fh mov cx,512 int 21h pop cx

GVHD: Nguyeãn Ñình Phuù SVTH: Nguyeãn Trung Duõng

ret

near

;ham ghi file

;dong file

near ;ham dong fide ;dong file proc mov ah,3eh int 21h ret endp

near proc

push ax push bx mov ax,06h

mov bx,0ffffh dec bx

jnz edel1 dec ax jnz edel2 pop bx pop ax ret endp

near

push ax push bx push cx push dx push di push si mov ax,0b800h mov bx,0 cld

Tröôøng ÑH SPKT Luaän vaên toát nghieäp read endp display proc push bx mov ah,40h mov bx,1 ;the file cho man hinh int 21h pop bx ret display endp close close edelay edel2: edel1: edelay ;++++++++++++++++++++++++++++++++++++++++++++ con_hex proc lea si,buffrr mov cx,260 mov al,0

GVHD: Nguyeãn Ñình Phuù SVTH: Nguyeãn Trung Duõng

mov [si],al

inc si loop xxx8

lea si,buffrr lea di,buffer

mov al,[di] ;lay byte data

;so sanh voi ma dau ':' ;nhay neu la dau ':'

cmp al,3ah jz xxx2 inc di jmp xxx3 ;quay lai de tim dau ':'

call ktra_end ;goi chuong trinh kiem tra ket thuc

cmp ax,0 ;dung la het data thi lam cho AX=0000 jnz xxx4 pop si

pop di pop dx pop cx pop bx pop ax ret

mov al,[di] ;lay byte data

mov [si],al ;dung la byte 3Ah can luu vao call goi_ht inc di inc si

;tru di 30 de thanh so hex

mov al,[di] ;lay so can goi MSD sub al,30h call so_lon ;kiem tra so ABCDEF mov cl,4 rol al,cl mov ah,al inc di

;tru di 30 de thanh so hex

Tröôøng ÑH SPKT Luaän vaên toát nghieäp xxx8: xxx3: xxx2: xxx6: xxx4: ;xu li so byte can goi mov al,[di] ;lay so can go LSD sub al,30h call so_lon ;kiem tra so ABCDEF or al,ah ;or 2 data lai thanh 1 byte mov [si],al ;cat so HEX ADDR_H add al,1 mov dl,al ;luu so byte can xu li con lai

GVHD: Nguyeãn Ñình Phuù SVTH: Nguyeãn Trung Duõng



call goi_ht

;tru di 30 de thanh so hex

inc di inc si mov al,[di] ;lay byte ADDR_L-MSD sub al,30h call so_lon ;kiem tra so ABCDEF mov cl,4 rol al,cl mov ah,al

;tru di 30 de thanh so hex

inc di mov al,[di] ;lay byte ADDR_L-LSD sub al,30h call so_lon ;kiem tra so ABCDEF or al,ah ;or 2 data lai thanh 1 byte mov [si],al ;cat so HEX ADDR_H call goi_ht

;tru di 30 de thanh so hex

inc di inc si mov al,[di] ;lay byte ADDR_H-MSD sub al,30h call so_lon ;kiem tra so ABCDEF mov cl,4 rol al,cl mov ah,al

;tru di 30 de thanh so hex

inc di mov al,[di] ;lay byte ADDR_H-LSD sub al,30h call so_lon ;kiem tra so ABCDEF or al,ah ;or 2 data lai thanh 1 byte mov [si],al ;cat so byte can goi dang HEX call goi_ht

;bo byte 00 ; inc di inc di

inc di

;tru di 30 de thanh so hex inc si mov al,[di] ;lay so byte thu nhat sub al,30h call so_lon ;kiem tra so ABCDEF Tröôøng ÑH SPKT Luaän vaên toát nghieäp ;xu li phan dia chi can goi ;xu li cac byte con lai xxx1:

GVHD: Nguyeãn Ñình Phuù SVTH: Nguyeãn Trung Duõng



mov cl,4 rol al,cl mov ah,al inc di mov al,[di] ;lay so byte thu 2 sub al,30h ;tru di 30 de thanh so hex call so_lon ;kiem tra so ABCDEF

or al,ah ;or 2 data lai thanh 1 byte mov [si],al ;cat so byte can goi dang HEX call goi_ht

dec dl cmp dl,0 jnz xxx1 ;quay lai vi chua

;bo byte cuoi thu nhat ;bo byte thu 2 ;bo ma xuong hang inc di inc di inc di jmp xxx3 ;het 1 hang data

near

;kiem tra byte 0 thu nhat

;neu dung thi kiem tra byte 0 thu 2

push di inc di mov al,[di] ;lay byte data cmp al,30h jnz kt_exit ;nhay den de thoat vi khong phai inc di mov al,[di] ;lay byte data cmp al,30h jnz kt_exit ;nhay den de thoat vi khong phai

;neu dung thi kiem tra byte 0 thu 3

inc di mov al,[di] ;lay byte data cmp al,30h jnz kt_exit ;nhay den de thoat vi khong phai

;neu dung thi kiem tra byte 0 thu 4

inc di mov al,[di] ;lay byte data cmp al,30h jnz kt_exit ;nhay den de thoat vi khong phai Tröôøng ÑH SPKT Luaän vaên toát nghieäp con_hex endp ;chuong trinh kiem tra ket thuc ktra_end proc

GVHD: Nguyeãn Ñình Phuù SVTH: Nguyeãn Trung Duõng

;neu dung thi kiem tra byte 0 thu 5

inc di mov al,[di] ;lay byte data cmp al,30h jnz kt_exit ;nhay den de thoat vi khong phai

;neu dung thi kiem tra byte 0 thu 6

inc di mov al,[di] ;lay byte data cmp al,30h jnz kt_exit ;nhay den de thoat vi khong phai

;neu dung thi kiem tra byte 0 thu 7

inc di mov al,[di] ;lay byte data cmp al,30h jnz kt_exit 3nhay den de thoat vi khong phai

;neu dung thi kiem tra byte 1 thu 8

inc di mov al,[di] ;lay byte data cmp al,31h jnz kt_exit ;nhay den de thoat vi khong phai

;neu dung thi kiem tra byte F thu 9

inc di mov al,[di] ;lay byte data cmp al,46h jnz kt_exit ;nhay den de thoat vi khong phai

;neu dung thi kiem tra byte F thu 10

inc di mov al,[di] ;lay byte data cmp al,46h jnz kt_exit ;nhay den de thoat vi khong phai

mov ax,1111h ;nap data sao cho khac khong la 1 pop di ret

proc near

Tröôøng ÑH SPKT Luaän vaên toát nghieäp mov ax,0 pop di ret kt_exit: ktra_end endp goi_ht RET push di mov di,bx mov ah,1

GVHD: Nguyeãn Ñình Phuù SVTH: Nguyeãn Trung Duõng

stosw mov bx,di pop di ret endp

proc near

endp

end start

Tröôøng ÑH SPKT Luaän vaên toát nghieäp goi_ht so_lon cmp al,9 jg yyy ret yyy: sub al,7 ret so_lon code ends

GVHD: Nguyeãn Ñình Phuù SVTH: Nguyeãn Trung Duõng

Tröôøng ÑH SPKT Luaän vaên toát nghieäp MUÏC LUÏC Trang

Lôøi caûm taï Lôøi noùi ñaàu PHAÀN GIÔÙI THIEÄU CHUNG CHÖÔNG CÔ SÔÛ LYÙ LUAÄN Chöông I: CAÁU TRUÙC VI XÖÛ LYÙ 8085 I. Caáu Truùc Beân Trong Cuûa Vi Xöû Lyù 8085........................................ II. Sô Ñoà Caáu Truùc Beân Ngoaøi Vaø Chöù Naêng Caùc Chaân Cuûa Vi Xöû Lyù 8085 ................................................................................ III. Boä Nhôù .......................................................................................... IV. Keát Noái Boä Nhôù Vôùi Vi Xöû Lyù ..................................................... V. Vaán Ñeà Giaûi Maõ Cho Boä Nhôù ........................................................ Chöông II: GIÔÙI THIEÄU TAÄP LEÄNH CUÛA VI XÖÛ LYÙ 8085 ............. Chöông III: GIAO TIEÁP VÔÙI MAÙY TÍNH I. Giao Tieáp Song Song 1. Giao Tieáp Qua Coång Maùy In ......................................................... 2. Giao Tieáp Qua Coång Slot Card...................................................... II. Giao Tieáp Noái Tieáp Qua Coång COM RS232 1. Vaøi Neùt Cô Baûn Veà Coång noái Tieáp .............................................. 2. Söï Trao Ñoåi Cuûa Caùc Ñöôøng Tín Hieäu ......................................... Chöông IV: GIÔÙI THIEÄU HEÄ THOÁNG KIT 8085 1. Taàn Soá Laøm Taàn Soá Laøm Vieäc ..................................................... 2. Toå Chöùc Boä Nhôù ........................................................................... 3. Caùc IC Ngoaïi Vi ............................................................................ 4. Khoái Giaûi Maõ Hieån Thò Söû Duïng IC 8279 .................................... 5. Khoái Giaøi Maõ Baøn Phím................................................................ PHAÀN GIAO TIEÁP Chöông V: Giao Tieáp Noái Tieáp Duøng Vi Maïch 8251 I. Truyeàn Thoâng Tin Noái Tieáp............................................................. II. Vi Maïch Usart 8251 ........................................................................ 1. Sô Ñoà Chaân Vaø Sô Ñoà Khoái.......................................................... 2. Caùc Thanh Ghi............................................................................... III. Öùng Duïng Cuûa 8251 Ñeå Truyeàn Thoâng Tin Noái Tieáp 1. Truyeàn Thoâng Tin Noái Tieáp Giöõa Hai Kit Vi Xöû Lyù .................... 2. Truyeàn Thoâng Tin Noái Tieáp Giöõa Vi Xöû Lyù Vaø Maùy Tính .......... Chöông VI: Giao Tieáp Song Song Duøng Vi Maïch 8255 I. Giôiù Thieäu Veà Vi Maïch 8255 .......................................................... II. Sô Ñoà Chaân, Sô Ñoà Logic, Chöùc Naêng Caùc Chaân Cuûa Vi Maïch 8255

GVHD: Nguyeãn Ñình Phuù SVTH: Nguyeãn Trung Duõng

Tröôøng ÑH SPKT Luaän vaên toát nghieäp III. Caáu Truùc Beân Trong vaø Hoaït Ñoäng Cuûa Vi Maïch 8255 .............. 1. Sô Ñoà Khoái, Caáu Truùc Beân Trong Cuûa Vi Maïch 8255 ................ 2.Hoaït Ñoäng Cuûa Vi Maïch 8255 ....................................................... 3. Töø Ñieàu Khieån............................................................................... IV. Giao Tieáp Giöõa Vi Xöû Lyù Vôùi 8255.............................................. 1. Giao Tieáp Kieåu I/O........................................................................ 2. Giao Tieáp Kieåu Boä Nhôù ................................................................ Chöông VII. Phaàn Cöùng Vaø Phaàn Meàm Giao Tieáp I. Löu Ñoà Vaø Chöông Trình Truyeàn- Nhaän Döõ Lieäu 1. Löu Ñoà Truyeàn Döõ Lieäu................................................................ 2. Löu Ñoà Nhaän Döõ Lieäu................................................................... 3. Chöông Trình Truyeàn Döõ Lieäu...................................................... 4. Löu Ñoà Nhaän Döõ Lieäu................................................................... II. Thieát Keá Vaø Thi Coâng Phaàn Giao Tieáp 1. Giôùi Thieäu Veà Vi Maïch Max 232 ................................................. 2. Sô Ñoà Maïch Keát Noái ..................................................................... 3. Sô Ñoà Maïch In............................................................................... PHAÀN TOÅNG KEÁT Phuï Luïc Höôùng Phaùt Trieån Ñeà Taøi Keát Luaän Taøi Lieäu Tham Khaûo Muïc Luïc

GVHD: Nguyeãn Ñình Phuù SVTH: Nguyeãn Trung Duõng