Xây dựng biển quảng cáo quang báo dùng vi điều khiển PICXây dựng biển quảng cáo quang báo dùng vi điều khiển PICXây dựng biển quảng cáo quang báo dùng vi điều khiển PICXây dựng biển quảng cáo quang báo dùng vi điều khiển PICXây dựng biển quảng cáo quang báo dùng vi điều khiển PICXây dựng biển quảng cáo quang báo dùng vi điều khiển PICXây dựng biển quảng cáo quang báo dùng vi điều khiển PICXây dựng biển quảng cáo quang báo dùng vi điều khiển PICXây dựng biển quảng cáo quang báo dùng vi điều khiển PICXây dựng biển quảng cáo quang báo dùng vi điều khiển PICXây dựng biển quảng cáo quang báo dùng vi điều khiển PICXây dựng biển quảng cáo quang báo dùng vi điều khiển PIC
LỜI NÓI ĐẦU Ngày nay, trước bước vào cửa hiệu bạn biết cửa hiệu bán loại hàng gì, mua cửa hiệu Nhờ vào bảng đèn Quang Báo bắt mắt để trước cửa hiệu Đơi ngồi đường phố lúc đêm bạn thấy bảng quang báo lớn với hình ảnh, logo, sản phẩm hiển thị biển quảng cáo Như quang báo ngày đưa vào sử dụng nhiều lĩnh vực khác như: Giới thiệu sản phẩm, thông báo tin tức thay cho biển quảng cáo truyền thống Với ứng dụng rộng rãi em vào nghiên cứu phát triển biển quảng cáo cho riêng minh Như giới thiệu trên, Quang báo hiển thị hình ảnh cử động khơng gói gọn việc hiển thị chữ Tuy nhiên điều kiện có hạn nên đề tài em dừng lại việc hiển thị chữ chạy Được giúp đỡ TH.S: Phạm Đức Long, giúp đỡ bạn sau thời gian nghiên cứu em hoàn thành đề tài Em xin trân thành cảm ơn giúp đỡ tận tình Th.S: Phạm Đức Long giáo viên khoa tạo điều kiện cho chúng em có buổi thực tế, vận dụng kiến thức học trường để xây dựng cho sản phẩm mang tính ứng dụng cao thực tế đời sống khoa học kỹ thuật Thái Nguyên 15/05/2009 Sinh viên Vũ Trung Dũng Chương GIỚI THIỆU VI ĐIỀU KHIỂN PIC 1.1 Giới thiệu vi điều khiển PIC PIC vi điều khiển có kiến trúc HARVARD (bộ nhớ chương trình nhớ liệu truy xuất độc lập với nhau) sử dụng 14 bit cho lệnh tập lệnh hầu hết thực chu kỳ máy, thị trường phổ biến nhiều loại vi điều khiển phong phú chủng loại mà giá tương đối phù hợp với điều kiện Việt Nam Trong phổ biên AVR hãng ATMEL, PIC MICROCHIP, PSOC CYPRESS MICRO SYSTEM Hiện với đa dạng nhiều chủng loại khác PIC, đặc biệt tính ổn định chúng làm cho nhiều người ưa chuộng chúng ứng dụng rộng rãi toàn giới Khác với vi xử lý, vi điều khiển tích hợp tồn RAM, ROM, cổng truy xuất giao tiếp ngoại vi trực tiếp chip nhỏ gọn 1.2 Cấu trúc phần cứng PIC16F877A 1.2.1 Bộ nhớ chương trình PIC 16F877A Khơng gian nhớ chương trình PIC khác tùy thuộc vào loại: Ví dụ: 16F84 có 1024(1KB), 16F877A có 8192(8KB),17C766 có 16384(16KB) 1.2.2 Bộ nhớ liệu PIC: Các ghi đa mục đích cho người dùng PIC ô nhớ RAM ghi có độ rộng bit cho tất PIC Ví dụ: 16C71 có 36 Bytes RAM, 16F877A có 368 Bytes RAM 1.2.3 Sơ đồ chân PIC: Trong sơ đồ mạch 8051 thường ký hiệu chân cấp nguồn Vcc, mass GND, PIC thi tương đương sau: Vcc=Vdd, GND=Vss Trong PIC 16F877A hình vẽ ta thấy tất có chân cấp nguồn sau: Chân 11 chân 32 chân Vdd(+5V) Chân 12 chân 31 chân Vdd(0V) + Chân RESET: Trên hình ta thấy chân số 1(MCRL) chân reset PIC, chân có nhiệm vụ khởi động lại chip chân tích cực Chân reset PIC đươc tích cực mức thấp điều trái ngược với họ 8051 + Mạch giao động: Trên hình vẽ ta thấy chân 13 14 hai chân giao động Tốc độ giao động xác định thông qua tần số giao động giao động Sơ độ mạch giao động + Cổng xuất nhập PORT A ghi TRIS A: Cổng A có bit thức vào theo hai chiều việc xác định hướng xuất nhập thông qua ghi TRIS A Việc đưa bit ghi TRIS A lên đồng nghĩa với việc đặt chân tương ứng cổng A chân nhập liệu Việc xóa ghi TRIS A xuống đồng nghĩa với việc đặt chân tương ứng cổng A chân xuất liệu Chân RA4 chân đa mục đích Vừa chân nhập xuất vừa đầu vào định thời TIMER0 Các chân khác PORT A đầu vào tín hiệu tương tự chuyển đổi ADC, hoạt động chân chế độ việc điều khiển thích hợp bit ghi ADCON1 CMCON + PORT B ghi TRIS B Cổng B có bit xuất theo chiều, việc chọn chức xuất nhập điều khiển qua ghi TRIS B tương tự với PORT A, chân PORT B chân đa chức (RB3, RB6, RB7) với ứng dụng mạch gỡ rối chương trình điện áp thấp, chân PORT B có điên trở kéo dương bên có giá trị khoảng 47K cho phép hoạt động chế độ thông qua việc xét bit RBPU ghi OPTION Việc điện trở kéo bị khóa PORT B chuyển thành PORT xuất liệu vi điều khiển hoạt động chân PORT B chân từ RB4 đến RB7 chân phục vụ ngắt Nếu chân định hình Khi ngắt tạo đồng thời cờ RBIF(INCON.0) xét lên 1, đánh thức vi điều khiển chế độ ngủ (SLEEP) + PORT C ghi TRIS C: PORT C có tất chân đa mục đích với chức xuất, nhập liệu Đặc biệt chân 18(SCL) 23(SDA) chân thực chức giao tiếp với ngoại vi thông qua chuẩn I2C Thanh ghi TRIS C làm nhiệm vụ định nghĩa chân tương ứng hay cổng vào liệu + PORT D ghi TRIS D – PORT E ghi TRIS E Hai PORT có chân đa mục đích chủ yếu để xuất nhập liệu Có thể tham khảo thêm hình 1.3 Các ghi có chức đặc biệt Các ghi có chức điều khiển hoạt động khối giao tiếp ngoại vi vi điều khiển 1.3.1 Tthanh ghi STATUS: Bit 0: Là cờ báo tràn có nhớ từ bit phép cộng có mượn phép trừ Bit 1: Là cờ nhớ phụ bị tác động thực phép toán vượt bit thấp Bit 2: Z=1 Nếu kết phép toán Z=0 Nếu kết phép toán khác Bit 3: PD=1 sau bật nguồn lệnh CLRWDT PD=0 lệnh SLEEP thực thi Bit : TO=1 Nếu có lệnh SLEEP thực thi lệnh CLRWDT sau bật nguồn T0=0 Nếu WDT bị tràn Bit 6-5: 00: Chọn bank 01: Chọn bank 10: Chọn bank 11: Chọn bank Bit 7: 1: Chọn bank 2,3 0: Chọn bank 0,1 1.3.2 Thanh ghi OPTION_REG: Bit 0-1-2 : Dùng để chọn giá trị cho chia tần cho TIMER0 WDT Bit : PSA =1: Bộ chia tần dùng cho WDT PSA =0: Bộ chia tần dùng cho TIMER0 Bit : TOSE =1: Chọn xung xuống xung tác động lên chân RA4 TOSE =0: Chọn xung lên xung tác động lên chân RA4 Bit : TOCS =1: Chọn xung đếm TIMER0 l xung chân RA4 TOCS =0: Chọn xung đếm TIMER0 l xung nội Bit : INTEDG =1: Xảy ngắt chân RB0 có sườn lên INTEDG =0: Xảy ngắt chân RB0 có sườn xuống Bit : RBPU =1: Cấm cho phép điện trở kéo dương PORTB RBPU =0: Cho phép điện trở kéo dương PORTB 1.3.3 Thanh ghi INTCON: Bit 0: Cờ báo ngắt cho chân RB4-RB7 RBIF =1: Xuất ngắt chân RB4-RB7 RBIF =0: Không xuất ngắt chân RB4-RB7 Bit 1: Cờ ngắt cho chân RB0 INTF =1: Xuất ngắt chân ngắt RB0 INTF =0: Khơng xuất ngắt chân ngắt ngồi RB0 Bit 2: Cờ ngắt cho TIMER0 TMR0IF =1: Xảy tràn ghi TMR0 TMR0IF =0: Chưa xảy tràn ghi TMR0 Bit 3: RBIE =1: Cho phép ngắt chân RB4-RB7 RBIE =0: Cấm ngắt chân RB4-RB7 Bit 4: INTE =1: Cho phép ngắt chân RB0 INTE =0: Cấm ngắt chân RB0 Bit 5: TMR0IE =1: Cho phép ngắt TIMER0 TMR0IE =0: Cấm ngắt TIMER0 Bit 6: PEIE =1: Cho phép ngắt phục vụ cho thiết bị ngoại vi PEIE =0: Cấm ngắt phục vụ cho thiết bị ngoại vi Bit 7: GIE =1: Cho phép tất ngắt thực GIE =0: Cấm tất ngắt không thực 1.4 Các ứng dụng PIC 16F877A 1.4.1 Đếm định thời: a) Bộ định thời TIMER0 TIMER0 l định thời PIC 16F877A, định thời sử dụng ghi chức khác với nhiệm vụ cách thức hoạt động khác Các ghi dùng TIMER0 Thanh ghi OPTION: Là ghi cho phép đọc ghi dùng để điều khiền thiết lập cấu hình cho TIMER0 Thanh ghi INTCON: Là ghi chứa cờ ngắt TIMER0 Thanh ghi TMR0: Là ghi bit, lần có xung tác động giá trị ghi tăng lên đơn vị tràn ghi trở 10 Chương THIẾT KẾ MẠCH QUANG BÁO 3.1 Giới thiệu qua mạch quang báo: Dựa nguyên tắc qt hình, ta thực việc hiển thị ma trận đèn cách quét theo hàng quét theo cột Mỗi Led ma trận LED coi điểm ảnh Địa điểm ảnh xác định đồng thời mạch giải mã hàng giải mã cột, điểm ảnh xác định trạng thái nhờ liệu đưa từ vi điều khiển PIC Như thời điểm có trạng thái điểm ảnh xác định Tuy nhiên xác định địa trạng thái điểm ảnh điểm ảnh lại chuyển trạng thái tắt (nếu LED sáng tắt dần).Vì để hiển thị tồn hình ảnh ma trận đèn, ta quét ma trận nhiều lần với tốc độ quét lớn, lớn nhiều lần thời gian kịp tắt đèn Mắt người nhận biết thay đổi tần số thay đổi nhỏ 24 hình/s tốc độ qt lớn khơng nhận thay đổi nhỏ đèn mà thấy toàn hình ảnh cần hiển thị Sơ đồ khối mạch quang báo: Để thực quét hàng quét cột ma trận LED thiết kế sau: Các LED hàng nối chân dương với Các LED cột nối chân âm với 44 Trạng thái LED định tín hiệu điện áp vào đồng thời chân Ví dụ để LED sáng điện áp 5V phải đưa vào chân dương chân âm phải nối đất, LED tắt khơng có điện áp đưa vào chân dương Với đề tài này, chúng xét chương trình với sơ đồ ma trận LED 8x8 để hiển thị Ta có sơ đồ nguyên lý Ma trận LED 8x8: 45 Để ma trận sáng hình vẽ Đèn LED thứ Đèn LED thứ hai Đèn Led thứ ba Thực quét dòng cột: Chọn cột 1, đưa điện áp cột Sau chọn quét hàng 1,2,3,4,5,6,7,8 sau: + Đèn tắt Điện áp đưa vào hàng 0V + Đèn tắt Điện áp đưa vào hàng 0V + Đèn sáng Điện áp đưa vào hàng 5V + Đèn sáng Điện áp đưa vào hàng 5V + Đèn sáng Điện áp đưa vào hàng 5V + Đèn sáng Điện áp đưa vào hàng 5V + Đèn sáng Điện áp đưa vào hàng 5V + Đèn sáng Điện áp đưa vào hàng 5V Chọn cột 2, nối đất Sau quét hàng 1,2,3,4,5,6,7,8 46 + Đèn tắt Điện áp đưa vào hàng 0V + Đèn sáng Điện áp đưa vào hàng 5V + Đèn tắt Điện áp đưa vào hàng 0V + Đèn sáng Điện áp đưa vào hàng 5V + Đèn tắt Điện áp đưa vào hàng 0V + Đèn tắt Điện áp đưa vào hàng 0V + Đèn tắt Điện áp đưa vào hàng 0V + Đèn tắt Điện áp đưa vào hàng 0V Tiếp tục quét với cột từ đến cách trên, sau chuyển sang quét đèn LED thứ hai thứ ba cách tương tự Để mắt người nhận biết tồn hình ảnh ma trận ta phải tiến hành quét nhiều lần Do mắt người không phân biệt thay đổi ảnh ảnh quét với tốc độ 24 hình/s nên ta quét ảnh với tốc độ lớn 24 hình/s ảnh chạy liên tục khơng bị giật 3.2 Thiết kế mạch quang báo Để thực việc quét theo hàng quét theo cột ta cần phải làm công việc sau: Thiết kế ma trận LED theo mơ nói Thiết kế module ghép nối truyền thơng máy tính PC PIC Thiết kế phân kênh đưa vào giải mã địa cột cho tất điểm ảnh Thiết kế đệm để ổn định liệu (gồm đệm hàng đệm cột) 47 3.2.1 Sơ đồ nguyên lý mạch quang báo: (Sơ đồ ngun lý module truyền thơng nối tiếp máy tính PC PIC) (Sơ đồ nguyên lý module điều khiểncột) 48 (Sơ đồ nguyên lý điều khiển hàng) 49 (Sơ đồ nguyên lý ma trận LED) 3.2.2 Các linh kiện dùng mạch + Vi điều khiển PIC 16F877A: Chức nguyên lý hoạt động vi điều khiển nêu + Transistor ngược C1815, Tip41A + Điện trở 1K, 10K + Bảng chữ ma trận LED tự thiết kế + Dao động thạch anh 12MHz + Tụ điện 22P, 104 + IC MAX232 + Giải mã hàng: Là tín hiệu đưa trực tiếp từ PORT vi điều khiển thơng qua Transistors sau hiển thị lên ma trận LED + Giải mã cột: Dùng IC M74HC595, IC có chức ghi dịch (1 đầu vào, đầu ra) để giải mã cho cột ma trận LED 50 (Sơ đồ cấu tạo mức làm việc M74HC595) + Đối với hàng bảng hiển thị: Được nối trực tiếp với PORT_ B vi điều khiển thông qua transistor điện trở 1K, 10K Dữ liệu (chữ cần hiển thị) đưa trực tiếp qua PORT B vi điều khiển sau hiển thị lên ma trận LED 3.2.3 Nguyên lý hoạt động: Theo nguyên tắc dịch cột Dữ liệu cần hiển thị đưa liên tục hàng ma trận LED, Trong giải mã cột chọn cột thứ nhất, giải mã hàng quét hết hàng, liệu đưa vào xác định trạng thái tất đèn cột Tiếp tục quét cột thứ hai, giải mã hàng lại đưa liệu vào hết hàng định trạng thái tất đèn cột Quá trình tiếp tục quét hết 64 cột (do ta dùng ma trận LED 16x64) 51 Thuật toán truyền nhận liệu từ PC 52 Thuật toán nhận liệu PIC 53 Thuật toán điều khiển quét hiển thị bảng chữ theo sơ đồ 54 3.3 Kết đạt (Module điều khiển hàng ghép nối với máy tính PC) (Module điều khiển cột) (Module hiển thị) (Chương trình thay đổi nội dung máy tính) 55 KẾT LUẬN Trong thời gian thực đề tài này, hướng dẫn tận tình TH.S: Phạm Đức Long với giúp đỡ bạn Em hoàn thành công việc giao Mong kinh nghiệm giúp ích chặng đường dài tiếp theo, công việc sau Em cố gắng vận dụng kiến thức cộng với giúp đỡ thầy bạn bè để hồn thành đồ án tốt nghiệp này, đáp ứng số vấn thực tế đòi hỏi Nhưng đề tài số thiếu sót chưa hồn chỉnh Vì em mong đóng góp ý kiến thầy giáo, bạn, để tơi nâng cao kiến thức tương lai cố gắng giải pháp vào thực tế cách hoàn thiện Em xin chân thành cảm ơn 56 TÀI LIỆU THAM KHẢO [1] Văn Thế Minh, Kỹ thuật vi xử lý, NXB GD, 1997 [2] Phạm Đức Long, Giáo trình ghép nối thiết bị ngoại vi, NXB Đại học Thái Nguyên, 2009 [3] Nguyễn Thị Ngọc Mai (chủ biên), Microsoft Visual Basic 6.0, NXB Lao Động-Xã Hội, 2004 [4] Giáo trinh PIC từ Microchip Các website: • http://www.dientuvietnam.net • http://www.picvietnam.com • http://www.dieukhientudong.net • http://www.đienandientu.com 57 NHẬN XÉT CỦA GIÁO VIÊN 58 ...Chương GIỚI THIỆU VI ĐIỀU KHIỂN PIC 1.1 Giới thiệu vi điều khiển PIC PIC vi điều khiển có kiến trúc HARVARD (bộ nhớ chương trình nhớ liệu truy xuất... biết, vi điều khiển thời điểm làm cơng vi c định Nhưng thực tế lại khác, người lập trình lại muốn vi điều khiển làm công vi c lại tự động chuyển sang làm công vi c khác, làm để vi điều khiển. .. 0x04, vi điều khiển thực yêu cầu mà ngắt đòi hỏi Vi c thiết lập cấu hình cho ngắt thơng qua bit ghi chức sau: + Đối với TIMER0: Bít điều khiển l bit TMR0IE (INTCON.5) + Đối với TIMER1: Bít điều khiển