1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế đồng hồ thời gian thực hiển thị LCD sử dụng cổng nối tiếp

22 460 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 1,11 MB

Nội dung

Trờng ĐH Công Nghiệp Hà Nội ghép Nối Máy Tính ` Lời Nói Đầu Ngày nay, thiết bị máy móc, hệ thống nhằm phục vụ đời sống ngời sinh hoạt nh sản xuất phát triển nhanh ngày thông minh Sở dĩ có đợc điều nhờ ứng dụng thành tựu khoa học kỹ thuật Một vô số thành tựu khoa học kỹ thuật nói chung, khoa học kỹ thuật điện tử nói riêng vi điều khiển, ghép nối máy tính Trong thiết bị điện điện tử dân dụng, vi điều khiển điều khiển hoạt động ti vi, máy giặt, đầu đọc laser, điện thoại, lò vi ba hệ thống sản xuất tự động, vi điều khiển đợc sử dụng rụ bốt, dây truyền tự động, hệ thống thông minh vai trò hệ vi điều khiển quan trọng Đây nói đến vi điều khiển, ghép nối máy tính có có nhiều ứng dụng có liên quan đến vi điều khiển Ghép nối máy tính với máy in, máy quét, máy ảnh, máy quay phim qua cổng ghép nối máy tính Qua học tập nghiên cứu chúng em tìm hiểu đề tài : Thit k ng h thi gian thc hin th LCD s dng cng ni tip Do thời gian nghiên cứu kinh nghiệm hạn chế nên không tránh khỏi thiếu sót Vì vậy, em mong góp ý bảo thầy cô bạn Chúng em xin chân thành cảm ơn! Hà Nội, Ngày 08Tháng 03Năm 2011 Giáo viên hớng dẫn :Phm Vn Chin Nhóm sinh viên thực hiện: Nguyn c Cng :Lờ Vit Hựng :Mai Th Tho Lớp : in T 2_k2 Lp in t k2 Nhúm thc hiờn:DCN105 Trờng ĐH Công Nghiệp Hà Nội ghép Nối Máy Tính Phần I: Giới thiệu chung ghép nối máy tính A Giới thiệu Sự phát triển ghép nối máy tính mở rộng đáng kẻ lĩnh vực ứng dụng máy tính, đặc biệt đo lờng điều khiển Thực tế cho thấy, công ty xí nghiệp ng dụng kỹ thuật ghép nối nhiều, Ví Dụ: Những điều khiển CNC, dây truyền công nghệ sản xuất xi măng, điều khiển thiết bị khác nh phần cứng chơng trình ngời sử dụng viết, ngôn ngữ giao tiếp là: Pascal, C++, ASM, VB, VB.net có khả ghép nối máy tính có độ xác cao, thời gian thu nhập số liệu ngắn quan trọng mức thu thập xử lý kết Đề tài, đo điện áp chiều hiển thị hình LCD máy tính dạng đồ thị đề tài tơng đối khó có nhiều ứng dụng ngàng điện tử mộ số ngành khác B Sự giao tiếp máy tính khối ghép nối I Máy tính khối ghép nối Nh biết cấu trúc máy tính đợc chia làm phần chính: Khối xử lý trung tâm CPU làm nhiệm vụ thu thập xử lý mi liệu Khối nhớ (Memory): Lu trữ loại liệu khác đa vào lấy lấy CPU Khối vào (I/O): Làm nhiệm vụ tơng thích với thiết bị bên đờng Bus máy tính Trong máy tính thờng có thiết bị ngoại vi sau: Màn Hình, bàn phím, chuột, loa, máy in Với thiết bị ngoại vi đó, máy tính có khối xử lý tơng ứng, ví dụ: Khối ghép bus máy tính với hình card hình (VGA), khối ghép bus máy tính với loa soundcard thông thờng máy tính hệ khối ghép nối cho thiết bị ngoại vi thông dụng đợc tích hợp mạch gọi Mainboard Tuy nhiên máy tính không ch dừng lại ghép nối với máy in, hình, loa, mà đợc ứng dụng vô rộng rãi nhiều lĩnh vực Nhờ cổng ghép nối RS232, LPT, cổng USB, khe căm mở rộng mà tạo phần cng ghép nối vơi máy tính dới điều khiển phn mềm Nội dung môn học vào nghiên cửu cổng, cỏc khe cắm mở rộng máy tính, đ từ ta chế tạo khối ghép nối phục vụ nhiều lĩnh vực công nghiệp nh o lờng điều khiển Lp in t k2 Nhúm thc hiờn:DCN105 Trờng ĐH Công Nghiệp Hà Nội ghép Nối Máy Tính Các dạng tin trao đổi máy tính a Dạng số (Digital) Đây chuỗi bit đợc biểu diễn theo hệ đếm nh: nh phân, hệ thập lục phân Các tín hiệu có thẻ dạng nối tiếp song song mức có thẻ RS TTL b Dạng chữ (Text) Đây biểu diễn ký tự dới dạng số, giới thông dụng biểu diễn ký theo mã ASCCII Theo cách ký tự đợc biểu diễn c bit 0,1 hệ thập lục phân, ví dụ: Mã ký tự A 41h Dạng tín hiệu coi tìn hiệu số c Dạng tơng tự (Analog) Đây dòng điện hay n áp biến đổi liên tục theo thời gian Điển hình đại lợng vật lý thu thập từ cảm biến (sensor) Muốn xử lý đợc tín hiệu này, máy tính (khối ghép nối) phải chuyển sang dạng số biến đổi ADC d Dạng âm tần Đây dạng tổng hợp nhiều tín hiệu tơng tự vơi tín hiệu số vi biên độ khác Cũng có thẻ coi đõy dạng tín hiệu Analog Các dạng thông tin trao đổi máy tính Trong trình gửi tin từ thiết bị ngoại vi vào máy tính có dạng tín hiệu sau: Tin trạng thái thiết bị ngoại vi Tin mạng liệu cần trao đổi Trong trình ngợc lại Tin liệu trao đổi Tin mang lệnh điều khiển Các phơng thức trao đổi tin máy tính Trao đổi theo chơng trình (Assembly, Pascal, C++, VB, VB.net ) Trao đổi trực tiếp với khối nhớ (DMA Direct Memory Access) a Chế độ trao đổi tin theo chơng trình Đây chế độ trao đổi tin máy tính trao đổi với thiết bị ngoại vi lệnh vào Lệnh dịch chuyển liệu ghi Cụ thể: Trong ngôn ngữ Asembly lệnh đợc lệnh dành cho trao đổi IN, OUT, MOV Trong ngôn ngữ Pascal: Đọc byte liệu: X:=PORT[địa chỉ] Đa byte liệu: PORT[địa chỉ]: =y; Đọc byte liệu: OUTPORT(địa chỉ, y) Trong chế độ trao đổi theo chơng trình có phơng pháp: Lp in t k2 Nhúm thc hiờn:DCN105 Trờng ĐH Công Nghiệp Hà Nội ghép Nối Máy Tính Phơng pháp trao đổi đồng phơng pháp này, máy tính tiến hành trao đổi tin v i thiết bị khởi động xong mà không cần biết trạng thái trạng thái đờng dây nh thiết bị Để thực đợc phơng pháp yêu cầu là: + Tốc độ trao đổi tin thiết bị lớn tốc độ trao đổi tin máy tính + Thiết bị cần phải trạng thái sẵn sàng máy tính khởi động xong + Phơng pháp có u điểm tốc độ trao đổi tin nhanh nhng có nhợc điểm dễ bị tin thiết bị cha trạng thái sãn sàng Phơng pháp không đồng Trong phơng pháp này, trớc trao đổi tin, máy tính tiến hành đọc, kiểm tra trạng thái thiết bị ngoài, nên thiết bị trạng thái sẵn sàng tiến hành trao đổi tin ngợc lại chờ Ngoài trình trao đổi, tin bị lỗi yêu cu truyền lại Phơng pháp có độ tin cậy cao nhng tốc độ chậm phơng pháp đồng Phơng pháp trao đổi ngắt chơng trình Phơng pháp lợi dụng đợc u điểm, khắc phục đợc nhợc điểm hai phơng pháp trên: + Khi thiết bị có yêu cầu trao đổi gửi tin tín hiệu theo yêu cầu (ngắt) đến máy tính + Máy tính dừng chơng trình phục vụ (nếu thiết bị yêu cầu có mức yêu tiên cao hơn) nhớ lại dừng đồng thời gửi tín hiệu xác nhận, yêu cầu thiết bị trao đổi tin + Máy tính thiết bị trao đổi tin theo chơng trình (gọi chơng trình phục vụ ngắt) + Kết thúc trình trao đổi tin, máy tính trở lại chơng trình từ điểm dừng + Phơng pháp trao đổi theo ngắn chơng trình khắc phục đợc nhợc điểm hai phơng pháp đồng không đồng bộ, cho phép tận dụng tối đa thời gian làm việc máy tính b Trao đổi MDA Đây phơng thức trao đổi trực tiếp với khối nhớ máy tính mà không thông qua CPU Khi CPU trạng thái treo nhờng quyền điều khiển bù cho ghép nối Thiết bị khối nhớ máy tính tiến hành trao đổi (đọc/ghi liệu) Sau trình kết thúc nhờng lại quyền điều khiển Bus cho CPU Lp in t k2 Nhúm thc hiờn:DCN105 Trờng ĐH Công Nghiệp Hà Nội ghép Nối Máy Tính Phần II: ghép nối truyền tin nối tiếp I Khái Niệm Về Truyền Tin Nối Tiếp Khái niệm Truyền tin nối tiếp phơng thức truyền tin bit mang thông tin đợc truyền đờng dẫn vật lý Tại thời điểm phía bên truyền bên nhận truyền ( nhận) bit Ưu điểm truyền tin nối tiếp : + Tiết kiệm đờng dẫn + Có khả truyền xa Nhợc điểm + Tốc độ chậm thiết bị thờng phải có khối chuyển đổi nối tiếp song song, song song nối tiếp sử dụng phơng pháp để trao đổi tin Các phơng thức truyền tin nối tiếp Có phơng thức truyền tin nối tiếp : + Phơng thức đồng : Các byte chứa bit thông tin đợc truyền liên tiếp đờng truyền đợc ngăn cách ( phân biệt ) bit đồng khung (SYN) Hình + Phơng thức không đồng : Các byte chứa bit thông tin đợc chứa khung khung đợc bắt đầu bit start, bit mang thông tin, bit kiểm tra chẵn lẻ kết thúc bit stop Khoảng cách khung bit dừng , đờng truyền đợc lấy lên mức cao (hình ) + Phơng thức lai : ây phơng thức kết hợp hai phơng pháp , bit khung đợc truyềng theo phơng thức không đồng byte đợc truyền theo phơng thức đồng Hình Hình Lp in t k2 Nhúm thc hiờn:DCN105 Trờng ĐH Công Nghiệp Hà Nội ghép Nối Máy Tính II Cổng Nối Tiếp Giới thiệu Cổng nối tiếp RS232 giao diện phổ biến rộng rãi , ta gọi cổng com ,com2 , để tự cho ứng dụng khác , giống nh cổng máy in , cổng nối tiếp RS232 đợc dử dụng thuận tiện việc ghép nối máy tính với thiết bị ngoại vi Việc truyền liệu qua cổng RS232 đợc tiến hành theo cách nối tiếp nghĩa bit liệu đợc gửi nối tiếp với đờng dẫn Cấu trúc cổng nối tiếp í nghĩa chân tín hiệu nh sau : Mức tín hiệu chân cổng nối tiếp thờng nằm khoảng -12v _ +12v Các bit liệu đợc đảo ngợc lại mức điện áp mức logic : -12v _ -3v mức điện áp mức logic : +3v _ +12v trạng thái tĩnh đờng dẫn có mức điện áp -12v tốc độ baund ta thiết lập tốc độ truyền liệu giá trị thông thờng : 300, 600, 1200, 2400,4800, 9600 ịa cổng nh sau : Com1: địa : 3F8H Com2: địa : 2F8H Com3: địa : 3E8H Com4: địa : 2E8H Lp in t k2 Nhúm thc hiờn:DCN105 Trờng ĐH Công Nghiệp Hà Nội ghép Nối Máy Tính Sự trao đổi đờng dẫn tín hiệu : Trên máy tính có vi mạch đảm bảo việc truyền (nhận) liệu thông qua cổng nối tiếp, vi mạch gọi UART ( truyền nhận nối tiếp không đồng ) UART để điều khiển trao đổi thông tin máy tính thiết bị ngoại vi , phổ biến vi mạch 8250 hãng NSC thiết bị , nh 16C550 , UART có 10 ghi để điều khiển tất chức việc nhập vào xuất liệu theo cách nối tiếp Các ghi điều khiển a) Thanh ghi điều khiển modem(3F8 +4) D7 D6 D5 D4 D3 D2 D1 D0 0 LOOP OUT2 OUT1 RTS DTR D0=1 : đa DTR=0 D0=0 : đa DTR =1 D1=1: đa RTS =0 D1=0: đa RTS =1 OUT1 , OUT2 điều khiển đầu phụ b) Thanh ghi trạng thái modem(3F8+6) RLSD RI DSR CTS RLSD1 RI1 DSR1 CTR1 Thanh ghi nhiệm vụ thông báo trạnh thái đờng dẫn bắt tay điều ý ghi : D4, D5 ,D6 lối vào đờng dẫn CTS , DSR , RI đợc đảo c) Thanh ghi điều khiển đờng truyền( 3F8+3) C7 C6 C5 C4 C3 C2 C1 C0 C1, C0 : đặt số bit từ 00: bit 01: bit 10 : bit 11: bit C2 : bit dừng : bit dừng 1: 1,5 bit dừng C3 : bit kiểm tra chẵn lẻ : không kiểm tra : có kiểm tra C4 : loại chẵn lẻ 0: bit lẻ Lp in t k2 Nhúm thc hiờn:DCN105 Trờng ĐH Công Nghiệp Hà Nội ghép Nối Máy Tính 1: bit chẵn C5 : stick bit 0: stick bit 1: stick bit C6 : đặt break 0: normal output 1: gửi break C7 ( DLAB) : bit phân chia truy nhập cho ghi địa d) Thanh ghi trạng thái đờng truyền (3F8+5) S6 S5 S4 S3 S2 S1 S0 S0=1: Khi có byte nhận đợc S1=1: Khi ký tự trớc không đợc đọc ký tự đến xoá ký tự cũ đệm S2=1: Khi có lỗi chẵn lẻ S3=1: Khi có lỗi khung truyền S4=1 : Khi có gián đoạn đờng truyền S5=1 : Khi truyền rỗng cổng nối tiếp truyền nhận S6=1: Khi đệm truyền rỗng S7=0: Không sử dụng e) Thanh ghi cho phép ngắt ( 3F8+1) D7 D6 D5 D4 D3 D2 D1 D0 D0=1 : Cho phép ngắt nhận ký tự D1=1 : Cho phép ngắt đệm truyền rỗng D2=1: Cho phép ngắt thay đổi trạng thái đờng truyền D3=1: Cho phép ngắt thay đổi trạng thái modem D4=0 D5=0 D6=0 D7=0 f) Thanh ghi nhận dạng ngắt ( 3F8+2) D7 D6 0 D5 D4 D2 D1 D0 Mức u tiên 1 Lp in t k2 D3 D2 D1 D0 Nguồn gây ặt lại ngắt ngắt Không kiểm tra ngắt Cao Lỗi đờng nhận liệu ọc ghi Nhúm thc hiờn:DCN105 Trờng ĐH Công Nghiệp Hà Nội ghép Nối Máy Tính trạng thái đờng truyền ọc ghi đệm 0 Thứ Có liệu nhận Thứ 0 Thứ Thanh ghi đệm truyền rỗng Cỏc trng thỏi modem c ghi trng thỏi modem g) Thanh ghi chứa số chia tốc độ baud (byte thấp - địa sở ) ghi gồm có bit , chứa phần thấp số chia tốc độ baud số chia tốc độ baud tính theo công thức : số chia tốc độ baud = 1843200/( 16*tốc đọ baud cần thiết lập ) h) Thanh ghi chứa số chia tốc độ baud( byte cao 3F8+1) i) Thanh ghi đệm đọc viết ( 3F8) iii Nối ghép 8051 với RS232 Chuẩn RS232 không tơng thích với mức logic TTL, nên cần bổ sung thêm điều khiển đờng truyền, chẳng hạn nh chip MAX232 để chuyển đổi mức điện áp RS232 mức TTL ngợc lại Do nối ghép 8051 với đầu nối RS232 thông qua chip MAX232 a Chân RxD TxD 8051 8051 có hai chân đợc dùng chuyên cho truyền nhận liệu nối tiếp Hai chân RxD TxD phần cổng P3 (đó P3.0 P3.1 t ơng ứng) P3.0 chân số 10 8051, P3.1 chân số 11 Các chân tơng thích với mức logic TTL Do cần có thêm điều khiển đờng truyền để chúng tơng thích với RS232 Bộ điều khiển nh chip MAX232 b Bộ điều khiển đờng truyền MAX232 Vì RS232 không tơng thích với vi xử lý vi điều khiển nên ta cần điều khiển đờng truyền (bộ chuyển đổi điện áp) để chuyển đổi tín hiệu RS232 mức điện áp TTL đợc chân TxD RxD 8051 chấp nhận Một ví dụ chuyển đổi nh chip MAX232 hãng Maxim Bộ MAX232 chuyển đổi từ mức điện áp RS232 mức TTL ngợc lại Một điểm mạnh khác chip MAX232 dùng điện áp ân RxD đầu nối DB RS232 Bộ điều khiển đờng R1 có gán R1in R1out chân số 13 12 tơng ứng Chân R1in (chân số 13) phía RS232 đ MAX232 có gán T1in T1out chân số 11 tơng ứng Chân T1in phía TTL đợc nối tới chân RxD vi điều khiển, T1out phía RS232 đợc nối tới chân TxD đầu nối DB RS232 chân R1 out (chân số 12) phía TTL đợc nối tới chân RxD vi điều khiển, chân TxD bên phát đợc nối với RxD bên thu ngợc lại MAX232 cần có tụ điện giá trị từ đến 22àF giá trị thờng dùng 10àF Lp in t k2 Nhúm thc hiờn:DCN105 Trờng ĐH Công Nghiệp Hà Nội Lp in t k2 10 ghép Nối Máy Tính Nhúm thc hiờn:DCN105 Trờng ĐH Công Nghiệp Hà Nội ghép Nối Máy Tính Phần III: Nội dung đề tài I Chơng trình điều khiển VB Form 2.Chng trỡnh vb Dim chg As String Dim a, b, c As Integer Private Sub Command1_Click() Text3.Text = Format(Now, "hh:nn:ss") phut giay hien tai text3 End Sub Private Sub Command2_Click() If IsDate(Text3.Text) Then data type chua ca lan gio la DATE Lp in t k2 11 'hien thi gio 'text3="hh:nn:ss" Nhúm thc hiờn:DCN105 Trờng ĐH Công Nghiệp Hà Nội ghép Nối Máy Tính Time = Format(Text3.Text, "hh:nn:ss") 'cho phep dat lai gio he thong text3 Else MsgBox "loi nhap gio.moi ban nhap lai gio!" 'thong bao loi nhap gio End If End Sub Private Sub Command3_Click() Text4.Text = Format(Now, "dd/mm/yyyy") 'hien thi thang nam hien tai text4 End Sub Private Sub Command4_Click() If IsDate(Text4.Text) Then 'text4="dd/mm/yyyy" Date = Format(Text4.Text, "dd/mm/yyyy") 'cho phep dat lai he thong text4 Else MsgBox "loi nhap ngay.moi ban map lai ngay!" 'thong bao loi nhap End If End Sub Private Sub Command5_Click() 'lenh thoat If MSComm1.PortOpen = True Then MSComm1.PortOpen = False End If End End Sub Private Sub Command6_Click() ' hien tho gio phut Timer1.Enabled = True Timer2.Enabled = False Timer3.Enabled = False Timer4.Enabled = False Timer1.Interval = 100 End Sub Private Sub Command7_Click() 'hien thi phut giay Timer1.Enabled = False Timer2.Enabled = True Timer3.Enabled = False Timer4.Enabled = False Timer2.Interval = 100 End Sub Private Sub Command8_Click() 'hien thi thang Timer1.Enabled = False Timer2.Enabled = False Timer3.Enabled = True Timer4.Enabled = False Lp in t k2 12 Nhúm thc hiờn:DCN105 Trờng ĐH Công Nghiệp Hà Nội ghép Nối Máy Tính Timer3.Interval = 100 End Sub Private Sub Command9_Click() 'hien thi thang nam Timer1.Enabled = False Timer2.Enabled = False Timer3.Enabled = False Timer4.Enabled = True Timer4.Interval = 100 End Sub Private Sub Form_Load() MSComm1.CommPort = MSComm1.Settings = "9600,N,8,1" MSComm1.RThreshold = MSComm1.InputMode = MSComm1.SThreshold = If MSComm1.PortOpen = False Then MSComm1.PortOpen = True End If Text3.Text = " " Text4.Text = " " Text5.Text = " " End Sub Private Sub Timer1_Timer() Text1.Text = Format(Now, "hh:nn:ss") phut giay hien tai text1 Text2.Text = Format(Now, "dd/mm/yyyy") thang nam hien tai text2 Text5.Text = Format(Now, "hh:nn") thi gio phut send ("g") xuong VDK a = Hour(Now) tai cho bien a send (Chr(a Mod 256)) cua gio xuong VDK send (Chr(a \ 256)) cua gio xuong VDK b = Minute(Now) tai cho bien b send (Chr(b Mod 256)) cua phut xuong VDK send (Chr(b \ 256)) cua phut xuong VDK c = Second(Now) tai cho bien c send (Chr(c Mod 256)) cua giay xuong VDK Lp in t k2 13 'mo cong 'gio phut 'hien thi gio 'hien thi 'dinh dang hien ' gui ky tu g ' gan gio hien ' gui byte thap ' gui byte cao ' gan phut hien ' gui byte thap ' gui byte cao ' gan giay hien ' gui byte cao Nhúm thc hiờn:DCN105 Trờng ĐH Công Nghiệp Hà Nội ghép Nối Máy Tính send (Chr(c \ 256)) ' cua giay xuong VDK d = Day(Now) ' tai cho bien d send (Chr(d Mod 256)) ' cua xuong VDK send (Chr(d \ 256)) ' cua xuong VDK e = Month(Now) ' tai cho bien e send (Chr(e Mod 256)) ' cua thang xuong VDK send (Chr(e \ 256)) ' cua thang xuong VDK f = Year(Now) ' tai cho bien f send (Chr(((f Mod 1000) Mod 100) Mod 256)) thap cua nam xuong VDK send (Chr(((f Mod 1000) Mod 100) / 256)) ' cua nam xuong VDK End Sub gui byte cao gan hien gui byte thap gui byte cao gan thang hien gui byte thap gui byte cao gan nam hien ' gui byte gui byte cao Private Sub Timer2_Timer() 'phut giay Text1.Text = Format(Now, "hh:nn:ss") Text2.Text = Format(Now, "dd/mm/yyyy") Text5.Text = Format(Now, "nn:ss") send ("p") ' gui ky tu p xuong VDK a = Hour(Now) send (Chr(a Mod 256)) send (Chr(a \ 256)) b = Minute(Now) send (Chr(b Mod 256)) send (Chr(b \ 256)) c = Second(Now) send (Chr(c Mod 256)) send (Chr(c \ 256)) d = Day(Now) send (Chr(d Mod 256)) send (Chr(d \ 256)) e = Month(Now) send (Chr(e Mod 256)) send (Chr(e \ 256)) f = Year(Now) send (Chr(((f Mod 1000) Mod 100) Mod 256)) send (Chr(((f Mod 1000) Mod 100) / 256)) End Sub Private Sub Timer3_Timer() 'ngy thỏng Text1.Text = Format(Now, "hh:nn:ss") Text2.Text = Format(Now, "dd/mm/yyyy") Text5.Text = Format(Now, "dd/mm") send ("t") ' gui ky tu t xuong VDK Lp in t k2 14 Nhúm thc hiờn:DCN105 Trờng ĐH Công Nghiệp Hà Nội ghép Nối Máy Tính a = Hour(Now) send (Chr(a Mod 256)) send (Chr(a \ 256)) b = Minute(Now) send (Chr(b Mod 256)) send (Chr(b \ 256)) c = Second(Now) send (Chr(c Mod 256)) send (Chr(c \ 256)) d = Day(Now) send (Chr(d Mod 256)) send (Chr(d \ 256)) e = Month(Now) send (Chr(e Mod 256)) send (Chr(e \ 256)) f = Year(Now) send (Chr(((f Mod 1000) Mod 100) Mod 256)) send (Chr(((f Mod 1000) Mod 100) / 256)) End Sub Private Sub Timer4_Timer() 'thang nam Text1.Text = Format(Now, "hh:nn:ss") Text2.Text = Format(Now, "dd/mm/yyyy") Text5.Text = Format(Now, "mm / yy") send ("n") ' gui ky tu n xuong VDK a = Hour(Now) send (Chr(a Mod 256)) send (Chr(a \ 256)) b = Minute(Now) send (Chr(b Mod 256)) send (Chr(b \ 256)) c = Second(Now) send (Chr(c Mod 256)) send (Chr(c \ 256)) d = Day(Now) send (Chr(d Mod 256)) send (Chr(d \ 256)) e = Month(Now) send (Chr(e Mod 256)) send (Chr(e \ 256)) f = Year(Now) send (Chr(((f Mod 1000) Mod 100) Mod 256)) send (Chr(((f Mod 1000) Mod 100) / 256)) End Sub Sub send(buffer As String) If MSComm1.PortOpen = True Then MSComm1.Output = buffer End If End Sub II Chơng trình vi điều khiển // Chuong trinh hien thi thoi gian thuc tren LCD Lp in t k2 15 Nhúm thc hiờn:DCN105 Trờng ĐH Công Nghiệp Hà Nội ghép Nối Máy Tính // Giao tiep voi may tinh qua cong COM // lap trinh vi dieu khien ghep noi may tinh hien thi lcd #include #include #include #include //Dinh nghia I/O sbit en_lcd=P2^6; sbit rw_lcd=P2^5; sbit rs_lcd=P2^4; sbit d7=P0^7; unsigned int gp[13]; //mang giu lieu unsigned char i,j, count1,count2,sec1,sec2,h1,h2,m1,m2,ngay1,ngay2,thang1,thang2,nam1,nam2; char hour,minute,sec,ngay,thang,nam; void delay(unsigned int number) { unsigned char j; unsigned int i; for(i=0;i[...]... P0=command; // gui lennh command len LCD en _lcd= 1; delay(1); en _lcd= 0; // dua xung EN xuong muc thap de chot du lieu delay(1); } /***************** Ham gui du lieu len LCD ****************/ void write_data(unsigned char lcd_ data) { lcd_ ban(); rs _lcd= 1; rw _lcd= 0; P0 =lcd_ data; // gui du lieu data len LCD en _lcd= 1; delay(1); en _lcd= 0; delay(1); } /*************** Ham khoi tao cho LCD* ****************/ void khoitao()... /******************* Ham kiem tra LCD ******************/ void lcd_ ban(void) { long n=0; P0=0xff; en _lcd= 1; rs _lcd= 0; rw _lcd= 1; while(d7==1) { n++; if(n>=100) break; } en _lcd= 0; } /**************** Ham gui mot lenh len LCD* ********************/ Lớp điện tử 2 k2 16 Nhóm thực hiên:DCN105 Trêng §H C«ng NghiÖp Hµ Néi ghÐp Nèi M¸y TÝnh void write_command(unsigned char command) { lcd_ ban(); rs _lcd= 0; rw _lcd= 0; P0=command;... // Chuong trinh hien thi thoi gian thuc tren LCD Lớp điện tử 2 k2 15 Nhóm thực hiên:DCN105 Trêng §H C«ng NghiÖp Hµ Néi ghÐp Nèi M¸y TÝnh // Giao tiep voi may tinh qua cong COM // lap trinh vi dieu khien ghep noi may tinh hien thi lcd #include #include #include #include //Dinh nghia I/O sbit en _lcd= P2^6; sbit rw _lcd= P2^5; sbit rs _lcd= P2^4; sbit d7=P0^7; unsigned... nhay con tro } /*************************** Ham gui mot ki tu len LCD *****************************/ void write_string(char *s) { while(*s) { write_data(*s); // viet tung ki tu len lcd khi chuoi do con ki tu s++; Lớp điện tử 2 k2 17 Nhóm thực hiên:DCN105 Trêng §H C«ng NghiÖp Hµ Néi ghÐp Nèi M¸y TÝnh } } /************ Ham hien thi cho LCD ***************/ void hienthi(unsigned int n) { write_data(48+n);... hienthi(nam2); write_command(0xc9); hienthi(thang1); hienthi(thang2); } } } Lớp điện tử 2 k2 20 Nhóm thực hiên:DCN105 Trêng §H C«ng NghiÖp Hµ Néi ghÐp Nèi M¸y TÝnh Iii S¬ Đå Nguyªn Lý IV Sơ Đồ Mạch In: Lớp điện tử 2 k2 21 Nhóm thực hiên:DCN105 Trêng §H C«ng NghiÖp Hµ Néi Lớp điện tử 2 k2 22 ghÐp Nèi M¸y TÝnh Nhóm thực hiên:DCN105 ... hinh delay(20); write_command(0x80); write_string("* DONG HO LCD *"); write_command(0xc8); write_string("/" ); delay(10); sec=0; hour=0; minute=0; thang=0; nam=0; ngay=0; while(1) { for(i=0;i ... gui du lieu len LCD ****************/ void write_data(unsigned char lcd_ data) { lcd_ ban(); rs _lcd= 1; rw _lcd= 0; P0 =lcd_ data; // gui du lieu data len LCD en _lcd= 1; delay(1); en _lcd= 0; delay(1);... tra LCD ******************/ void lcd_ ban(void) { long n=0; P0=0xff; en _lcd= 1; rs _lcd= 0; rw _lcd= 1; while(d7==1) { n++; if(n>=100) break; } en _lcd= 0; } /**************** Ham gui mot lenh len LCD* ********************/... Tính void write_command(unsigned char command) { lcd_ ban(); rs _lcd= 0; rw _lcd= 0; P0=command; // gui lennh command len LCD en _lcd= 1; delay(1); en _lcd= 0; // dua xung EN xuong muc thap de chot du

Ngày đăng: 08/12/2015, 13:48

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w