Professional Documents
Culture Documents
Mc Lc
Chng 1 : Thit K - Kho St S Khi....................................................................... 3 I. Gii Thiu V Ti : ............................................................................................. 3 II. S Khi : .......................................................................................................... 3 Khi n Giao Thng : ..................................................................................... 5 Khi Hin Th : .................................................................................................. 5 Khi iu Khin : .............................................................................................. 7 Khi Vi iu Khin : ......................................................................................... 8 Khi Giao Tip : .............................................................................................. 10
Chng 2 : Thi Cng Mch ................................................................................................ 13 I. S Nguyn L Ca Mch :............................................................................... 13 II. Nguyn L Hot ng Ca Mch : ................................................................... 14 Lu Cho Chng Trnh Chnh: ............................................................... 15 Lu Cho Chng Trnh Ngt TIMER1: ................................................. 16 Lu Cho Chng Ngt Truyn D Liu Ni Tip: ................................ 17 Chng Trnh Phn Mm Cho Vi iu Khin PIC Vit Bng CCS : ........... 18 III. Lu Gii Thut Cho Chng Trnh X L : ............................................. 15 1. 2. 3. IV.
V. Chng Trnh Phn Mn Lp Trnh Giao Din Trn My Tnh Vit Bng C# : 23
VI. 1) 2) VII. 1) 2)
Thi Cng Mch:................................................................................................... 25 S Mch In : ............................................................................................... 25 Cc Gi Tr Linh Kin S Dng Trong Mch : ........................................... 26 Kt qu thc hin : .......................................................................................... 27 Kt Qu : .......................................................................................................... 27 Hng Pht Trin Ca Ti : ..................................................................... 27
Li Ni u
T khi ngnh khoa hc in v in t ra i mang li rt nhiu thnh cng cho nhn loi, gp phn thc y v pht trin rt nhiu ngnh khc khi ng dng cc thnh tu ca khoa hc in v in t to nn. Trong i sng hng ngy cng nh trong cng nghip, y t, gio dc, vn ti, cc ng dng ca in t m c bit l cc h thng t ng ho mang li rt nhiu tin ch v gip cho con ngi trong nhiu cng vic t n gin nh vic ng m ca t ng cho n cc h thng phc tp nh trong cc dy chuyn sn xut trong cng nghip. Vi am m v hiu k v cc h thng iu khin t ng cng nh s l th ca cc ng dng cc mch in v in t, em chn theo hc ngnh in v in t cng nh rt thch tm hiu v cc mn hc c lin quan n lp trnh v iu khin. Trong dp ny va l lm n mn hc 2 cng va l c hi em tm hiu thm v cc loi IC iu khin nh h 89, PIC, AVR, ARM,... Trc y vi n mn hc 1 em c tip cn vi IC 89S51 cho nn ln ny em s tm hiu v dng PIC m c th l PIC16F887. V ngy nay vic giao tip gia my tnh v thit b ngoi ngy quan trng v ph bin hn. Th cho nn em chn ti c giao tip gia vi iu khin v my tnh tm hiu, hc hi, b sung kin thc cng nh ng dng vo thc t. y mi l ln u lm v ti giao tip gia vi iu khin vi my tnh cng nh ln u s dng PIC16F887 lm mch thc t nn chc chn s c nhiu hn ch v sai st mong qu thy c v cc bn gp kin em c b sung nhiu kin thc hn cho hc tp v nghin cu. Chn thnh cm n
N MN HC 2
II. S Khi :
T yu cu t ra cho ti, ta thy mt trm n giao thng trc tin cn nht chnh l phn hin th. chnh l cc n tn hiu xanh, , vng v cc led hin th thi gian cn li ca mi bn. K n phi nhc ti l b phn x l, y l b no ca h thng v nu khng c n h thng s khng th lm vic c. Tip theo l phn iu khin dng ci t thit lp hay la chn ch . Chnh v y l mch c giao tip vi my tnh nn khng th thiu khi giao tip gia my tnh vi vi iu khin. V mt khi cc k quan trng m trong bt k mch in no cng khng th thiu chnh l khi ngun, nhng do s dng ngun ring nn em xin khng trnh by v phn ngun ca mch. T , ta c th m t m hnh mch cho ti bng s khi nh sau: 3 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG
N MN HC 2
Chc nng ca cc khi: Hin th: s dng led 7 on hin th thi gian cho n giao thng. n giao thng: cc led n tn hiu giao thng xanh, , vng. iu khin: l cc phm nhn dng ci t tinh chnh thi gian hay chuyn ch u tin cho mi bn v cng tc chuyn ch iu khin t ng hay iu khin bng tay. Giao tip: s dng cng COM v qua IC chuyn i mc in p MAX232 truyn thng tin gia vi iu khin v my tnh. Vi iu khin: s dng PIC16F887 lp trnh iu khin cho mch n giao thng, gii m hin th thi gian, x l tn hiu iu khin chuyn ch khi c yu cu, giao tip truyn nhn d liu iu khin t my tnh. My tnh: lp trnh giao din iu khin v truyn d liu iu khin n vi iu khin thc hin cc chc nng theo yu cu.
N MN HC 2
2) Khi Hin Th : Khi hin th chnh l cc led 7 on dng hin th gi tr thi gian cn li ca cc trng thi ca cc tn hiu xanh, , vng c x l qua b vi iu khin cho ra cc m tng ng ca led 7 on.
N MN HC 2
Led 7 on tht ra l 8 led n ghp li nn vic tnh chn led hn dng cho led 7 on cng nh led n : + Dng qua mi led : 10mA + Ngun cung cp: 5 V + p ri trn mi led: 2V R chn R=330 (gi tr in tr c bn trn th trng)
N MN HC 2
vic hin th c hiu qu hn ta s dng phng php qut, ngha l ti mt thi im ch cho php 1 led sng nhng do tnh cht lu nh ca mt nn ta thy cc led u sng. s dng phng php qut ta phi dng transistor v iu khin bi phn mm. V ta dng led 7 on loi anode chung nn chn transistor loi pnp A1015 qut. Led s c php sng khi cp mc 0 cho A1015.
3) Khi iu Khin : Ta s dng cng tc chn ch t ng hay iu khin bng tay khi c yu cu v d nh trong gi cao im gia ng u tin v ng t u tin hn th cc con ng chnh c lng xe lu thng nhiu hn th cn phi c thi gian nhiu hn hoc do ngi cnh st giao thng iu khin sao cho cc phng tin lu thng tt nht trnh n tc giao thng. Vi nt nhn dng chuyn trng thi gia cc bn. Ta chn tn hiu iu khin mc 0 nn cng tc v nt nhn ni vi mass, in tr ko ln ngun dng hn dng vo pic v cho mc 1 khi khng tc ng.
10k
N MN HC 2
4) Khi Vi iu Khin : Ta s dng vi iu khin PIC16F887 dng lp trnh v iu khin h thng hot ng cng nh nhn d liu iu khin truyn t my tnh xung x l v iu khin. Hin nay c rt nhiu h vi iu khin khc nhau v mi h l c rt nhiu dng khc nhau. y, em chn PIC16F887 v n hu nh ging vi PIC16F877A m gi r hn nn rt ph hp cho vic nghin cu ca sinh vin. Vic chn PIC m khng chn cc h khc nh ATMEGA, 89X, ARM, v em c hc c bn qua n m cha c lm mch thc t nn ln ny quyt nh lm ti vi PIC. Mt s thng s c bn v PIC16F887: Vi iu khin 8-bit ca Microchip, thuc dng Low-power. Kin trc Harvard (vs. Von Neumann), tp lnh RISC (Reduced Instructions Set Computer) (vs. Complexed Instructions Set Computer) vi 35 lnh. Thch anh gn ngoi ti a 20MHz. Tm in p hot ng 2.0V- 5.5V. Dng in vo/ ra ti a: 25 mA. 5 port, 35 chn xut nhp (I/O pins) C y cc chc nng cn thit ca Vi iu khin 8-bit: Timer (3 b), ADC (14 knh ADC 10-bit), EUSART, SPI, I2C, PWM, Compare, B nh chng trnh 8192 word FLASH, 368 byte SRAM, 256 byte EEPROM. C th ghi/xo EEPROM khong 1.000.000 ln. B nh lu tr trn 40 nm. S chn ca PIC16F887:
N MN HC 2
VCC
PORT B
PORT A
SS*
0
VCC C_3231 104 C_X1
J_PC 1 2 3 4 5 6 7 8
SCL SDA TX RX
1 J_PD 2 3 4 5 6 7 8 J_PE 1 2 3
PORT D
PORT C
PORT E
0
C_X2 22p
N MN HC 2
thc hin xut / nhp trn 1 chn (Pin): Ci t ng gi tr cho thanh ghi TRISx (hoc bit TRISx-n), vi x/n l A,B,C,D,E. t kiu tn hiu ca pin l Analog hay Digital qua 2 thanh ghi ANSEL v ANSELH. Xut tn hiu bng cch ghi gi tr 0 hoc 1 vo port tng ng (bit: Rx-n hay port: PORTx) c gi tr ca chn bng cch c mc logic trn port tng ng.
5) Khi Giao Tip : Khi giao tip c chc nng giao tip gia my tnh vi vi iu khin PIC16F887 hay ni cch khc n c nhim v truyn nhn d liu iu khin gia vi iu khin vi my tnh. y ta dng chun giao tip ni tip RS232 qua cng COM v s dng IC chuyn i mc tn hiu MAX232 v n n gin v d cho ngi mi lm quen vi vic lp trnh giao tip my tnh. Gii thiu v cng COM : c 2 dng l DP25, c 25 chn thng dng trong cng nghip v DP9, c 9 chn v thng dng nht. Trong ng dng ny ta ch s dng 2 chn TXD v RXD truyn nhn d liu v chn 5 ni mass chung.
N MN HC 2
V tn hiu cng COM thng mc +12V, -12V nn khng tng thch vi in p TTL nn giao tip vi iu khin vi my tnh qua cng COM ta phi qua mt vi mch bin i in p cho ph hp vi mc TTL, ta chn vi mch MAX232 thc hin vic tng thch in p. Gii thiu IC max 232: Vi mch MAX 232 ca hng MAXIM l mt vi mch chuyn dng trong giao din ni tip vi my tnh. Chng c nhim v chuyn i mc TTL li vo thnh mc +12V hoc 12V pha truyn v cc mc +3+15V hoc -3-15V thnh mc TTL pha nhn. Vi mch MAX 232 c hai b m v hai b nhn. ng dn iu khin li vo CTS, iu khin vic xut ra d liu cng ni tip khi cn thit, c ni vi chn 9/12 ca vi mch MAX 232. Cn chn RST (chn 10/11 ca vi mch MAX ) ni vi ng dn bt tay iu khin qu trnh nhn. Thng th cc ng dn bt tay c ni vi cng ni tip qua cc cu ni, khi khng dng n na c th h mch cc cu ny. Cch truyn d liu n gin nht l ch dng ba ng dn TxD, RxD v GND (mass). S kt ni chn v kt ni c bn ca MAX232:
N MN HC 2
D1
5VDC R1 R LED_CH2 Q1 A1015 C1 10uF RESET G G F E D C B A 330 5VDC Vdd Vss RD7/PSP7 RD6/PSP6 RD5/PSP5 RD4/PSP4 RD3/PSP3 RD2/PSP2 RD1/PSP1 RD0/PSP0
OSC2/CLKO OSC1/CLKI 13 14 1
5VDC LED_DV2
5VDC Q3 A1015
5VDC
LED_DV1
Q4
A1015 Q1 Q2 Q3
Q4
U1 DO 2
VCC
VCC
VCC
5VDC 9 R15 R16 Vdd Vss RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT PIC16F877A 11 12 15 16 17 18 23 24 25 26 RE0/RD/AN5 RE1/WR/AN6 RE2/CS/AN7
8 9 10
D7 32
DOT VCC
D8 LED7_DON_1
DOT VCC
D9 LED7_DON_1
DOT VCC
VCC
0
RA0/AN0 RB7/PGD RA1/AN1 RB6/PGC RA2/AN2/Vref RB5 RA3/AN3/Vref + RB4 RA4/T0CKI/C1OUT RB3/PGM RA5/AN4/SS/C2OUT RB2 RB1 RB0/INT
2 3 4 5 6 7
0
40 39 38 37 36 35 34 33 40 R4 39 R6 R8 R10 R12 R13 R14
D10
LED7_DON_1 31
D E
LED7_DON_1
I. S Nguyn L Ca Mch :
SW MAG-SPDT
SW3 INV
30 29 28 27 22 21 20 19
0
10 10 10 10 9 8 7 6 9 8 7 6 9 8 7 6
R17
D Q1
D Q2
D Q3
Q4
5VDC 1 2
J1
DOT
VCC
SW2
13
C3 33p
N MN HC 2
10 11 12 9 1 3 4 5 C5 10uF
0
1 9 4039
C7 10uF
15
C8 MAX232 10uF
1 2 3 4 5
CON2
SVTH : PHAN TN PH
N MN HC 2
N MN HC 2
N MN HC 2
N MN HC 2
Ngt RDA
Nhn d liu
Index_xmit ++
Index_rcv ++
RETURNI
N MN HC 2
IV. Chng Trnh Phn Mm Cho Vi iu Khin PIC Vit Bng CCS :
#include<16F887.h> #include<KhaiBaoTGhi_16F877A.h> #fuses nowdt, noput, hs, noprotect, nolvp #use delay(clock=11059000) #use fast_io(all) #use rs232(baud =9600, parity = n, xmit = pin_c6, rcv = pin_c7) #define mode input(pin_c0) #define toggle input(pin_c1) //********* khai bao bien ***************** INT8 j,k,chuc1,chuc2,dvi1,dvi2; INT16 t_do,a,t_xanh,b; unsigned char btu,_btu,btt1=0,btt2=1; unsigned char rcv_data; unsigned char connect = 'H',mode_cp,RUN= 0; unsigned char index_rcv=5,date[3],hour,minute,second; unsigned char TIMER_AB[4],index_xmit = 0; const UNSIGNED char dig[]= {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90}; //********* chuong trinh con ************* //************* khoi tao ********* void initiation() { // khoi tao cho port b.d.a la ngo ra va c0,c1 vao set_tris_a (0x00); set_tris_b (0x00); trisc0 = 1; trisc1 = 1; set_tris_d (0x00); //xoa hien thi PORTA = 0X00; PORTB = 0XFF; PORTD = 0XFF; j = 0; // khoi tao cho bien dem timer 1 k = 0; // khoi tao cho bien dem cua tung cot t_DO = 24; // gan gia tri ban dau cho den do va xanh t_xanh = 19; SET_TIMER1(3035); // DAT SO DEM CHO TIMER 1 T1CON = 0X35; // KHOI TAO GIA TRI CHO TIMER 18 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG
N MN HC 2
enable_interrupts (GLOBAL); // cho phep ngat toan bo enable_interrupts (INT_RDA); // cho phep ngat truyen thong } //********* ngat truyen thong ************ #INT_RDA void uart_datas() { rcv_data = getc(); if(index_xmit == 3)index_xmit = 0; else { putc(TIMER_AB[index_xmit]); index_xmit ++; } if (rcv_data == 250)index_rcv = 0; else { date[index_rcv] = rcv_data; index_rcv ++; } if(index_rcv == 255)index_rcv = 5; hour = date[0]; minute = date[1]; second = date[2]; } //********** ngat timer 1 **************** #INT_TIMER1 VOID timer1_interrupt() //bat dau chuong trinh ngat { j++; IF (j == 10) // khi j = 10 thi thoi gian dung 1s { k = k + 1; // bien k dung xac dinh thoi gian cho cot 1 IF ( (k < 26)&& (k > 0)) { a = t_DO; t_DO = t_do - 1; b = t_xanh; t_xanh = t_xanh - 1; IF (a < 5) //thoi gian hien thi cho led vang { 19 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG
N MN HC 2
porta = 0x14; // den vang 2 va DO 1 sang b = a; } ELSE porta = 0x0C; // den xanh 2 va DO 1 sang } IF ((k < 26)&& (k > 24)) // khi du 25s thi chuyen sang cot 2 { t_DO = 24; t_xanh = 19; } IF (k > 25) // bat dau hien thi cho cot 2 { b = t_DO; t_DO = t_do - 1; a = t_xanh; t_xanh = t_xanh - 1; IF (b < 5) //khi den xanh du 20s thi den vang bat dau sang { porta = 0x22; // den DO 2 va vang 1 sang a = b; } ELSE porta = 0x21; // den DO 2 va xanh 1 sang } TIMER_AB[0]=50; TIMER_AB[1]=a; TIMER_AB[2]=b; chuc1 = a / 10; dvi1 = a % 10; chuc2 = b / 10; dvi2 = b % 10; IF (k > 49) // khi cot 2 xong 25s thi chuyen ve cot 1 { k = 0; // KHOI TAO LAI GIA TRI DEM BAN DAU t_DO = 24; t_xanh = 19; } 20 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG
N MN HC 2
SET_TIMER1 (3035); // CAI LAI THOI GIAN CHO TIMER 1 j = 0; } SET_TIMER1 (3035); // CAI LAI THOI GIAN CHO TIMER 1 } //*********** xu ly data nhan duoc ******************** void select_data() { switch (rcv_data) { case '1': connect = 'S'; break; case '2': connect = 'H'; break; case '3': mode_cp = 'M'; break; case '4': mode_cp = 'A'; break; case '5': RUN = 0; break; case '6': RUN = 1; break; default: break; } } //*********** hien thi led don che do dieu khien tay**** void manual_led() { OUTPUT_BIT(PIN_A0, btt1); OUTPUT_BIT(PIN_A5, btt1); OUTPUT_BIT(PIN_A2, btt2); OUTPUT_BIT(PIN_A3, btt2); } //*********** hien thi thoi gian ********************* void display_7seg() { portb = dig[chuc1]; // dua gia tri chuc 1 ra portb portd = 0xf7; // chi led o vi tri chuc 1 sang delay_ms (1); // dung de nhin thay duoc led sang 21 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG
N MN HC 2
portd = 0xff; // chong lem portb = dig[dvi1]; // dua gia tri dvi 1 ra portb portd = 0xfb; // chi led o vi tri dvi 1 sang delay_ms (1); // dung de nhin thay duoc led sang portd = 0xff; // chong lem portb = dig[chuc2]; // dua gia tri chuc 2 ra portb portd = 0xfd; // chi led o vi tri chuc 2 sang delay_ms (1); // dung de nhin thay duoc led sang portd = 0xff; // chong lem portb = dig[dvi2]; // dua gia tri dvi 2 ra portb portd = 0xfe; // chi led o vi tri dvi 2 sang delay_ms (1); // dung de nhin thay duoc led sang portd = 0xff; // chong lem } //***************** chuong trinh chinh **************** VOID main () // bat dau chuong trinh chinh { initiation(); while(true) { select_data(); if(hour > 5 && hour < 22) { if(connect == 'H') { if(mode == 0) { disable_interrupts(INT_TIMER1);//xoa ngat timer1 porta = 0x00; btu = toggle; if (btu == 0) //kiem tra nhan phim { _btu = btu; while(btu == _btu) {btu = toggle;} btt1 = !btt1; btt2 = !btt2; } manual_led(); } if (mode == 1) { 22 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG
N MN HC 2
enable_interrupts(INT_TIMER1); // cho phep ngat timer1 display_7seg(); } } if(connect == 'S') { if(mode_cp == 'M') { disable_interrupts(INT_TIMER1);// xoa ngat timer1 porta = 0x00; if(RUN == 1)porta = 0x21; else porta = 0x0c; } if (mode_cp == 'A') { enable_interrupts(INT_TIMER1); // cho phep ngat display_7seg(); } } } else { porta = 0x00; disable_interrupts(INT_TIMER1); output_high(pin_a1); output_high(pin_a4); delay_ms(500); output_low(pin_a1); output_low(pin_a4); delay_ms(500); } } } V.
Chng Trnh Phn Mn Lp Trnh Giao Din Trn My Tnh Vit Bng C# :
namespace giao_dien { public partial class Form1 : Form { public Form1() { InitializeComponent(); 23 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG
N MN HC 2
} int temp = 0,index = 3; int[]buffer = new int[10]; Byte[] buf = new Byte[10]; private void Form1_FormClosing(object sender, FormClosingEventArgs e) { COM_2.Close(); } private void Form1_Load(object sender, EventArgs e) { COM_2.Open(); } private void CONNECT_Click(object sender, EventArgs e) { COM_2.Write(new char[] { '1' }, 0, 1); } private void DISCONNECT_Click(object sender, EventArgs e) { COM_2.Write(new char[] { '2' }, 0, 1); } private void MODE_CheckedChanged_1(object sender, EventArgs e) { if (MODE.Checked == true) { COM_2.Write(new char[] { '3' }, 0, 1); } else { COM_2.Write(new char[] { '4' }, 0, 1); } } private void RUN_A_Click(object sender, EventArgs e) { COM_2.Write(new char[] { '5' }, 0, 1); } private void RUN_B_Click(object sender, EventArgs e) { COM_2.Write(new char[] { '6' }, 0, 1); } private void timer1_Tick(object sender, EventArgs e) { DateTime dt = DateTime.Now; buf[0] = 250; buf[1] = (Byte)dt.Hour; buf[2] = (Byte)dt.Minute; buf[3] = (Byte)dt.Second; 24 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG
N MN HC 2
this.textBox2.Text = buffer[0].ToString(); this.textBox1.Text = buffer[1].ToString(); textBox3.Text = DateTime.Now.ToString("HH:mm:ss"); COM_2.Write(buf, 0, 4); } private void COM_2_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { temp = COM_2.ReadByte(); if (temp == 50) { index = 0; } else { buffer[index] = temp; index++; if (index == 10) index = 3; } } } }
N MN HC 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
2) Cc Gi Tr Linh Kin S Dng Trong Mch : 6 C1,C4,C5,C6,C7,C8 10uF 2 C3,C2 33p 1 D1 XANH 1 1 D2 VANG 1 1 D3 DO 1 1 D4 XANH 2 1 D5 VANG 2 1 D6 DO 2 4 D7,D8,D9,D10 LED7_DON_1 1 J1 CON2 1 J2 CON5 1 P1 COM 4 Q1,Q2,Q3,Q4 A1015 12 R1,R2,R3,R4,R5,R6,R7,R8, R R9,R10,R12,R13 2 R11,R14 330 6 R15,R16,R17,R18,R19,R20 4K7 1 SW1 RESET 1 SW2 SW MAG-SPDT 1 SW3 INV 1 U1 PIC16F877A 26
SVTH : PHAN TN PH
N MN HC 2 21 22 1 1 U2 Y1
N MN HC 2