Đồ án môn học giao tiếp máy tính với vi điều khiển bằng công nghệ USB điều khiển led ma trận

37 556 0
Đồ án môn học giao tiếp máy tính với vi điều khiển bằng công nghệ USB điều khiển led ma trận

Đ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

Đồ án môn học GVHD: NGUYỄN VĂN NGA NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN: Giáo viên hướng dẫn SVTH : Nguyễn Văn Trung Đồ án môn học GVHD: NGUYỄN VĂN NGA MỤC LỤC I-Mở 1-Vị trí đề tài 2-Tình hình nghiên cứu 3-Cách tiếp cận đề tày II-Lựa chọn phương án -Lựa chọn phương án…………………………………… -Sơ đồ phần cứng lưu đồ………………………………6 III-Giới thiệu linh kiện phần mền A-Vi điều khiển PIC 18F2550…………………………….7 1-Giới thiệu sơ lược PIC 18F2550…………………… 2- Sơ đồ chân chức chân…………………… 3- Đặc tính điện………………………………………… 4-Các ghi……………………………………… ….9 B-Giới thiệu usb………………………………… …… 12 1-Nhận biết tốc độ bus…………………………… 14 2- Các trạng thái usb……………………………… 14 3-Truyền thông qua bus USB……………………………15 C- LED MA TRẬN Giới thiệu led ma trân…………………………………21 2.Cấu tạo phương pháp điều khiển led ma trận…………22 D- Các linh kiện khác 1- ULN2803……………………………………………… 22 2-TPIC6B595……………………………………………….22 3- Transistor D46825……………………………………….25 IV-Tính tóan khối 1-Khối giao tiếp usb…………………………………………………… 25 2-Khối điều khiển hiển thị………………………… 25 3) Tính công suất:…………………………………… 28 4-Khối nguồn………………………………………… 28 IV-Phần mền……………………………………………… 28 V-Kết quả………………………………………………… 35 VI-Kết luận………………………………………… … …36 SVTH : Nguyễn Văn Trung Đồ á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êù thơì gian để viết driver  Khuyết điểm: giá thành cao SVTH : Nguyễn Văn Trung Đồ án môn học GVHD: NGUYỄN VĂN NGA 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 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 SVTH : Nguyễn Văn Trung Đồ án môn học GVHD: NGUYỄN VĂN NGA -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: 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: SVTH : Nguyễn Văn Trung Đồ án môn học GVHD: NGUYỄN VĂN NGA Nguồn DC Nút nhấn (mở rộng) Máy tính usb BB 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 tính 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 -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 SVTH : Nguyễn Văn Trung Đồ án môn học GVHD: NGUYỄN VĂN NGA -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 + CLK1: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ố +D-: ngõ vào trừ USB -RC5/D+/VP (chân 16): +RC5: ngõ vào số +D-: ngõ vào cộng USB SVTH : Nguyễn Văn Trung Đồ án môn học GVHD: NGUYỄN VĂN NGA -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 10 Đồ án môn học GVHD: NGUYỄN VĂN NGA Để đáp ứng tốc độ quét bảng quan báo có nhiều led phải sử dụng IC có tốc độ làm việc cao khoảng vài chục MHz CPLD để phụ trách công việc D- Các linh kiện khác: 1- ULN2803 Đây IC đệm, đảo Điện áp ngõ lên tới 50v Dòng ngõ tối đa 500mA 2-TPIC6B595: SVTH : Nguyễn Văn Trung 23 Đồ á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 24 Đồ á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: 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 U2 C5 10uf 33pf Y2 20MHz 33pf 33pf 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/D- 28 27 26 25 24 23 22 21 20 19 18 17 16 15 VDD VSS D+ D- USB PIC18F2550 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 SVTH : Nguyễn Văn Trung 25 Đồ án môn học GVHD: NGUYỄN VĂN NGA 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 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 H2 4.7K 12V R18 CH2 D468 U6 RB0-RB7 H3 12V 12V COM OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8 CH0 CH1 CH2 CH3 CH4 CH5 CH6 CH7 18 17 16 15 14 13 12 11 R19 CH3 D468 4.7K H4 12V R25 CH4 D468 H5 4.7K 12V 10 IN1 IN2 IN3 IN4 IN5 IN6 IN7 IN8 GND 4.7K ULN2803 R26 H1 H2 H3 H4 H5 H6 H7 H8 CH5 D468 H6 4.7K 12V R27 CH6 D468 H7 12V 4.7K DATA R24 CH7 D468 4.7K H8 SVTH : Nguyễn Văn Trung 26 Đồ án môn học GVHD: NGUYỄN VĂN NGA 5V VCC G SRCLR NC0 NC1 TPIC6595 GND 20 RCK SRCK DRAIN0 DRAIN1 DRAIN2 DRAIN3 DRAIN4 DRAIN5 DRAIN6 DRAIN7 SDO 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 DG\ DSRCLR\ SER IN GND DRCK 12 DSRCK 13 GND M1_D0 M1_D1 M1_D2 M1_D3 M1_D4 M1_D5 M1_D6 M1_D7 11 14 15 16 17 18 10 TPIC6595 DRAIN0 DRAIN1 DRAIN2 DRAIN3 DRAIN4 DRAIN5 DRAIN6 DRAIN7 SDO GND GND NC0 NC1 GND 20 11 DSER IN DRCK DSRCK DSRCLR\ DG\ G SRCLR 10 RCK SRCK DG\ DSRCLR\ RC0-RC7 VCC SER IN DRCK 12 DSRCK 13 19 DSER IN U6 U5 5V QUET COT DO 5V 5V NC0 NC1 19 11 10 TPIC6595 SVTH : Nguyễn Văn Trung TPIC6595 GND 20 VCC G SRCLR DRAIN0 DRAIN1 DRAIN2 DRAIN3 DRAIN4 DRAIN5 DRAIN6 DRAIN7 SDO 19 DG\ DSRCLR\ RCK SRCK GND DRCK 12 DSRCK13 SER IN GND NC0 NC1 M3_D0 M3_D1 M3_D2 M3_D3 M3_D4 M3_D5 M3_D6 M3_D7 11 VCC G SRCLR DRAIN0 DRAIN1 DRAIN2 DRAIN3 DRAIN4 DRAIN5 DRAIN6 DRAIN7 SDO 14 15 16 17 18 10 20 RCK SRCK GND DG\ DSRCLR\ SER IN GND DRCK 12 DSRCK13 GND U8 U7 27 Đồ án môn học GVHD: NGUYỄN VĂN NGA 5V TPIC6595 20 VCC RCK SRCK G SRCLR NC0 NC1 TPIC6595 DRAIN0 DRAIN1 DRAIN2 DRAIN3 DRAIN4 DRAIN5 DRAIN6 DRAIN7 SDO GND SER IN GND G\ SRCLR\ 12 13 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 10 NC0 NC1 RCK SRCK GND 20 M1_D0 M1_D1 M1_D2 M1_D3 M1_D4 M1_D5 M1_D6 M1_D7 11 G SRCLR 14 15 16 17 18 10 GND VCC RCK SRCK DRAIN0 DRAIN1 DRAIN2 DRAIN3 DRAIN4 DRAIN5 DRAIN6 DRAIN7 SDO 19 SER IN RCK SRCK SRCLR\ G\ SER IN GND G\ SRCLR\ RA0-RA4 12 13 GND RCK SRCK 11 SER IN U6 U5 5V QUET COT 5V 5V 20 19 11 10 TPIC6595 VCC G SRCLR NC0 NC1 TPIC6595 GND DRAIN0 DRAIN1 DRAIN2 DRAIN3 DRAIN4 DRAIN5 DRAIN6 DRAIN7 SDO 19 G\ SRCLR\ RCK SRCK GND RCK 12 SRCK 13 SER IN 11 VCC NC0 NC1 M3_D0 M3_D1 M3_D2 M3_D3 M3_D4 M3_D5 M3_D6 M3_D7 10 20 G SRCLR DRAIN0 DRAIN1 DRAIN2 DRAIN3 DRAIN4 DRAIN5 DRAIN6 DRAIN7 SDO 14 15 16 17 18 GND RCK SRCK GND G\ SRCLR\ SER IN GND RCK 12 SRCK 13 GND U8 U7 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 SVTH : Nguyễn Văn Trung 28 Đồ án môn học GVHD: NGUYỄN VĂN NGA - Dòng điện chân nối đất IC 5mA - 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 VIN VOUT 5v GND U35 C11 78HT2 0.33uf 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) SVTH : Nguyễn Văn Trung 29 Đồ án môn học GVHD: NGUYỄN VĂN NGA OutputReportData(7) = Val(txtByte(7).Text) Call ReadAndWriteToDevice 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 SVTH : Nguyễn Văn Trung 30 Đồ án môn học GVHD: NGUYỄN VĂN NGA Public Sub resetFields() Dim i As Integer 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 SVTH : Nguyễn Văn Trung 31 Đồ án môn học GVHD: NGUYỄN VĂN NGA #define USB_EP1_RX_ENABLE USB_ENABLE_INTERRUPT //turn on EP1 for OUT bulk/interrupt transfers #define USB_EP1_RX_SIZE 64 //allocate 64 bytes in the hardware for reception // 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) { SVTH : Nguyễn Văn Trung 32 Đồ án môn học GVHD: NGUYỄN VĂN NGA printf("\r\n\nUSB enumerated by PC/HOST");} if (!new_enumerated && last_enumerated) { 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); } SVTH : Nguyễn Văn Trung 33 Đồ án môn học GVHD: NGUYỄN VĂN NGA 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 21 Đồ á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.. .Đồ án môn học 2 GVHD: NGUYỄN VĂN NGA -Thanh ghi USATA: thanh ghi này chứa số endpoint, bộ đệm ping-pong, giá trị con trỏ SVTH : Nguyễn Văn Trung 11 Đồ án môn học 2 GVHD: NGUYỄN VĂN NGA -Thanh ghi UADDR: chứa địa chỉ duy nhất của USB khi hoạt động.UADDR sẽ reset về 0 khi nhận lệnh reset usb hoặc reset vi điều khiển Địa chỉ usb phải được vi t trong vi điều khiển thông qua quá trình thiết lập usb. .. PIC18F2550 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 SVTH : Nguyễn Văn Trung 25 Đồ án môn học 2 GVHD: NGUYỄN VĂN NGA 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... 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... 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... descriptor -bcdusb là số phiên bản cao nhất được hỗ trợ SVTH : Nguyễn Văn Trung 18 Đồ án môn học 2 GVHD: NGUYỄN VĂN NGA -bdeviceclass, bdevicesubclass và bdeviceprotocol: được gán bởi usb và được sử dụng bởi hệ thống để tìm lớp diver cho thiết bị -bmaxpacketsize0: kích thước tối đa của in và output cho 1 endpoint -idvendor: id của nhà cung cấp -idproduct: id của sản phẩm được gán bởi nhà cung cấp -bcddivice:... 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 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 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 1 R17 CH1 D468 R20 4.7K H2 4.7K... gian tắt 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 Khi tăng thêm led => số... chuỗi mô tả cấu hình có thể đọc được Bmattributes: các thông tin về nguồn điện Bmaxpower: chỉ cho ta biết năng lượng tiêu thụ tối đa (mỗi bước là 2mA) 3.4.3- INTERFACE DESCRIPTOR(mô tả giao diện) Mô tả giao diện chỉ rõ lớp thiết bị (device class) và số lượng endpoint mà nó sử dụng Có thể có nhiều mô tả giao diện cho 1 thiết bị SVTH : Nguyễn Văn Trung 19 Đồ án môn học 2 GVHD: NGUYỄN VĂN NGA Blenght: chiều... khi đó phiên bản 2.0 hỗ trợ đến 480Mbps được định nghĩa với 3 tốc độ dữ liệu: Low-speed :1.5 Mbps Full-speed :12 Mbps SVTH : Nguyễn Văn Trung 12 Đồ án môn học 2 GVHD: NGUYỄN VĂN NGA High-speed :480 Mbps Usb bus có thể cung cấp nguồn tối đa cho thiết bi đến 10 0mA với nguồn 5v Cáp usb sử dụng dây có 4 lõi với 2 đầu cáp được che kín, có 2 loại đầu nối usb kiểu A và kiểu B Đầu nối kiểu A (trái)- đầu nối kiểu

Ngày đăng: 24/07/2016, 11:16

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan