intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Giáo trình hình thành quy trình điều khiển thiết bị bán dẫn chứa các mạch logic điện tử p6

Chia sẻ: Sdfasf Dsgfds | Ngày: | Loại File: PDF | Số trang:10

46
lượt xem
3
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'giáo trình hình thành quy trình điều khiển thiết bị bán dẫn chứa các mạch logic điện tử p6', kỹ thuật - công nghệ, điện - điện tử phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Giáo trình hình thành quy trình điều khiển thiết bị bán dẫn chứa các mạch logic điện tử p6

  1. . 52 LUAÂÄN VAÊN TOÁT NGHIEÄP PHAÀN PHUÏ ÑÍNH
  2. . 53 LUAÂÄN VAÊN TOÁT NGHIEÄP A.Chöông trình nhaän döõ lieäu ôû Kit thöïc taäp vi xöû lyù 8085. ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ;Chuong trinh nhan du lieu tu may tinh 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 may tinh 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 may tinh 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. 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 JMP ChkSTB1 ;chuan bi nhan byte ke tiep.
  3. . 54 LUAÂÄN VAÊN TOÁT NGHIEÄP ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ;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 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 may tinh do xuong se duoc dat trong pham vi vung nay. ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PROCESS:MOV A,C ;kiem tra xem co phai day la byte thu nhat ;khong ?
  4. . 55 LUAÂÄN VAÊN TOÁT NGHIEÄP 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 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 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:
  5. . LUAÂÄN VAÊN TOÁT NGHIEÄP 56 ;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
  6. . 57 LUAÂÄN VAÊN TOÁT NGHIEÄP B.Module Demo.cpp #include #include #include #include #include #include #include #include #include #include #include #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]; //--------------------------------------------------------- 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(); }
  7. . 58 LUAÂÄN VAÊN TOÁT NGHIEÄP //--------------------------------------------------------- void MainProgram() { char Name[20],buffer[MAXPATH]; unsigned attrib,Attribp; SEND Send; LIST L; 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,LIGHTGREEN,"Open File"); Port.InitTextBox(50,270,250,290,GREEN,LIGHTGREEN,"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 { ShowMouse(); lpEvent = GetEvent();//lay bien co chuot if(TestPressedButton(2,lpEvent)==0)//kiem tra xem da click vao nut nao //0:nhan OK { char InName[100],OutName[100]; Box[0].GetS(InName); if(InName[strlen(InName)-1]=='\\') InName[strlen(InName)-1]='\0'; _dos_getfileattr(InName,&attrib); if(attrib==16) { OutMessage(""); OutError("Please enter a file name"); OutMessage("Click mouse to chose action"); } else//la file { if(End_address!=0) { if(OutError("Are you sure ?")) { OutMessage("Sending... Press Esc to stop if time is over."); Send.CatFile(Sta_hex,End_hex,inter_Path);
  8. . 59 LUAÂÄN VAÊN TOÁT NGHIEÄP Send.Out(); HideMouse(); if(Send.Out()!=-1) { HideMouse(); OutMessage(""); OutError("Task is complete."); OutMessage("Click mouse to choose action"); } else { HideMouse(); OutMessage("Click mouse to choose action"); } } } } }//if(TestPressedButton if(TestPressList(L,lpEvent,Name,&attrib,ftype)==1) //chon OK { switch (attrib) { case 16:chdir(Name); getcwd(buffer, MAXPATH);//lay duong dan hien thoi vao buffer strcpy(inter_Path,buffer); Box[0].GetS_in(inter_Path); Box[0].OutTextBox(); break; default: getcwd(buffer, MAXPATH);//lay duong dan hien thoi vao buffer strcpy(inter_Path,buffer); if(inter_Path[strlen(inter_Path)-1]!='\\') strcat(inter_Path,"\\"); strcat(inter_Path,Name); Box[0].GetS_in(inter_Path); Box[0].DuongDan(inter_Path); Box[0].OutTextBox(); break; }//end switch }//if(TestPressList( //chon Cancel TestPressTexbox(NumBox,lpEvent,inter_Path,&Attribp);//Path lay ra duong dan cho file nhap vao //ShowMouse(); if(kbhit()) { kkkk=getch(); if(kkkk==0)kkkk=getch(); } Box[0].GetS(RequF); { int n=strlen(RequF); if(n>5)//?.??? if(RequF[n-1]!='\\') { while(n>0&&RequF[n-1]!='\\') { n--; } char *strtemp=RequF;
  9. . 60 LUAÂÄN VAÊN TOÁT NGHIEÄP for(int m=0;m
  10. . 61 LUAÂÄN VAÊN TOÁT NGHIEÄP do { fread(&c,1,1,f); end = clock(); }while(c!='m'&&c!='M'&&(period=(end - start) / CLK_TCK)=10) goto Error; fseek(f,-1,SEEK_CUR); fread(buf,7,1,f); buf[7]='\0'; end = clock(); if(!strcmp(buf,"Macros:")||!strcmp(buf,"MACROS:")||!strcmp(buf," macros:")) thoat=0; }while(thoat&&(period=(end - start) / CLK_TCK)=15) goto Error; fseek(f,-1,SEEK_CUR); start = clock(); do { dem=0; do { fread(&c,1,1,f); if(c=='\n') fseek(f,-3,SEEK_CUR); else fseek(f,-2,SEEK_CUR); end = clock(); }while(c!='\''&&(period=(end - start) / CLK_TCK)=10) goto Error; do { dem++; fread(&c,1,1,f); if(c=='\n') dem=20; fseek(f,-2,SEEK_CUR); end = clock(); }while(dem
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2