Đồng hồ báo thức dùng vi điều khiển 18F4550 - pdf 16

Download miễn phí Luận văn Đồng hồ báo thức dùng vi điều khiển 18F4550



Tài liệu này giới thiệu nền tảng cơ bản để khám phá công nghệ liên kết với các
thiết bị USB. Nó cung cấp chi tiết cần thiết đ ể giả lập một b ảng phát triển, chương
trình và thí nghiệm với vi xử lý Microchip 18F4550.
Sơ đồ thực hiện dùng ở đây sử dụng việc kết hợp cách tiếp cận dùng trong giao
diện CREATE USB (CUI, phụ lục 3) và pic18fusb.online.fr Wiki (Phụ lục 1). Cả hai
đều sử dụng kỹ thuật tải kh ởi động và phần mềm liên kết với bảng thể hiện USB toàn
tốc Microchip PICDEM.
Tất cả các phần mềm dùng trong bảng phát triển có thể download miễn phí gồm
có bộ biên dịch MPLAB C18 C phiên bản dùng cho sinh viên.



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

18 của Microchip, một bộ biên dịch C của cùng
nhà sản xuất hỗ trợ chuẩn PKI ANSI C’89 và được thiết kế cùng MPLAB IDE (là
công cụ để lập trình và debug CIP). Một đặc tính khác của MPLAB C18 là khả năng
sinh ra giá trị nhị phân do vi điều khiển quản lý.
Họ PIC18F (ví dụ, PIC18F4550) dùng chỉ thị mở rộng như một kiến trúc.
Chú ý MPLAB C18 có thể download miễn phí trên trang của Microchip (xem
liên kết tham khảo). Tuy nhiên, phiên bản miễn phí (gọi là phiên bản dùng cho sinh
viên) có thời hạn sử dụng là 60 ngày. Trong 60 ngày đó, chương trình sẽ tiếp tục hoạt
động nhưng không quản lý, vì vậy bộ biên dịch sẽ sinh ra các giá trị nhị phân để tiếp
tục hoạt động nhưng sẽ tốn không gian hơn (do không được quản lý) và không dùng
các chỉ thị của PIC18F4550 phổ dụng nên cần nhiều chức năng phần mềm hơn và vì
vậy kém hiệu quả.
3.7 Thiết bị lớp
Theo chuẩn thì có nhiều loại thiết bị USB với các đặc tính khác nhau thường thấy
trong thiết bị. Ví dụ, có lớp cho camera số, một lớp cho máy scan, một cho máy in …
Các lớp thiết bị được xây dựng để nâng cao tính tương thích của các thiết bị. Vì vậy,
bất cứ hệ điều hành nào có driver làm việc với camera số đều có thể đọc được ảnh từ
camera số được thiết kế phù hợp với các thông số kỹ thuật của loại thiết bị đó.
Đặc biệt với ứng dụng của chúng ta, ta chọn sử dụng loại thiết bị HID (Thiết bị
giao diện người dùng), về cơ bản là một kết nối tương tự với chuột hay bàn phím. Lý
Nguyễn Thế Anh Khoa Điện Tử Viễn Thông
26
do ta chọn lớp này là do lượng lớn thông tin tại Microchip và kinh nghiệm có được từ
các đối tượng khác sử dụng loại driver này, ngoài ra nếu ta cần tạo một driver thì ta sẽ
dẫn đến trang này từ Microchip.
3.8 Firmware HID
Truyền thông được thực hiện qua sự hỗ trợ của firware USB HID, một nền cung
cấp yêu cầu của Microchip để thiết lập truyển thông (qua cổng USB) một cách đơn
giản.
3.9 Một số đặc tính:
Chuyên nghiệp: miễn phí, dễ sử dụng
Nhược điểm: tốc độ truyền dữ liệu nhỏ (giới hạn tới 64 kbyte/giây)
Bộ nhớ: xấp xỉ 3Kbyte
Driver của Windows: không yêu cầu
3.10 Nguyên tắc hoạt động:
Ứng dụng này là một HID cơ bản (không phải là bàn phím hay chuột và nguyên
tắc của nó như sau):
Nhận đầu ra thông báo bằng cách truyền ngắt OUT và gửi dữ liệu thông báo lại
đến lối vào host trong thông báo bằng cách truyền ngắt IN.
Nhận đầu ra thông báo nhờ truyền điều khiển (Set_ReportRequest) và thông báo
lại đầu vào host trong báo cáo nhờ truyền điều khiển (Get_ReportRequest).
Ứng dụng điều khiển bộ đệm để phân biệt các báo cáo nhận qua việc ngắt truyền
thông và báo cáo ngắt nhận qua điều khiển truyền thông.
Ứng dụng cũng điều khiển bộ đệm để phân biệt các thông báo nhận đầu vào qua
việc truyền đầu vào ngắt và các báo cáo nhận qua việc truyền điều khiển.
Nhận các báo cáo đưa đến bằng cách điều khiển truyền thông
(Set_ReportRequest) và gửi lại một báo cáo đến host trong một thông báo đưa đến nhờ
điều khiển truyền thông.
Một bộ đệm đơn giữ các bản báo cáo được lưu trữ và báo cáo nhận được đã gửi.
Việc thực hiện là sử dụng chuột thử nghiệm từ Microchip.
Project được kiểm tra trong bảng thể hiện PICDEM FS USB.
Nguyễn Thế Anh Khoa Điện Tử Viễn Thông
27
3.11 Driver
Chuẩn yêu cầu tất cả các thiết bị USB trong giai đoạn thương lượng phải được
xác định với ID nhà sản xuất và ID sản phẩm (sau đây gọi là VID và PID). Cặp giá trị
này giúp nhận biết nhà sản xuất thiết bị (PRI) và mẫu riêng của một sản phẩm được kết
nối. Vì vậy, các mẫu khác của cùng sản phẩm nói chung khác PID.
Mục đích chính của các giá trị này không chỉ là xác định thiết bị mà còn là tìm và
tải đúng driver cho nó. Vì vậy, tất cả các driver của Windows (hay các sản phẩm tương
tự) được sắp xếp như thiết bị với một hay nhiều PID và PRI sử dụng cho driver đã nói.
Đây là cách sử dụng Windows (hay hệ điều hành khác đang đề cập) dù driver được
chọn có đúng hay không.
Trong trường hợp driver dùng cho hệ điều hành khác, cặp VID/PID đủ để xác
định driver nếu cần tải và vì vậy khi một thiết bị gắn với VID/PID thì nhận biết được
hệ thống tự động tìm ra và cho phép sử dụng ngay. Tuy nhiên, nếu không nhận ra
VID/PID thì hệ điều hành sẽ hỏi người dùng cấp driver. Một ví dụ là màn hình.
Cửa sổ phát hiện phần cứng mới
Đây là phần giải thích PRI và bộ điều khiển PID về ứng dụng của chúng ta với
loại HID không cần cài đặt bất cứ driver nào (Windows tự động cập nhật).
Các công cụ dùng trong ứng dụng này được thể hiện như sau:
C18 2.30.01 +
Phiên bản yêu cầu tối thiểu: 2.30.01 +
Khuyến nghị: 2.40 +
Phiên bản này có tại
MPLAB IDE 6.62 +
Phiên bản yêu cầu tối thiểu: 6.62 +
Khuyến nghị: 7.00 +
MPLAB (R) IDE có tại
Bit cấu hình:
Nguyễn Thế Anh Khoa Điện Tử Viễn Thông
28
Các bit cấu hình được dùng để thiết lập chế độ hoạt động của CIP (ví dụ, tần số
của bộ tạo dao động) và được thiết kế để lập trình. Các bit cấu hình do MPLAB quản
lý khi lập trình và có thể cấp cho 2 dạng:
1. Qua danh sách các bit cấu hình của MPLAB (Đặt bit cấu hình).
2. Qua các macro cùng mã dùng khai báo cấu hình thực #.
Dưới đây là hình ảnh lựa chọn các bit cấu hình của MPLAB (tuỳ chọn 1).
1. tham chiếu đến project dùng một “bộ tải khởi động”.
• Khi bạn mở ứng dụng thì luôn mở file “workspace” (*.mcw).
• Tất cả các ví dụ trong thư mục được tải qua bộ tải khởi động.
Thành phần cơ bản:
Vector reset và ngắt của bộ tải khởi động được chỉnh theo các địa chỉ 0x0800,
0x0808, 0x081.
Phần điều chỉnh liên kết với phần khởi động được sử dụng, file này là
rm18f4550.lkr và được đặt tại mỗi ứng dụng.
Nguyễn Thế Anh Khoa Điện Tử Viễn Thông
29
Nếu bạn đang dùng ICD2 và không phù hợp với bộ tải khởi động thì bạn phải
điều chỉnh lại như sau:
• MPLAB đồ hoạ thay đổi liên kết rm18f4550.lkr bằng một linker chuẩn
18f4550.lkr, điều này có thể thấy được theo mặc định trong thư viện C18.
• Thay đổi đường dẫn của liên kết đến đúng vị trí để không phát sinh lỗi.
• Bạn phải xoá đi các mã theo sau:
Extern void _startup (void); / / xem c018i.c trong thư mục biên dịch C18
# Pragma _RESET_INTERRUPT_VECTOR code = 0x000800
Void _reset (void)
(
_asm Goto _startup _endasm
)
# Pragma Code
Đây là mã trong file main.c.
• Cuối cùng (tuỳ chọn) khi định hướng bit, đặt 0x30000B tắt phần ngăn viết
BOOT.
3.12 Mô Tả Thực Hiện Firmware Thứ Hai
Ứng dụng thứ hai là sự trợ giúp lớn và kinh nghiệm lớn để hiểu USB, theo sự
phát triển của ứng dụng trước đây áp dụng vào các điểm khác để phát triển và thực
hiện cho thực thi này và firmware được dùng cho các công cụ làm việc khác này, được
mô tả ở chương trước, tiếp cận đang sử dụng là mã hoạt động:
# Include
# Fuses HSPLL, NOWDT, NOPROTECT, NOLVP, NODEBUG, USBDIV, PLL5,
CPUDIV1, VREGEN
# Use delay (clock = 48000000)
# Define USB_EP1_TX_ENABLE USB_ENABLE_INTERRUPT
# Define USB_EP1_TX_SIZE 8
# Define USB_EP1_RX_ENABLE USB_EN...
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status