Bài tập lớn VXL Bảng thông tin điện tử Trường Đại Học Bách Khoa Hà Nội Khoa Điện Tử Vin Thụng ====o0o==== Báo cáo tập lớn đề tài: Môn :vi xử lí Bảng thông tin điện tử dùng vi điều khiển pic16f88 Giảng viên hớng dẫn: Hàn Huy Dũng Nhóm sinh viên thực hiện: Lớp Điện Tử 1&2 K48 Khoa : ĐT-VT Hà nội 2006 Giảng viên hớng dẫn:Hàn Huy Dũng Thực :nhóm ĐT 1+2 K48 ĐHBKHN 5/6/2006 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Bài tập lớn VXL Bảng thông tin điện tử Báo cáo tập lớn môn vi xử lý Nhóm sinh viên thực hiện: Nguyên Đức Toàn ( Điện tử1-K48) Nguyễn Tiến Cờng ( Điện tử2-K48) Lơng Hồng Thắng ( §iƯn tư2-K48) Ngun B¸ ChiÕn ( §iƯn tư2-K48) Ngun Huy Quang ( Điện tử2-K48) Trần Huy Du ( Điện tử2-K48) Lời nói đầu Sự đời phát triển máy vi tính bớc đột phá ngời Nó đợc sử dụng nh công cụ thiếu sống nh sản xuất Đây ví dụ điển hình ứng dụng vi xử lý đời sống Với tính vợt tréi nh− kÝch th−íc nhá gän , cho phÐp lËp trình đợc , giao tiếp đợc với thiết bị ngoại vi vi xử lý công cụ đầy sức mạnh lĩnh vực điện tử Và sau chúng em xin đợc trình bày øng dơng cđa bé vi xư PIC 16F88 ®Ĩ hiĨn thị dòng chữ chạy ma trận led Đây là ứng dụng nhỏ vi xư lý nh−ng nã ® gióp chóng em hiĨu râ h¬n vỊ bé vi xư lý PIC16F88 Tuy ® rÊt cè g¾ng nh−ng kiÕn thøc vi xư lý , kĩ thuật lập trình , lắp ráp phần cứng nhiều hạn chế , nên chúng em nhiều thiếu sót , mong đợc đóng góp thầy giáo Cuối em xin đợc cảm ơn thầy đ giúp đỡ chúng em trình thực tập lớn A)Mục đích thiết kế - Dùng vi điều khiển PIC16F88 PIC16F84 để hiển thị chữ chạy ma trận led(8ì8) - Phần cứng bao gồm ã PIC16F88 Hoặc PIC16F84 phần tử điều khiển Giảng viên hớng dẫn:Hàn Huy Dịng Thùc hiƯn :nhãm §T 1+2 K48 §HBKHN 5/6/2006 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Bµi tËp lớn VXL Bảng thông tin điện tử ã ã ã ã 74LS154 để quét 16 cột( giải m côt) 74HC595 để gửi liệu hàng A1015 để đệm dòng cho hàng Ma trận led (8ì8) để hiển thị Sơ đồ khối mạch điện: GiảI m cột Khối hút dòng VĐK PIC16F88 Hiển thị LED Khối giải m Cột Nguồn VCC 5V - Chức phần mềm * Hiển thị nội dung tin đợc lu Flash * Copy nội dung tin vào EEPROM hiển thị nội dung * Tốc độ chữ chạy đợc xác định biến time , giá trị đợc thay đổi thông qua giá trị ADC 8bit đợc lấy chân RA4 ( kênh AN4) B) Giới thiệu linh kiện dùng mạch Ma trận led (8ì8) 1.1 Nguyên lí hoạt động : Gồm 64 điôt phát quang (LED) đợc xếp thành ma trận cột hàng Các LED hàng đợc nối chung Anốt , LED cột đợc nối chung catốt Một LED vị trí hàng thứ i cột j sáng có tín hiệu chọn hàng I mức cao (5V) vµ tÝn hiƯu chän cét j ë møc thấp (0V) Giảng viên hớng dẫn:Hàn Huy Dũng Thực hiƯn :nhãm §T 1+2 K48 §HBKHN 5/6/2006 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Bµi tËp lín VXL Bảng thông tin điện tử 1.2 Sơ đồ nguyên lý Sơ đồ nguyên lý ma trận LED 8*8 tơng tự nh sau - Ma trận LED đợc đóng vá d¹ng DIP ( Dual In – line Pakage) gåm 16 chân chia làm hai hàng - Sơ đồ chân ma trận LED: Giảng viên hớng dẫn:Hàn Huy Dũng Thùc hiƯn :nhãm §T 1+2 K48 §HBKHN 5/6/2006 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Bµi tËp lín VXL Bảng thông tin điện tử Bộ giải mà / phân kênh 74154 Đây IC giải m địa đờng vào 16 đờng ra: Dới sơ đồ chân kết nối sơ dồ khối logic IC Giảng viên hớng dẫn:Hàn Huy Dũng Thực hiƯn :nhãm §T 1+2 K48 §HBKHN 5/6/2006 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Bµi tËp lín VXL Bảng thông tin điện tử 74LS154 có 24 chân gồm : chân đầu vào A , B , C, D , 16 đầu 15 , đầu cÊp nguån Vcc = +5V ( ch©n 24 ) , chân GND nối đất ( chân 12 ) , hai đầu chọn chip G1 G2 Mỗi địa bit đầu vào kích thích đầu mức thấp, đầu lại mức cao Các đầu vào chọn chip cần phải đặt thấp để vi mạch làm việc Nếu hai đầu G1, G2 mức cao tất đầu mức cao Dới bảng chân lý IC 74LS154: Giảng viên hớng dẫn:Hàn Huy Dũng Thùc hiƯn :nhãm §T 1+2 K48 §HBKHN 5/6/2006 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Bµi tËp lín VXL Bảng thông tin điện tử G 1 0 0 0 0 0 0 0 0 G 0 0 0 0 0 0 0 0 D C B A x x x x 1 1 1 1 1 x x x x 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 A 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Giảng viên hớng dẫn:Hàn Huy Dũng Thực hiƯn :nhãm §T 1+2 K48 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 §HBKHN 5/6/2006 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Bµi tËp lín VXL Bảng thông tin điện tử Giảng viên hớng dẫn:Hàn Huy Dịng Thùc hiƯn :nhãm §T 1+2 K48 §HBKHN 5/6/2006 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Bµi tập lớn VXL Bảng thông tin điện tử Giảng viên hớng dẫn:Hàn Huy Dũng Thực :nhóm ĐT 1+2 K48 §HBKHN 5/6/2006 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Bài tập lớn VXL Bảng thông tin điện tử 3.Giới thiệu IC 74HC595 - Sơ đồ chân IC: Đây IC dùng để giải m hàng, chân 11,12,14 đợc cấp điện áp( hay mức logic) từ PIC16F88 Giảng viên hớng dẫn:Hàn Huy Dũng Thực :nhóm §T 1+2 K48 §HBKHN 10 5/6/2006 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Bài tập lớn VXL Bảng thông tin điện tử D) Sơ đồ khối mạch quang báo Trong mạch 74LS154 co thể đợc thay giải m 74LS138 theo sơ đồ sau: Giảng viên hớng dẫn:Hàn Huy Dũng Thực :nhãm §T 1+2 K48 §HBKHN 22 5/6/2006 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Bµi tËp lín VXL – Bảng thông tin điện tử D) Thiết kế phần mềm #include #include #device *=16 ADC=8 #FUSES NOWDT, HS, NOPUT, MCLR, NOBROWNOUT, NOLVP, NOCPD, NOWRT, NODEBUG, NOPROTECT, NOFCMEN, NOIESO #use delay(clock=20000000) //#use rs232(baud=9600,parity=N,xmit=PIN_B5,rcv=PIN_B2,bits=9) //Baud_min=4800 Baud_max=115200 #include #include //File chua bo font ma hoa ky tu ASCII // Dinh nghia cac chan cho ket noi 74595 #bit data = 0x06.1 //RB1 #bit clk = 0x06.0 //RB0 #bit latch = 0x06.3 //RB3 // Bo nho dem man hinh hien thi int8 buff_disp[17]; //Bo nho dem cho man hinh LED int8 max_char=117; //SO ky tu hien thi toi da int8 time=5; //Bien quy dinh toc chu chay Giảng viên hớng dẫn:Hàn Huy Dũng Thực :nhóm ĐT 1+2 K48 §HBKHN 23 5/6/2006 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Bài tập lớn VXL Bảng thông tin điện tö //=========KHAI_BAO_CAC_CHUONG_TRINH _CON====== int8 doc_eeprom(int8 addr); void send_2_595(int8 temp); void display(); void copy_2_ram1(int8 index_char); void copy_2_ram2(int8 index_char); void update_eeprom(); void convert_bcd(int8 x); //============================================= //===========Chuong trinh chinh================ void main() { int8 i,j; #bit update_flag = 0x06.4 char const a[119]=" TRUONG DHBKHN KHOA DTVT BANG THONG TIN DIEN TU DUNG PIC16F88 CHUC THANH CONG DT 1+2 :K48 ";// Chuỗi hiển thị bảng mạch điện tử char const adc[6] = " ADC="; //=========================================== TRISA=0x10; // Thiet lap chan vao TRISB=0b00100100; setup_adc_ports(sAN4); //Chon kenh AN4 nhung ko hieu can them phan khai bao setup_adc(ADC_CLOCK_INTERNAL);// ben duoi dechon dung kenh AN4 cho no chay dung //Chon kenh AN4 clear cac bit tai thang ghi ADCON1 (chs0 : 2) chs0=0; //Clear bit 1f.3 chs1=0; //Clear bit 1f.4 chs2=1; //Clear bit 1f.5 delay_ms(10); //=========================================== for(i=0;i