HỆ THỐNG PHÁT HIỆN MÀU HIỂN THỊ LCD VỚI PIC16F876
Hệ thống phát hiện màu với PIC16F876 được dựa trên phần mềm vi điều khiển 16f876 PicBasic Pro. Thông tin màu sắc có thể được hiển thị với màn hình LCD và LED 2X16.
Diversion proteus isis mô phỏng sơ đồ
COLOR-OLC.bas nội dung phần mềm
'************************************************* *************** '* Tên: UNTITLED.BAS * '* Tác giả: [ETE] * '* Thông báo: Bản quyền (c) 2005 Ete] * '*: Tất cả các quyền * '* Ngày: 28.10.2005 * '* Phiên bản: 1.0 * '* Ghi chú: * '*: * '************************************************* *************** PORT = 0: PORTB = 0: PORTC = 0 TRISA =% 00000001 'Đầu ra bit0 và bit 2 TRISB = 0 'đặt cho bàn phím PortB 1-2-3 đầu vào những đầu ra khác TRISC =% 10000000 '7. đầu vào bit được nhập chính xác ' '------------------------------------------------- ---------------- @ THIẾT BỊ PIC16F876 'xử lý 16F876 @ THIẾT BỊ PIC16F876, của wdt_o ' Watch Dog Timer mở @ THIẾT BỊ PIC16F876, PWRT_O của 'điện đúng thời hạn mở @ THIẾT BỊ PIC16F876, PROTECT_OFF ' Mã Protek đóng @ THIẾT BỊ PIC16F876, XT_OSC dao động XT' sẽ được sử dụng '------------------------------------------------- ---------------- DEFINE LCD_DREG PORTB Cổng nào là chân dữ liệu LCD được kết nối? DEFINE LCD_DBIT 4 'Bit nào bắt đầu từ chân dữ liệu LCD? DEFINE LCD_EREG PORTB 'LCD Bật Nightfall Cổng nào được kết nối? DEFINE LCD_EBIT 3 'LCD Kích hoạt cơ sở Những vết cắn nào được kết nối? xác định cổng USB R / W LCD RWREG PORTB Cổng nào được kết nối? xác định LCD_RWBIT 2 'LCD R / W cơ sở Mà cắn được kết nối? DEFINE LCD_RSREG PORTB 'LCD RS Nightfall Cổng nào được kết nối? DEFINE LCD_RSBIT 1 'LCD RS bottom Bite 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 DEFINE OSC 4 DEFINE ADC_BITS 8 'kết quả A / D chuyển đổi sẽ là một vài bit trong DEF ADC_CLOCK 3 nguồn O'Clock (3 = rc) DEFINE ADC_SAMPLEUS 100 '------------------------------------------------- ------------------------ OPTION_REG.7 = 1 'điện trở pull-up CANCEL ADCON1% = 00.000.100 ' PORTA.0 KHÁC DIGITAL VÀ ANALOG PORTA.1 '------------------------------------------------- ------------------------ HAM VAR BYTE RED BYTE CÓ CÓ BYTE MAVI VAR BYTE MÀU VÀNG ORANGE var byte SYMBOL TUS = PORTC.7 ký hiệu LED_KIR = PORTC.0 SYMBOL LED_YES = PORTC.1 SYMBOL LED_MAV = PORTC.2 ký hiệu LED_SAR = PORTC.3 SYMBOL LED_TUR = PORTC.4 '------------------------------------------------- ----------------------- DRBN THẤP R LCD R LCDNG LCD R / W THẤP R PORTNG LOW PORTB.2 ' LCDOUT $ FE, 1 PAUSE 300 'LCD HOẠT ĐỘNG LCDOUT $ FE, 1, "PHÁT HIỆN MÀU" LCDOUT $ FE, $ C0, "HỆ THỐNG" PAUSE 500 '------------------------------------------------- ----------------------- BASLER để: LCDOUT $ FE, 1, "CISMI YERLESTIR" LCDOUT $ FE, $ C0, "BÁO CHÍ VÀ BẮT ĐẦU" PAUSE 200 NẾU TUS = 0 THÌ ALGILA GOTO BREAK QUAN ĐIỂM: GOSUB SCREEN PORTC = 0 HIGH LED_KIR PAUSE 500 GOSUB ADCAL RED = RAW PAUSE 200 LOW LED_KIR HIGH LED_YES PAUSE 500 GOSUB ADCAL XANH = RAW PAUSE 200 LOW LED_YES LED_MAV cao PAUSE 500 GOSUB ADCAL Blue = RAW PAUSE 200 LOW LED_MAV LED_SAR cao PAUSE 500 GOSUB ADCAL VÀNG = RAW PAUSE 200 LOW LED_SAR HIGH LED_TUR PAUSE 500 GOSUB ADCAL CAM = RAW PAUSE 200 LOW LED_TUR '----------------- ĐỌC HÔM NAY NGÀY HÔM NAY ----------------------------- ----- 'NẾU ĐỎ> YESIL THEN 'NẾU MAVI> ĐỎ MÀU ENMAVI 'GOTO INK 'ENDIF 'IF YESIL> ĐỎ 'NẾU MAVI> CÓ LẠI THÌ ENMAVI 'GOTO ENYESIL 'ENDIF NẾU RED = YESIL THEN NẾU CÓ = MAVI TRẮNG TRẮNG 'ENDIF RENK_BUL: NẾU RED = YESIL THEN NẾU YESIL = MAVI THEN NẾU MAVI = SARI THEN NẾU MÀU VÀNG = ORANGE THÌ TRẮNG ENDIF ENDIF ENDIF NẾU CÓ> ĐỎ KHI IKI NẾU MAVI> ĐỎ ĐÓ LÀ UC NẾU MÀU VÀNG> MÀU ĐỎ MÀU ĐỎ NẾU TURNER> MÀU ĐỎ GOTO INK HAI: NẾU MAVI> YESIL THEN UC NẾU MÀU VÀNG> CÓIL THEN DORT NẾU TURNER> YESIL THEN BES GOTO ENYESIL UCI: NẾU SARI> MAVI THEN DORT NẾU TURNER> MAVI NÀY BES GOTO ENMAVI BỐN: NẾU TURNER> SARI THEN BES GOTO ENSARI BES: NẾU TURUNCU> 0 THÌ ENTURUNCU LCDOUT $ FE, 1, "READING HOẶC TÀI KHOẢN" LCDOUT $ FE, $ C0, "ERROR ĐÃ !!!" tạm dừng 2000 goto ALGILA ENKIRMIZ của: LCDOUT $ FE, 1, "CISMIN RENGI" LCDOUT $ FE, $ C0, "** ĐỎ **" PAUSE 2000 GOTO BREAK ENYESIL: LCDOUT $ FE, 1, "CISMIN RENGI" LCDOUT $ FE, $ C0, "*** YESILD ***" PAUSE 2000 GOTO BREAK ENMAV của: LCDOUT $ FE, 1, "CISMIN RENGI" LCDOUT $ FE, $ C0, "*** MAVIDIR ***" PAUSE 2000 GOTO BREAK ENSARİ: LCDOUT $ FE, 1, "CISMIN RENGI" LCDOUT $ FE, $ C0, "*** SARID ***" PAUSE 2000 GOTO BREAK ENTURUNC của: LCDOUT $ FE, 1, "CISMIN RENGI" LCDOUT $ FE, $ C0, "** TURUNCUDUR **" PAUSE 2000 GOTO BREAK tRẮNG: LCDOUT $ FE, 1, "CISMIN RENGI" LCDOUT $ FE, $ C0, "*** TRẮNG ***" PAUSE 2000 GOTO BREAK ADCAL: ADCIN 0, HAM BIR: NẾU ADCON0.2 = 1 THÌ BIR RETURN SCREEN: LCDOUT $ FE, 1, "CISMIN RENGINI" LCDOUT $ FE, $ C0, "DETECTED" PAUSE 200 RETURN END
Isis PICBasic schema và mã file thuộc dự án: màn hình LCD PIC16F876 với hệ thống phát hiện màu
Tải xuống tệp LINK danh sách (ở định dạng TXT) link-11272.zip mật khẩu-pass: 320volt.com
Post a Comment