1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Hệ thống nhúng hiển thị thời gian thực lên LED MATRIX

22 63 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 1,65 MB

Nội dung

Hệ thống nhúng hiển thị thời gian thực lên LED MATRIX. Lập trình pic16f877A. Liên hệ qua zalo 0327697318 để lấy file code và file mô phỏng trên proteus Hệ thống nhúng hiển thị thời gian thực lên LED MATRIX. Lập trình pic16f877A. Liên hệ qua zalo 0327697318 để lấy file code và file mô phỏng trên proteus

TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP KHOA ĐIỆN TỬ BÁO CÁO TIỂU LUẬN Môn học: HỆ THỐNG NHÚNG ĐỀ TÀI: HIỂN THỊ THỜI GIAN THỰC LÊN LED MATRIX GVHD: TĂNG CẨM NHUNG SVTH: HOÀNG VĂN LỰC - MSSV: K175520114029 NGUYỄN HUY HOÀNG - MSSV: K175520114019 LỚP : K53CĐT.01 KHOA : Cơ khí Thái Nguyên, ngày 21 tháng năm 2021 MỤC LỤC PHỤ LỤC Hình 2.1 Sơ đồ khối mạch hiển thị thời gian thực Hình 2.2 IC thời gian thực Bảng 2.1 Sơ đồ chân IC DS1307 Hình 2.3 Sơ đồ cấu tạo led matrix Hình 2.4 Cách nối nguồn led matrix Hình 2.5 Cách gán địa cho led matrix Hình 2.6 Cấu trúc chung PIC16F877A Hình 2.7 Sơ chân PIC 16F877A Bảng 2.2 Các chân giao tiếp PIC 16F877A Hình 2.8 Sơ đồ mạch mơ proteus Hình 2.9 Lưu đồ chương trình Chương 1: GIỚI THIỆU YÊU CẦU – GIỚI HẠN ĐỀ TÀI 1.1 Giới thiệu đề tài Ngày nay, chuyển đổi công nghệ số ngày mạnh mẽ, tính cơng cụ phục vụ cho người ngày chuyên nghiệp, nhạy bén có tính xác ngày cao Điển đồng hồ số ngày nay, sử dụng nhiều lĩnh vực truyền thông, đo đếm, điều khiển báo hiệu, v.v Đồng hồ phát kiến từ lâu phát triển ngày với nhiều loại khác như, đồng hộ dạng học, đồng hồ điện tử,…Độ xác cao, bên cạnh có nhiều khuyết điểm bị mỏi học, mòn, trượt đồng hồ cơ, định dạng ngày sai, loạn phím, hay bị reset đồng hồ điện tử, Tùy vào mục đích sử dụng mà có nhiều lựa chọn dạng đồng hồ khác Với công chuyển đổi số diễn mạnh mẽ đồng hồ điện tử để tài thú vị để nghiên cứu, học tập sáng tạo 1.2 Mục đích đề tài Cuộc cách mạng công nghiệp 4.0 nổ mạnh mẽ, đồng hồ điện tử ví dụ điển hình phản ánh phần cách mạng, bên cạnh giúp hình dung cách thức, đặc điểm nguyên lý hoạt động Dựa vào đặc mà sáng tạo khí để tạo đồng hồ đẹp mắt, lập trình cài đặt đồng hồ trở nên thơng minh hơn, chạy ổn định có nhiều tính có ích sống 1.3 Phạm vi nghiên cứu Trong khuôn khổ tiểu luận đồng hồ số mô tả đơn giản cách hiển thị thời gian thực lên led matrix dạng hh:mm:ss Sử dụng led matrix với nguồn tổ ong 12v-5A, khơng có nút tự cập nhật thời gian điện Chương 2: THIẾT KẾ 2.1 Giới thiệu Để hiển thị thời gian thực bước quan trọng thiết kế, phác thảo công việc cần làm từ khí đến điện tử, phạm vi tiểu luận chủ yếu tập chung thiết kế phần điện tử bao gồm sơ đồ khối, mạch, lập trình,… 2.2 Thiết kế sơ đồ khối Hình 2.1 Sơ đồ khối mạch hiển thị thời gian thực Chức khối: - Khối nguồn: Cấp nguồn cho toàn mạch để hoạt động - Khối đọc thời gian thực: Lấy tín hiệu trực tiếp từ DS1307 để lập trình theo dõi xác giờ, phút, giây - Khối I2C: Truyền liệu - Khối giải mã: Giải mã tín hiệu nhận từ khối thời gian thực sang mã matrix - Khối hiển thị: Hiển thị kết dạng số thập phân 2.2.1 Thiết kế sơ đồ nguyên lý a Khối nguồn Sử sụng nguồn tổ ong 12v-5A - Thông số kỹ thuật nguồn tổ ong + Điện áp ngõ vào: 110/220 VAC + Điện áp ngõ ra: 12 VDC + Sai số điện áp đầu ra: 1-3 % + Công suất thực tế: 88 % + Nhiệt độ làm việc: -70 độ C -Chức nguồn tổ ong: + Nguồn tổ ong cấu tạo để chuyển đổi điện áp từ nguồn xoay chiều thành nguồn chiều, giúp thiết bị điện hoạt động + Bộ nguồn có cong dụng bật chỉnh lưu, biến tần, nắn dòng, nhằm làm dòng điện, điện áp, tần số dao động ổn định Khơng có vai trị quan trọng, nguồn tổ ong làm tăng tuổi thọ thiết bị điện lâu b Khối I2C Một giao tiếp I2C gồm có dây: SDA SCL, SDA đường truyền liệu hướng, SCL đường truyền xung đồng hồ để đồng theo hướng Mỗi dây SDA hay SCL nối với điện áp dương nguồn thông qua điện trở kéo lên, giá trị điện trởi kéo dài từ 1K đến 4,7K Bus I2C hoạt động chế độ tiêu chuẩn, nhanh cao tốc c Khối thời gian thực Hình 2.2 IC thời gian thực - IC thời gian thực DS1307 giao tiếp với vi điều khiển thông qua chuẩn I2C, bên chíp có dị phát nguồn tự động chuyển sang nguồn dự phòng Bảng 2.1 Sơ đồ chân IC DS1307 Châ n Tên X1 X2 Vbat GND SDA SLC SQW/OU T VCC Chức Kết nối thạch anh 32,768kHz làm nguồn dao động cho chíp Kết nối cực dương pin dự phịng, có điện áp chuẩn 3V Kết nối đến mass Chân liệu kết nối đến bus I2C Chân nhận xung clock đồng kết nối bus I2C Ngõ xuất xung vuông, tần số lập trình để thay đổi từ 1Hz, 4kHz, 8kHz, 32kHz Nguồn cấp chính, khoảng 5VDC - DS1037 có bit địa cố định 1101000 Tiếp theo bit quy định hướng truyền liệu Nếu bít = 0, byte liệu truyền từ vi điều khiển tới DS1307 ngược lại d Khối hiển thị Hình 2.3 Sơ đồ cấu tạo led matrix - Led Matrix cấu tạo từ Led đơn ( chân kết nối đến Cột chân kết nối đến Hàng) => cần chân vi điều khiển để kết nối đến hàng, chân vi điều khiển kết nối đến cột - Để Led sáng: cấp điện áp VCC GND vào chân Led Trong thời điểm điều khiển Led - Chú ý: để Test xem HÀNG CỘT + Quy định (+): HÀNG + Quy định (-): CỘT - Ví dụ: để kiểm tra đâu chân HÀNG, đâu chân CỘT Matrix, nối với chân nguồn(+); chân với nguồn (-) Nếu đèn SÁNG, xác định HÀNG CỘT Hình 2.4 Cách nối nguồn led matrix - Nguyên tắc gán cho hàng cột sau: Hình 2.5 Cách gán địa cho led matrix - Nguyên lý quét led matrix: + Chốt tín hiệu vào hàng cột + Duy trì trạng thái khoảng thời gian đủ để mắt người cảm nhận (khoảng ms) + Tắt hết led + Chốt tín hiệu vào hàng cột e Khối vi điều khiển Sử dụng PIC16F877A để đọc thời gian thực tử DS1307 - Cấu trúc chung Hình 2.6 Cấu trúc chung PIC16F877A + Khối ALU, Arithmetic Logic Unit + Khối nhớ chương trình + Flash Program Memory + Khối nhớ chữa liệu EPROM – Data EPROM + Khối nhớ file ghi RAM – RAM file Register + Khối giải mã lệnh điều khiển – Instrustion Decode Control + Khối ghi đặc biệt + Khối ngoại vi timer + Khối giao tiếp nối tiếp + Khối chuyển đổi tín hiệu tương tự sáng số - ADC + Khối port xuất nhập - Sơ đồ chân: Hình 2.7 Sơ chân PIC 16F877A - Chức chân: Bảng 2.2 Các chân giao tiếp PIC 16F877A Tên chân Chân số Loạ i IO Loại đệm MCLR I ST VPP I ST OSC1 13 I ST Ý nghĩa Chân reset PIC, PIC reset chân mức thấp Chân lập trình (nạp PIC), ngõ vào điện áp cao Dao động thạch anh đầu vào nguồn đầu vào đồng hồ bên Bộ đệm ST cấu hình chế độ RC, CMOS khác OSC2 VDD VSS 14 11, 32 12, 31 O P P PGM 38 IO ST PGC 39 IO ST PGD 40 IO ST RCi T1OSO T1CKI T1OSI SCK SCL SDI SDA SDO TX 15 15 16 18 18 23 23 24 25 IO O I I IO IO I IO O O TTL ST CMOS ST ST ST ST ST - CK 25 IO ST RX 26 I ST DT 26 19… 30 19… 30 8…10 IO ST Đầu dao động thạch anh Nguồn 5V cho PIC logic cho IO Mass cho PIC mức logic cho IO Nguồn dao động từ bên vào Luôn kết hợp với chức OSC1 pin Trong chế độ RC, chân OSC2 xuất xung CLKO, tần số ¼ OSC1 biểu thị tần số thực lệnh Chân vào chiều, cổng RA (i=0….6) Vào số Vào tương tự (chuyển đổi ADC) Điện áp tham chiếu thấp cho ADC Điện áp tham chiếu cao cho ADC Đầu vào chọn Slave truyền thông SPI Đầu vào phát điện áp thấp Đầu vào/ra hai chiều, lập trình tạo điện trở treo (yếu) nội (i=0….7) Đầu vào ngắt (i=0…2) Capture input, Compare output, PWM output (i=1 2) Chân cho phép lập trình ICSP điện áp thấp Chân Clock lập trình ICSP gỡ rối mạch (In-Circuit) Chân liệu lập trình ICSP gỡ rối mạch (In-Circuit) Đầu vào hai chiều, cổng RC (i=0…7) Chân dao động Timer1 Dao động từ Timer1/Timer3 Đầu vào dao động Timer1 Xung clock nối tiếp đồng vào/ra cho SPI Xung clock nối tiếp đồng vào/ra cho I2C Chân liệu vào SPI Chân liệu vào/ra I2C Chân liệu SPI Chân truyền liệu không đồng USART Chân xung nhịp truyền thông đồng USART Chân nhận liệu nối tiếp truyền thông không đồng USART Chân liệu truyền thông đồng USART CLKI 13 I CMOS CLKO 14 - IO ST Vào số cổng RD (i=0….7) IO TTL Dữ liệu cổng song song (Slave) (i=0…7) IO ST Vào số cổng RE (i=0….2) RAi/ANi RAi ANi VREFVREF+ SS LVDIN RBi … 7 33 … 40 TLL Analog Analog Analog ST Analog IO TTL INTi I ST CCPi IO RDi PSPi REi RD WR TTL TTL CS 10 TTL Điều khiển đọc cho cổng song song Slaver Điều khiển ghi cho cổng song song Slaver Điều khiển chọn chip giao tiếp song song Slaver Trong đó: - TTL TTL tương thích với đầu vào - ST Schmitt Trigger đầu vào với mức CMOS - O - I vào - P nguồn (Power) - OD Open Drain (khơng có diode P nối tới VDD) - CMOS CMOS compatible input or output g Nguyên lý sơ đồ đồ toàn mạch Đầu tiên khối thời gian thực lấy thời gian thực thông qua IC DS1307 nhờ giao tiếp I2C đưa vào khối giải mã để mã hoá sau hiển thị lên lcd led matric 10 Hình 2.8 Sơ đồ mạch mơ proteus 2.2.2 Lưu đồ chương trình a Giới thiệu yêu cầu điều khiển Sử dụng IC DS1307 đọc thời gian thực hiển thị lên led matric b Lưu đồ - Xây dựng code dựa hoạt động đồng hồ - Trình tự hoạt động + Bước 1: Khai báo mã led led matrix + Bước 2: Set thời gian ban đầu để đếm thời gian hoạt động + Bước 3: Lấy thời gian + Bước 4: Gán giá trị (hh), phút (mm), giây (ss) vào biến a,b,c + Bước 5: Hiển thị LCD led matrix + Bước 6: Quay lại bước lấy thời gian mới, sau tiếp tục hiển thị 11 Hình 2.9 Lưu đồ chương trình c Chương trình giải thích lệnh - Chương trình #include #use delay(clock=20M) #include //gọi thư viện tvds1307(thư viện thời gian thực) //khai báo chân lcd #define LCD_RS_PIN PIN_A0 #define LCD_RW_PIN PIN_C7 #define LCD_ENABLE_PIN PIN_C6 #define LCD_DATA4 PIN_C5 #define LCD_DATA5 PIN_C2 #define LCD_DATA6 PIN_C1 #define LCD_DATA7 PIN_C0 #include //gọi thư viện lcd // Mã hàng, mã cột led matric để hiển thị từ 0-60 Unsignedint8 Ma_Hang[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe }; const int vFLASH[60][8]= { {0x42,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0x42}, {0x41,0xa3,0xa5,0xa1,0xa1,0xa1,0xa1,0x41}, {0x46,0xa9,0xa1,0xa1,0xa1,0xa2,0xa4,0x4f}, {0x46,0xa9,0xa1,0xa6,0xa1,0xa1,0xa9,0x46}, {0x49,0xa9,0xa9,0xaf,0xa1,0xa1,0xa1,0x41}, {0x4f,0xa8,0xa8,0xae,0xa1,0xa1,0xa9,0x46}, {0x47,0xa8,0xa8,0xae,0xa9,0xa9,0xa9,0x46}, {0x4f,0xa1,0xa1,0xaf,0xa1,0xa1,0xa1,0x41}, {0x46,0xa9,0xa9,0xa6,0xa9,0xa9,0xa9,0x46}, 12 {0x46,0xa9,0xa9,0xa7,0xa1,0xa1,0xa9,0x46}, {0x26,0x69,0xa9,0x29,0x29,0x29,0x29,0x26}, {0x21,0x63,0xa5,0x21,0x21,0x21,0x21,0x21}, {0x26,0x69,0xa1,0x21,0x21,0x22,0x24,0x2f}, {0x26,0x69,0xa1,0x26,0x21,0x21,0x29,0x26}, {0x21,0x63,0xa5,0x2f,0x21,0x21,0x21,0x21}, {0x2f,0x68,0xa8,0x2e,0x21,0x21,0x29,0x26}, {0x27,0x68,0xa8,0x2e,0x29,0x29,0x29,0x26}, {0x2f,0x61,0xa1,0x2f,0x21,0x21,0x21,0x21}, {0x26,0x69,0xa9,0x26,0x29,0x29,0x29,0x26}, {0x26,0x69,0xa9,0x27,0x21,0x21,0x21,0x26}, {0x46,0xa9,0xa9,0x29,0x29,0x49,0x89,0xe6}, {0x61,0x93,0x15,0x11,0x11,0x21,0x41,0xf1}, {0x42,0xa5,0x21,0x21,0x21,0x42,0x84,0xe7}, {0x46,0xa9,0x21,0x26,0x21,0x41,0x89,0xe6}, {0x65,0x95,0x15,0x17,0x11,0x21,0x41,0xf1}, {0x4f,0xa8,0x28,0x2f,0x21,0x41,0x89,0xef}, {0x47,0xa8,0x28,0x2e,0x29,0x49,0x89,0xe6}, {0x4f,0xa1,0x21,0x27,0x21,0x41,0x81,0xe1}, {0x46,0xa9,0x29,0x26,0x29,0x49,0x89,0xe6}, {0x46,0xa9,0x29,0x27,0x21,0x41,0x89,0xe6}, {0x62,0x95,0x15,0x65,0x15,0x15,0x95,0x62}, {0x61,0x93,0x15,0x61,0x11,0x11,0x91,0x61}, {0x62,0x95,0x11,0x61,0x11,0x12,0x94,0x67}, {0xe7,0x21,0x21,0xe7,0x21,0x21,0x21,0xe7}, {0xe5,0x25,0x25,0xe7,0x21,0x21,0x21,0xe1}, 13 {0xe7,0x24,0x24,0xe7,0x21,0x21,0x25,0xe7}, {0xe7,0x24,0x24,0xe7,0x25,0x25,0x25,0xe7}, {0xe7,0x21,0x21,0xe7,0x21,0x21,0x21,0xe1}, {0xe6,0x29,0x29,0xe6,0x29,0x29,0x29,0xe6}, {0xe6,0x29,0x29,0xe7,0x21,0x21,0x29,0xe6}, {0xa6,0xa9,0xa9,0xe9,0x29,0x29,0x29,0x26}, {0xa1,0xa3,0xa5,0xe1,0x21,0x21,0x21,0x21}, {0xa6,0xa9,0xa1,0xe1,0x21,0x22,0x24,0x2f}, {0xa6,0xa9,0xa1,0xe6,0x21,0x21,0x29,0x26}, {0xa5,0xa5,0xa5,0xe7,0x21,0x21,0x21,0x21}, {0xaf,0xa8,0xa8,0xee,0x21,0x21,0x29,0x26}, {0xa7,0xa8,0xa8,0xee,0x29,0x29,0x29,0x26}, {0xaf,0xa1,0xa1,0xef,0x21,0x21,0x21,0x21}, {0xa6,0xa9,0xa9,0xe6,0x29,0x29,0x29,0x26}, {0xa6,0xa9,0xa9,0xe7,0x21,0x21,0x29,0x26}, {0xe6,0x89,0x89,0xe9,0x29,0x29,0x29,0xe6}, {0xf1,0x83,0x85,0xe1,0x11,0x11,0x91,0x61}, {0xe6,0x89,0x81,0xe1,0x21,0x22,0x24,0xef}, {0xe6,0x89,0x81,0xe6,0x21,0x21,0x29,0xe6}, {0xe9,0x89,0x89,0xef,0x21,0x21,0x21,0xe1}, {0xe7,0x84,0x84,0xe7,0x21,0x21,0x21,0xe7}, {0xe7,0x88,0x88,0xee,0x29,0x29,0x29,0xe6}, {0xef,0x81,0x81,0xef,0x21,0x21,0x21,0xe1}, {0xe6,0x89,0x89,0xe6,0x29,0x29,0x29,0xe6}, {0xe6,0x89,0x89,0xe7,0x21,0x21,0xa9,0xe6}, }; 14 int8 a,b,c; void main (){ set_tris_C(0x00); LCD_init(); // khởi tạo LCD //khai báo biến giờ, phút, giây BYTE sec; BYTE i; BYTE j; BYTE min; BYTE hrs; //khai báo biến dùng để hiển thị hàng chục đơn vị giờ, phut, giây int8 chuc1,donvi1,chuc2,donvi2,chuc3,donvi3,chuc,donvi; ds1307_init(); //khởi tạo ds1307 //Nếu muốn cài trước thời gian chạy sau bị điện đột ngột reset dùng lệnh //ds1307_set_date_time(19,22,00,5,1,7,21) // Set date for -> 15 June 2005 Tuesday // Set time for -> 15:20:55 while(true) { //hiển thị chữ HT_TIME lcd lcd_gotoxy(2,1); lcd_putc("HT_TIME"); //lấy liệu thời gian sau lưu vào biến a, b, c ds1307_get_time(hrs,min,sec); a=hrs; b=min; 15 c=sec; //Dùng phép chia chia lấy dư để xác định hàng chục đơn vị donvi1=hrs%10; chuc1=hrs/10; donvi2=min%10; chuc2=min/10; donvi3=sec%10; chuc3=sec/10; //Hiển thị lên lcd giá trị vừa xác định lcd_gotoxy(2,2); lcd_putc(chuc1+0x30); lcd_putc(donvi1+0x30); lcd_putc(":"); lcd_putc(chuc2+0x30); lcd_putc(donvi2+0x30); lcd_putc(":"); lcd_putc(chuc3+0x30); lcd_putc(donvi3+0x30); //Sử dụng phương pháp quét hàng cột để hiển thị lên led matric nhờ mã led xây dụng for(j=0; j

Ngày đăng: 31/12/2021, 17:51

HÌNH ẢNH LIÊN QUAN

Hình 2.1. Sơ đồ khối mạch hiển thị thời gian thực - Hệ thống nhúng hiển thị thời gian thực lên LED MATRIX
Hình 2.1. Sơ đồ khối mạch hiển thị thời gian thực (Trang 4)
Hình 2.2. IC thời gian thực - Hệ thống nhúng hiển thị thời gian thực lên LED MATRIX
Hình 2.2. IC thời gian thực (Trang 5)
Hình 2.4. Cách nối nguồn led matrix - Hệ thống nhúng hiển thị thời gian thực lên LED MATRIX
Hình 2.4. Cách nối nguồn led matrix (Trang 6)
Hình 2.3. Sơ đồ cấu tạo led matrix - Hệ thống nhúng hiển thị thời gian thực lên LED MATRIX
Hình 2.3. Sơ đồ cấu tạo led matrix (Trang 6)
Hình 2.6. Cấu trúc chung của PIC16F877A - Hệ thống nhúng hiển thị thời gian thực lên LED MATRIX
Hình 2.6. Cấu trúc chung của PIC16F877A (Trang 7)
Hình 2.5. Cách gán địa chỉ cho led matrix - Hệ thống nhúng hiển thị thời gian thực lên LED MATRIX
Hình 2.5. Cách gán địa chỉ cho led matrix (Trang 7)
Hình 2.7. Sơ đô chân PIC 16F877A. - Hệ thống nhúng hiển thị thời gian thực lên LED MATRIX
Hình 2.7. Sơ đô chân PIC 16F877A (Trang 8)
Bảng 2.2. Các chân giao tiếp của PIC16F877A - Hệ thống nhúng hiển thị thời gian thực lên LED MATRIX
Bảng 2.2. Các chân giao tiếp của PIC16F877A (Trang 8)
Hình 2.8. Sơ đồ mạch mô phỏng trên proteus. - Hệ thống nhúng hiển thị thời gian thực lên LED MATRIX
Hình 2.8. Sơ đồ mạch mô phỏng trên proteus (Trang 11)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w