Thiết kế led ma trận

71 114 0
Thiết kế 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

Lời đầu tiên em xin gửi lời cảm ơn chân thành đến thầy giáo hướng dẫn Phạm Hoàng Vương bộ môn Kỹ thuật máy đã giúp đỡ em rất nhiều trong quá trình thực hiện đề tài này. Từ lúc bắt đầu đến khi kết thúc đề tài thầy đã giúp em làm quen với lĩnh vực vi xử lí, học tập nghiên cứu và sử dụng được các phần mềm liên quan đến điều khiển như Proteus,PicC… . Thầy cũng giúp đỡ em rất nhiều trong lúc thiết kế và thi công mạch mô hình thực tế. Em cũng xin cám ơn các thầy, cô trong bộ môn Kỹ thuật máy đã giúp đỡ, tạo điều kiện cho sinh viên chúng em có cơ hội học tập, nghiên cứu trong suốt các năm học vừa qua để bọn em được phát triển các kĩ năng cơ bản của 1 sinh viên kĩ thuật trước khi tốt nghiệp.

LỜI CÁM ƠN Lời em xin gửi lời cảm ơn chân thành đến thầy giáo hướng dẫn Phạm Hồng Vương mơn Kỹ thuật máy giúp đỡ em nhiều trình thực đề tài Từ lúc bắt đầu đến kết thúc đề tài thầy giúp em làm quen với lĩnh vực vi xử lí, học tập nghiên cứu sử dụng phần mềm liên quan đến điều khiển Proteus,PicC… Thầy giúp đỡ em nhiều lúc thiết kế thi cơng mạch mơ hình thực tế Em xin cám ơn thầy, cô môn Kỹ thuật máy giúp đỡ, tạo điều kiện cho sinh viên chúng em có hội học tập, nghiên cứu suốt năm học vừa qua để bọn em phát triển kĩ sinh viên kĩ thuật trước tốt nghiệp Hà Nội, ngày 15 tháng năm 2014 Đàm Hùng Việt MỤC LỤC LỜI CÁM ƠN MỤC LỤC DANH MỤC HÌNH ẢNH CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ VI XỬ LÍ 1.1.Cấu trúc tổng thể hệ vi điều khiển 1.2.Chức phận 1.2.1 CPU 1.2.2 Bộ nhớ ROM 1.2.3 Bộ nhớ RAM 1.2.4 Cổng giao tiếp (có thể cổng nối tiếp cổng song song) 1.2.5.Bộ đếm/Bộ định thời 10 1.2.6.Khối giao tiếp bus 11 1.2.7.Ngăn xếp(stack) 12 1.3.Nguyên lí hoạt động vi xử lí 12 1.4.Các dòng vi điều khiển thường gặp 13 1.5.Giới thiệu Pic16F887 14 1.5.1 PIC nói chung 14 1.5.2 Giới thiệu PIC16F887 16 1.5.3.Tổ chức nhớ 20 1.5.4.Bộ tạo dao động 25 1.5.5.Cấp nguồn 26 1.5.6.Reset 28 1.5.7 Các định thời 28 CHƯƠNG 2: Ý TƯỞNG THIẾT KẾ VÀ CÁC LINH KIỆN CÓ THỂ ĐƯỢC SỬ DỤNG 36 2.1 IC thời gian thực DS1307 36 2.1.1 Khái quát chung 36 2.1.2.Cấu tạo DS1307 37 2.1.3.Tổ chức ghi DS1307 39 2.2 IC ghi dịch 74HC595 43 2.3 Led ma trận 8*8 47 2.4 Module thu phát sóng RF PT2272 48 CHƯƠNG 3: THIẾT KẾ, THI CÔNG VÀ CHẠY THỬ NGHIỆM 51 3.1.Sử dụng Proteus để thiết kế mạch mô 51 3.2.Sử dụng phần mềm Pic C compiler để lập trình cho VDK 53 CHƯƠNG 4: KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN 56 4.1.Kết 56 4.2.Hướng phát triển tương lai 56 Tài liệu tham khảo 57 Phụ lục 58 DANH MỤC HÌNH ẢNH Hình 1.1: Kiến trúc mơt vi xử lý Hình 1.2: Hai kiểu tổ chức phần cứng PIC 15 Hình 1.3.Sơ đồ chân PIC16F887 17 Hình 1.4.Chức chân (ảnh chụp từ Data Sheet) 19 Hình 1.6 Bộ nhớ chương trình PIC16F877 22 Hình 1.7.Sơ đồ tạo dao động 25 Hình 1.8.Hình ảnh thạch anh 20Mhz 26 Hình 1.9.Mạch ổn áp dùng cầu DIODE IC ổn áp chân 7805 27 Hình 1.10.Một IC 7805 27 Hình 1.11.Sơ đồ mạch reset 28 Hình 1.12 Sơ đồ khối Timer 29 Hình 2.1.Hình ảnh thực tế sơ đồ chân Ds1307 37 Hình 2.2.Hình ảnh kết nối DS1307 với Pic 38 Hình 2.3 Hình ảnh thực tế sơ đồ chân IC 74HC595 43 Hình 2.4.Sơ đồ nguyên lý mắc ic74hc595 với Pic led ma trận 45 Hình 2.6 Cách mắc led ma trận cách 48 Hình 2.7.Hình ảnh thực tế thu phát sóng tín hiệu RF 49 Hình 3.1.Màn hình khởi động Proteus 51 Hình 3.2.Mạch nguyên lý để mô 52 Hình 3.3.Mạch in thiết kế 53 Hình 3.4.Màn hình khởi tạo Project PicC 53 CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ VI XỬ LÍ 1.1.Cấu trúc tổng thể hệ vi điều khiển -Trước hết ta cần phân biệt hai khái niệm vi xử lí vi điều khiển, chúng không khác nhiều thuật ngữ dung để đề cập đến kĩ thuật ứng dụng cơng nghê vi điện tử, cơng nghệ tích hợp khả xử lí theo chương trình vào lĩnh vực khác Tuy nhiên có khác biệt vi xử lí chủ yếu sử dụng vào mục đích tính tốn vi điều khiển sử dụng cho mục đích nhỏ cụ thể Hình 1.1: Kiến trúc mơt vi xử lý -Ngồi cấu trúc với loại vi điều khiển cụ thể có thêm số phần cứng khác dao động trong,bộ biến đổi tần số tương tự DAC, mạch điều chế dạng sóng WG, điều chế độ rộng xung PWM… 1.2.Chức phận 1.2.1 CPU -Là não vi xử lí, phận khác vi xử lí quan chấp hành quyền CPU Mỗi quan có chế hoạt động định CPU phải tuân theo để giao tiếp với chúng CPU dùng loại tín hiệu để giao tiếp điều khiển quan ngoại vi : + tín hiệu địa + tín hiệu liệu + tín hiệu điều khiển Về mặt vật lí tín hiệu đường điện nhỏ dẫn từ CPU đến ngoai vi khác từ ngoại vi đến với Chức CPU tiến hành thao tác tính tốn, xử lí,đưa tín hiệu địa chỉ, liệu điều khiển nhằm thực nhiệm vụ người lập trình đưa thơng qua lệnh 1.2.2 Bộ nhớ ROM - Là loại nhớ chứa chương trình hướng dẫn CPU thực nhiện vụ đó, ROM loại nhớ khơng bị chương trình ngừng cung cấp nguồn ni 1.2.3 Bộ nhớ RAM - Là loại nhớ liệu dùng để chứa liệu ( tham số, biến tạm thời….) - RAM loại nhớ liệu cắt nguồn nuôi 1.2.4 Cổng giao tiếp (có thể cổng nối tiếp cổng song song) Đây đường tín hiệu đươc nối với số chân IC để giao tiếp với thiết bị bên Giao tiếp đưa điên áp đọc vào giá trị điện áp chân cổng Các giá trị điện áp đưa đọc vào biểu diễn mọt hai giá trị logic Trong kĩ thuật vi xử lí, người ta thường dùng quy ước logic dương: giá trị ứng với mức điện áp 0VDC, giá trị ứng với mức điện áp +5VDC Tùy loại vi xử lí khoảng xấp xỉ khác nhìn chung tương thích với mức logic TTL + Cổng giao tiếp song song thường gồm đường khác gọi cổng 8bit Các đường tín hiệu độc lập với nhau, điều cho phép ta đưa hay đọc vào giá trị logic khác chân Ngoài cần ý cổng giao tiếp kiêm thêm chức đặc biệt lien quan đến ngoại vi khác + Cổng giao tiếp nối tiếp khác với cổng song song bit liệu truyền đường tín hiệu thay mơt lúc cổng song song Tuy nhiên việc truyền liệu cổng nối tiếp phải tuân theo chế, giao thức hay nguyên tắc định Có thể kể số giao thức SPI,I2C,SCI Cổng nối tiếp có kiểu truyền liệu chính: Truyền đồng bộ: thiết bị truyền thiết bị nhận dùng chung xung nhịp Truyền dị bộ: thiết bị truyền thiết bị nhận sử dụng hai nguồn xung nhịp riêng Tuy nhiên hai nguồn xung nhịp không khác nhiều Xung nhịp yếu tố thiếu truyền liệu nối tiếp có vai trò xác định giá tri bit liệu Cổng nối tiếp có tính sau: Đơn cơng: thiết bị truyền nhận liệu Bán song công: thiết bị truyền nhận liệu thời điểm nhận truyền Song cơng: thiết bị truyền nhận liệu đồng thời 1.2.5.Bộ đếm/Bộ định thời Đây ngoại vi thiết kế để thực môt nhiệm vụ đơn giản đếm xung nhịp Mỗi có thêm xung nhip đầu vào đếm giá trị đếm tăng lên đơn vị ( đếm tiến) hay giảm đơn vị (trong đếm lùi) Xung nhịp đưa vào đếm đưa vào đếm hai loại: + Xung nhịp bên IC: Đó xung nhịp tạo nhờ kết hợp mạch dao động bên IC linh kiện phụ bên nối với IC Ta coi “nhịp tim” để tồn phần cứng bên vi xử lí( kể CPU ngoại vi) hoạt động Trường hợp người ta gọi định thời (Timer) Do xung nhịp loại thường đặn nên ta dùng để đếm thời gian cách xác 10 Tài liệu tham khảo TS.Nguyễn Trường Giang(2012) Bài giảng Kỹ thuật vi xử lý Đại học giao thông vận tải Hà Nội Microchip Pic 16F882/883/884/886/887 Data Sheet www.alldatasheet.com DS1307 Data Sheet.www.alldatasheet.com 74HC595 Data Sheet www.alldatasheet.com Hướng dẫn sử dụng phần mềm ISIS PROFESSIONAL mô điện tử(tháng 6-2006) Đại học Sư phạm kỹ thuật TP HCM Công ty TNHH công nghê cao Atecko.Nhập môn PIC www.atecko.com.vn Các trang mạng tham khảo: www.google.com.vn; www.codientu.org cộng đồng điện tử Việt Nam; www.dientuvietnam.net 57 Phụ lục Code tồn chương trình nạp vào Pic: #include "E:\led\test\matrix\mattrixx+clock.h" #include "DS1307_interface.c" #define data PIN_D0 #define clk PIN_D1 #define lat PIN_D2 #define set1 PIN_D5 #define set2 PIN_D6 #define set3 PIN_D7 int16 n,i,m,dem=0; int set=0,hour,min,sec,cnt,hour_chuc,hour_dv,min_chuc, min_dv; unsigned char dau[2][8]= { 0xff,0xff,0xff,0xdb,0xdb,0xff,0xff,0xff,// : 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff// tat }; 58 unsigned char bo_mon[]={ 0xff,0xff, 0xff,0xff,0x81,0xe7,0xdb,0xbd,0xff,//K 0xff,0xfd,0xfd,0x81,0xfd,0xfd,//T 0xff,0x81,0xfb,0xf7,0xf7,0xfb,0x81,0xff,//M 0xff,0xff,0xff,0xff,//space 0xff,0xc3,0xbd,0xbd,0xdb,//C 0xff,0x81,0xbd,0xbd,0xc3,0xff,0xff,//D 0xfd,0xfd,0x81,0xfd,0xfd,0xff,//T 0xff,0xff,0x81,0xe7,0xdb,0xbd,//K 0xff,0xb1,0xb5,0xcd,0xff,0xfb,0x81,0xff,//51 0xff,0xff,0xff,0xff,0xff,0xff, }; unsigned char Mangso[10][8]={ 0xff,0xc1,0xae,0xb6,0xba,0xc1,0xff,0xff,//0 0xff,0xff,0xff,0xbd,0x80,0xbf,0xff,0xff,//1 0xff,0x8d,0xb6,0xb6,0xb6,0xb9,0xff,0xff,//2 0xff,0xdd,0xbe,0xb6,0xb6,0xc9,0xff,0xff,//3 0xff,0xe7,0xeb,0xed,0x80,0xef,0xff,0xff,//4 0xff,0xd8,0xba,0xba,0xba,0xc6,0xff,0xff,//5 59 0xff,0xc3,0xb5,0xb6,0xb6,0xcf,0xff,0xff,//6 0xff,0xfe,0x8e,0xf6,0xfa,0xfc,0xff,0xff,//7 0xff,0xc9,0xb6,0xb6,0xb6,0xc9,0xff,0xff,//8 0xff,0xf9,0xb6,0xb6,0xd6,0xe1,0xff,0xff,//9 }; unsigned char ho_ten[]={ 0xff,0x81,0xbd,0xbd,0xc3,0xff,//D 0x87,0xeb,0xed,0xeb,0x87,0xff,//A 0x81,0xfb,0xf7,0xf7,0xfb,0x81,0xff,//M 0xff,0xff,0xff, 0x81,0xf7,0xf7,0xf7,0x81,0xff,//H 0xc1,0xbf,0xbf,0xbf,0xc1,0xff,//U 0x81,0xfb,0xf7,0xef,0x81,0xff,//N 0xc3,0xbd,0xad,0x8b,0xef,//G 0xff,0xff,0xff, 0xe1,0xdf,0xbf,0xdf,0xe1,0xff//V 0xff,0x81,0xff//I 0x81,0xb5,0xb5,0xb5,0xff,//E 0xfd,0xfd,0x81,0xfd,0xfd,0xff,//T 0xff,0xff,0xff,0xff,0xff 60 }; int scan[] ={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; int1 enable = 1; void dua_dulieu_595(int8 data_in); void xuat_dau_ra_595(void); void set_hien_thi(); void dich_font(void); #int_RTCC void RTCC_isr(void) { cnt++; if(cnt==38) // { cnt = 0; enable =~enable; } } 61 void main() { // char hour_chuc=1,hour_dv=0,min_chuc=2,min_dv=5; setup_adc_ports(NO_ANALOGS|VSS_VDD); setup_adc(ADC_CLOCK_DIV_2); setup_spi(SPI_SS_DISABLED); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); setup_comparator(NC_NC_NC_NC);// This device COMP currently not supported by the PICWizard enable_interrupts(INT_RTCC); enable_interrupts(GLOBAL); //Setup_Oscillator parameter not selected from Intr Oscillator Config tab // TODO: USER CODE!! ds1307_init(); 62 while(true) { if(enable == 1) { ds1307_get_time(hour,min,sec); } hour_chuc = hour/10; hour_dv = hour%10; min_chuc = min/10; min_dv = min%10; if(dem==2) { for(n=0;n

Ngày đăng: 31/05/2019, 22:21

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

Tài liệu liên quan