Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 35 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
35
Dung lượng
1,14 MB
Nội dung
Đồ án môn học GVHD: NGUYỄN VĂN NGA I-Mở bài: 1) Vị trí đề tài: Ngày với phát triển công nghiệp điện tử vấn đề giao tiếp đơn giản, tốc độ truyền xử lý liệu ngày trọng Chuẩn giao tiếp USB ngày sử dụng rộng rãi để đáp ứng yêu cầu để thay dần cho giao tiếp cổng com, lpt có tốc độ thấp 2) Tình hình nghiên cứu nay: - Ở Việt Nam: + Tại trường đại học có nhiều đề tài giao tiếp máy tính với vi điều khiển AVR cổng usb, với PIC có đề tài chủ yếu giao tiếp qua lớp HID + Trên thị trường có doanh nghiệp giao tiếp thành công tự viết driver cho thiết bị truyền với tốc độ cao - Trên giới: vấn đề giao tiếp máy tính với vi điều khiển qua cổng usb nghiên cứu lâu, có nhiều sản phẩm kit thí nghiệm, mạch nạp cổng usb 3) Tiếp cận đề tài: -Có kiến thức kỹ thuật số, vi điều khiển PIC, điện tử bản, kiến thưc chuẩn usb, lập trình C (hoặc ngôn ngữ lập trình khác) *Hướng giải đề tài: - Tìm hiểu linh kiện liên quan đến đề tài, so sánh tính ưu việt linh kiện tương quan nhằm lựa chọn linh kiện thiết kế cho phù hợp - Thiết kế mạch - Chạy mô - Thi hành mạch II- Lựa chọn phương án : Phương án 1: sử dụng vi điều khiển có hổ trợ giao tiếp USB Ưu điểm: giá thành rẽ, có nhiều phần mềm hổ trợ Khuyết điểm: Có số phần mềm đòi hỏi viết driver Phương án 2: sử dụng sẵn module giao tiếp USB, xây dựng ứng dụng mong muốn Ưu điểm: dễ thiết kế, lập trình đơn giản (ứng dụng), không nhiều thời gian để viết driver Khuyết điểm: giá thành cao Phương án 3: sử dụng cổng com ảo Ưu điểm: lập trình cổng com Khuyết điểm: tốc độ thấp so với cổng usb Từ phân tích từ yêu cầu đề tài nên em chọn phương án SVTH : Nguyễn Văn Trung Đồ án môn học GVHD: NGUYỄN VĂN NGA Các lựa chọn phương án 1: - Vi xử lý: AVR, pic 18F2550, pic 18F4450 - Hiển thị: led ma trận,LCD, led đoạn - Phần mền: CCS, Delphi, mikcroC, C#,C+ - Tạo giao diện: VB, mikcroC 1) Lựa chọn vi điều khiển: PIC 18F2250 có 28 chân có cấu trúc sau: -Có port xuất nhập A,B,C -10 kênh chuyển đổi tương tự sang số 10 bit -Có timers: timer 16 bit, timer bit -Có hỗ trợ giao tiếp USB -Bộ nhớ liệu EEPROM: 256 bytes -Bộ nhớ chương trình : 32768 bytes -Có giao tiếp nối tiếp MSSP, ENHANCED UART -Giao tiếp song song PSP -Có 19 nguồn ngắt - Tần số hoạt động: 0-48MHz PIC 18F4550 có thông số 18F2550: -Có port xuất nhập A,B,C, D,E -13 kênh chuyển đổi tương tự sang số 10 bit -Có timers: timer 16 bit, timer bit -Có hỗ trợ giao tiếp USB -Bộ nhớ liệu EEPROM: 256 bytes -Bộ nhớ chương trình: 32768 bytes -Có giao tiếp nối tiếp MSSP, ENHANCED UART -Giao tiếp song song PSP -Có 20 nguồn ngắt - Tần số hoạt động: 0-48MHz AVR: có nhiều dòng hỗ trợ giao tiếp usb tiny2313 * Đề tài chọn PIC 18F2550 vì: - Có kiến thức 16F877A - Do yêu cầu đề tài giá thành 2) Lựa chọn khối hiển thị: - Led ma trận hiển thị nhiều thông tin led đoạn phù hợp với việc điều khiển hiển thị từ máy tính -LCD hiển thị đựợc nhiều thông tin cở chữ nhỏ Do đề tài chọn led ma trận 3) Lựa phần mềm: SVTH : Nguyễn Văn Trung Đồ án môn học GVHD: NGUYỄN VĂN NGA Trên thị trường có nhiều chương trình biên dịch C cho vi điều khiển PIC18 Các trình bên dịch có nhiều đặc tính giống nhau, chúng dùng để phát triển chương trình C cho PIC18 Vài trình biên dịch C thường dùng: -MikroC -PICC18 -C18 -CCS MikroC: xây dựng MikroElektronika Dễ dàng để học với số lượng lớn hàm hỗ trợ để lập trình, có hỗ trợ hàm giao tiếp usb, có sẵn giao diện PICC18: xây dựng Hi-Tech Software, với hai phiên standard and professional PICC18 hỗ trợ phần mềm mô PROTEUS dùng để mô vi điều khiển PIC C18: xây dựng Microchip Inc, bao gồm việc mô phỏng, hỗ trợ phần cứng CCS: xây dựng Custom Computer Systems Inc, cung cấp số lượng lớn hàm để lập trình mạch debugger, chúng hữu ích để phát triển PIC có hỗ trợ hàm giao tiếp usb Người nghiên cứu chọn CCS để viết chương trình, VB để viết giao diện 5) Sơ đồ: a) Phần cứng: Nguồn DC Nút nhấn (mở rộng) Máy tính usb Vi điều khiển PIC18F4550 Hiển thị led ma trận b) Phần mềm: Lưu đồ SVTH : Nguyễn Văn Trung Đồ án môn học GVHD: NGUYỄN VĂN NGA Bắt đầu Bắt đầu Gởi data từ máy S Gởi data từ vđk Đ Đ Xử lý Xử lý Hiển thị led ma trận Hiển thị giao diện Kết thúc Lưu đồ vđk S Kết thúc Lưu đồ máy tính III- Giới thiệu linh kiện phần mềm A-Vi điều khiển PIC 18F2550: 1-Giới thiệu sơ lược PIC 18F2550 -Có port xuất nhập A,B,C SVTH : Nguyễn Văn Trung Đồ án môn học GVHD: NGUYỄN VĂN NGA -10 kênh chuyển đổi tương tự sang số 10 bit -Có timers: timer 16 bit, timer bit -Có hỗ trợ giao tiếp USB -Bộ nhớ liệu EEPROM: 256 bytes -Bộ nhớ chương trình: 32768 bytes -Có giao tiếp nối tiếp MSSP, ENHANCED UART -Giao tiếp song song PSP -Có 19 nguồn ngắt - Tần số hoạt động: 0-48MHz 2- Sơ đồ chân chức chân Sơ đồ chân: - Chân MCLR\/Vpp/RE3 (chân 1): + MCLR\: ngõ vào reset tích cực mức thấp +Vpp: lập trình cho PIC đóng vai trò ngõ vào nhận điện áp lập trình +RE3: ngõ vào số -OSC1/CLK1 (chân 9): + OSC1: ngõ vào dao động thạch anh ngõ vào nguồn xung bên + CLK: ngõ vào nguồn xung bên -OSC2/CLK0/RA6(chân 10): + OSC2: ngõ vào dao động thạch anh + CLK0: việc chọn mode, ¼ tần số OSC1 -RC4/D-/VM (chân 15): +RC4: ngõ vào số SVTH : Nguyễn Văn Trung Đồ án môn học GVHD: NGUYỄN VĂN NGA +D-: ngõ vào trừ USB -RC5/D+/VP (chân 16): +RC5: ngõ vào số +D-: ngõ vào cộng USB -VUSB (chân 14): chân nguồn USB 3,3V -Vss (chân 8,19) : chân GND -VDD (chân 20): chân nguồn dương 3- Đặc tính điện: - Dòng điện vào /ra =25mA 4-Các ghi: - Chế độ hoạt động USB cài đặt quản lý ghi điều khiển: +USB control register (UCON) +USB configuration registor (UCFG) +USB transfer status register (USTAT) +USB device Address register (UADDR) Thanh ghi UCON: chứa bit cần thiết để điều khiển hoạt động module trình chuyển đổi Thanh ghi chứa bit điều khiển: -Cho phép thiết bị ngoại vi USB - Reset Ping-Pong buffer pointer - Điều khiển chế độ suspend -Cấm chuyển đổi gói Ngoài chứa bit trạng thái SVTH : Nguyễn Văn Trung Đồ án môn học GVHD: NGUYỄN VĂN NGA -Thanh ghi UCFG: chứa hầu hết bit điều khiển hoạt động module USB: +Tốc độ bus +Cho phép điện trở kéo lên chip +Cho phép chuyển đổi chip +Sử dụng ping-pong buffer SVTH : Nguyễn Văn Trung Đồ án môn học GVHD: NGUYỄN VĂN NGA -Thanh ghi USATA: ghi chứa số endpoint, đệm ping-pong, giá trị trỏ SVTH : Nguyễn Văn Trung Đồ án môn học GVHD: NGUYỄN VĂN NGA -Thanh ghi UADDR: chứa địa USB hoạt động.UADDR reset nhận lệnh reset usb reset vi điều khiển Địa usb phải viết vi điều khiển thông qua trình thiết lập usb firmware Mỉcochip hỗ trợ B-Giới thiệu usb: Universal serial bus (usb-bus truyền thông nối tiếp) giao diện phổ biến ứng dụng sản phẩm điện tử tiên tiến là: flash, card âm thanh… Usb chuẩn kết nối tốc độ cao với nguồn cung cấp 5v cung cấp cho thiết bị kết nối đến chúng, bus kết nối usb kết nối đến 127 thiết bị usb nối qua cáp dây truyền thông tin qua khoảng cách từ 3m đến 5m chiếu dài Nhiều thiết bị usb kết nối đến thiết bị gọi hub có đến 4, hay chí 16 port Một hub lại kết nối vào hub khác, thế, số lượng tầng lớp cho phép Trên lý thuyết khoảng cách cực đại đến trạm chủ 30 mét, sử dung hub Trên lý thuyết usb có phiên bản- phiên trước 1.1 hỗ trợ tốc độ truyền thông lên đến 11Mbps Trong phiên 2.0 hỗ trợ đến 480Mbps định nghĩa với tốc độ liệu: Low-speed: 1.5 Mbps Full-speed: 12 Mbps SVTH : Nguyễn Văn Trung Đồ án môn học GVHD: NGUYỄN VĂN NGA High-speed: 480 Mbps Usb bus cung cấp nguồn tối đa cho thiết bi đến 100mA với nguồn 5v Cáp usb sử dụng dây có lõi với đầu cáp che kín, có loại đầu nối usb kiểu A kiểu B Đầu nối kiểu A (trái)- đầu nối kiểu B (phải) Thứ tự chân Ý nghĩa chân Dây tín hiệu usb có dây, tín hiệu gửi từ máy chủ sử dung kỹ thuật mã hoá NRTI, Trong kỹ thuật tín hiệu đảo ngược cho thay đổi với mức logic 0.Tín hiệu cho mức logix không đổi SVTH : Nguyễn Văn Trung 10 Đồ án môn học GVHD: NGUYỄN VĂN NGA Đây IC dịch bit Dòng ngõ tối đa 500mA Điện áp ngõ vào -0,3v - 7v Điện áp ngõ lên tới 50V Điện áp cấp cho IC: 5v SVTH : Nguyễn Văn Trung 21 Đồ án môn học GVHD: NGUYỄN VĂN NGA G\: chân cho phép ngõ SER IN: chân liệu SRCK: chân dịch liệu tầng thứ RCK: chân chốt liệu ngõ SRCLR\: chân xoá ngõ 3- Transistor D468: SVTH : Nguyễn Văn Trung 22 Đồ án môn học GVHD: NGUYỄN VĂN NGA Dòng Ic=1A Hệ số khuếch đại: 85 – 170 Điện áp đánh thủng Vce=20V; Vcb= 25V Điện áp Vce-sat=0.5V VI- Thiết kế mạch: 1- Khối giao tiếp usb: VDD R5 10K SW2 RESET C5 10uf 33pf Y2 20MHz 33pf 33pf U2 10 11 12 13 14 MCLR RB7 RA0 RB6 RA1 RB5 RA2 RB4 RA3 RB3 RA4 RB2 RA5 RB1 VSS RB0 OSC1/CLKIN Vdd OSC2/CLKOUT VSS RC0 RC7 RC1 RC6 RC2 RC5/D+ Vusb RC4/DPIC18F2550 28 27 26 25 24 23 22 21 20 19 18 17 16 15 VDD VSS D+ D- USB 2-Khối điều khiển hiển thị RA0-RA4 dùng để điều khiển quét cột (led màu xanh) RC0- RC3 RC6RC7 dùng để quét cột (led màu đỏ) RB0- RB7 xuất liệu Bình thường led làm việc từ 10mA -20mA, áp 2V Khi làm việc bình thường (không dùng phương pháp quét) chọn dòng làm việc 20mA Khi điện trở led là: Rled=2/20=0.1(k )=100( ) Khi dùng phương pháp quét dòng tức thời phải 32 lần dòng làm việc bình thường tức 640mA (do sử dụng led ma trận 8x8), dòng trung SVTH : Nguyễn Văn Trung 23 Đồ án môn học GVHD: NGUYỄN VĂN NGA bình Iled-tb=640/32=20(mA) Do dòng tức thời lớn 500mA, nên dùng D468 khuếch đại dòng Chọn sat =90, dòng IB=640/90=7mA Do chọn giá trị điện trở sơ đồ 12V R16 CH0 12V D468 H1 4.7K 12V R17 CH1 D468 R20 4.7K 4.7K H2 12V R18 U6 RB0-RB7 12V 10 IN1 IN2 IN3 IN4 IN5 IN6 IN7 IN8 OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8 H3 12V R19 CH3 D468 4.7K 12V CH4 D468 H5 4.7K ULN2803 12V R26 H1 H2 H3 H4 H5 H6 H7 H8 DATA CH5 D468 4.7K H6 12V R27 CH6 D468 H7 12V 4.7K R24 CH7 D468 4.7K SVTH : Nguyễn Văn Trung H4 R25 COM GND D468 4.7K CH0 CH1 CH2 CH3 CH4 CH5 CH6 CH7 18 17 16 15 14 13 12 11 CH2 H8 24 Đồ án môn học GVHD: NGUYỄN VĂN NGA 5V U5 DSER IN DRCK 12 DSRCK 13 DG\ DSRCLR\ RC0-RC7 DSER IN DRCK DSRCK DSRCLR\ DG\ 20 5V U6 SER IN DRAIN0 VCC DRAIN1 RCK DRAIN2 SRCK DRAIN3 DRAIN4 G DRAIN5 SRCLR DRAIN6 DRAIN7 NC0 SDO NC1 GNDGNDGND 10 11 TPIC6595 14 15 16 17 18 M1_D0 M1_D1 M1_D2 M1_D3 M1_D4 M1_D5 M1_D6 M1_D7 DRCK 12 DSRCK 13 DG\ DSRCLR\ 20 19 SER IN DRAIN0 VCC DRAIN1 RCK DRAIN2 SRCK DRAIN3 DRAIN4 G DRAIN5 SRCLR DRAIN6 DRAIN7 NC0 SDO NC1 GNDGNDGND 10 11 TPIC6595 14 15 16 17 18 M2_D0 M2_D1 M2_D2 M2_D3 M2_D4 M2_D5 M2_D6 M2_D7 14 15 16 17 18 M4_D0 M4_D1 M4_D2 M4_D3 M4_D4 M4_D5 M4_D6 M4_D7 19 QUET COT DO 5V 5V U7 DRCK 12 DSRCK13 DG\ DSRCLR\ 20 U8 SER IN DRAIN0 VCC DRAIN1 DRAIN2 DRAIN3 DRAIN4 G DRAIN5 SRCLR DRAIN6 DRAIN7 NC0 SDO NC1 GNDGNDGND RCK SRCK 10 11 TPIC6595 19 SVTH : Nguyễn Văn Trung 14 15 16 17 18 M3_D0 M3_D1 M3_D2 M3_D3 M3_D4 M3_D5 M3_D6 M3_D7 DRCK 12 DSRCK13 DG\ DSRCLR\ 20 SER IN DRAIN0 VCC DRAIN1 RCK DRAIN2 SRCK DRAIN3 DRAIN4 G DRAIN5 SRCLR DRAIN6 DRAIN7 NC0 SDO NC1 GNDGNDGND 10 11 TPIC6595 19 25 Đồ án môn học GVHD: NGUYỄN VĂN NGA 5V U5 SER IN RCK SRCK 12 13 G\ SRCLR\ RA0-RA4 SER IN RCK SRCK SRCLR\ G\ 20 5V U6 SER IN DRAIN0 VCC DRAIN1 RCK DRAIN2 SRCK DRAIN3 DRAIN4 G DRAIN5 SRCLR DRAIN6 DRAIN7 NC0 SDO NC1 GNDGNDGND 10 11 TPIC6595 14 15 16 17 18 M1_D0 M1_D1 M1_D2 M1_D3 M1_D4 M1_D5 M1_D6 M1_D7 RCK SRCK G\ SRCLR\ 12 13 20 19 SER IN DRAIN0 VCC DRAIN1 RCK DRAIN2 SRCK DRAIN3 DRAIN4 G DRAIN5 SRCLR DRAIN6 DRAIN7 NC0 SDO NC1 GNDGNDGND 10 11 TPIC6595 14 15 16 17 18 M2_D0 M2_D1 M2_D2 M2_D3 M2_D4 M2_D5 M2_D6 M2_D7 14 15 16 17 18 M4_D0 M4_D1 M4_D2 M4_D3 M4_D4 M4_D5 M4_D6 M4_D7 19 QUET COT 5V 5V U7 RCK 12 SRCK 13 G\ SRCLR\ 20 U8 SER IN DRAIN0 VCC DRAIN1 DRAIN2 DRAIN3 DRAIN4 G DRAIN5 SRCLR DRAIN6 DRAIN7 NC0 SDO NC1 GNDGNDGND RCK SRCK 10 11 TPIC6595 19 14 15 16 17 18 M3_D0 M3_D1 M3_D2 M3_D3 M3_D4 M3_D5 M3_D6 M3_D7 RCK 12 SRCK 13 G\ SRCLR\ 20 SER IN DRAIN0 VCC DRAIN1 RCK DRAIN2 SRCK DRAIN3 DRAIN4 G DRAIN5 SRCLR DRAIN6 DRAIN7 NC0 SDO NC1 GNDGNDGND 10 11 TPIC6595 19 3) Tính công suất: Công suất tiêu thụ hàng: Pled =10x100=1W Công suất tiêu hàng: Pled=8w 4-Khối nguồn: Do công suất mạch khoảng 8W nên ta chọn IC ổn áp IC LM7812 cung cấp áp cho led ma trận ULN2803, LM7805 cung cấp áp cho linh kiện lại a- Nguồn 5v +Thông số LM7805: - Điện áp ổn áp ngõ Uout = 5v 0.1v - Dòng điện tối đa ngõ ra: Iout = 1A - Điện áp ngõ vào tối thiểu để điện áp ngõ ổn định: Uin(min) = 7v - Điện áp ngõ vào tối đa: 20v - Dòng điện chân nối đất IC 5mA SVTH : Nguyễn Văn Trung 26 Đồ án môn học GVHD: NGUYỄN VĂN NGA - Dòng điện ngõ vào tối đa: 1.005A + Mạch điện: Từ thông số LM7805 ta lấy nguồn 12v , 1A từ adapter 12v U35 VIN C11 78HT2 0.33uf VOUT GND 5v C12 0.1uf b-Nguồn 12v Do công suất cung cấp 8w nên chọn adapter 12v, 1A V- Phần mềm: 1-Phần giao diện Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long) Dim outputArray() As Long Dim dataArray As Variant Dim crcOK As Boolean Dim useCRC As Boolean Dim sampleSize As Integer Option Explicit Private Sub cmdWritePort_Click() Dim x As Integer Dim theCRC As Byte resetFields txtByte(0).Text = "14" txtByte(1).Text = txtWritePort.Text If Not MyDeviceDetected Then MyDeviceDetected = FindTheHid End If If MyDeviceDetected Then OutputReportData(0) = Val(txtByte(0).Text) OutputReportData(1) = Val(txtByte(1).Text) OutputReportData(2) = Val(txtByte(2).Text) OutputReportData(3) = Val(txtByte(3).Text) OutputReportData(4) = Val(txtByte(4).Text) OutputReportData(5) = Val(txtByte(5).Text) OutputReportData(6) = Val(txtByte(6).Text) OutputReportData(7) = Val(txtByte(7).Text) Call ReadAndWriteToDevice SVTH : Nguyễn Văn Trung 27 Đồ án môn học GVHD: NGUYỄN VĂN NGA lblReadData = Str$(ReadBuffer(1)) & "," Str$(ReadBuffer(2)) & "," & Str$(ReadBuffer(3)) & "," Str$(ReadBuffer(4)) & "," & Str$(ReadBuffer(5)) & "," Str$(ReadBuffer(6)) & "," & Str$(ReadBuffer(7)) & "," Str$(ReadBuffer(8)) If useCRC Then theCRC = calc_CRC(0, ReadBuffer(1)) theCRC = calc_CRC(theCRC, ReadBuffer(2)) theCRC = calc_CRC(theCRC, ReadBuffer(3)) theCRC = calc_CRC(theCRC, ReadBuffer(4)) theCRC = calc_CRC(theCRC, ReadBuffer(5)) theCRC = calc_CRC(theCRC, ReadBuffer(6)) theCRC = calc_CRC(theCRC, ReadBuffer(7)) If theCRC = ReadBuffer(8) Then lblReadData = lblReadData & " CRC OK" crcOK = True Else lblReadData = lblReadData & " CRC BAD" crcOK = False End If End If End If End Sub Private Sub Form_Load() frmMain.Show tmrDelay.Enabled = False sampleSize = 511 useCRC = True ReDim dataArray(sampleSize) As Integer End Sub Private Sub Form_Unload(Cancel As Integer) Dim Result As Long Result = CloseHandle(HIDHandle) Result = CloseHandle(ReadHandle) End Sub Public Sub resetFields() Dim i As Integer SVTH : Nguyễn Văn Trung 28 & & & & Đồ án môn học GVHD: NGUYỄN VĂN NGA For i = To txtByte(i).Text = "255" Next End Sub Private Sub thoat_Click() Unload Me End Sub Private Sub timerCheckConnection_Timer() If FindTheHid Then lblConnect.Caption = "Connected" lblConnect.ForeColor = RGB(0, 150, 0) Else lblConnect.Caption = "Disconnected" lblConnect.ForeColor = RGB(150, 0, 0) End If End Sub Private Sub tmrDelay_Timer() Timeout = True tmrDelay.Enabled = False End Sub 2-Chương trình C #define USB_PIC_PERIF #include #fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV 1,VREGEN #use delay(clock=48000000) #use rs232(stream=PC, baud=115200, xmit=PIN_C6, rcv=PIN_C7, ERRORS) #DEFINE USB_HID_DEVICE TRUE //Tells the CCS PIC USB firmware to include HID handling code #define USB_EP1_TX_ENABLE USB_ENABLE_INTERRUPT //turn on EP1 for IN bulk/interrupt transfers #define USB_EP1_TX_SIZE 64 //allocate 64 bytes in the hardware for transmission #define USB_EP1_RX_ENABLE USB_ENABLE_INTERRUPT //turn on EP1 for OUT bulk/interrupt transfers SVTH : Nguyễn Văn Trung 29 Đồ án môn học #define USB_EP1_RX_SIZE reception GVHD: NGUYỄN VĂN NGA 64 //allocate 64 bytes in the hardware for // CCS USB Libraries #include //Microchip 18Fxx5x hardware layer for usb.c #include //USB Configuration and Device descriptors for this UBS device #include //handles usb setup tokens and get descriptor reports #define data PIN_A0 #define SC_CP PIN_A2 #define ST_CP PIN_A3 #define g PIN_A4 #define MR PIN_a5 int8 i,x,y,z,m; const unsigned CHAR ma[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0x07,0xdb,0xdd,0xdb,0x07,0xff,0xff,0xff, 0x07,0xdb,0xdd,0xdb,0x07,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}; void usb_debug_task(void) { static int8 last_connected; static int8 last_enumerated; int8 new_connected; int8 new_enumerated; new_connected=usb_attached(); new_enumerated=usb_enumerated(); if (new_connected && !last_connected) { printf("\r\n\nUSB connected, waiting for enumaration ");} if (!new_connected && last_connected) { printf("\r\n\nUSB disconnected, waiting for connection ");} if (new_enumerated && !last_enumerated) { printf("\r\n\nUSB enumerated by PC/HOST");} if (!new_enumerated && last_enumerated) { SVTH : Nguyễn Văn Trung 30 Đồ án môn học GVHD: NGUYỄN VĂN NGA printf("\r\n\nUSB unenumerated by PC/HOST, waiting for enumeration ");} last_connected=new_connected; last_enumerated=new_enumerated; } #INT_RDA void serial_isr() { int8 uReceive; // Serial Interrupt disable_interrupts(GLOBAL); // Disable Global Interrupts uReceive = fgetc(PC); switch (uReceive) { case 0x12: { if (fgetc(PC) == 0x34 & fgetc(PC) == 0x56 & fgetc(PC) == 0x78 & fgetc(PC) == 0x90) #asm reset #endasm } break; } enable_interrupts(GLOBAL); // Enable Global Interrupts } int calc_crc(int oldcrc, int newbyte) { int shift_reg, data_bit, sr_lsb, fb_bit, j; shift_reg=oldcrc; for(j=0; j> j) & 0x01; sr_lsb = shift_reg & 0x01; fb_bit = (data_bit ^ sr_lsb) & 0x01; shift_reg = shift_reg >> 1; if (fb_bit) shift_reg = shift_reg ^ 0x8c; } return(shift_reg); } void hienchu() { for(x=0;x[...]... khổng thể dùng được ngoài trời vì ánh sáng mặt trời chiếu vào làm chúng ta không nhìn thấy rõ, chỉ có led outdoor mới thấy rõ, và dĩ nhiên led outdoor sẽ có giá thành cao hơn Giới thiệu led ma trận 5x7 với 4 màu khác nhau: SVTH : Nguyễn Văn Trung 18 Đồ án môn học 2 GVHD: NGUYỄN VĂN NGA 2.Cấu tạo và phương pháp điều khiển led ma trận: Led ma trận là một tập hợp các led đơn với cách kết nố như sau: theo... = usbConfirmAction; out_data[1] = lenhdk; out_data[2] = in_data[1]; } break; } } } } } } VI- Kết quả: -Mô phỏng: chạy đúng SVTH : Nguyễn Văn Trung 34 Đồ án môn học 2 GVHD: NGUYỄN VĂN NGA -Thi công mạch: phần giao tiếp máy tính nhận được thiết bị Phần điều khiển led ma trận chưa chạy -Đề tài chỉ thực hiện được những yêu cầu cơ bản: hiển thị được kí tự cố định Chưa làm được -Mạch điều khiển led ma trận. .. thiệu về led ma trân: Led ma trận là 1 tập các led đơn được bố trí theo dạng ma trận cho phép hiển thị được các kí tự bất kì Các nhà chế tạo đã tích hợp các dạng ma trận tính theo led 5*7 (5 cột và 7 hàng) hoặc 8x8 (8 cột và 8 hàng) và tính theo kích thước và phân biệt theo màu của led, cuối cùng là phân biệt led sáng trong nhà (indoor) hay led sáng ngòai trời (outdoor) Led sáng trong nhà thì khổng... 3 4 USB 2-Khối điều khiển và hiển thị RA0-RA4 dùng để điều khiển quét cột (led màu xanh) RC0- RC3 và RC6RC7 dùng để quét cột (led màu đỏ) RB0- RB7 xuất dữ liệu Bình thường led làm vi c từ 1 0mA -2 0mA, áp là 2V Khi làm vi c bình thường (không dùng phương pháp quét) chọn dòng làm vi c 2 0mA Khi đó điện trở trên mỗi led là: Rled=2/20=0.1(k )=100( ) Khi dùng phương pháp quét thì dòng tức thời phải bằng. .. chung, với led ma trận 5x7 thì có 7 hàng và 5 cột Anode nối với mức H và cathode nối mức L thì led sáng, các trường hợp còn lại thì led tắt Có hai cách điều khiển led ma trận Cách 1: dữ liệu gởi ra hàng, mã quét gởi ra cột: Ưu điểm: Khi mở rộng thêm led thì chỉ cần kết nối song song 8 hàng và cột dùng thanh ghi dịch rất đơn giản do số lượng đường điều khiển ít Mỗi một thời điểm chỉ có 1 cột sáng nên... quét thì dòng tức thời phải bằng 32 lần dòng làm vi c bình thường tức bằng 64 0mA (do sử dụng 4 led ma trận 8x8), khi đó dòng trung SVTH : Nguyễn Văn Trung 23 Đồ án môn học 2 GVHD: NGUYỄN VĂN NGA bình Iled-tb=640/32=20 (mA) Do dòng tức thời lớn hơn 50 0mA, nên dùng D468 khuếch đại dòng Chọn sat =90, khi đó dòng IB=640/90= 7mA Do đó chọn giá trị điện trở như sơ đồ 12V R16 CH0 12V D468 H1 4.7K 12V R17 1 CH1... khiển led ma trận chưa chạy -Chưa gởi được kí tự từ máy tính xuống để hiển thị Phương hướng phát triển đề tài: -Xây dựng bảng mã, và gởi kí tự từ máy tính xuống hiển thị -Mở rộng thêm nhiều ứng dụng mới: đọc nhiệt độ, kiểm tra trạng thái hoạt động của vi điêu khiển -Điều khiển các thiết bị khác thông qua máy tính VII- Kết luận: - Sau 15 tuần nghiên cứu với sự hướng dẫn tận tình của thầy Nguyễn Văn Nga,... cắm vào bus +Host gửi yêu cầu“get divice descritor” (mô tả thông tin thiết bị) để có thể nhận biết hoàn toàn các thông tin về thiết bị (thông tin về kiểu thiết bị, lớp thiết bị…) +Host gửi yêu cầu về “get configuration description” (mô tả cấu hình) để biết thông tin cấu hình như yêu cầu về năng lượng, kiểu và số của những giao diện được hỗ trợ +Host yêu cầu các thông tin thêm về mô tả thiết bị Ban đẩu... của led tăng thêm => tăng dòng quá lớn nguy hiểm cho led và led sáng không rõ sinh ra hiện tượng chập chờn Giả sử có 100 cột thì cho dù quét nhanh hay quét chậm thì thời gian sáng của mỗi cột vẫn không đổi bằng 1/100 thời gian tắt bằng 99/100 Cách 2: dữ liệu gởi ra cột, mã quét gởi ra hàng: Với cách quét theo hàng thì thời gian sáng của led là 1/8 thời gian tắt là 7/8 SVTH : Nguyễn Văn Trung 19 Đồ án. .. khi host tập trung đủ tất cả thông tin về thiết bị, máy tính tải trình điều khiển thiết bị (device driver) bằng cách gửi cho nó yêu cầu “set configuration” (đặt cấu hình), kể từ đây thíêt bị đã được đặt cấu hình và sẵn sàng đáp ứng những yêu cầu đặt biệt từ máy tính (truyền ,nhận dữ liệu ) 3.4 Descriptors: mô tả -Tất cả các usb đều có 1 sự phân cấp các mô tả cho các đặt tính khác nhau của từng thiết ... hàm giao tiếp usb Người nghiên cứu chọn CCS để vi t chương trình, VB để vi t giao diện 5) Sơ đồ: a) Phần cứng: Nguồn DC Nút nhấn (mở rộng) Máy tính usb Vi điều khiển PIC18F4550 Hiển thị led ma trận. .. reset usb reset vi điều khiển Địa usb phải vi t vi điều khiển thông qua trình thiết lập usb firmware Mỉcochip hỗ trợ B-Giới thiệu usb: Universal serial bus (usb- bus truyền thông nối tiếp) giao. .. nhóm theo chức C- LED MA TRẬN: Giới thiệu led ma trân: Led ma trận tập led đơn bố trí theo dạng ma trận cho phép hiển thị kí tự Các nhà chế tạo tích hợp dạng ma trận tính theo led 5*7 (5 cột hàng)