THIẾT kế MẠCH ĐỒNG hồ số DÙNG PIC kết hợp đo NHIỆT độ (có code và sơ đồ mạch)

35 592 7
THIẾT kế MẠCH ĐỒNG hồ số DÙNG PIC kết hợp đo NHIỆT độ (có code và sơ đồ mạch)

Đ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

THIẾT kế MẠCH ĐỒNG hồ số DÙNG PIC kết hợp đo NHIỆT độ (có code và sơ đồ mạch) THIẾT kế MẠCH ĐỒNG hồ số DÙNG PIC kết hợp đo NHIỆT độ (có code và sơ đồ mạch) THIẾT kế MẠCH ĐỒNG hồ số DÙNG PIC kết hợp đo NHIỆT độ (có code và sơ đồ mạch) THIẾT kế MẠCH ĐỒNG hồ số DÙNG PIC kết hợp đo NHIỆT độ (có code và sơ đồ mạch)

THIẾT KẾ MẠCH ĐỒNG HỒ SỐ DÙNG PIC KẾT HỢP ĐO NHIỆT ĐỘ MỤC LỤC DANH MỤC CÁC HÌNH VẼ VII DANH MỤC CÁC BẢNG BIỂU VIII DANH MỤC CÁC TỪ VIẾT TẮT IX CHƯƠNG GIỚI THIỆU ĐỀ TÀI 1.1 Mục đích đề tài 1.2 Ứng dụng đề tài 1.3 Yêu cầu đề tài CHƯƠNG THIẾT KẾ HỆ THỐNG .2 2.1 Sơ đồ khối mạch 2.2 Lưu đồ giải thuật CHƯƠNG GIỚI THIỆU LINH KIỆN VÀ CÁC CHUẨN GIAO TIẾP 3.1 Vi điều khiển PIC16F877A 3.2 IC thời gian thực DS1307 3.3 LCD 162 3.4 Cảm biến nhiệt độ LM35 3.5 Module SIM900A mini 3.6 Chuẩn giao tiếp I2C .10 3.7 Chuẩn giao tiếp USART 11 CHƯƠNG NGUYÊN LÝ HOẠT ĐỘNG CỦA MẠCH 12 4.1 Sơ đồ nguyên lý mạch .12 4.2 Nguyên lý hoạt động mạch 13 4.3 Sơ đồ mạch in 13 4.4 Hình ảnh mạch thực tế 14 4.5 Kết giao tiếp module SIM900A mini 14 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 15 5.1 Kết luận 15 5.2 Ứng dụng hướng phát triển .15 TÀI LIỆU THAM KHẢO .16 PHỤ LỤC 17 DANH MỤC CÁC HÌNH VẼ Hình 2-1: Sơ đồ khối mạch Hình 2-2: Lưu đồ giải thuật .3 Hình 3-1: Kiến trúc Harvard PIC16F877A Hình 3-2: Sơ đồ chân vi điều khiển PIC16F877A Hình 3-3: Sơ đồ chân IC DS1307 .5 Hình 3-4: Hình ảnh thực tế IC DS1307 Hình 3-5: Tổ chức ghi IC DS1307 Hình 3-6: Sơ đồ chân LCD 162 Hình 3-7: Hình ảnh thực tế sơ đồ chân LM35 .9 Hình 3-8: Sơ đồ chân module SIM900A mini 10 Hình 4-1: Sơ đồ nguyên lý mạch 12 Hình 4-2: Mạch mơ đồng hồ kết hợp đo nhiệt độ 12 Hình 4-3: Sơ đồ mạch in 13 Hình 4-4: Hình ảnh mạch thực tế 14 Hình 4-5: Kết nhiệt độ gửi điện thoại 14 DANH MỤC CÁC BẢNG BIỂU Bảng 1: Chức chân IC DS1307 Bảng 2: Bảng chi tiết ghi IC DS1307 Bảng 3: Chức chân LCD .8 Bảng 4: Chức chân LM35 Bảng 5: Chức chân module SIM900A mini 10 DANH MỤC CÁC TỪ VIẾT TẮT ADC Analog to Digital Converter ARM Advanced RISC Machine CPU Central Processing Unit I2C InterIntergrated Circuit IC Intergrated Circuit LCD Liquid Crystal Display LSB Least Significant Bit MCU Multipoint Control Unit MSB Most Significant Bit PIC Programmable Intelligent Computer PWM Pulse Width Modulation RAM Random Access Memory RTC Real–Time Clock SIM Subscriber Identity Module SMS Short Massage Services TTL TransistorTransistor Logic USART Universal Synchronous/Asynchronous Receiver/Transmitter USB Universal Serial Bus VDC Votls Direct Current Trang 1/30 CHƯƠNG GIỚI THIỆU ĐỀ TÀI 1.1 Mục đích đề tài  Thiết kế thi công mạch hiển thị thời gian nhiệt độ môi trường xung quanh, sau gửi kết nhiệt độ đo điện thoại 1.2 Ứng dụng đề tài  Hiện nay, sống vô vội vã nên vấn đề thời gian người quan tâm nên đồng hồ thiết bị gắn liền với người Với kỹ thuật đại tích hợp nhiều cơng nghệ lên đồng hồ, làm cho chức đồng hồ trở nên phong phú không để xem thời gian ngày Với kiến thức học tìm hiểu quan mạng internet em chọn đề tài đồng hồ số kết hợp đo nhiệt độ hiển thị LCD gửi kết đo nhiệt độ điện thoại qua module SIM 1.3 Yêu cầu đề tài  Sử dụng vi điều khiển PIC16F877A để điều khiển  Hiển thị thời gian nhiệt độ LCD  Gửi kết đo nhiệt độ điện thoại qua module SIM CHƯƠNG THIẾT KẾ HỆ THỐNG 1.4 Sơ đồ khối mạch Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ Trang 2/30 Hình 2-1: Sơ đồ khối mạch Chức khối:  Khối nguồn: sử dụng nguồn chiều 5VDC làm nhiệm cung cấp nguồn cho mạch hoạt động  Khối điều khiển: sử dụng nút nhấn để điều chỉnh thời gian  Khối RTC: sử dụng IC DS1307 để ghi đọc thời gian  Khối vi xử lý: sử dụng PIC16F877A làm trung tâm xử lý, lấy liệu từ khối khác để xử lý sau hiển thị lên LCD 162  Khối cảm biến: sử dụng cảm biến nhiệt độ LM35 để đo nhiệt độ môi trường  Khối hiển thị: sử dụng LCD 162 để hiển thị thời gian nhiệt độ  Khối giao tiếp: sử dụng Module SIM900A mini để gửi kết đo nhiệt độ điện thoại 1.5 Lưu đồ giải thuật Bắt đầu Khởi tạo PIC, LCD, LM35, DS1307 SIM Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ Trang 3/30 Module SIM gửi SMS điện thoại Thu thập liệu từ LM35 DS1307 Vi xử lí Cập nhật hiển thị thời gian nhiệt độ Gửi SMS Yêu cầu “KT” Sai “ SAI CU PHAP” Đúng Gửi nhiệt độ điện thoại Kết thúc Hình 2-2: Lưu đồ giải thuật CHƯƠNG GIỚI THIỆU LINH KIỆN VÀ CÁC CHUẨN GIAO TIẾP 1.6 Vi điều khiển PIC16F877A[1]  Vi điều khiển PIC16F877A có tổ chức phần cứng theo kiến trúc Harvard Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ Trang 4/30 Hình 3-1: Kiến trúc Harvard vi điều khiển[1]  Vi điều khiển PIC16F877A vi điều khiển thuộc họ PIC16Fxxx có tập lệnh gồm 35 lệnh, độ dài 14 bit Hình 3-2: Sơ đồ chân vi điều khiển PIC16F877A[7]  Vi điều khiển PIC16F877A gồm có 40 chân có chức sau:  port xuất nhập (A, B, C, D, E) với tổng cộng 33 chân xuất nhập: dùng để xuất/nhập liệu  timer/counter: dùng để định thời đếm  Timer 0: bit  Timer 1: 16 bit  Timer 2: bit  input capture/output compare/PWM (CCP1 CCP2):  Input capture: đo tần số tín hiệu Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ Trang 15/30  Có thể làm đồng hồ treo tường cho gia đình  Thiết bị giám sát nhiệt độ mơi trường  Hướng phát triển:  Có thể tích hợp thêm nhiều chức chức đo nhiệt độ vào mạch đồng hồ đo bước chân, đo nhịp tim, đo độ ẩm,… ngồi hiển thị thêm ngày tháng năm vào đồng hồ  Ngoài giao tiếp module SIM sử dụng giao tiếp khác để gửi kết qua đo nhiệt độ điện thoại WiFi, Bluetooth,… Với tính trên, tạo đồng hồ thơng minh nhỏ gọn đeo tay giúp ta quan sát thời gian thâm chí sức khỏe TÀI LIỆU THAM KHẢO Tiếng Việt: [1] Giáo trình vi điều khiển PIC16F877A [2] codientu.org [3] hshop.vn [4] picvietnam.com [5] dientuchiase.com [6] machungdung.com/sim900a-mini-2/ Tiếng Anh: [7] datasheets360.com [8] microcontrollerslab.com/wireless-temperature-sensor-using-gsmmicrocontroller/ Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ Trang 16/30 PHỤ LỤC #include #include // khai bao thu vien PIC #device *=16 adc=10 #include #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT //khai bao cau hinh cho PIC #use delay(clock=20000000)// dung xung clock 20MHz #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8) #use i2c(master,fast,sda = pin_c4,scl = pin_c3) #include #define ACK // file giao tiep LCD #define NO_ACK #define k1 RA2 #define k2 RA3 #define k3 RA4 #define k4 RA5 #define PHONE_NUM "0906417724"//CHO THAY DOI SO DT unsigned char str[20],str1[20],str2[10],str3[25]; char ch; int flag_sms = 0; int i,is,isti,ngat,idex,idex1,index,index1,kt; int32 read,temp,temp1,temp2; int nd; int8 low,high,c_g,dv_g,c_p,dv_p,c_h,dv_h,thu,c_d,dv_d,c_t,dv_t,c_n,dv_n; unsigned char RTC_ARR[7]; // Buffer for second,minute, ,year Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ Trang 17/30 void convert_bcd_lcd(int8 g,int8 p, int8 h, int8 th); void convert_so_lcd(int8 x); void ReadRTC(unsigned char * buff); void WriteRTC(unsigned char * buff); void chinh_gio(); /*==========================================*/ #INT_RDA void Receive_isr() { ch = getc(); if(isti==1) //cho phep nhan da khoi tao cong { if(ch==10 && index ==0) is=1; //bat dau cho phep nhan chuoi if(ch==10 && index>0) {idex=index; ngat=1; isti = 2; } MOT CHUOI //KHI KET THUC if(ch!=10 && ch!=13 && is == 1) { str[index] = ch; index++; } } if(isti==2) //cho phep nhan da khoi tao cong { if(ch==10 && index1 ==0) is=1; //bat dau cho phep nhan chuoi if(ch==10 && index1>0) {idex1=index1; ngat=2; isti = 0; } THUC MOT CHUOI //KHI KET if(ch!=10 && ch!=13 && is == 1) { str1[index1] = ch; index1++; } } } /*==========================================*/ void send_sms() Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ Trang 18/30 { putc('A'); putc('T'); putc('+'); putc('C'); putc('M'); putc('G'); putc('S'); putc('='); putc(34); // printf("AT+CMGS="); putc(34); printf(PHONE_NUM); putc(34); putc(13); delay_ms(1000); for(i=0;i4; //chia lay phan du, so hang don vi dv_h=h&15; //tach hang tram va hang chuc thu = th; } void convert_so_lcd(int8 x) { low=x%10; //chia lay phan du, so hang don vi high=x/10; //tach hang tram va hang chuc low = low + 0x30; Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ Trang 25/30 high = high + 0x30; } /*==========================================*/ void chinh_gio() { int mode=1,i=0,t; ReadRTC(&RTC_ARR[0]); convert_bcd_lcd(RTC_ARR[0],RTC_ARR[1],RTC_ARR[2],RTC_ARR[3]); while(true) { if(i20) i = 0; if(k2==0) { while(k2==0) {} switch(mode) { case 1: { t = c_h*10+dv_h; if(t0) t ; else t = 99; c_n = t/10; dv_n = t%10; break;} } } if(k1==0) { while(k1==0){} mode++; if(mode>4) break;} if(k4==0) { while(k4==0){} break;} } // // luu lai thoi gian chinh // ReadRTC(&RTC_ARR[0]); RTC_ARR[0] = (c_g

Ngày đăng: 21/01/2018, 22:07

Từ khóa liên quan

Mục lục

  • DANH MỤC CÁC HÌNH VẼ

  • DANH MỤC CÁC BẢNG BIỂU

  • DANH MỤC CÁC TỪ VIẾT TẮT

  • CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI

    • 1.1 Mục đích đề tài

    • 1.2 Ứng dụng đề tài

    • 1.3 Yêu cầu đề tài

    • CHƯƠNG 2. THIẾT KẾ HỆ THỐNG

      • 1.4 Sơ đồ khối của mạch

      • 1.5 Lưu đồ giải thuật

      • CHƯƠNG 3. GIỚI THIỆU LINH KIỆN VÀ CÁC CHUẨN GIAO TIẾP

        • 1.6 Vi điều khiển PIC16F877A[1]

        • 1.7 IC thời gian thực DS1307[3]

        • 1.8 LCD 162[3]

        • 1.9 Cảm biến nhiệt độ LM35[2]

        • 1.10 Module SIM900A mini[8]

        • 1.11 Chuẩn giao tiếp I2C[2]

        • 1.12 Chuẩn giao tiếp USART[2]

        • CHƯƠNG 4. NGUYÊN LÝ HOẠT ĐỘNG CỦA MẠCH

          • 1.13 Sơ đồ nguyên lý của mạch

          • 1.14 Nguyên lý hoạt động của mạch

          • 1.15 Sơ đồ mạch in

          • 1.16 Hình ảnh mạch trong thực tế

          • 1.17 Kết quả giao tiếp module SIM900A mini

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

Tài liệu liên quan