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 hệ thống ứng dụng phân tích truyền thông bất đồng bộ các dãy kí tự star bit p6

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

51
lượt xem
5
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 hệ thống ứng dụng phân tích truyền thông bất đồng bộ các dãy kí tự star bit p6', công nghệ thông tin, tin học văn phòng 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 hệ thống ứng dụng phân tích truyền thông bất đồng bộ các dãy kí tự star bit p6

  1. } if(c >= 97 && c = 65 && c data,0x1F);de_lay(10); co_bang2=0;} ch1 = c - 65;outportb((int)&COM -> data, p1[ch1]);de_lay(2); } de_lay(10); } // end do while(c!=EOF); thien: fclose(f1); outportb((int)&COM -> data,0x02);de_lay(10); return; } // end phat file /*========================================================*/ unsigned long int tg_100(void) { static struct time ti; unsigned long int t; gettime(&ti); t =((ti.ti_hour*60+ti.ti_min)*60+ti.ti_sec)*100+ti.ti_hund; return t; } /*=========================================================* / //Ham thu du lieu void thu_du_lieu(void) { int co_bang=0,ch=0,status=0; char chu; char bang_chu[] = {' ','E',10,'A',' ','S', 'I','U',13,'D','R','J', 'N','F','C','K','T','Z', 'L','W','H','Y','P','Q', 'O','B','G',' ','M','X', 'V',' ','\0'}; char bang_so[] = {' ','3',10,'_',' ',' ', '8','7',13,'$','4',' ', ',','!',':','(','5','"', ')','2','#','6','0','1',
  2. '9','?','&',' ','.','/', ';',' '}; char *p1,*p2; p1 = bang_chu; p2 = bang_so; clrscr(); // fprintf(stdprn,"\n\r"); do { status=inportb((int)&COM -> status); if((status & S_RxRDY) != 0) { ch =inportb((int)&COM -> data); if(ch==0x02) return; if(ch== 0x1F){ co_bang = 0;goto tiep;} if(ch== 0x1B){ co_bang = 1;goto tiep;} if(ch== 0x08) { printf("\n\r"); // fprintf(stdprn," \n\r "); goto tiep; } if(co_bang==0) { printf("%c",p1[ch]); // fprintf(stdprn,"%c",p1[ch]); } else { printf("%c",p2[ch]); // fprintf(stdprn,"%c",(int)p2[ch]); } }//end if((status & S_RxRDY) != 0) tiep: } while(ch!=0x02);//end while return; } //end thu du lieu /*========================================================== */ void demo(void) {setbkcolor(BLUE); setcolor(WHITE); settextstyle(1,0,4);
  3. settextjustify(0,0); outtextxy(20,50,"TRUONG DAI HOC SU PHAM KY THUAT TP HCM "); settextstyle(1,0,2); settextjustify(0,0); outtextxy(20,130,"LUAN VAN TOT NGHIEP : MAY TINH GIAO TIEP TELETYPE "); settextstyle(1,0,2); settextjustify(0,0); outtextxy(20,170,"SINH VIEN THUC HIEN : TRUONG VIET NAM - PHAM HUNG PHONG "); settextstyle(1,0,2); settextjustify(0,0); outtextxy(20,210,"GIAO VIEN HUONG DAN : QUACH THANH HAI"); settextstyle(1,0,2); settextjustify(0,0); outtextxy(20,250,"NIEN KHOA : 1995 _ 2000 "); getch(); closegraph(); } /*========================================================*/ void de_lay(int n) { int i; unsigned long int t1,t2; unsigned long int tg_100(void); t1 = tg_100(); while(1) {t2 = tg_100(); if(t2-t1>n) break; } return; } /*========================================================*/ void do_chuong(void) { int i ; for(i=0;i
  4. void de_lay(int); int c,ch1,*p1,*p2,co_bang2=0; FILE *f1; int bang_chu2[] = { 0x03,0x19,0x0E,0x09,0x01,0x0D, 0x1A,0x14,0x06,0x0B,0x0F,0x12, 0x1C,0x0C,0x18,0x16,0x17,0x0A, 0x05,0x10,0x07,0x1E,0x13,0x1D, 0x15,0x11,0x04,0x04,0x04,0x04, 0x04,0x04 }; int bang_so2[] = { 0x0D,0x11,0x14,0x09,0x16,0x1A, 0x04,0x0F,0x12,0x04,0x04,0x0C, 0x03,0x1C,0x1D,0x16,0x17,0x13, 0x01,0x0A,0x10,0x15,0x07,0x06, 0x18,0x0E,0x1E,0x04,0x0F,0x04, 0x19,0x04 }; p1=bang_chu2; p2=bang_so2; // clrscr(); f1=fopen("ho_hieu.c","rt"); if(f1==NULL) {clrscr(); printf("\n KHONG MO DUOC TEP HO_HIEU.C "); de_lay(100); goto thien; } do { c=(int)fgetc(f1); if(c==32) {outportb((int)&COM -> data,0x04);de_lay(2);} if(c==10) {outportb((int)&COM -> data,0x08);de_lay(2);} if(c >= 33 && c data,0x1B);de_lay(10);co_bang2=1;} ch1=c-33;outportb((int)&COM -> data,p2[ch1]);de_lay(2); } if(c >= 97 && c = 65 && c data,0x1F);de_lay(10); co_bang2=0;} ch1 = c - 65;outportb((int)&COM -> data, p1[ch1]);de_lay(2); }
  5. de_lay(10); } // end do while(c!=EOF); thien: fclose(f1); outportb((int)&COM -> data,0x02);de_lay(10); return; } // end phat HO_HIEU /*====================================================*/ int kiem_tra_RI(void) { int RI=0; RI=inportb((int)&COM ->i_status); if(RI==0) return(1); else return(0); }
  6. PHAÀN D HÖÔÙNG THI COÂNG I. Toång quaùt: Maïch giao tieáp laø moät thieát bò ñoäc laäp ñeå gheùp noái giöõa caùc maùy vi tính vôùi nhau nhaèm truyeàn döõ lieäu töø nôi naøy ñeán nôi khaùc moät caùch nhanh choùng. Ngoaøi ra, maïch giao tieáp coøn chuyeån ñoåi möùc ñieän aùp ñeå khoaûng caùch truyeàn soá lieäu giöõa hai maùy ñöôïc xa hôn. Maïch giao tieáp coù theå ñöôïc öùng duïng roäng raõi trong caùc coâng ty, xí nghieäp . . . II. Toå chöùc maïch: - Taát caû caùc IC, caùc linh kieän ñieän töû ñöôïc laép raùp treân moät board maïch. - Caùc ngoõ vaøo ra giao tieáp vôùi maùy vi tính ñöôïc haøn vôùi caùc Connecter gaén treân board. III. Caùc böôùc thi coâng: - Thieát keá sô ñoà nguyeân lyù, veõ maïch. - Veõ sô ñoà maïch in duøng phaàn meàm BM. - Laøm maïch in - Chuaån bò linh kieän. - Laép raùp linh kieän theo sô ñoà. - Sau khi laép raùp tieán haønh kieåm tra phaàn cöùng. - Xaây döïng löu ñoà phaàn meàm ñieàu khie ån. - Vieát chöông trình baèng ngoân ngöõ C. IV. Baùo caùo keát quaû thi coâng: - Thieát keá vaø thi coâng thaønh coâng heä thoáng maïch giao tieáp. - Maïch giao tieáp ñöôïc thieát keá ñeå truyeàn ôû khoaûng caùch xa, neân trong maïch thi coâng toàn taïi caùc nhoùm linh kieän nhö : + Nhoùm chuyeån ñoåi töø -12V vaø +12V sang 0V vaø 5V. + Nhoùm chuyeån ñoåi töø 0V vaø 5V sang -12V vaø + 12V. + Nhoùm naâng ñieän aùp ñöôøng truyeàn leân 60 V ñeå thöïc hieän truyeàn xa. Ngoaøi ra maïch coøn söû duïng linh kieän Opto ñeå caùch ly ñieän aùp vôùi maùy vi tính. * Haïn cheá: - Do phaân boá caùc linh kieän treân board maïch heïp neân bieán theá vaø maïch nguoàn ñaët beân ngoaøi maïch chính.
  7. - Kyõ thuaät laäp trình chöa vöõng vaøng neân coøn nhieàu thieáu soùt, nhaát laø giao dieän vôùi ngöôøi söû duïng chöa ñeïp. - Laàn ñaàu tieân tieán haønh thi coâng, nhöõng yeâu caàu toái öu ñeå maïch hoaøn chænh vaãn chöa ñaït ñöôïc tuy nhieân maïch vaãn ñaït ñöôïc nhöõng yeâu caàu nhaát ñònh
  8. KEÁT LUAÄN Qua 6 tuaàn tìm hieåu veà caáu taïo, nguyeân lyù truyeàn döõ lieäu maùy Teletype vaø caáu truùc maùy tính ñaõ ñöôïc hoïc vôùi söï höôùng daãn cuûa thaày, coâ ñeà taøi luaän vaên toát nghieäp ñaõ hoaøn thaønh . Ñeå laøm ñöôïc ñieàu naøy. Chuùng em coá gaéng ñem nhöõng kieán thöùc ñaõ hoïc vaän duïng vaøo coâng vieäc, thöïc hieän nhieäm vuï luaän vaên ñöôïc giao ñeå coù theå ñaït keát quaû toát. Tuy thaønh quaû coâng vieäc khoâng coù gì to lôùn nhöng ñoù laø quaù trình daãn daét chuùng em laøm quen vôùi vieäc öùng duïng kieán thöùc ñaõ hoïc vaøo thöïc teá, laø thaønh quaû cuûa sinh vieân tröôùc khi ra tröôøng Vôùi nhöõng taâm tö nguyeän voïng nhö vaäy neân chuùng em heát söùc coá gaéng ñeå thaønh luaän vaên ñuùng thôøi gian quy ñònh. Do vaäy trong quaù trình laøm vieäc chuùng em khoâng theå traùnh khoûi sai soùt. Raát mong quyù thaày coâ thoâng caûm vaø chæ baûo.
  9. PHUÏ LUÏC BOÄ ÑIEÀU KHIEÅN NGAÉT 8259A Boä ñieàu khieån ngaét laäp trình ñöôïc 8259A (PIC : Programable Interrupt Controller) laø moät vi maïch tích hôïp ñöôïc thieát keá ñeå quaûn lyù caùc ngaét beân ngoaøi trong moät heä maùy tính. Ñaây laø nhöõng keát noái vaät lyù tôùi caùc thieát bò treân PC. Khi moät trong soá nhöõng thieát bò naøy taùc ñoäng leân moât trong nhöõng ñöôøng ngaét cuûa PIC, PIC seõ gôûi yeâu caàu ngaét cöùng cuøng vôùi chæ soá cuûa ngaét tôùi CPU, CPU laáy chæ soá naøy ñeå truy nhaäp vaøo baûng vectô ngaét ñeå tìm ra thuû tuïc phuïc vuï ngaét cöùng thích hôïp. 8259A coù 2 loaïi hình chöõ nhaät vaø hình vuoâng ñeàu coù 28 chaân. Chöùc naêng caùc chaân cuûa 8259A hình vuoâng cuõng töông öùng nhö 8259A hình chöõ nhaät. IR 0 INT SP/EN CAS2 GND CAS1 CAS0 Vcc CS 28 1 A0 WR 27 2 D0 1918 17 16 15 14 13 12 11 IR1 INTA RD 26 3 D1 20 IR2 10 IR7 D7 25 4 D2 21 IR3 9 IR6 D6 24 8259A 5 D3 22 IR4 8 IR5 D5 23 6 8259A PLCC D4 23 IR4 IR5 7 D4 22 7 DIP D5 IR3 24 IR6 6 D3 21 8 IR2 D6 2526 27 28 1 2 3 4 5 D2 20 9 IR7 IR1 D1 19 10 IR0 D0 18 11 A0 Vcc CS WR RD D7 INTA INT CAS0 17 12 SP CAS1 16 13 CAS2 GND 15 14 Caùc chaân : IR0 - IR7 : (chaân18 - 25) Caùc loái vaøo yeâu caàu ngaét D0 - D7 : (chaân 11 - 4) Caùc bit soá lieäu (hai chieàu) A0 : (chaân 27) Ñòa chi û choïn thanh ghi leänh CS (chaân 1) : Choïn vi maïch WR (chaân 2) : Loái vaøo cuûa leänh ghi RD (chaân3) : Loái vaøo cuûa leänh ñoïc CAS0, CAS1, CAS2 (chaân 12, 13, 15) : Loái vaøo maéc noái taàng. Moät PIC chuû naøy coù theå choïn moät trong 8 PIC tôù qua 3 ñöôøng daây naøy.
  10. SP (chaân 16) : Trong cheá ñoä khoâng ñeäm, neáu SP = 1 thì 8259 chuû, SP = 0 thì 8259 tôù. INTA (chaân 26) : Loái vaøo xaùc ñònh ngaét. INT (chaân 17) : Loái ra yeâu caàu ngaét chöông trình. Trong quaù trình hoaït ñoäng, 8259A coù theå ñöôïc moâ taû goàm coù 4 thanh ghi beân trong : 1. Thanh ghi ñaùp öùng ngaét : (IRR : Interrup Request Register) Chöùa moät bit cho töøng keânh ngaét töø IRQ0 ñeán IRQ7. Caùc bit rieâng leû phaûn aùnh nhöõng keânh naøo ñang yeâu caàu phuïc vuï ngaét. Thanh ghi IRR coù theå ñöôïc ñoïc bôûi CPU. 2. Thanh ghi maët naï ngaét : (IMR : Interrup Mask Register) Laø thanh ghi 8 bit, moãi bit moâ taû moät möùc ngaét. Moät bit ñöôïc ñaët baèng moät seõ ngaên chaën keânh töông öùng phaùt sinh moät ngaét (ñöôïc che). 3. Thanh ghi boä giaûi öu tieân : (PR : Priority Resolver Register) Xaùc ñònh xem ñoä öu tieân cuûa ngaét coù ñuû ñeå ngaét moät thuû tuïc phuïc vuï ngaét ñang thöïc hieän hay khoâng. Ñieàu naøy phuï thuoäc vaøo sô ñoà öu tieân ñöôïc laäp trình hoùa. 4. Thanh ghi phuïc vuï trong : (ISP : In Service Register) Chöùa moät bit cho töøng toác ñoä ngaét. Bit naøy ñöôïc ñaët baèng 1 ñeå chæ daãn keânh ngaét töông öùng ñang ñöôïc phuïc vuï. ISR coù theå ñöôïc ñoïc bôûi CPU. Caùc boä vi xöû lyù coù hai doøng vaät lyù ñeå baùo hieäu caùc ngaét : - Doøng INTR (ñaùp öùng ngaét) : ñöôïc ñieàu khieån bôûi boä ñieàu khieån ngaét Intel 8259A. - Doøng NMI : ñeå baùo cho boä vi xöû lyù bieát veà moät söï coá nghieâm troïng saép xaûy ra nhö saép maát nguoàn, loãi chaún leû trong boä nhôù. - Khoái logic ñieàu khieån : xöû lyù ngaét, ñöa yeâu caàu (INT) vaø nhaän xaùc nhaän ngaét (INTA). - Boä ñeäm ñöôøng daây soá lieäu : ñeå ñeäm ghi vaøo caùc thanh ghi vaø ñeäm ñoïc caùc soá lieäu töø caùc thanh ghi. - Logic ñieàu khieån ñoïc ghi : taïo caùc tín hieäu ghi vaø ñoïc caùc thanh ghi ñeäm. - Boä ñeäm noái taàng/so saùnh : ñeå choïn caùc vi maïch 8259A tôù trong 1 vi maïch 8259A chuû. Baûng caùc giaù trò ñoïc cuûa caùc möùc öu tieân : D7 D6 D5 D4 D3 D2 D1 D0 RS Yeâu caàu öu tieân 1 1 A2 A1 A0 1 1 1 T
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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