PC16F84A VỚI LCD CHỈ ĐỊNH MẠCH ĐIỀU KHIỂN QUẠT

PC16F84A VỚI LCD CHỈ ĐỊNH MẠCH ĐIỀU KHIỂN QUẠT


Trong mạch này, thông tin nhiệt thu được bằng cách sử dụng bộ vi xử lý PIC16F84A và cảm biến nhiệt độ DS18B20. Thông tin nhiệt thu được được hiển thị trên màn hình LCD 16X2 và cảnh báo khi giá trị nhiệt độ được chỉ định bởi người dùng bị vượt quá. Giá trị nhiệt trong môi trường cho phép quạt hoạt động cho đến khi đạt đến mức mong muốn. Bên cạnh đó, người dùng chỉ định giá trị của EEPROM để làm nóng sự biến mất của thông tin ghi trên mọi cúp điện engellenmiştir.art dấu (+) và trừ (-) các nút cho phép bạn điều chỉnh mức nhiệt độ cần thiết cho hoạt động của các fan hâm mộ.
Sơ đồ mạch
sơ đồ mạch điều khiển quạt
Vật liệu được sử dụng trong mạch cảm biến nhiệt độ và mạch cảm biến PIC16F84A và DS18B20;
  • 1 bộ vi xử lý PIC16F84A
  • 1 màn hình LCD 16X2
  • Cảm biến nhiệt độ DS18B20
  • 1 piece 1 K điện trở
  • 3 miếng điện trở 10K
  • 1 mảnh điện trở 4.7K
  • Điện trở 1 mảnh 330Ω
  • 1 diode LED
  • 1 đơn vị transistor BC237
  • 1 Buzzer
  • 1 bộ tạo dao động tinh thể 4Mhz
  • 2 miếng tụ 22pF
  • 2 nút
Mã nguồn
mã bộ vi xử lý của PIC Circuit microcode Studio Plus viết bằng trình biên dịch BASIC và PRO đã được biên soạn. Trình biên dịch của bạn phải có các tệp trình biên dịch lắp ráp PBP246 và MPASM để biên dịch.
================================================== =============================== '****************** **********************************************
'* Tên dự án: FAN COTROL CIRCUIT *
'* Tác giả: HASAN ÜZÜLMEZ *
'* Lưu ý: Điều khiển quạt DS18B20 với cảm biến nhiệt độ *
'* Ngày: 10.09.2008 *
'************************************************* ***************
DEFINE LCD_DREG PORT Cổng nào là chân dữ liệu LCD được kết nối?
DEFINE LCD_DBIT 0 'Các bit dữ liệu LCD nào bắt đầu?
DEFINE LCD_RSREG PORTA 'LCD RS Nightfall Cổng nào được kết nối?
DEFINE LCD_RSBIT 4 'LCD RS bottom Bite nào được kết nối?
DEFINE LCD_RWREG PORTB
DEFINE LCD_RWBIT 1
DEFINE LCD_EREG PORTB 'LCD Bật Nightfall Cổng nào được kết nối?
DEFINE LCD_EBIT 0 'LCD Enable Base bit nào được kết nối?
DEFINE LCD_BITS 4 'LCD được kết nối với 4 bit hoặc 8 bit?
DEFINE LCD_LINES 2 'LCD Có thể viết bao nhiêu dòng
Tris = 0
TRISB =% 01111000                                             
K VAR WORD
HOT WORD
HOT 1 CÓ WORD
YES BYTE
lệnh VAR BYTE 'Thông tin lệnh
i2 CÓ BYTE 'Counterfoil
temp VAR WORD 'Thông tin nhiệt
Pin dữ liệu DQ VAR PORTB.7 'DS1820
Mã pin DQ_DIR VAR TRISB.7 'DS1820
Deg CON 223 
SICAK1 = 0
N = 300
Đợi PAUSE 500 để khởi tạo LCD
LOW PORTB.1  
READ 0, HOT 'Eepromdan nhận thông tin nhiệt độ
mainloop:
        Khởi động GOSUB init1820 'DS1820
        lệnh = $ cc           
        GOSUB write1820
        command = $ 44 'Bắt ​​đầu chuyển đổi nhiệt
        GOSUB write1820
        PAUSE 500 'Đợi chuyển đổi nhiệt để kết thúc
        GOSUB init1820          
        command = $ cc 'Nhận thông tin ROM
        GOSUB write1820
        command = $ be 'Đọc nhiệt
        GOSUB write1820
        GOSUB read1820
KIỂM SOÁT:        
        LCDOUT $ FE, 1
        LCDOUT $ FE, $ 80, "TEMPERATURE =>", DEC (temp >> 4), ".", DEC (temp.1 * 5) 
        LCDOUT $ FE, $ C0, "FAN =>", DEC2 HOT, deg, "C"
        NẾU PORTB.3 = 0 THEN HOT = HOT + 1: VIẾT 0, NÓNG
        NẾU PORTB.4 = 0 THEN HOT = HOT-1: VIẾT 0, NÓNG
        NẾU (TEMP >> 4) <= HOT THEN PORTB.1 thấp
        NẾU (TEMP >> 4)> = ĐỘNG CƠ NÓNG GOTO
        LOW PORTB.1
        GOTO mainloop 'Tiếp tục
'Hoạt động đọc DS18B20
init1820:
        LOW DQ                  
        PAUSEUS 500             
        DQ_DIR = 1              
        PAUSEUS 100             
        NẾU DQ = 1 THÌ
            LCDOUT $ fe, 1, "ISI SENSORU"
            LCDOUT $ fe, $ c0, "KHÔNG S READN SÀNG"
            PAUSE 500
            GOTO mainloop   
        ENDIF
        PAUSEUS 400             
        RETURN
write1820:
        ĐỐI VỚI i2 = 1 TO 8          
            IF command.0 = 0 THEN
                GOSUB write0    
            ELSA
                GOSUB write1    
            ENDIF
        lệnh = lệnh >> 1  
        TIẾP THEO i2
        RETURN
write0:
        LOW DQ
        PAUSEUS 60              
        DQ_DIR = 1              
        RETURN
Write1:
        LOW DQ                  
@ nop                     
        DQ_DIR = 1              
        PAUSEUS 60              
        RETURN
read1820:
        ĐỐI VỚI i2 = 1 đến 16         
            temp = temp >> 1        
            GOSUB readbit   
        TIẾP THEO i2
        RETURN
readbit:
        temp.15 = 1             
        LOW DQ                 
@ nop                     
        DQ_DIR = 1             
        NẾU DQ = 0 THÌ
            temp.15 = 0     
        endif
        PAUSEUS 60              
        RETURN
'Cung cấp cảnh báo âm thanh khi quạt được kích hoạt
ĐỘNG CƠ:
        CAO PORTB.1
        SOUND PORT.6, [120,60]
        GOTO mainloop
END

Proteus Ares PCB Vẽ
mạch điều khiển quạt proteus pcb
Proc Nguồn mô phỏng pcb và các tập tin mã Lcd với PIC16F84A chỉ định mạch điều khiển quạt
Tệp tải xuống danh sách LINK (ở định dạng TXT) link-3385.zip mật khẩu-pass: 320volt.com

Post a Comment

[disqus] [facebook] [blogger]

MKRdezign

Biểu mẫu liên hệ

Name

Email *

Message *

Powered by Blogger.
Javascript DisablePlease Enable Javascript To See All Widget
Hỗ trợ trực tuyến