Thứ Ba, 15 tháng 1, 2019
Thứ Tư, 9 tháng 1, 2019
PIC16F877 programming
MicroChip- PIC16F877
Introduction:-
This document contains device specific information. Additional information may be found in the PICmicro Mid-Range Reference Manual (DS33023), which may be obtained from your local Microchip Sales Representative or downloaded from the Microchip website. The Reference Manual should be considered a complementary document to this data sheet, and is highly recommended reading for a better understanding of the device architecture and operation of the peripheral modules.
Features of PIC16F877:-
• High performance RISC CPU
• Only 35 single word instructions to learn
• All single cycle instructions except for program branches which are two cycle
DC - 200 ns instruction cycle
• Up to 8K x 14 words of FLASH Program Memory, Up to 368 x 8 bytes of Data Memory
Up to 256 x 8 bytes of EEPROM Data Memory
• Pinout compatible to the PIC16C73B/74B/76/77
• Interrupt capability (up to 14 sources)
• Eight level deep hardware stack
• Direct, indirect and relative addressing modes
• Power-on Reset (POR)
• Power-up Timer (PWRT) and Oscillator Start-up Timer (OST)
• Watchdog Timer (WDT) with its own on-chip RC oscillator for reliable operation
• Programmable code protection
• Power saving SLEEP mode
• Selectable oscillator options
• Low power, high speed CMOS FLASH/EEPROM technology
• Fully static design
• In-Circuit Serial Programming (ICSP) via two pins
• Single 5V In-Circuit Serial Programming capability
• In-Circuit Debugging via two pins
• Processor read/write access to program memory
• Wide operating voltage range: 2.0V to 5.5V
• High Sink/Source Current: 25 mA
• Commercial, Industrial and Extended temperature ranges
• Low-power consumption:
- < 0.6 mA typical @ 3V, 4 MHz
- 20 μA typical @ 3V, 32 kHz
- < 1 μA typical standby current
Peripheral Features:
• Timer0: 8-bit timer/counter with 8-bit prescaler
• Timer1: 16-bit timer/counter with prescaler, can be incremented during SLEEP via external
crystal/clock
• Timer2: 8-bit timer/counter with 8-bit period register, prescaler and postscaler
• Two Capture, Compare, PWM modules
- Capture is 16-bit, max. resolution is 12.5 ns
- Compare is 16-bit, max. resolution is 200 ns
- PWM max. resolution is 10-bit
• 10-bit multi-channel Analog-to-Digital converter
• Synchronous Serial Port (SSP) with SPI (Master mode) and I2C (Master/Slave)
• Universal Synchronous Asynchronous Receiver Transmitter (USART/SCI) with 9-bit address
Detection
Analog to Digital Converter
// Analog to Digital converter
#include<htc.h>
unsigned int data1,data2;
void main(void)
{
PORTC=0x00;
TRISC=0x00;
PORTB=0x00;
TRISC=0x00;
ADIE=1; //enable AD conversion interrupt
while(1)
{
ADIF=0; //make AD interrupt flag 0 initially
ADCON0=0x00; //channel-0 fosc/2
ADCON1=0b10001111;//----select analog AN0 input
ADON=1; //---start AD
GODONE=1; //--start conversion
while(GODONE); //--stay until conversion completed
if(ADIF==1) //--AD overflow
{
data1=ADRESH; //storing higher byte in data1
data2=ADRESL; //storing lower byte in data2
}
PORTB=data1; //writing data1 onto port-b
PORTC=data2; //writing data2 onto port-c
}
}
Timer Programming
//1sec delay using timer-0 and blinking leds on port-b
#include<htc.h>
#define LEDS PORTB
void delay_us(void);
unsigned int i,j;
void main(void)
{
// LEDS=0x00;
TRISB=0x00;
while(1)
{
LEDS=0xFF; //write 1111_1111 on portB
delay_us(); //---- calling delay
LEDS=0x7E; //----- 0111_1110
delay_us();
LEDS=0x3C; //----- 0011_1100
delay_us();
LEDS=0x18; //----- 0001_1000
delay_us();
LEDS=0x3C; //----- 0011_1100
delay_us();
LEDS=0x7E; //----- 0111_1110delay_us();
}
}
void delay_us()
{
GIE=1; //global interrupt enable
OPTION_REG=0b00011000; //0,1,2 bits 1:2 prescalar ; 4 bit PSA prescalar
Timer=0;5 bit T0sE rising edge clk ;6 bi
//T0cs enables internal clk source
T0IE=1; //enables timer-0 interrupt
for(j=0;j<1000;j++)
for(i=0;i<200;i++)
{
TMR0=0x05; //loading starting value of timer0
while(T0IF==0); //wait until timer-0 overflow occur
T0IF=0; //clear after overflow
}
}
USART_Rxn
// USART data receiving mode
#include<htc.h>
unsigned int data;
void main(void){
SPBRG=0b00011111; //31 setting baud rate 9600 for 20MHz
TXSTA=0b00000100; //setting highspeed baudrate
PORTC=0x00;
TRISC=0x00; //set PORTB as output port
RCIF=0; //initially clear receive flag
SPEN=1; //serial port enable
RCIE=1; //receive interrupt enable
PEIE=1; //peripheral interrupt enable
while(1)
{
CREN=1; //start to receive
while(RCIF==0); //stay until the receive buffer is full
data=RCREG;
PORTC=RCREG; //write the portC value as received value
CREN=0; //clear cren
RCIF=0; //clear rcif
}
}
USART_Txn
//USART trasmit mode
#include<htc.h>
unsigned char data[10]="EMBEDDED";
unsigned int i;
void main(void)
{
GIE=1; //enable global internal
PEIE=1; //enable peripheral interrupts
SPBRG=0b00011111; //31'D select baud rate 9600 for 20MHz
BRGH=1; //selecting high baudrate
SYNC=0; //Asynchronus transmission
TXIE=1; //Transmit interrupt enable
TXIF=0; //initially reset
while(1)
{
for(i=0;i<10;i++)
{
TXEN=1; //Transmission enable
TXREG=data[i]; //sending each char
while(TXIF==1); //wait until the bit is transmitted or untill the buffer clear
TXEN=0; //disable transmission
TXIF=0; //clear transmission flag
}
}
}
EEPROM_READ_WRITE
//EEPROM read/write operations
#include<htc.h>
void delay_1s(void);
unsigned int i,j;
#define LEDS PORTD
void main(void)
{
LEDS=0x00;
TRISD=0x00;
EEIE=1;
RP1=0; //bank-0
RP0=0;
for(i=0;i<20;i++)
{
EEADR=i; //load i as address
WREN=1; //write enable
EECON2=i+10; //write data onto the eecon2 reg
EEDATA=EECON2; //write data onto the EEPROM DATA reg
WR=1; //start writing
while(EEIF==0); //stay until writing completed
EEIF=0;
}
for(i=0;i<20;i++)
{
EEADR=i; //load i as address
RD=1; //start reading
LEDS=EEDATA; //place read data onto the leds
delay_1s();
RD=0;
}
}
//-----providing 1sec delay
void delay_1s()
{ GIE=1;
OPTION_REG=0B00011000;
T0IE=1;
for(i=0;i<1000;i++)
{
for(j=0;j<20;j++)
{ TMR0=0x05;
while(T0IF==0);
T0IF=0;
}
}
}
Thứ Ba, 18 tháng 12, 2018
Bật tắt thiết bị theo thời gian
Mục tiêu
Mục đích của thiết bị sẽ là bật và sau đó tắt hai máy thu điện tại một thời điểm được chỉ định. Cấu hình của thiết bị sẽ được thực hiện bằng ba nút (lên, xác nhận, xuống). Thông tin về trạng thái thiết bị và các tùy chọn menu sẽ được hiển thị trên màn hình 16x1 ký tự.
Khái niệm giải pháp
Thiết bị, sử dụng vi điều khiển PIC16F87, điều khiển hai rơle chịu trách nhiệm chiếu sáng và cho thức ăn vào những thời điểm được chỉ định. Thời gian thực được lấy từ hệ thống DS1307 trong đó các cài đặt được lưu trữ trong bộ nhớ không bay hơi. Thông tin được hiển thị trên màn hình mô-đun USART-LCD . Việc kiểm soát được thực hiện bằng ba nút reset.
Cấu tạo của thiết bị
Bộ điều khiển được cung cấp từ nguồn điện, điện áp 230V được biến đổi thành 5V bằng máy biến áp. Điện áp sau khi làm thẳng cầu graetza (D3) và đi qua bộ ổn định LM7805CT (U3) được đưa đến các mạch tích hợp (IC1, U1) trên bo mạch chính của thiết bị. Tụ điện (C3, C5) có chức năng lọc. Giá trị của chúng được giả định là ít nhất 220uF trên mỗi ampe dòng điện tiêu thụ. Điện áp 5V có sẵn trên ổ cắm (J3) và các cổng cho phép kết nối các mạch ngoài với truyền dữ liệu I2C (J1), USART (J2).
Hình 1 Bảng chính của bộ điều khiển thời gian
Bộ phận phụ chính là vi điều khiển PIC16F87, điều khiển hoạt động của thiết bị. Loại vi điều khiển đã được lựa chọn do số lượng đủ các cổng đầu vào / đầu ra, tính sẵn có của các cổng giao tiếp cần thiết trong các giả định, bộ nhớ thỏa đáng (SRAM 368 byte, 256 byte EEPROM, FLASH 7168 byte). Hệ thống được sử dụng trong vỏ PDIP 18PIN (Hình 2). Các vi điều khiển được trang bị với một I2C cổng (chân 7 SDA, SCL 10), và USART (11 chân TX, RX 8).
Hình 2 Đầu ra Vi điều khiển PIC16F87
Hệ thống được xung nhịp bên ngoài dao động tinh thể tần số của 4 MHz (tối đa 20 MHz) (chân 16 và 15) có thể được bỏ qua bằng cách sử dụng một built-in dao động có thể hoạt động ở một tần số (31 kHz, 125 kHz, 250 kHz, 500 kHz, 1 MHz, 2 MHz, 4 MHz, 8 MHz).
Các nút điều khiển (ổ cắm J5) đã được kết nối với cổng RA của vi điều khiển (sử dụng chân 1, 2, 3). Các điện trở (R6, R7, R8) có chức năng phụ trợ để ổn định trạng thái logic. Ba chân khác (ổ cắm J5) có thể được sử dụng để kết nối các nút điều khiển bổ sung hoặc để vận hành các mạch ngoài bổ sung.
Có thể giao tiếp âm thanh bằng cách sử dụng loa có bộ tạo tích hợp, được điều khiển bởi bóng bán dẫn (Q3) được kết nối với vi điều khiển (chân 9).
Rơle được điều khiển bởi các bóng bán dẫn (Q1, Q2) có cổng được kết nối bằng điện trở (R5, R4) với vi điều khiển (chân: 12.13). Các bóng bán dẫn được bảo vệ bởi điốt (D1, D2) chống lại quá áp xảy ra ở các xung điện áp được cung cấp cho cuộn dây rơle. Việc sử dụng rơle cho phép điều khiển các thiết bị hoạt động ở điện áp cao và nguồn điện, ví dụ như đèn, van điện từ, bộ cấp nguồn.
Hình 3 Đồng hồ thời gian thực DS1307
Mục đích của vi điều khiển PIC16F87 là điều khiển rơle và khởi động thiết bị tại một thời điểm được chỉ định. Mạch tích hợp DS1307 được sử dụng làm đồng hồ thời gian thực (Hình 3). Giao tiếp giữa anh ta và vi điều khiển chạy trên bus I2C. Đồng hồ hoạt động ngay cả sau khi tắt nguồn điện bằng pin 3V được kết nối với hệ thống (3 cộng, 4 GND). Mạch tích hợp tự theo dõi sự mất điện áp và chuyển sang nguồn khẩn cấp từ pin. DS1307 có bộ nhớ không bay hơi trong đó các cài đặt vận hành thiết bị được lưu, ví dụ như thời gian tắt và bật rơle. Để hoạt động chính xác của đồng hồ, một bộ cộng hưởng thạch anh bên ngoài với tần số 32.768 kHz là cần thiết (chân 1, 2).
Hình 4 Bộ điều khiển thời gian hoạt động
Nguồn:http://noweenergie.org/index.php?0/Article/14
Bộ điều khiển máy sưởi Internet.
Mục tiêu
Mục đích của dự án là phát triển một thiết bị điều khiển cho lò sưởi điện. Bộ điều khiển cho phép đọc nhiệt độ từ xa và cài đặt hệ thống sưởi mong muốn bằng cách bật lò sưởi. Ngoài ra, thiết bị sẽ được trang bị cảm biến lũ bên ngoài để phát hiện, ví dụ như một vụ nổ đường ống trong phòng. Khả năng điều khiển từ xa của một bộ thu công suất bổ sung, ví dụ như ánh sáng, cũng sẽ được thực hiện. Việc kiểm soát sẽ được thực hiện thông qua trình duyệt web sau khi nhập địa chỉ IP, sau khi định cấu hình bộ định tuyến, truy cập cũng có thể được truy cập từ Internet.
Linh kiện thiết bị
Bộ điều khiển được kết nối trực tiếp với lưới điện (230V). Máy biến áp trên PCB làm giảm điện áp lưới xuống 6V và sau đó nó được đặt vào Cầu Graetz [D1] và bộ ổn áp LM7805 [U1].
Vi điều khiển PIC18F2550 [U2] giao tiếp qua bus SPI với card mạng dựa trên hệ thống ENC28J60 được kết nối với đầu nối nguồn [J4] và SPI [J5].
Bộ vi điều khiển có tốc độ 25 MHz với bộ tạo thạch anh [Y1].
Quá trình đọc nhiệt độ diễn ra từ cảm biến DS18B28 được kết nối với bus 1Wire [J3].
Cảm biến lũ bao gồm hai điện cực làm bằng vật liệu dẫn điện đặt gần nhau, được kết nối với ổ cắm J2.
Bộ vi điều khiển khởi động bộ gia nhiệt được kết nối với triac [Q2] được điều khiển bởi bộ ghép quang [Q4], trong khi thiết bị bổ sung [DEV1] có thể được kết nối với triac [Q1] được điều khiển bởi bộ ghép quang [U3].

Vi điều khiển PIC18F2550 [U2] giao tiếp qua bus SPI với card mạng dựa trên hệ thống ENC28J60 được kết nối với đầu nối nguồn [J4] và SPI [J5].
Bộ vi điều khiển có tốc độ 25 MHz với bộ tạo thạch anh [Y1].
Quá trình đọc nhiệt độ diễn ra từ cảm biến DS18B28 được kết nối với bus 1Wire [J3].
Cảm biến lũ bao gồm hai điện cực làm bằng vật liệu dẫn điện đặt gần nhau, được kết nối với ổ cắm J2.
Bộ vi điều khiển khởi động bộ gia nhiệt được kết nối với triac [Q2] được điều khiển bởi bộ ghép quang [Q4], trong khi thiết bị bổ sung [DEV1] có thể được kết nối với triac [Q1] được điều khiển bởi bộ ghép quang [U3].
Bản địa hóa các thành phần trên PCB.
Tab. Giá trị của các thành phần.
| dấu | miêu tả |
| U1 | LM7805 |
| U2 | PIC18F2550 |
| U3, U4 | MOC3061 |
| Quý 1, quý 2 | BTA16-6008 |
| Q3 | BC547 |
| D1 | Cầu Graetz |
| C1 | 220uF |
| C2, C3 | 22pF |
| R1, R2, R3, R4 | 360 |
| R5, R6 | 470 |
| R7 | 10k |
| R8, R9 | 4,7k |
| Y1 | Thạch anh 25 MHz |
| Cảm biến nhiệt độ | DS18B28 |
| biến áp | BV EI 305 2878 |
Một card mạng bên ngoài với chip ENC28J60 được gắn vào PCB.
Sơ đồ kết nối điện
Bộ điều khiển nhiệt mô-đun nóng.
Module điều khiển nóng.
Các mô-đun điều khiển máy thu hiện tại bổ sung.
Module cảm biến nhiệt độ.
Module ổ cắm dò lũ.
Ổ cắm thẻ mô-đun Ethernet - ENC80J60.
Thiết kế PCB
Hình dung PCB.
PCB được thiết kế của thiết bị có kích thước 84mm x 90mm và được chế tạo theo công nghệ THT (lắp ráp qua lỗ).
Thiết kế PCB.
Chương trình vi điều khiển
Chương trong nghiên cứu.
Giao diện điều khiển
Sau khi kết nối bộ điều khiển với mạng máy tính cục bộ, có thể hiển thị bảng điều khiển thiết bị. Trong trình duyệt web của máy tính hoạt động trong một mạng nhất định, hãy nhập địa chỉ http://192.168.0.6.
Hiển thị chính xác của trang yêu cầu quyền truy cập vào Internet, vì nó đề cập đến thư viện jQuery.
Hiển thị chính xác của trang yêu cầu quyền truy cập vào Internet, vì nó đề cập đến thư viện jQuery.
Giao diện điều khiển hoạt động của thiết bị.
Trang cấu hình hoạt động của thiết bị đã được chia thành các tab sau:
- Nhiệt độ - nhiệt độ hiện tại trong phòng theo dõi.
- Nhiệt độ tối thiểu - nhiệt độ tối thiểu trong phòng bên dưới mà máy sưởi được bật.
- Dev1 - bật hoặc tắt một bộ thu hiện tại, ví dụ như chiếu sáng.
- Lũ lụt - trạng thái 0 có nghĩa là không có nước được phát hiện, trạng thái 1 là nước được phát hiện trên cảm biến lũ.
- IP - đặt địa chỉ IP của thiết bị (không có dịch vụ DHCP) và cổng vào Internet (không cần).
Thiết bị làm việc
Bộ điều khiển với máy sưởi được kết nối.
liên kết
Hồ sơ dự án:
- Thiết kế PCB ở định dạng PDF ,
- Bản địa hóa các thành phần trên PCB ở định dạng PDF ,
- Sạc vi điều khiển PIC18F2550 .
Danh mục ghi chú:
- PIC18F2550 - vi điều khiển,
- MOC3061 - transoptor,
- BTA16-6008 - triac,
- LM7805 - ổn áp.
Nguồn:http://noweenergie.org/index.php?0/Article/39
Bộ điều khiển hồ cá v1.0
Một phiên bản mới của trình điều khiển đã được phát triển - nhấp để đi đến bài viết .
Mục tiêu
Mục tiêu của dự án là xây dựng một bộ điều khiển hồ cá sẽ:
- điều khiển ánh sáng - bật và tắt tại thời điểm đã đặt,
- kiểm soát nhiệt độ nước trong bể và trình bày trên màn hình LCD,
- điều khiển lò sưởi để duy trì nhiệt độ cài đặt trong bể,
- bật và tắt độc lập hai thiết bị tại một khoảng thời gian cụ thể trong chu kỳ 24 giờ.
1. Thiết kế PCB
Thiết bị đã được thiết kế bằng cách sử dụng các subassemblies được lắp ráp bằng phương pháp THT. Bảng mạch PCB có một lớp đường dẫn, kích thước của nó là 111mm x 85mm.
Hình. Thiết kế PCB của thiết bị cùng với sự sắp xếp của các thành phần.
Hình. Bảng chính của bộ điều khiển hồ cá.
2. Các thành phần của thiết bị
Bộ phận phụ chính là bộ vi điều khiển PIC18F4550, điều khiển các rơle và triac kích hoạt các thiết bị bên ngoài. Nhiệm vụ của nó cũng là đọc nhiệt độ hiện tại từ cảm biến DS18B20, đọc thời gian thực từ đồng hồ DS1307 và hiển thị dữ liệu trên màn hình LCD.
Tab. Danh sách các thành phần
| dấu | giá trị |
|---|---|
| R1, R2, R3 | 10k |
| R7, R5, R6 | 4,3k |
| R8 | 4,7k |
| R4, R9, R11 | 3,3k |
| R16, R19 | 470 |
| R14, R15, R17, R18 | 360 |
| R12, R13 | 100k |
| C3 | 220 nF |
| C1, C2 | 22pF |
| C4 | 100nF |
| C5 | 100uF |
| C7, C8 | 470uF |
| U1 | PIC18F4550 (vi điều khiển) |
| U2 | DS1307 (đồng hồ thời gian thực) |
| U3 | CR2032 (pin 3,3V) |
| U4 | HCM1005 (còi 5V) |
| U5 | DS18B20 (cảm biến nhiệt độ) |
| U9, U7 | BTA16-6008 (triac) |
| U6, U8 | MOC3061 |
| U10 | LM7805 (ổn áp 5V) |
| Quý 1, quý 2, quý 3 | 2N3904 (bóng bán dẫn) |
| D4 | cầu chỉnh lưu |
| D14 | 1N4004 (diode chỉnh lưu) |
| K1, K2 | HFKW 005-1ZW (rơle 5V) |
| X1 | 20 MHz (thạch anh) |
| X2 | 32,768 kHz (thạch anh) |
| J6, J7, J8, J9 | dải pin |
| (gắn ra khỏi tấm) | WC1602A0 |
2.1. Connectors
Hình. Bảng chính với các thiết bị bên ngoài được kết nối
Tab. Dấu kết nối
| dấu | hàm số |
| USB | Cổng giao tiếp với thiết bị điều khiển |
| I2C | Bus dữ liệu nối tiếp I2C |
| 1W | Xe buýt 1Wire để kết nối cảm biến nhiệt độ |
| ICSP | Một kết nối lập trình vi điều khiển |
| LCD | Ổ cắm màn hình LCD |
| chìa khóa | Ổ cắm bàn phím |
| R1 | Đầu ra của rơle đầu tiên, bật / tắt thiết bị bên ngoài |
| R2 | Đầu ra của rơle thứ hai, bật / tắt thiết bị bên ngoài |
| la | Ổ cắm chiếu sáng |
| gr | Ổ cắm nóng |
| Zas | Ổ cắm điện xoay chiều 5V |
2.2. vi điều khiển
Bộ vi điều khiển 40-PIC18F4550 với sức mạnh tính toán 12 MIPS đã được nhà sản xuất trang bị cổng USB 2.0 phần cứng, bus UART và I2C và SPI. Hoạt động trong phạm vi điện áp từ 2V đến 5,5V. Nó cung cấp cho bạn 32KB bộ nhớ Flash và bộ nhớ 2048 B. Nó có bộ chuyển đổi tương tự kỹ thuật số 10 bit, bộ hẹn giờ 8 bit và ba bộ định thời 16 bit.
Vẽ chì PIC18F4550 (nguồn: Lưu ý danh mục) .
2.3. Đồng hồ thời gian thực
Chip DS1307 là đồng hồ thời gian thực. Bộ vi điều khiển đọc thời gian hiện tại từ đồng hồ thông qua bus I2C. Nếu nguồn điện bên ngoài không thành công, đồng hồ sẽ tự động chuyển sang nguồn khẩn cấp từ pin 3.2V.
Hình. Đồng hồ thời gian thực DS1307.
2.4. Cảm biến nhiệt độ
Việc đọc nhiệt độ được thực hiện bằng cảm biến DS18B20. Giao tiếp giữa vi điều khiển và cảm biến diễn ra trên bus 1Wire, cho phép kết nối đồng thời nhiều cảm biến. Một hệ thống được cài đặt trên bo mạch của mô-đun, cảm biến nhiệt độ nước trong bể phải được kết nối với đầu nối 1Wire (chương 2.1).
Hình. Dịch chuyển của DS18B20
2.5. rơle
Hai rơle HFKW 005-1ZW, được điều khiển bởi các bóng bán dẫn 5V qua 2N3904, bật các thiết bị bên ngoài được điều khiển bằng điện áp trực tiếp hoặc xoay chiều.
2.6. triacs
Hai loại triacs BTA16-6008 trong vỏ TO-220 có tải tối đa 16A và điện áp tối đa 600V (theo ghi chú của danh mục) được điều khiển bởi bộ vi điều khiển thông qua bộ cách ly quang MOC3063. Họ thực hiện chức năng điều khiển ánh sáng và kích hoạt lò sưởi.
Hình. Điều khiển Triac bằng máy quang điện MOC3063 (nguồn: Lưu ý danh mục) .
Các triac được trang bị làm mát với bộ tản nhiệt FK237 với khả năng chịu nhiệt 21 ° C / W.
Hình. Bộ tản nhiệt FK237 (nguồn: Lưu ý danh mục).
2.7. Màn hình LCD
Thiết bị sử dụng màn hình ký tự hai dòng với đèn nền màn hình tích hợp với ký hiệu WC1602A0. Nó được kết nối với ổ cắm hiển thị trên PCB (chương 2.1).
Hình. Sơ đồ kết nối màn hình LCD với các cổng vi điều khiển
Tab. Danh sách các kết nối màn hình LCD
| Hiển thị đầu ra | DB4 | DB5 | DB6 | DB7 | E | RS | RW | GND | ucc | uo | Một | K |
| Pin hiển thị | 11 | 12 | 13 | 14 | 6 | 4 | 5 | 1 | 2 | 3 | 15 | 16 |
| Pin của ổ cắm màn hình | 6 | 7 | 8 | 9 | 5 | 3 | 4 | 2 | 1 | 2 | 10 | 2 |
| Đầu ra vi điều khiển | A3 | A4 | A5 | E0 | A2 | A0 | A1 | GND | 5V | GND | E1 | GND |
2.8. bàn phím
Thiết bị đã được trang bị bàn phím.
Chức năng nút.
| trái | trung tâm | đúng | |
| Chức năng trong menu chính | Di chuyển xuống | đệ trình | Vuốt lên |
| Chức năng trong chức năng đã chọn | trừ | đệ trình | thêm |
3. Vận hành thiết bị
3.1. Sự khởi đầu đầu tiên của thiết bị
Lần đầu tiên các thiết bị đang chạy yêu cầu một cấu hình bao gồm chọn các tùy chọn cấu hình từ menu và nhập các giá trị vào chúng.
- Trong quá trình vận hành, thiết bị sẽ phát hiện các cảm biến nhiệt độ được kết nối. Thiết bị hoạt động với hai cảm biến. Một trong những cảm biến được lắp đặt trong bể để kiểm soát nhiệt độ nước. Cảm biến thứ hai được đặt trên bo mạch chính của thiết bị và đọc nhiệt độ môi trường.
Sau lần khởi động đầu tiên của thiết bị hoặc thay thế cảm biến bằng một cảm biến mới, màn hình LCD hiển thị "!" không có kết quả đọc nhiệt độ. Vui lòng cho biết thiết bị nào có cảm biến bên ngoài bằng cách vào "Menu" và sau đó chọn tùy chọn "Cảm biến". - Sau khi xác định các cảm biến nhiệt độ, đặt nhiệt độ mong muốn được duy trì bằng cách tự động bật và tắt máy sưởi. Để xác định nhiệt độ, hãy chuyển đến "Menu" và sau đó chọn tùy chọn "Nhiệt độ".
- Cung cấp giờ và phút hiện tại, khi đồng hồ thời gian thực được kích hoạt; chiếu sáng, rơle 1, rơle 2.
- Sau khi thực hiện các cài đặt ở trên, có thể xác định thời gian bật đèn chiếu sáng và bắt đầu rơle.
3.2. thực đơn
Nhập "Menu" của thiết bị được thực hiện sau khi nhấp vào nút "trái" hoặc "phải" của bàn phím (chương 2.8). Di chuyển đến các chức năng menu tiếp theo
3.2.1. Rời khỏi thực đơn
Chọn "Thoát Menu" sẽ hiển thị "Bảng trạng thái thiết bị" (chương 3.3).
3.2.2. nhiệt độ
Để đặt nhiệt độ được duy trì bởi thiết bị, hãy chuyển đến "Menu" (chương 3.2) và chọn tùy chọn "Nhiệt độ". Sau đó bấm "Xác nhận". Đặt nhiệt độ bằng cách tăng hoặc giảm giá trị hiện tại bằng các nút "trái" và "phải". Xác nhận cài đặt hiện tại được thực hiện bằng cách nhấp vào nút "giữa".
3.2.3. Bật đèn
Việc tự động bật đèn chiếu sáng diễn ra vào một giờ và phút cố định. Sau khi vào "Menu" (chương 3.2) và chọn tùy chọn "Bật sáng", nhấp vào nút "Xác nhận", đặt giờ và phút bằng cách tăng hoặc giảm giá trị hiện tại bằng các nút "trái" và "phải". Xác nhận cài đặt giờ và phút được thực hiện bằng cách nhấp vào nút "giữa".
3.2.4. Tắt đèn
Việc tự động tắt ánh sáng diễn ra vào một giờ và phút cố định. Sau khi vào "Menu" (chương 3.2) và chọn tùy chọn "Tắt đèn", nhấp vào nút "Xác nhận", đặt giờ và phút bằng cách tăng hoặc giảm giá trị hiện tại bằng các nút "trái", "phải". Xác nhận giờ và phút sau đó được thực hiện bằng cách nhấp vào nút "giữa".
3.2.5. Rơle 1
Việc tự động bật rơle1 diễn ra tại một khoảng thời gian cụ thể được tính theo giờ kể từ khi cài đặt được lưu. Sau khi vào "Menu" (chương 3.2) và chọn tùy chọn "Rơle 1" bằng cách nhấp vào nút "Xác nhận", hãy đặt giá trị khoảng bằng cách tăng hoặc giảm giá trị hiện tại bằng các nút "trái" và "phải". Xác nhận cài đặt được thực hiện bằng cách nhấp vào nút "giữa".
3.2.6. Rơle 2
Việc tự động bật rơle 2 diễn ra với một khoảng thời gian cụ thể được tính theo giờ kể từ thời điểm lưu cài đặt. Sau khi vào "Menu" (chương 3.2) và chọn tùy chọn "Rơle 2" bằng cách nhấp vào nút "xác nhận", hãy đặt giá trị khoảng thời gian bằng cách tăng hoặc giảm giá trị hiện tại bằng các nút "trái", "phải". Xác nhận cài đặt được thực hiện bằng cách nhấp vào nút "giữa".
3.2.7. đồng hồ
Đồng hồ thời gian thực được đặt bằng cách vào "Menu" (chương 3.2), chọn tùy chọn "Đồng hồ" và nhấp vào nút "Xác nhận". Đặt giờ và phút bằng cách tăng hoặc giảm giá trị hiện tại bằng các nút "trái" và "phải". Xác nhận giờ và phút sau đó được thực hiện bằng cách nhấp vào nút "giữa".
3.2.8. cảm biến
Xác định cảm biến bên ngoài và cảm biến bên trong sau khi vào "Menu" (chương 3.2), chọn tùy chọn "Cảm biến" và nhấp vào nút "Xác nhận". Bằng cách nhấp vào nút "trái" hoặc "phải", số đọc từ các cảm biến được thay đổi, chúng phải được đặt theo cách sao cho nhiệt độ được chỉ ra bởi cảm biến bên ngoài bên cạnh biểu tượng sóng và nhiệt độ môi trường bên cạnh biểu tượng tòa nhà.
3.2.9. Đặt lại cài đặt
Đặt lại cài đặt đặt lại cài đặt:
- duy trì nhiệt độ,
- thời điểm bật và tắt đèn,
- khoảng thời gian của rơle thời gian ON.
3.3 Bảng trạng thái thiết bị
Bảng trạng thái thiết bị chứa thông tin cơ bản về các thiết bị bên ngoài, thời gian hiện tại và nước và nhiệt độ môi trường.
Hình. Bảng trạng thái thiết bị hiển thị trên màn hình LCD.
Tab. Ý nghĩa của các biểu tượng - bảng trạng thái thiết bị.
| biểu tượng | nghĩa |
| Nhiệt độ nước | |
| Nhiệt độ môi trường | |
| Chiếu sáng trên | |
| Máy sưởi đang bật | |
| Rơle đang bật | |
| Thời gian hiện tại |
4. Tập tin
Hồ sơ dự án.
- Sạc vi điều khiển (phiên bản 0.9).
- Thiết kế PCB ở định dạng PDF.
- Bản địa hóa các yếu tố trên PCB ở định dạng PDF.
Danh mục ghi chú.
- PIC18F4550 - vi điều khiển.
- DS1307 - đồng hồ thời gian thực.
- DS18B20 - cảm biến nhiệt độ.
- MOC3063 - optoisolator kiểm soát triac.
- BTA16-6008 - triac điều khiển thiết bị bên ngoài.
5. Tài liệu tham khảo
Nguồn:http://noweenergie.org/index.php?0/Article/20
Đăng ký:
Bài đăng (Atom)
Bài đăng mới nhất
Bài đăng phổ biến
-
Trong bài này sẽ hướng dẫn quét led 7 đoạn bằng timer Đoạn chương trình mẫu: /* ytuongnhanh.vn*/ #include <16f877a.h> #device *...
-
Ví dụ sau đây chỉ cách đọc hoặc viết số kiểu float lưu trong EEPROM n is an offset into the eeprom. For example if the first float is at...
-
Gần như tất cả các hệ thống dựa trên vi điều khiển đều thực hiện nhiều hơn một tác vụ. Ví dụ hệ thống giám sát nhiệt độ tạo ra ba t...
-
Vòng lặp for (For Loop) Chương trình biên dịch CCS cho vi điều khiển PIC Lệnh for : vòng lặp xác định thực hiện lặp lại một số lần x...
-
1.Biến và hằng số: Biến để lưu trữ một giá giá trị mà giá trị có thể thay đổi, hằng số là một giá trị cố định . Biến và hằng với nhiều ...
-
MicroChip- PIC16F877 Introduction:- This document contains device specific information. Additional information may be found in th...
-
Odtwarzanie dźwięku przez mikrokontroler Cele Celem projektu jest opracowanie procedury odtwarzania dźwięku z pamięci mikrokotroler...