Điều khiển hệ thống đèn dùng quang trở và IC thời gian thực

44 602 2
Điều khiển hệ thống đèn dùng quang trở và IC thời gian thực

Đ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

Điều khiển hệ thống đèn dùng quang trở và IC thời gian thực

Đ án 1: Đi u n h th ng đèn-Dùng quang tr IC th i gian th c Báo cáo đồ án môn học Tên đề tài: Điều khiển hệ thống đèn dùng quang trở IC thời gian thực Đề tài: Lập trình với vi điều khiển cho ứng dụng điều khiển hệ thống đèn,tương ứng với chế độ,theo thứ tự ưu tiên sau: -Chế đô 1:Bật tắt hệ thống đèn tay -Chế đô 2:Bật tắt hệ thống đèn tùy theo cường độ sáng trời -Chế độ 3:Bật tắt hệ thống đèn theo thời gian 1) 2) 3) 4) 5) Mục đích thực đề tài Phương án thực đề tài sơ đồ khối phần cứng Lý thuyết liên quan Kết luận Thi công mạch lập trình 1) Mục đích thực đề tài Đề tài điều khiển hệ thống đèn dùng quang trởvà IC thời gian thực dùng số ứng dụng như: 1.1) Điều khiển hệ thống đèn đường cách tự động tùy theo cường độ ánh sáng môi trường 1.2) Ở số địa phương trồng long cần có hệ thống đèn để sưởi ấm cho long vào ban đêm,nhằm tăng suất thu hoạch long… SVTH: Nguy n Văn H i GVHD: Tr n Hoàng Quân Page Đ án 1: Đi u n h th ng đèn-Dùng quang tr IC th i gian th c 2) Phương án thực đề tài Phương án thực đề tài sau: 2.1-Người dùng bật tắt đèn tay 2.2-Hoặc bật tắt đèn tự động,bằng cách lập trình cho vi điều khiển PIC 16F887 cho trình sau: 2a-Đọc ADC từ quang trở về,từ đưa định bật hay tắt đèn 2b-Đọc liệu thời gian từ IC thời gian thực DS1307,từ đóquyết định bật hay tắt đèn theo thời gian *) Một đặc điểm đặt mức ưu tiên cho ba chế độ kể Chế độ tay đươc ưu tiên cao nhất,sau đến chế độ tự động quang trở,và ưu tiên sau dành cho chế đọ tự động IC thời gian thực Sơ đồ khối thực phần cứng: Giải thích sơ đồ khối: - Việc bật hay tắt tải thông qua điều khiển TRIAC SVTH: Nguy n Văn H i GVHD: Tr n Hoàng Quân Page Đ án 1: Đi u n h th ng đèn-Dùng quang tr IC th i gian th c - Có cách điều khiển TRIAC: Bằng tay (MANUAL) tự động thông qua lập trình cho PIC - Việc đọc ADC từ quang trở thực ỏ chân RA0 RA1 PIC - Việc đọc liệu thời gian từ khối REALTIME,thông qua giao tiếp I2C (với dây SCL SDA) thực chân RC3 RC4 PIC 3) Lý thuyết liên quan Bố cục trình bày: 3.1) Lý thuyết ADC module ADC PIC 16F887 3.2)Lý thuyết I2C module I2C PIC 16F887 3.1) Lý thuyết ADC module ADC PIC 16F887 3.1.1)Tổng quan trình chuyển đổi A/D 3.1.2) Các bước trình chuyển đổi A/D 3.1.3) Module ADC PIC 16F887 3.1.1) Tổng quan trình chuyển đổi A/D Bộ chuyển đổi ADC chuyển đổi tín hiệu tương tự thành tín hiệu số SVTH: Nguy n Văn H i GVHD: Tr n Hoàng Quân Page Đ án 1: Đi u n h th ng đèn-Dùng quang tr IC th i gian th c Nhờ sensors mà ta định lượng đại lượng phi điện nhiệt độ,độ ẩm…từ kết hợp sensors với ADC để chuyển đổi thay đổi liên tục đại lượng phi điện thành bước nhảy tín hiệu digital(qua trình lấy mẫu vàlượng tử hóa).Một chuyển đổi đại lượng phi điện thành tín hiệu digital,ta dễ dàng lập trình với vi điều khiển cho phù hợp với ứng dụng cụ thể 3.1.2) Các bước trình chuyển đổi A/D a) Quá trình lấy mẫu nhớ mẫu (sample sample hold)  Quá trình lấy mẫu  Định lý lấy mẫu: Để khôi phục lại tín hiệu sau lấy mẫu tần số lấy mẫu phải thỏa mãn: fs ≥ fmax Trong đó: fmax tần số lớn tín hiệu lấy mẫu; Fs=2fmax tần số Nyquist  Định lý lấy mẫu cho ta chặn tần số lấy mẫu fs,còn chặn ta phải dựa vào giới hạn phương diện dung lượng nhớ tốc độ xử lý phần cứng,ngoài phải tùy vào ứng dụng để xác định chặn fs SVTH: Nguy n Văn H i GVHD: Tr n Hoàng Quân Page Đ án 1: Đi u n h th ng đèn-Dùng quang tr IC th i gian th c  Quá trình nhớ mẫu Mỗi lần chuyển đổi mẫu tốn khoảng thời gian định,mà mẫu lại xuất liên tục theo chu kì lấy mẫu,do cần thiết phải có yếu tố nhớ mẫu (sample hold) để chắn ta không bỏ sót mẫu Mạch nhớ mẫu(hold sample) đơn giản SVTH: Nguy n Văn H i GVHD: Tr n Hoàng Quân Page Đ án 1: Đi u n h th ng đèn-Dùng quang tr IC th i gian th c b) Quá trình lượng tử hóa mã hóa  Tín hiệusau lấy mẫu rời rạc mặt thời gian mà rời rạc mặt giá trị.Do đặc điểm mà ta cần trình lượng tử hóa,đó trình mà ta bắt điện áp lấy mẫu hóa thành bội số nguyên lần giá trị đơn vị  Như vậy,quá trình lượng tử hóa thực chất trình làm tròn đến giá trị thích hợp,gần  Việc làm tròn làm xuất sai số trình lượng tử.Nếu độ phân giải không đủ(số bít để lượng tử nhỏ) sai số lớn  Độ phân giải n bít nghĩa ADC biểu diễn 2n giá trị tín hiệu sau lấy mẫu  Việc dùng mã nhị phân biểu thị giá trị tín hiệu số mã hóa Mã nhị phân có sau trình tín hiệu đầu chuyên đổi A/D SVTH: Nguy n Văn H i GVHD: Tr n Hoàng Quân Page Đ án 1: Đi u n h th ng đèn-Dùng quang tr IC th i gian th c 3.1.3) Module ADC PIC 16F887 3.1.3.1) Tổng quan module ADC PIC 16F887 3.1.3.2) Cấu hình cho module ADC PIC 16F887 3.1.3.1) Tổng quan module ADC PIC 16F887  Module ADC PIC 16F887 có độ phân giải 10 bít  Module ADC PIC 16F887 có 14 kênh chuyển đổi A/D từ AN0 đến AN13  Sau lấy mẫu giữ,tín hiệu dạng xung đưa vào chuyển đổi.Kết trình chuyển đổi dạng chuỗi bít gồm 10 bít,được lưu ghi ADC result gồm ADRESL ADRESH  Có thể chọn điện áp tham khảo nội điện áp tham khảo ngoại.Việc lựa chọn thực phần mềm  Module ADC PIC 16F887 tạo ngắt chuyển đổi thực xong 3.1.3.2) Cấu hình cho module ADC PIC 16F887 a) b) c) d) e) f) Cấu hình PORT Chọn kênh chuyển đổi Chọn điện áp tham khảo Chọn nguồn clock cho việc chuyển đổi Điều khiển ngắt ADC Định dạng kết chuyển đổi SVTH: Nguy n Văn H i GVHD: Tr n Hoàng Quân Page Đ án 1: Đi u n h th ng đèn-Dùng quang tr IC th i gian th c a) Cấu hình PORT  Module ADC PIC 16F887 dùng để chuyển đổi tín hiệu analog digital.Bằng cách cấu hình PORT cho ghi ANSEL ANSELH ta lựa chọn chế độ  Cách cấu hình:    TRIS ANSEL=0xFF ; //Chọn chuyển đổi tín hiệu Analogtừ AN0 đến AN7 TRIS ANSELH= 0xFF ; // Chọn chuyển đổi tín hiệu Analog từ AN8 đến AN13 TRIS ANSEL= 0x03 ; // Chọn chuyển đổi tín hiệu Analog kênh AN0 AN1 b) Chọn kênh chuyển đổi  bít CHS ghi ADCON0 xác định kênh đọc ADC Ví dụ: CHS =0011 => Kênh AN3 chọn SVTH: Nguy n Văn H i GVHD: Tr n Hoàng Quân Page Đ án 1: Đi u n h th ng đèn-Dùng quang tr IC th i gian th c c) Chọn điện áp tham khảo -Điện áp tham khảo phải nguồn áp ổn định -Chọn điện áp tham khảo cách cấu hình cho bít VCFG ghi ADCON0 Ví dụ: VCFG1=0;VCFG0=0; // Chọn điện áp tham khảo nội VCFG1=1;VCFG0=1; // Chọn điện áp tham khảo ngoại(điện áp tham khảo ngoại phải đưa vào chân RA2 RA3) d) Chọn nguồn clock cho việc chuyển đổi  Chọn nguồn clock cho việc chuyển đổi thực thông qua việc cấu hình cho bít ADCS  Việc cấu hình phai quan tâm đến định lý lấy mẫu e) Điều khiển ngắt ADC  Bít ADIF cờ báo ngắt  Để cho phép ngắt,ta cần đặt: PEIE=1;GIE=1 SVTH: Nguy n Văn H i GVHD: Tr n Hoàng Quân Page Đ án 1: Đi u n h th ng đèn-Dùng quang tr IC th i gian th c  Khi trình chuyển đổi thực xong,cờ báo ngắt ADIF set lên 1,để bắt đầu trình chuyển đổi mới,ta cần clear ADIF phần mềm f) Định dạng kết chuyển đổi  Bít ADFM điều khiển việc định dạng kết chuyển đổi 3.2) Lý thuyết I2C module I2C PIC 16F887 3.2.1) Đặc điểm giao tiếp I2C 3.2.2) Cách thức truyền liệu theo giao tiếp I2C 3.2.3) Module I2C PIC 16F887 3.2.1) Đặc điểm giao tiếp I2C SVTH: Nguy n Văn H i GVHD: Tr n Hoàng Quân Page 10 Đ án 1: Đi u n h th ng đèn-Dùng quang tr IC th i gian th c GO_nDONE = 1; //Set GODONE bit to start conversion } if (RB2 && RB3) RB4=1; else RB4=0; } /***************************************************************** ** Function name: SystemInit ** ** Descriptions: ** ** parameters: ** Returned value: None None ** ****************************************************************** */ void system_init() { ANSEL=0x03; input de doc ADC SVTH: Nguy n Văn H i // cac ngo vao deu la digital;tru kenh AN0,AN1 la GVHD: Tr n Hoàng Quân Page 30 Đ án 1: Đi u n h th ng đèn-Dùng quang tr IC th i gian th c ANSELH=0x00; // TRISB=0; //PORT B la output PORTB=0; TRISA0 = 1; //RA0 phai la Input de doc ADC TRISA1 = 1; //RA1 phai la Input de doc ADC lcd_init(); i2c_init(); // khoi dong lcd // khoi dong i2c //RTC_init(); //chi set up o lan dau tien cua DS1307 lcd_puts("Real Time Clock"); lcd_gotoxy(0,1); lcd_puts("Connected DS1307"); delay10Tms(100); } //***************************************************************** * void adc_init() { // ADC conversion clock: = Fosc/8 // ADCS = 00 Fosc/2 // ADCS = 01 Fosc/8 SVTH: Nguy n Văn H i GVHD: Tr n Hoàng Quân Page 31 Đ án 1: Đi u n h th ng đèn-Dùng quang tr IC th i gian th c // ADCS = 10 Fosc/32 // ADCS = 11 F_RC ADCS1 = 0; ADCS0 = 1; // Voltage reference: Internal Vref // VCFG = 00 Internal Vref // VCFG = 11 External Vref VCFG1 = 0; VCFG0 = 0; // Result format: Right // ADFM = Right justified // ADFM = Left justified ADFM = 1; // Turn on ADC Module ADON = 1; //delay to wait for adc module init delay_ms (1); } SVTH: Nguy n Văn H i GVHD: Tr n Hoàng Quân Page 32 Đ án 1: Đi u n h th ng đèn-Dùng quang tr IC th i gian th c /***************************************************************** ** Function name: delay10Tms ** ** Descriptions: delay ** ** parameters: ** Returned value: T None ** ****************************************************************** */ void delay10Tms(unsigned char T) { unsigned char i; for(i = 0; i < T; i++) { delay_ms(10); } } /***************************************************************** ** Function name: SVTH: Nguy n Văn H i time2LCD GVHD: Tr n Hoàng Quân Page 33 Đ án 1: Đi u n h th ng đèn-Dùng quang tr IC th i gian th c ** ** Descriptions: display time on lcd ** ** parameters: ** Returned value: time[] None ** ****************************************************************** */ void BCD2LCD(unsigned char val) { unsigned char i[2]; i[1] = (val>>4) & 0x0f; //lay bit cao i[0] = val & 0x0f; //lay bit thap lcd_putc( i[1] + 0x30 ); lcd_putc( i[0] + 0x30 ); } /***************************************************************** ** Function name: time2LCD ** ** Descriptions: display time on lcd ** ** parameters: SVTH: Nguy n Văn H i time[] GVHD: Tr n Hoàng Quân Page 34 Đ án 1: Đi u n h th ng đèn-Dùng quang tr IC th i gian th c ** Returned value: None ** ****************************************************************** */ void time2LCD(RTCTime time) { /* * Hien thi tren LCD */ lcd_clear(); lcd_puts("Thu "); BCD2LCD(time.day); //thu lcd_puts(", "); BCD2LCD(time.date); //ngay lcd_puts("/"); BCD2LCD(time.month); //thang lcd_puts("/"); BCD2LCD(time.year); //nam lcd_gotoxy(0,1); lcd_puts(" "); SVTH: Nguy n Văn H i GVHD: Tr n Hoàng Quân Page 35 Đ án 1: Đi u n h th ng đèn-Dùng quang tr IC th i gian th c BCD2LCD(time.hour); //gio lcd_puts(" : "); BCD2LCD(time.minute); //phut lcd_puts(" : "); BCD2LCD(time.second); //giay } /**************************************************************** * END OF standard form.c ****************************************************************/ 5.4.2) File rtc.c #include #include "rtc.h" #include "i2c.h" /***************************************************************** ** Function name: RTC_init ** ** Descriptions: Init time at first use ** ** parameters: SVTH: Nguy n Văn H i GVHD: Tr n Hoàng Quân Page 36 Đ án 1: Đi u n h th ng đèn-Dùng quang tr IC th i gian th c ** Returned value: None ** ****************************************************************** */ void RTC_init() { // NAP THOI GIAN BAN DAU CHO I2C -// //chi set thoi gian lan nhat Sau xoa' doan code nay` //roi nap lai code lan nua (doan code sau chi doc data ve, //chu khong set thoi gian lai > ds1307 moi chay dung' thoi //gian Neu khong lam nhu vay, cu sau moi lan reset, ds1307 //lai duoc set lai thoi gian RTCTime TimeInit; TimeInit.second = 0x00; TimeInit.minute = 0x06; TimeInit.hour = 0x08; TimeInit.day = 0x6; TimeInit.date = 0x16; TimeInit.month = 0x12; TimeInit.year = 0x11; RTC_write(TimeInit); //chi nap lan, che nap "thu cong" } SVTH: Nguy n Văn H i GVHD: Tr n Hoàng Quân Page 37 Đ án 1: Đi u n h th ng đèn-Dùng quang tr IC th i gian th c /***************************************************************** ** Function name: RTC_write ** ** Descriptions: Write time to RTC ** ** parameters: ** Returned value: time[] None ** ****************************************************************** */ void RTC_write(RTCTime time) { char i; i2c_start(); //Start condition i2c_write(SLAVE_ADD|WRITE); //Slave address, mode Write //(SLAVE_ADD|WRITE) = ((0xD0|0) = 0xD0 //Lenh tuong duong: i2c_write(0xD0); i2c_write(0x00); SVTH: Nguy n Văn H i //Dia chi ghi dau tien truy cap GVHD: Tr n Hoàng Quân Page 38 Đ án 1: Đi u n h th ng đèn-Dùng quang tr IC th i gian th c i2c_write(time.second); i2c_write(time.minute); i2c_write(time.hour); i2c_write(time.day); i2c_write(time.date); i2c_write(time.month); i2c_write(time.year); i2c_stop(); // Stop condition } /***************************************************************** ** Function name: RTC_read ** ** Descriptions: Read time from RTC ** ** parameters: ** Returned value: None write time to time[] array ** ****************************************************************** */ SVTH: Nguy n Văn H i GVHD: Tr n Hoàng Quân Page 39 Đ án 1: Đi u n h th ng đèn-Dùng quang tr IC th i gian th c RTCTime RTC_read() { RTCTime time; i2c_start(); //Start condition i2c_write(SLAVE_ADD|WRITE); //Dia chi slave, mode Write //Lenh tuong duong: i2c_write(0xD0); i2c_write(0x00); du lieu //Dia chi ghi bat dau doc i2c_stop(); //Restart condition i2c_start(); i2c_write(SLAVE_ADD|READ); //Dia chi Slave, mode Read //Lenh tuong duong: i2c_write(0xD1); //Doc bytes du lieu time.second = i2c_read(0); //Giay time.minute = i2c_read(0); //Phut time.hour = i2c_read(0); //Gio time.day //Thu' = i2c_read(0); time.date = i2c_read(0); SVTH: Nguy n Văn H i //Ngay GVHD: Tr n Hoàng Quân Page 40 Đ án 1: Đi u n h th ng đèn-Dùng quang tr IC th i gian th c time.month = i2c_read(0); time.year = i2c_read(1); //Thang //Nam //Gui "NACK" ket thuc viec doc data i2c_stop(); //Stop condition return time; } 5.4.3) File i2c.c #include #include "i2c.h" void i2c_start(){ SEN = 1; while(SEN); } void i2c_stop(){ PEN = 1; while(PEN); } unsigned char i2c_read(unsigned char ack){ RCEN = 1; while(RCEN); ACKDT = ack; SVTH: Nguy n Văn H i GVHD: Tr n Hoàng Quân Page 41 Đ án 1: Đi u n h th ng đèn-Dùng quang tr IC th i gian th c ACKEN = 1; while(ACKEN); return SSPBUF; } unsigned char i2c_write(unsigned char d){ WCOL = 0; SSPIF = 0; SSPBUF = d; asm("nop"); asm("nop"); asm("nop"); if(WCOL) return 2; // write collision else { while(!SSPIF); if(ACKSTAT) return 1; // not acknowledge return 0; // everything is ok } } void i2c_init(){ RC3 = 1; RC4 = 1; SVTH: Nguy n Văn H i GVHD: Tr n Hoàng Quân Page 42 Đ án 1: Đi u n h th ng đèn-Dùng quang tr IC th i gian th c TRISC3 = 1; TRISC4 = 1; // control by mssp SSPADD = 9; SMP = 1; // Baudrate = Fosc/4/(SSPADDR+1) // slew rate control disabled for 100KHz baudrate SSPCON2 = 0; SSPCON = 0x28; //I2C Master Hardware mode } 4.4.4) File rtc.h #ifndef _RTC_H #define _RTC_H typedef struct { unsigned char day; unsigned char date; unsigned char month; unsigned char year; unsigned char hour; unsigned char minute; unsigned char second; }RTCTime; SVTH: Nguy n Văn H i GVHD: Tr n Hoàng Quân Page 43 Đ án 1: Đi u n h th ng đèn-Dùng quang tr IC th i gian th c void RTC_init(); use //init time to RTC at first void RTC_write(RTCTime time); time[7] de write vao RTC // lay gia tri mang RTCTime RTC_read(); RTC //read gia tri tu #endif 5.4.5) File i2c.h #ifndef _I2C_H_ #define _I2C_H_ #define SLAVE_ADD 0xD0 //DS1307's address on I2C bus #define READ #define WRITE //Read command //Write command void i2c_start(); void i2c_stop(); void i2c_init(); unsigned char i2c_read(unsigned char ack); unsigned char i2c_write(unsigned char d); #endif SVTH: Nguy n Văn H i GVHD: Tr n Hoàng Quân Page 44 [...]... ng đèn- Dùng quang tr và IC th i gian th c Sau đây là quá trình đọc nhiều byte và ghi nhiều byte,việc phân tích truyền nhận dữ liệu là tương tự như trên 3.2.3) Module I2C trong PIC 16F887  Module I2C nằm trong module MSSP của PIC 16F887  Có 2 cách định địa chỉ thiết bị trên đường truyền:7 bít và 10 bít SVTH: Nguy n Văn H i GVHD: Tr n Hoàng Quân Page 16 Đ án 1: Đi u khi n h th ng đèn- Dùng quang tr và. .. n h th ng đèn- Dùng quang tr và IC th i gian th c  Là một chuẩn giao tiếp nối tiếp rất hữu dụng cho các ứng dụng giao tiếp của các thiết bị vi điều khiển và các thiết bị ngoại vi.Các ngoại vi có thể là các Serial EEPROM,các thanh ghi dịch,các bộ hiển thị,A/D Converter,các cảm biến nhiệt độ…  Nguồn dùng cho giao tiếp I2C thường là 3.3V hoặc 5V ,đây là các nguồn thông dụng dùng cho vi điều khiển  Một... mạch và lập trình 5.1) Sơ đồ khối và sơ đồ nguyên lý thực hiện phần cứng 5.2) Thi công mạch TRIAC và REALTIME CLOCK 5.3) Thi công mạch PIC 16F887 5.4) Lập trình 5.1) Sơ đồ khối và sơ đồ nguyên lý thực hiện phần cứng 5.1.1) Sơ đồ khối 5.1.2) Sơ đồ nguyên lý phần cứng(Zoom lên để xem rõ hơn) SVTH: Nguy n Văn H i GVHD: Tr n Hoàng Quân Page 18 Đ án 1: Đi u khi n h th ng đèn- Dùng quang tr và IC th i gian. .. đèn- Dùng quang tr và IC th i gian th c  Dùng 2 chân RC3/SCL (truyền xung clock )và RC4/SDA(truyền dât) để truyền dữ liệu bằng giao thức I2C.Lưu ý người dùng phải cấu hình cho 2 chân này là input hoặc output  Chức năng I2C được enable bằng cách set bít SSPEN trong thanh ghi SSPCON lên 1 4) Kết luận  Có nhiều phương án để điều khiển bóng đèn theo cường độ ánh sáng môi trường và theo thời gian. Vì thế,chắc... khi n h th ng đèn- Dùng quang tr và IC th i gian th c  Trong giao tiếp I2C,chế độ rỗi ứng với SDA=SCL=1 ,điều này đạt được bởi 2 điện trở pull-up kéo lên nguồn  Để bắt đầu quá trình truyền nhận dữ liệu,ta cần khởi tạo đường truyền bằng một tìn hiệu Start-đó là lúc SDA bị kéo xuống 0,trong khi SCL vẫn bằng 1(xem hình trên)  Một thời gian ngắn sau thì bít SCL cũng bị kéo xuống 0,kể từ thời điểm này... nút chỉnh thời gian cho khối real time  Nếu muốn điều khiển nhiếu tải hơn,ta phải thay biến áp khác có khả năng chịu dòng lớn hơn,chẳng hạn như biến áp xung-vừa gọn nhẹ vừa có khả năng tải lớn  Hướng phát triển:  Tạo nút hẹn giờ cho khối Real time  Cải tiến để sản phẩm gọn nhẹ hơn SVTH: Nguy n Văn H i GVHD: Tr n Hoàng Quân Page 17 Đ án 1: Đi u khi n h th ng đèn- Dùng quang tr và IC th i gian th c... th ng đèn- Dùng quang tr và IC th i gian th c  Khi thiết bị chủ muốn giao tiếp với ngoại vi nào trên bus I2C, nó sẽ gửi 7 bit địa chỉ của thiết bị đó ra bus ngay sau xung START ,điều đó có nghĩa là ta có thể giao tiếp với 128 thiết bị ngoại vi  Mỗi một thiết bị ngoại vi sẽ có một địa chỉ riêng do nhà sản xuất ra nó quy định  Byte đầu tiên được gửi sẽ bao gồm 7 bit địa chỉ và một bít thứ 8 điều khiển. .. Page 23 Đ án 1: Đi u khi n h th ng đèn- Dùng quang tr và IC th i gian th c TimeNow = RTC_read(); bien,time no chua 7 byte trong ham RTC_read // doc thoi gian vao time2LCD(TimeNow); // hien thi lcd delay10Tms(100); /************************************************************* ************************************ ************Cai dat thoi gian mo tai,de phong troi da toi ma quang tro chua lam tai ON************... i GVHD: Tr n Hoàng Quân Page 18 Đ án 1: Đi u khi n h th ng đèn- Dùng quang tr và IC th i gian th c 5.2) Thi công mạch TRIAC và REAL TIME CLOCK 5.3) Thi công mạch PIC 16F887 SVTH: Nguy n Văn H i GVHD: Tr n Hoàng Quân Page 19 Đ án 1: Đi u khi n h th ng đèn- Dùng quang tr và IC th i gian th c 5.4) Lập trình 5.4.1) File main.c 5.4.2) File rtc.c 5.4.3) File i2c.c 5.4.4) File rtc.h 5.4.5) File i2c.h 5.4.1)... phương pháp khác hiệu quả hơn về mặt kinh tế và kỹ thuật,đòi hỏi người thực hiện phải cải tiến sản phẩm để sản phẩm tốt hơn  Qua việc thực hiện đồ án,thu nhận thêm được những kiến thức sau:  Các chuẩn giao tiếp như UART,I2C,SPI  Kiến thức lập trình  Kĩ năng phần cứng  Giao tiếp giữa MCU và LCD  Ưu điểm của sản phẩm  Cho phép hiển thị thời gian  Có 2 quang trở nên tạo tính tin cậy hơn cho sản phẩm ... ng đèn- Dùng quang tr IC th i gian th c 2) Phương án thực đề tài Phương án thực đề tài sau: 2.1-Người dùng bật tắt đèn tay 2.2-Hoặc bật tắt đèn tự động,bằng cách lập trình cho vi điều khiển PIC... ng đèn- Dùng quang tr IC th i gian th c - Có cách điều khiển TRIAC: Bằng tay (MANUAL) tự động thông qua lập trình cho PIC - Việc đọc ADC từ quang trở thực ỏ chân RA0 RA1 PIC - Việc đọc liệu thời. .. cho trình sau: 2a-Đọc ADC từ quang trở về,từ đưa định bật hay tắt đèn 2b-Đọc liệu thời gian từ IC thời gian thực DS1307,từ đóquyết định bật hay tắt đèn theo thời gian *) Một đặc điểm đặt mức

Ngày đăng: 20/03/2016, 12:15

Từ khóa liên quan

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

Tài liệu liên quan