Thiết kế mạch quang báo giao tiếp máy tính dùng PIC 16F877A

58 1 0
Thiết kế mạch quang báo giao tiếp máy tính dùng PIC 16F877A

Đ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ội dung đề tài Quang báo 8x32 được nhập dữ liệu từ máy tính. Dữ liệu này được ghi vào 16F877A để lưu. 2. Nhiệm vụ đề tài Cách điều khiển và xử lý dữ liệu cho bảng led ma trận. Tìm hiểu vi điều khiển PIC16F877A. Tìm hiểu ngôn ngữ lập trình C cho PIC. Tìm hiểu lập trình visal basic. Tìm hiểu cách kết nối và điều khiển qua cổng COM của máy tính. Thi công bảng quang báo led ma trận kích thước 8x32. 3. Kết quả thực nghiệm Ghi dữ liệu vào PIC 16F877A. Xuất dữ liệu lên quang báo. MỤC LỤC LỜI MỞ ĐẦU 1 LỜI CẢM ƠN 2 BẢN NHẬN XÉT 3 ĐỒ ÁN MÔN HỌC CỦA GIÁO VIÊN HƯỚNG DẪN 3 BẢN NHẬN XÉT 4 ĐỒ ÁN MÔN HỌC CỦA GIÁO VIÊN PHẢN BIỆN 4 MỤC LỤC 5 MỞ ĐẦU 8 1. Nội dung đề tài 8 2. Nhiệm vụ đề tài 8 3. Kết quả thực nghiệm 8 CHƯƠNG 1 9 KHẢO SÁT LINH KIỆN 9 1.1. Vi điều khiển PIC 16F877A 9 1.1.1. Một vài thông số của vi điều khiển PIC16F877A 9 1.1.2. Sơ đồ khối của vi điều khiển PIC 16F877A 11 1.1.3. Tổ chức bộ nhớ 12 1.1.3.1. Bộ nhớ chương trình 12 1.1.3.2. Bộ nhớ dữ liệu 12 1.1.4. Các cổng xuất nhập của PIC 16F877A 16 1.1.4.1. PORTA 17 1.1.4.2. PORTB 17 1.1.4.3. PORTC 18 1.1.4.4. PORTD 18 1.1.4.5. PORTE 18 1.1.5. Timer 18 1.1.5.1. Timer0 18 1.1.5.2. Timer1 20 1.1.5.3. Timer2 21 1.1.6. ADC 22 1.1.7. Giao tiếp nối tiếp USART 23 1.1.8. Các đặc tính oscillator 26 1.1.9. Ngắt (Interrupt) 26 1.1.10. Các chế độ reset 27 1.2. Cổng COM 27 1.3. Giao tiếp RS232 32 1.4. IC dịch 74HC595 33 1.5. IC đệm dòng ULN2803 35 CHƯƠNG 2 37 GIỚI THIỆU VỀ QUANG BÁO 37 2.1. Sơ đồ hệ thống 37 2.2. Quang báo LED ma trận 37 2.3. Phương pháp Multiplex hiển thị ma trận led 39 2.4. Phương pháp hiển thị sử dụng thanh ghi dịch 39 2.4.1. Quét cột 39 2.4.2. Quét hàng 40 CHƯƠNG 3 42 THIẾT KẾ VÀ THI CÔNG MẠCH 42 3.1. Sơ đồ nguyên lý 42 3.2. Sơ đồ mạch in 44 3.3. Mạch hoàn chỉnh 46 3.4. Tính toán 47 3.5. Nguyên lý hoạt động 47 3.6. Lưu đồ giải thuật 49 3.6.1. Lưu đồ chương trình hệ thống 49 3.6.2. Lưu đồ chương trình chính 50 3.6.3. Lưu đồ chương trình hiển thị 51 3.6.4. Lưu đồ chương trình copy font vào RAM 52 3.7. Code chương trình nạp vào vi điều khiển 53 KẾT LUẬN 58 TÀI LIỆU THAM KHẢO 59 PHỤ LỤC 60 1. Giới thiệu về visual basic 60 2. Chương trình điều khiển từ máy tính 60

BỘ GIÁO DỤC VÀ ĐÀO TAO TRƯỜNG ĐẠI HỌC SƯ PHẠM KĨ THUẬT TP.HCM KHOA CÔNG NGHỆ ĐIỆN TỬ BÁO CÁO ĐỒ ÁN ĐỀ TÀI: THIẾT KẾ MẠCH QUANG BÁO GIAO TIẾP MÁY TÍNH DÙNG PIC 16F877A 1 LỜI MỞ ĐẦU Thông tin liên lạc là vấn đề được quan tâm trong xã hội Với sự phát triển của xã hội thì ngày càng có nhiều cách tiếp cận với những thông tin mới Ta có thể biết được thông tin qua báo chí, truyền hình, mạng internet, qua các pano, áp phích… Thông tin cần phải được truyền đi nhanh chóng, kịp thời và phổ biến rộng rãi trong toàn xã hội Và việc thu thập thông tin kịp thời, chính xác là yếu tố hết sức quan trọng trong sự thành công của mọi lĩnh vực Các thiết bị tự động được điều khiển từ xa qua một thiết bị chủ hoặc được điều khiển trực tiếp qua hệ thống máy tính Việc sử dụng vi điều khiển để điều khiển hiển thị có rất nhiều ưu điểm mà các phương pháp truyền thống như panô, áp phích không có được như việc điều chỉnh thông tin một cách nhanh chóng bằng cách thay đổi chương trình Với những lý do trên, nhóm sinh viên tiến hành thực hiện đề tài thiết kế mạch quang báo giao tiếp với máy tính dùng PIC 16F877A có tính ứng dụng quảng cáo trong đời sống hiện nay Do còn hạn chế về thời gian và trình độ nên đề tài không tránh khỏi nhiều sai sót, nhóm rất mong nhận được sự đóng góp ý kiến chân tình của quý thầy cô và các bạn để đề tài được hoàn chỉnh hơn Xin chân thành cảm ơn 2 MỤC LỤC LỜI MỞ ĐẦU .1 LỜI CẢM ƠN 2 BẢN NHẬN XÉT 3 ĐỒ ÁN MÔN HỌC CỦA GIÁO VIÊN HƯỚNG DẪN .3 BẢN NHẬN XÉT 4 ĐỒ ÁN MÔN HỌC CỦA GIÁO VIÊN PHẢN BIỆN 4 MỤC LỤC 5 MỞ ĐẦU 8 1 Nội dung đề tài 8 2 Nhiệm vụ đề tài .8 3 Kết quả thực nghiệm .8 CHƯƠNG 1 9 KHẢO SÁT LINH KIỆN .9 1.1 Vi điều khiển PIC 16F877A 9 1.1.1 Một vài thông số của vi điều khiển PIC16F877A 9 1.1.2 Sơ đồ khối của vi điều khiển PIC 16F877A 11 1.1.3 Tổ chức bộ nhớ 12 1.1.3.1 Bộ nhớ chương trình 12 1.1.3.2 Bộ nhớ dữ liệu 12 1.1.4 Các cổng xuất nhập của PIC 16F877A 16 1.1.4.1 PORTA 17 1.1.4.2 PORTB .17 1.1.4.3 PORTC .18 1.1.4.4 PORTD 18 1.1.4.5 PORTE .18 1.1.5 Timer .18 3 1.1.5.1 Timer0 18 1.1.5.2 Timer1 20 1.1.5.3 Timer2 21 1.1.6 ADC 22 1.1.7 Giao tiếp nối tiếp USART 23 1.1.8 Các đặc tính oscillator 26 1.1.9 Ngắt (Interrupt) .26 1.1.10 Các chế độ reset 27 1.2 Cổng COM .27 1.3 Giao tiếp RS232 .32 1.4 IC dịch 74HC595 .33 1.5 IC đệm dòng ULN2803 35 CHƯƠNG 2 .37 GIỚI THIỆU VỀ QUANG BÁO .37 2.1 Sơ đồ hệ thống 37 2.2 Quang báo LED ma trận 37 2.3 Phương pháp Multiplex hiển thị ma trận led 39 2.4 Phương pháp hiển thị sử dụng thanh ghi dịch 39 2.4.1 Quét cột 39 2.4.2 Quét hàng 40 CHƯƠNG 3 .42 THIẾT KẾ VÀ THI CÔNG MẠCH 42 3.1 Sơ đồ nguyên lý .42 3.2 Sơ đồ mạch in 44 3.3 Mạch hoàn chỉnh 46 3.4 Tính toán 47 3.5 Nguyên lý hoạt động 47 3.6 Lưu đồ giải thuật 49 3.6.1 Lưu đồ chương trình hệ thống 49 4 3.6.2 Lưu đồ chương trình chính 50 3.6.3 Lưu đồ chương trình hiển thị 51 3.6.4 Lưu đồ chương trình copy font vào RAM 52 3.7 Code chương trình nạp vào vi điều khiển 53 KẾT LUẬN 58 TÀI LIỆU THAM KHẢO 59 PHỤ LỤC 60 1 Giới thiệu về visual basic 60 2 Chương trình điều khiển từ máy tính 60 5 MỞ ĐẦU Quang báo là hình thức thông báo trên bảng đèn Bảng đèn quang báo gồm nhiều ma trận LED ghép lại, mỗi một ma trận biểu diễn một kí tự Tùy chiều dài của bảng đèn mà có thể hiển thị những bản tin có độ dài khác nhau.Với sự ra đời của máy tính điện tử đặc biệt là máy vi tính, chúng có những tính năng ưu việt như khả năng xử lý dữ liệu nhanh chóng, độ tin cậy cao, lưu trữ lượng thông tin lớn và quan trọng hơn cả là máy tính có thể kết hợp với nhiều thiết bị ngoại vi tùy theo mục đích ứng dụng cụ thể, mà việc trao đổi và điều khiển trở nên đơn giản, chúng phụ thuộc vào phần mềm điều khiển Dựa vào tính đa dạng và mềm dẻo của máy tính người ta tìm cách ứng dụng nó vào mục đích quảng cáo, chẳng hạn như dùng quang báo Trong thực tế để hiển thị các thông tin, người ta dùng các ma trận LED 8x32, 8x48 hoặc 16x64 tuỳ thuộc vào mục đích sử dụng và độ phân giải 1 Nội dung đề tài - Quang báo 8x32 được nhập dữ liệu từ máy tính - Dữ liệu này được ghi vào 16F877A để lưu 2 Nhiệm vụ đề tài - Cách điều khiển và xử lý dữ liệu cho bảng led ma trận - Tìm hiểu vi điều khiển PIC16F877A - Tìm hiểu ngôn ngữ lập trình C cho PIC - Tìm hiểu lập trình visal basic - Tìm hiểu cách kết nối và điều khiển qua cổng COM của máy tính - Thi công bảng quang báo led ma trận kích thước 8x32 3 Kết quả thực nghiệm - Ghi dữ liệu vào PIC 16F877A - Xuất dữ liệu lên quang báo 6 CHƯƠNG 1 KHẢO SÁT LINH KIỆN 1.1 Vi điều khiển PIC 16F877A PIC là tên viết tắt của “Programable Intelligent Computer” (Máy tính khả trình thông minh) và là một vi điều khiển với kiến trúc RISC, chạy một lệnh một chu kỳ máy (4 chu kỳ của bộ dao động) PIC16F877A là họ vi điều khiển có 40 chân, mỗi chân có một chức năng khác nhau Trong đó có một số chân đa công dụng (đa hợp), mỗi chân có thể hoạt động như một đường xuất/nhập (I/O) độc lập hoặc là một chức năng đặc biệt dùng để giao tiếp với các thiết bị ngoại vi 1.1.1 Một vài thông số của vi điều khiển PIC16F877A Hình 1.1 Sơ đồ chân của PIC 16F877A Vi điều khiển PIC 16F877A là vi điều khiển thuộc họ PIC 16Fxxx với tập lệnh gồm 35 lệnh có độ dài 14 bit Mỗi lệnh đều được thực thi trong một chu kỳ xung clock Tốc độ hoạt động tối đa cho phép là 20Mhz với một chu kì lệnh là 200ns Bộ nhớ chương trình 8K x 14bit, bộ nhớ dữ liệu 368 x 8 byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256 x 8 byte Số PORT I/O là 5 với 33 chân I/O 7  Các đặc tính ngoại vi bao gồm các khối chức năng: - Timer 0: bộ định thời 8 bit với bộ chia tần số 8 bit - Timer 1: bộ định thời 16 bit với bộ chia tần số, có thể thực hiện chức năng đếm dựa vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep - Timer 2: bộ định thời 8 bit với bộ chia tần số, bộ postcaler - Hai bộ Bắt giữ/ So sánh/ Điều chế độ rộng xung - Các chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI và I2C - Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ - Cổng giao tiếp song song PSP (Parallel Slave Port) với các chân điều khiển RD, WD, CS ở bên ngoài  Các đặc tính analog: - 8 kênh chuyển đổi ADC 10 bit - 2 bộ so sánh  Bên cạnh đó là một vài đặc tính khác của vi điều khiển như: - Bộ nhớ flash với khả năng ghi xóa được 100.000 lần - Bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần - Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm - Khả năng tự nạp chương trình với sự điều khiển của phần mềm - Nạp được chương trình ngay trên mạch điện ICSP (In Cicuit Serial Programming) thông qua 2 chân - Bộ định thời giám sát (Watchdog Timer) với bộ dao động trong - Chức năng bảo mật mã chương trình - Chế độ sleep - Có thể hoạt động với nhiều dạng Oscillator khác nhau 8 1.1.2 Sơ đồ khối của vi điều khiển PIC 16F877A Hình 1.2 Sơ đồ khối vi điều khiển PIC 16F877A 9 1.1.3 Tổ chức bộ nhớ Cấu trúc bộ nhớ của vi điều khiển PIC16F877A bao gồm bộ nhớ chương trình (Program memory) và bộ nhớ dữ liệu ( Data memory) 1.1.3.1 Bộ nhớ chương trình Bộ nhớ chương trình của vi điều khiển PIC16F877A là bộ nhớ flash, dung lượng bộ nhớ 8K word (1 word = 14 bit) và được phân thành nhiều trang (từ page 0 đến page 3) Như vậy bộ nhớ chương trình có khả năng chứa được 8*1024=8192 lệnh (vì một lệnh sau khi mã hóa sẽ có dung lượng một word (14 bits) Để mã hóa được địa chỉ của 8K word bộ nhớ chương trình, bộ đếm chương trình có dung lượng 13 bit(PC) Hình 1.3 Bộ nhớ chương trình PIC 16F877A 1.1.3.2 Bộ nhớ dữ liệu Bộ nhớ dữ liệu của PIC là bộ nhớ EEPROM được chia ra làm nhiều bank Đối với PIC16F877A bộ nhớ dữ liệu được chia ra làm bốn bank Mỗi bank có dung lượng 128 bytes, bao gồm các thanh ghi có chức năng đặc biệt SFG (Special Function Register) nằm ở các vùng địa chỉ thấp và các thanh ghi mục đích chung GPR (General Purpose Register) nằm ở vùng địa chỉ còn lại trong bank Các thanh ghi SFR thường xuyên được sử dụng (ví dụ như thanh ghi STATUS) sẽ được đặt ở tất cả các bank của bộ nhớ dữ liệu giúp thuận tiện trong quá trình truy xuất và làm giảm bớt lệnh của chương trình Sơ đồ cụ thể của bộ nhớ dữ liệu PIC16F877A như sau: 10

Ngày đăng: 17/03/2024, 20:10

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

Tài liệu liên quan