Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 81 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
81
Dung lượng
213,12 KB
Nội dung
LUÂÄN VĂN TỐT NGHIỆP 1 Chương 7: Chương trình nhận dữ liệu ở Kit thực tập vi xử lý 8085. ;+++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++;Chuong trinh nhan du lieu tu maytinh goi xuong Thiet bi thuc tap ;vi xu li 8085. ;+++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++ Org 2500h MVI A,99h ;khoi tao 8255, Mode 0: PortA nhap du lieu, PortB xuat OUT RegCNT ;trang thai, PortC nhan lenh dieu khien. MVI A,80h ;bao cho maytinh biet thiet bi dang ban. OUT PortB MVI C,00h ;reset bien dem dia chi. CALL READY ;xuat chu "READY" ra hien thi tren 5 LED 7 doan. WaitGO: CALL KEYBRD ;doi nhan phim. CPI KeyGO ;chuong trinh chi thuc hien tiep khi nhan dung JNZ WaitGO ;phim "GO". CALL SENDING ;nhan dung phim "GO" se xuat hien "SENDING" tren 8 LED. MVI A,00h ;bao cho maytinh biet thiet bi da san sang tiep ;nhan OUT PortB ;du lieu. CkSTB1:IN PortC ;doc lenh dieu khien STROBE tai PortC. ANI 01h CPI 01h JNZ CkSTB1 ;neu STROBE # 1 thi doi tiep. MVI A,80h ;bao BUSY\ = 0, ACK = 0. LUAÂÄN VAÊN TOÁT NGHIEÄP 2 OUT PortB IN PortA ;doc du lieu vao. MOV B,A ;tam cat du lieu vao thanh ghi B. MVI A,0C0h ;bao ACK = 1. OUT PortB ChkAF1: IN PortC ;doc lenh dieu khien AF. ANI 02h CPI 02h JNZ ChkAF1 ;neu AF # 1 thi doi tiep. MOV A,B ;hoan tra B lai cho A. ANI 0F0h ;che nibble thap va reset bit ERROR = 0. OUT PortB ;xuat nibble cao va bao ERROR = 0. ChkAF0: IN PortC ;doc lenh dieu khien AF. ANI 02h CPI 00h JNZ ChkAF0 ;neu AF # 0 thi doi tiep. MOV A,B ;hoan tra B lai cho A. RLC ;dich 4 bit thap thanh 4 bit cao tuong ung. RLC RLC RLC ANI 0F0h ;che nua byte thap thap. ORI 08h ;set bit ERROR = 1. OUT PortB ;xuat nibble thap va bao ERROR = 1. ChkSTB0:IN PortC ;doc lenh dieu khien STROBE. ANI 01h CPI 00h JNZ ChkSTB0 ;neu STROBE # 0 thi doi tiep. IN PortA ;doc du lieu. CPI 0FFh ;FFh la ma bao du lieu dung. JZ NoChk CALL PROCESS NoChk: MVI A,40h ;bao BUSY\ = 1. OUT PortB LUAÂÄN VAÊN TOÁT NGHIEÄP 3 JMP ChkSTB1 ;chuan bi nhan byte ke tiep. ;+++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++ ;Chuong trinh con hien thi "READY" tren nam LED 7 doan. ;+++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++ READY: PUSH PSW MVI A,10h ;khoi tao 8279: hien thi 8 ki tu,loi vao phai, STA CntI79 ;quet ban phim co lap ma, khoa ngoai 2 phim. MVI A,3Eh ;lap trinh xung Clock = 100 KHz. STA CntI79 MVI A,0C3h ;xoa hien thi va xoa FIFO. STA CntI79 MVI A,01h ;tri hoan 0.1 ms > 160 us. CALL DELAY MVI A,90h ;bat dau ghi vao tai LED dau tien ben phai, co STA CntI79 ;tang dia chi tu dong. MVI A,31h ;cho hien thi "R". STA DataI79 MVI A,79h ;cho hien thi "E". STA DataI79 MVI A,77h ;cho hien thi "A". STA DataI79 MVI A,5Eh ;cho hien thi "D". STA DataI79 MVI A,6Eh ;cho hien thi "Y". STA DataI79 POP PSW RET ;+++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++;Chuong trinh con hien thi "SENDING" tren bay LED 7 doan. ;+++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++ SENDING:POP PSW LUAÂÄN VAÊN TOÁT NGHIEÄP 4 MVI A,10h ;khoi tao 8279: hien thi 8 ki tu,loi vao phai, STA CntI79 ;quet ban phim co lap ma, khoa ngoai 2 phim. MVI A,3Eh ;lap trinh xung Clock = 100 KHz. STA CntI79 MVI A,0C3h ;xoa hien thi va xoa FIFO. STA CntI79 MVI A,01h ;tri hoan 0.1 ms > 160 us. CALL DELAY MVI A,90h ;bat dau ghi vao tai LED dau tien ben phai, co STA CntI79 ;tang dia chi tu dong. MVI A,6Dh ;cho hien thi "S". STA DataI79 MVI A,79h ;cho hien thi "E". STA DataI79 MVI A,37h ;cho hien thi "N". STA DataI79 MVI A,5Eh ;cho hien thi "D". STA DataI79 MVI A,06h ;cho hien thi "I". STA DataI79 MVI A,37h ;cho hien thi "N". STA DataI79 MVI A,6Fh ;cho hien thi "G". STA DataI79 POP PSW RET ;+++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++;Chuong trinh con xu li du lieu: Chuong trinh nay se nhan dia chi bat ;dau va dia chi cham dut cua vung du lieu, cac ma may cua chuong trinh ;tren maytinh do xuong se duoc dat trong pham vi vung nay. LUAÂÄN VAÊN TOÁT NGHIEÄP 5 ;+++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++ PROCESS:MOV A,C ;kiem tra xem co phai day la byte thu nhat ;khong ? CPI 00h JNZ A1 MOV H,B ;neu dung thi cat byte thu nhat vao thanh ghi H. INR C ;tang bien dem byte dia chi len 1 don vi. RET A1: MOV A,C ;kiem tra xem co phai day la byte thu hai khong ? CPI 01h JNZ A2 MOV L,B ;neu dung thi cat byte thu hai vao thanh ghi L. INR C ;tang bien dem byte dia chi len 1 don vi. RET A2: MOV A,C ;kiem tra xem co phai day la byte thu ba khong ? CPI 02h JNZ A3 MOV D,B ;neu dung thi cat byte thu ba vao thanh ghi D. INR C ;tang bien dem byte dia chi len 1 don vi. RET A3: MOV A,C ;kiem tra xem day co phai la byte thu tu khong ? CPI 03h JNZ A4 MOV E,B ;neu dung thi cat byte thu tu vao thanh ghi E. INR C ;tang bien dem byte dia chi len 1 don vi. RET LUAÂÄN VAÊN TOÁT NGHIEÄP 6 A4: MOV M,B ;ke tu byte thu nam tro di se duoc cat vao o nho co INX H ;dia chi do cap thanh ghi HL quan li. MOV A,D CPI H RNZ MOV A,E CMP L RNZ ;thoat neu HL tro den dia chi cham dut nam trong DE. CALL END ;cho hien thi "END." tren ba LED 7 doan. MVI A,40h ;bao BUSY\ = 1. OUT PortB HLT ;+++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++;Chuong trinh con hien thi "END." tren ba LED 7 doan. ;+++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++ END: PUSH PSW MVI A,10h ;khoi tao 8279: hien thi 8 ki tu,loi vao phai, STA CntI79 ;quet ban phim co lap ma, khoa ngoai 2 phim. MVI A,3Eh ;lap trinh xung Clock = 100 KHz. STA CntI79 MVI A,0C3h ;xoa hien thi va xoa FIFO. STA CntI79 MVI A,01h ;tri hoan 0.1 ms > 160 us. CALL DELAY MVI A,90h ;bat dau ghi vao tai LED dau tien ben phai, co STA CntI79 ;tang dia chi tu dong. MVI A,79h ;cho hien thi "E". STA DataI79 MVI A,54h ;cho hien thi "N". STA DataI79 LUAÂÄN VAÊN TOÁT NGHIEÄP 7 MVI A,0DEh ;cho hien thi "D.". STA DataI79 POP PSW RET ;+++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++;Hai chuong trinh con sau day da co san trong thiet bi thuc tap Vi xu ;li 8085 ;nen nguoi thuc hien de tai nay thay khong can thiet phai viet lai va ;trinh bay ;ra. Do la 2 chuong trinh: ;KeyKRB : Chuong trinh con quet ban phim. Ma cua phim an duoc cat ;trong thanh ; ghi A. ;DELAY : Chuong trinh con tri hoan theo thoi hang 0.1 ms. He so tri ;hoan duoc ; nap vao thanh ghi A. ;+++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++ ;########################################### ##########################;Khai bao cac nhan duoc su dung. ;########################################### ########################## RegCNT equ 03h PortA equ 00h PortB equ 01h PortC equ 02h CntI79 equ 0A001h DataI79 equ 0A000h KEYBRD equ 0216h DELAY equ 0310h KeyGO equ 17h ;+++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++ End LUAÂÄN VAÊN TOÁT NGHIEÄP 8 B.Module Demo.cpp #include <conio.h> #include <stdio.h> #include <stdlib.h> #include <graphics.h> #include <string.h> #include <dos.h> #include <math.h> #include <complex.h> #include <time.h> #include <dir.h> #include <ctype.h> #include "screen.h" #include "mouse.h" #include "button.hpp" #include "textbox.hpp" #include "list.hpp" #include "disklist.hpp" #include "send.hpp" #define NumBox 2 #define NumBut 2 LPEVENT lpEvent; //bien chua cac bien co chuot char szMessage[128]; BUTTON But[NumBut],NutKiem; TEXTBOX Box[NumBox],Port; char DiskName[27],DName; char ftype[15]="*.prn"; char inter_Path[100]=""; char RequF[100]; unsigned int St_address,End_address=0; char Sta_hex[5],End_hex[5]; //------------------------------------------ --------------- LUAÂÄN VAÊN TOÁT NGHIEÄP 9 int TestPressedButton(int x,LPEVENT lpEvent); int TestPressTexbox(int x,LPEVENT lpEvent,char layra[],unsigned *attribp); void MainProgram(); int TestPressList(LIST L,LPEVENT lpEvent,char s[],unsigned *attrib,char *typ);//nhap bang liet ke int SendFile(); //------------------------------------------ --------------- void main(void) { InitGraphics(); InitValues("Download Program."); InitScreen(); if (!InitMouse(&MainWindow.rViewPort)) { OutMessage("Mouse driver not found. Init mouse and return"); getch(); closegraph(); exit(1); } ShowMouse(); MainProgram(); closegraph(); } //------------------------------------------ --------------- void MainProgram() { char Name[20],buffer[MAXPATH]; unsigned attrib,Attribp; SEND Send; LIST L; LUAÂÄN VAÊN TOÁT NGHIEÄP 10 But[0].InitButton(200,380,250,400,LIGHTGRAY, "Send"); But[1].InitButton(400,380,450,400,LIGHTGRAY, "Exit"); Box[0].InitTextBox(50,70,477,90,GREEN,LIGHTG REEN,"Open File"); Port.InitTextBox(50,270,250,290,GREEN,LIGHTG REEN,"Out port"); Port.GetS_in("LPT1"); L.InitList(480,70,500,90,LIGHTGRAY); But[0].OutButton();//xuat nut lenh But[1].OutButton();//xuat nut lenh Box[0].OutTextBox();//xuat hop nhap text Port.OutTextBox(); L.Show(); setcolor(BLACK); line(50,150,250,150); line(50,150,50,215); setcolor(WHITE); line(50,215,250,215); line(250,150,250,215); outtextxy(50,130,"Free memory request"); outtextxy(55,158,"Start ad :"); outtextxy(55,178,"End ad :"); outtextxy(55,198,"Total :"); OutMessage("Click mouse to chose action"); int kkkk; char RequestFile[15]=""; do//kiem tra nhap chuot chon cong viec { [...]... int x71=x52+30,x72=x22,y71=y51,y72=y52;//toa do DiskBox char DNameTemp[4]; sprintf(DNameTemp,"%c:",*DName); TEXTBOX DiskBox; DiskBox.InitTextBox(x71,y71,x72,y72,WHITE,LI GHTBLUE,"Driver name"); DiskBox.GetS_in(DNameTemp); DiskBox.OutTextBox(); setcolor(BLACK); line(x71+1,y71+1,x72-1,y71+1); line(x71+1,y71+1,x71+1,y72-1); setcolor(LIGHTGRAY); line(x71+1,y72-1,x72-1,y72-1); line(x72-1,y71+1,x72-1,y72-1);... bar(x1+1,y +7+ 14*i,x-1,y +7+ 14+14*i); setcolor(YELLOW); sprintf(Temp,"%c:",DiskName[i]); outtextxy(x1+10,y+10+i*14,Temp); LPEVENT LpEvent; do { ShowMouse(); delay(50); LpEvent=GetEvent(); 27 LUAÂÄN VAÊN TOÁT NGHIEÄP 28 HideMouse(); if(LpEvent->Msg==1) for(i=0;iPosx>=x1+1&&LpEvent>PosxPosy>=y +7+ i*14&&LpEvent->Posy . STA CntI79 ;tang dia chi tu dong. MVI A,31h ;cho hien thi "R". STA DataI79 MVI A ,79 h ;cho hien thi "E". STA DataI79 MVI A ,77 h ;cho. LUÂÄN VĂN TỐT NGHIỆP 1 Chương 7: Chương trình nhận dữ liệu ở Kit thực tập vi xử lý 8085. ;+++++++++++++++++++++++++++++++++++++++++++