Chng 5 : THI TK GIAO D IN VÀ LP TRÌNH P HN MM TRÊN MÁY TÍNH
5.1. Thi tk giao di n
- Kh i đ ng ch ng trình VB6.0
+ MenuBar : các trình đ n c a VB.
+ Toolbar : m t s ch c n ng c b n c a ch ng trình. + Toolbox: ch a các đi u khi n (Control) thơng d ng.
+ Project Explorer: hi n th các thành ph n c a ng d ng đang th c hi n.
+ Properties Window: c a s hi n th các đ c tính (Properties) thi t k c a các đi u khi n.
+ Form Layout Window: xem tr c ho c thay đ i v trí Form khi th c thi ng d ng + Workspace: vùng làm vi c c a ch ng trình…
- Ti n hành thi t k giao di n cho ch ng trình:
+ Thi t k Form1: Form 1 là bi u m u hi n th các thơng tin v đ tài nh tên đ tài, ng i th c hi n, giáo viên h ng d n…Form 1 cĩ 2 nút nh n CommandButon “Continue” và “Exit” đ thi hành l n ti p t c hay thốt kh i ch ng trình.
• Dùng nhãn (Label) đ t o các hi n th chu i trên bi u m u nh tên đ tài, sinh viên th c hi n, giáo viên h ng d n…
• T o CommandButton “Continue” đ th c hi n l nh ti p t c chuy n t i Form ti p theo. Ch ng trình cho Button “Continue”:
Private Sub CmdCont_Click() Form1.Visible = False
End Sub
• T o CommandButton “Exit” đ th c hi n l nh thốt kh i ch ng trình. Ch ng trình cho Buton “Exit”
Private Sub cmdExit1_Click() Unload Form1
End Sub
• Dùng 1 Timer đ ch y dịng ch “H th ng báo giá trên LCD” t trái qua ph i:
Private Sub Timer1_Timer()
' chu chay phai qua trai
If Label12.Left >= -Me.Width Then Label12.Left = Label12.Left - 15 Else
Label12.Left = Me.Width End If
End Sub
+ Thi t k Form 2: Form 2 cho phép ng i dùng nh p các d li u v tên và giá c a t ng lo i s n ph m. Và xu t các d li u y xu ng cho vi đi u khi n.
• Dùng Texbox đ t o 10 ơ nh p d li u v tên và giá các s n ph m.
• Dùng CommandButon đ t o 2 Button “Send” và “Exit”. Button “Send” cĩ ch c n ng g i các d li u trong 10 ơ TextBox xu ng cho vi đi u khi n. Button
“Exit” đ thốt ch ng trình. Ch ng trình cho Button “Send”:
Private Sub cmdSend_Click()
MSComm1.Output = "!" & Text1.Text & "#" MSComm1.Output = "!" & Text2.Text & "#" MSComm1.Output = "!" & Text3.Text & "#" MSComm1.Output = "!" & Text4.Text & "#" MSComm1.Output = "!" & Text5.Text & "#" MSComm1.Output = "!" & Text6.Text & "#" MSComm1.Output = "!" & Text7.Text & "#" MSComm1.Output = "!" & Text8.Text & "#" MSComm1.Output = "!" & Text9.Text & "#" MSComm1.Output = "!" & Text10.Text & "#" End Sub
Ch ng trình cho Button “Exit”:
Private Sub cmdExit_Click() tt:
Dim vu As Integer
vu = MsgBox("Are you sure you want exit program ? If you argee click OK", 1, "Device Control")
If vu = 1 Then MSComm1.PortOpen = False End Else Cancel = True End If End Sub
- Thi t k Form 3: Form này đ hi n th hình nh v trí đ t các màn hình LCD đ ng i dùng thu n ti n trong vi c xác đnh v trí t ng s n ph m.
Click Button “Continue”
Click Button “View”:
Click Button “Cancel” đ tr l i Form 2.
Click Button “Send” đ truy n d li u. Click Button “Exit”
Click “OK” n u đ ng ý thốt ho c ng c l i Click “Cancel”.
5.2. Ch ng trình đi u khi n - Form 1:
Private Sub CmdCont_Click() Form1.Visible = False Form2.Visible = True End Sub
Private Sub cmdExit1_Click() Unload Form1
End Sub
Private Sub Timer1_Timer() ' chu chay phai qua trai
If Label12.Left >= -Me.Width Then Label12.Left = Label12.Left - 15 Else
End If End Sub
- Form 2:
Private Sub cmdExit_Click() tt:
Dim vu As Integer
vu = MsgBox("Are you sure you want exit program ? If you argee click OK", 1, "Device Control")
If vu = 1 Then MSComm1.PortOpen = False End Else Cancel = True End If End Sub
Private Sub cmdSend_Click()
MSComm1.Output = "!" & Text1.Text & "#" MSComm1.Output = "!" & Text2.Text & "#" MSComm1.Output = "!" & Text3.Text & "#" MSComm1.Output = "!" & Text4.Text & "#" MSComm1.Output = "!" & Text5.Text & "#" MSComm1.Output = "!" & Text6.Text & "#" MSComm1.Output = "!" & Text7.Text & "#" MSComm1.Output = "!" & Text8.Text & "#" MSComm1.Output = "!" & Text9.Text & "#" MSComm1.Output = "!" & Text10.Text & "#" End Sub
Private Sub cmdXem_Click() Form2.Visible = False Form3.Visible = True End Sub
Private Sub Form_Load()
MSComm1.PortOpen = True End Sub
Private Sub lbltime_Click()
lbltime.Caption = DateTime.Now End Sub
Private Sub Timer1_Timer()
lbltime.Caption = DateTime.Now End Sub
- Form 3:
Private Sub cmdExit_Click() Form3.Visible = False Form2.Visible = True End Sub
CH NG 6: K T LU N.
Sau 3 tháng ti n hành làm vi c v i s n l c c a b n thân c ng v i nh ng ki n th c đ c trang b nhà tr ng và nh ng ki n th c th c t mà em đã h c h i đ c nh s h ng d n, giúp đ c a các th y cơ trong khoa Xây D ng & i n cùng v i s giúp đ t n tình c a th y T ng Thanh Nhân. Em đã hồn thành t p lu n v n này đúng th i gian quy
đnh và đã thu đ c nh ng k t qu nh t đnh:
- Thi t k card giao ti p gi a máy tính và vi đi u khi n PIC 16F877A.
- Thi t k và ng d ng IC ghi d ch 74595 đ th c hi n xu t d li u t máy tính t i nhi u màn hình LCD mà khơng ph i s d ng nhi u chân c a PIC 16F877A.
- Thi t k giao di n xu t d li u trên máy tính dùng ph n m m Visual Basic. - Vi t ch ng trình cho vi đi u khi n và máy tính đ giao ti p gi a 2 h th ng. - Hồn thành thi cơng m ch ph n c ng.
- M ch ch y n đnh…
ây là l n đ u tiên th c hi n đ tài v i quy mơ r ng, do th i gian, ki n th c và kinh nghi m cịn nhi u h n ch nên em nh n th y r ng t p lu n v n này ch a th đáp ng đ c
đ y đ nh ng yêu c u mà đ tài đã đ ra. Do đĩ, em mong nh n đ c s thơng c m và ch d n thêm c a quý th y cơ trong khoa cùng giáo viên h ng d n.
Em xin chân thành c m n s giúp đ t n tình và quý báu c a các th y cơ trong khoa Xây D ng và i n đã t o m i đi u khi n thu n l i cho em hồn thành t t nhi m v đ c gian đúng th i gian quy đnh.
H NG PHÁT TRI N C A TÀI
- V i vi c s d ng IC ghi d ch 74595, chúng ta cĩ th m r ng thêm nhi u module hi n th LCD đ hi n th tên và giá c a r t nhi u s n ph m mà ch dùng 6 chân c a PIC.
- Chúng ta cĩ th g n thêm RAM ngồi đ cĩ th hi n th thêm các thơng tin c a s n ph m.
- K t h p v i các ph n m m khác nh Excel, Access… đ truy xu t d li u xu t xu ng vi đi u khi n.
DANH M C TÀI LI U THAM KH O
[1] Microchip Technology Inc – Datasheet PIC16F877A - 2003
[2] Sid Katzen, The Quintessential PIC Microcontroller, November 8, 2000.
[3] Tr n Xuân Tr ng – Tài li u s d ng CCS ti ng Vi t – i H c Bách Khoa Tp.H Chí Minh, website http://tailieu.vn
[4] Nguy n V n Tình – Tài li u vi đi u khi n PIC16F877A – Nxb Tr ng S Quan CHKT Thơng Tinh, 2008.
[5] W.Buchanan – L p trình C trong k thu t đi n t - Nxb Khoa H c K Thu t, 2000. [6] ng Qu Vinh – L p trình Visual Basic 6.0 c b n - Nxb Khoa H c K Thu t,
2004.
[7] ng Th Khoa – Giáo trình l p trình ng d ng Visual Basic – Nxb i H c Qu c gia TPHCM, 2001. CÁC WEDSITE 1. www.PICvietnam.com 2. www.dientuvietnam.net 3. www.mICrochip.com 4. www.ccsinfo.com 5. www.engineersgarage.com
C ng n i ti p RS232 là m t giao di n ph bi n r ng rãi nh t. Ng i ta cịn g i c ng này là c ng COM1, cịn c ng COM2 đ t do cho các ng d ng khác. Gi ng nh c ng máy in c ng COM c ng đ c s d ng m t cách thu n ti n cho vi c giao ti p v i thi t b ngo i vi.
Vi c truy n d li u qua c ng COM đ c ti n hành theo cách n i ti p. Ngh a là các bit d li u đ c truy n đi n i ti p nhau trên m t đ ng d n. Lo i truy n này cĩ kh n ng dùng cho nh ng ng d ng cĩ yêu c u truy n kho ng cách l n h n, b i vì các kh n ng gây nhi u là nh đáng k h n khi dùng m t c ng song song (c ng máy in).
C ng COM khơng ph i là m t h th ng bus nĩ cho phép d dàng t o ra liên k t d i hình th c đi m v i đi m gi a hai máy c n trao đ i thơng tin v i nhau, m t thành viên th ba khơng th tham gia vào cu c trao đ i thơng tin này.
* Các chân và đ ng d n đ c mơ t nh sau:
Phích c m COM cĩ t ng c ng 8 đ ng d n, ch a k đ n đ ng n i đ t. Trên th c t cĩ hai lo i phích c m, m t lo i 9 chân và m t lo i 25 chân. C hai lo i này đ u cĩ chung m t đ c đi m.
Vi c truy n d li u x y ra trên hai đ ng d n. Qua chân c m ra TXD máy tính g i d li u c a nĩ đ n KIT Vi đi u khi n. Trong khi đĩ các d li u mà máy tính nh n
đ c, l i đ c d n đ n chân RXD các tín hi u khác đĩng vai trị nh là tín hi u h tr khi trao đ i thơng tin, và vì th khơng ph i trong m i tr ng h p ng d ng đ u dùng h t.
nên đ giao ti p KIT Vi đi u khi n 8051 v i máy tính qua c ng COM ta ph i qua m t vi m ch bi n đ i đi n áp cho phù h p v i m c TTL, ta ch n vi m ch MAX232 đ th c hi n vi c t ng thích đi n áp.
2. Gi i thi u Vi m ch giao ti p MAX232
Vi m ch MAX 232 c a hãng MAXIM là m t vi m ch chuyên dùng trong giao di n n i ti p v i máy tính. Chúng cĩ nhi m v chuy n đ i m c TTL l i vào thành m c +10V ho c –10V phía truy n và các m c +3…+15V ho c -3…-15V thành m c TTL phía nh n.
Hình 3.4: s đ chân MAX 232
Vi m ch MAX 232 cĩ hai b đ m và hai b nh n. ng d n đi u khi n l i vào CTS, đi u khi n vi c xu t ra d li u c ng n i ti p khi c n thi t, đ c n i v i chân 9 c a vi m ch MAX 232. Cịn chân RST (chân 10 c a vi m ch MAX ) n i v i đ ng d n b t tay
đ đi u khi n quá trình nh n. Th ng thì các đ ng d n b t tay đ c n i v i c ng n i ti p qua các c u n i, đ khi khơng dùng đ n n a cĩ th h m ch các c u này. Cách truy n d li u đ n gi n nh t là ch dùng ba đ ng d n TxD, RxD và GND (mass).
M c đi n áp logic c a RS-232C là kho ng đi n áp gi a +15V và –15V. Các đ ng d li u s d ng m c logic âm: logic 1 cĩ đi n th gi a –5V và –15V, logic 0 cĩ đi n th gi a +5V và +15V. tuy nhiên các đ ng đi n khi n (ngo i tr đ ng TDATA và RDATA) s d ng logic d ng: gía tr TRUE = +5V đ n +15V và FALSE =-5V đ n –15.
chu n giao ti p này, gi a ngõ ra b kích phát và ngõ vào b thu cĩ m c nhi u đ c gi i h n là 2V. Do v y ng ng l n nh t c a ngõ vào là ±3V trái l i m c ± 5V là ng ng nh nh t v i ngõ ra. Ngõ ra b kích phát khi khơng t i cĩ đi n áp là ± 25V.
Các đ c đi m v đi n khác bao g m
• RL (đi n tr t i) đ c nhìn t b kích phát cĩ giá tr t 3 ÷ 7k.
• CL (đi n dung t i) đ c nhìn t b kích phát khơng đ c v t quá 2500pF. • ng n c n s dao đ ng quá m c, t c đ thay đ i (Slew rate ) c a đi n áp khơng
đ c v t qúa 30V/µs.
li u, th i gian chuy n (t 1 sang 0 ho c t 0 sang 1) ph i khơng v t qúa 4% th i gian c a 1 bit ho c 1ms.
4. Các đ ng d li u và đi u khi n c a RS232
- TxD: D li u đ c truy n đi t Modem trên m ng đi n tho i. - RxD: D li u đ c thu b i Modem trên m ng đi n tho i. Các đ ng báo thi t b s n sàng:
- DSR : báo r ng Modem đã s n sàng.
- DTR : báo r ng thi t b đ u cu i đã s n sàng - Các đ ng b t tay bán song cơng.
- RTS : báo r ng thi t b đ u cu i yêu c u phát d li u.
- CTS : Modem đáp ng nhu c u c n g i d li u c a thi t b đ u cu i cho thi t b đ u cu i cĩ th s d ng kênh truy n d li u. Các đ ng tr ng thái sĩng mang và tín hi u đi n tho i:
- CD : Modem báo cho thi t b đ u cu i bi t r ng đã nh n đ c m t sĩng mang h p l t m ng đi n tho i.
- RI : Các Modem t đ ng tr l i báo r ng đã phát hi n chuơng t m ng đi n tho i đ a ch đ u tiên cĩ th t i đ c c a c ng n i ti p đ c g i là đ a ch c b n (Basic Address). Các đa ch ghi ti p theo đ c đ t t i b ng vi c c ng thêm s thanh ghi đã g p c a b UART vào đa ch c b n.
- M c tín hi u trên chân ra RxD tùy thu c vào đ ng d n TxD và thơng th ng n m trong kho ng –12 đ n +12. Các bit d li u đ c g i đ o ng c l i. M c đi n áp đ i v i m c High n m gi a –3V và –12V và m c Low n m gi a +3V và +12V. Trên hình 2-4 mơ t m t dịng d li u đi n hình c a m t byte d li u trên c ng n i ti p RS-232C.
- tr ng thái t nh trên đ ng d n cĩ đi n áp –12V. M t bit kh i đ ng (Starbit) s m
đ u vi c truy n d li u. Ti p đĩ là các bit d li u riêng l s đ n, trong đĩ các bit giá tr th p s đ c g i tr c tiên. Cịn s c a các bit thay đ i gi a 5 và 8. cu i c a dịng d li u cịn cĩ m t bit d ng (Stopbit) đ đ t tr l i tr ng thái ngõ ra (-12V).
ch sau:
COM 1 (c ng n i ti p th nh t) a ch c b n = 3F8(Hex) COM 2 (c ng n i ti p th hai) a ch c b n = 2F8(Hex) COM 3 (c ng n i ti p th ba) a ch c b n = 3E8(Hex) COM 4 (c ng n i ti p th t ) a ch c b n = 2E8(Hex)
C ng nh c ng máy in, các đ ng d n tín hi u riêng bi t c ng cho phép trao đ i qua các đ a ch trong máy tính PC. Trong tr ng h p này, ng i ta th ng s d ng nh ng vi m ch cĩ m c đ tích h p cao đ cĩ th h p nh t nhi u ch c n ng trên m t chip. máy tính PC th ng cĩ m t b phát/nh n khơng đ ng b v n n ng (g i t t là UART: Universal Asnchronous Receiver/ Transmitter) đ đi u khi n s trao đ i thơng tin gi a máy tính và các thi t b ngo i vi. Ph bi n nh t là vi m ch 8250 c a hãng NSC ho c các th h ti p theo.
Thơng th ng v i các yêu c u ng d ng t c đ th p ng i ta giao ti p qua ngõ n i ti p, nĩ giao ti p theo tiêu chu n RS232C và dùng đ giao ti p gi a máy tính v i Modem ho c Mouse. Ngồi ra c ng cĩ th dùng giao ti p v i printer hay plotter nh ng khơng thơng d ng l m b i t c đ truy n quá ch m. i v i máy AT cho ta hai ngõ giao ti p COM1 và COM2. Trong m t s card I/O ta cĩ th cĩ đ n 4 c ng COM.
giao ti p n i ti p v i 2 ngõ COM này Bus h th ng c a CPU (Data Bus và