CÁC ỨNG DỤNG MẪU VỚI TÀI NGUYÊN CHUYÊN NGHIỆP CƠ BẢN CỦA PIC
Mô phỏng Isis và nguồn .pbp .hex, v.v. Có rất nhiều các dự án mẫu với mã sử dụng PIC16F84 và PIC16F877 vi điều khiển rất nhiều Aykut Yilmaz Lao động đã được viết bởi một người để cảm ơn
Mỗi phần của các dự án Picbasic được đưa ra trên các trang riêng biệt Mỗi trang có tất cả các tệp tài nguyên của chủ đề có liên quan.
Danh sách và hình ảnh mẫu được hiển thị bên dưới và trên các trang khác, bạn có thể thấy các lược đồ và phần mềm của các dự án
Ứng dụng ACD Ví dụ
3 kênh adc
Thay đổi giá trị hiệu lực để đọc hiển thị
bộ đếm pin 4 kênh với Picbasic

3 kênh adc
Thay đổi giá trị hiệu lực để đọc hiển thị
bộ đếm pin 4 kênh với Picbasic
Ví dụ ứng dụng hiển thị
In phông chữ cố định với màn hình hiển thị chữ và số
Alpha hiển thị số 0-9 truy cập hiển thị
7 đoạn với hiển thị phông chữ cố định
Phương pháp quét hiển thị

In phông chữ cố định với màn hình hiển thị chữ và số
Alpha hiển thị số 0-9 truy cập hiển thị
7 đoạn với hiển thị phông chữ cố định
Phương pháp quét hiển thị
Practices dẫn
flip flops
8 hiệu ứng đèn LED
PICBasic flasher
đèn giao thông chú ý
LED hiệu ứng ánh sáng nổi
để ghi một số tiền nhất định của thời gian sau khi nhấn nút LED

flip flops
8 hiệu ứng đèn LED
PICBasic flasher
đèn giao thông chú ý
LED hiệu ứng ánh sáng nổi
để ghi một số tiền nhất định của thời gian sau khi nhấn nút LED
Lcd ứng dụng Ví dụ
Đồ họa lcd
Lcd nổi font
Còn lại nổi font
Key kiểm soát lcd viết mạch
Nút kiểm soát lcd viết mạch
Số lcd hiển thị nhị phân hex
Thổ Nhĩ Kỳ cố định ký tự

Đồ họa lcd
Lcd nổi font
Còn lại nổi font
Key kiểm soát lcd viết mạch
Nút kiểm soát lcd viết mạch
Số lcd hiển thị nhị phân hex
Thổ Nhĩ Kỳ cố định ký tự
Mạch với hướng dẫn PBP
Ví dụ mạch cho lệnh âm thanh ngẫu nhiên chi nhánh
Nút lệnh
Ví dụ Eeprom
Tần số
Hpwm
I2c đọc và I2 wryte
Nếu lệnh sau đó Lệnh
Poke Đọc lệnh
Pwm
Đọc + ghi
Bước điều khiển động cơ
Toogle Lệnh
Ví dụ mạch cho lệnh âm thanh ngẫu nhiên chi nhánh
Nút lệnh
Ví dụ Eeprom
Tần số
Hpwm
I2c đọc và I2 wryte
Nếu lệnh sau đó Lệnh
Poke Đọc lệnh
Pwm
Đọc + ghi
Bước điều khiển động cơ
Toogle Lệnh
Các ứng dụng PWM
Rgb dẫn pwm
Điều khiển động cơ Hpwm
Led độ sáng
chậu Đa spwm
Hpwm sử dụng Pwm
tim 8 led
Bắt Đầu dừng điều khiển động cơ

Rgb dẫn pwm
Điều khiển động cơ Hpwm
Led độ sáng
chậu Đa spwm
Hpwm sử dụng Pwm
tim 8 led
Bắt Đầu dừng điều khiển động cơ
Đồng hồ mạch
Lcd giờ
Rtc 1302 giờ
Lcd giờ
Rtc 1302 giờ
Pic cơ bản pro đếm Mạch
0-9 chuyển tiếp truy cập
0-99 về phía trước truy cập
0-999 truy cập
0-9999 chuyển tiếp truy cập
0-65535 truy cập
Bcd truy cập

0-9 chuyển tiếp truy cập
0-99 về phía trước truy cập
0-999 truy cập
0-9999 chuyển tiếp truy cập
0-65535 truy cập
Bcd truy cập
Các ứng dụng truyền thông nối tiếp Picbasic
Nút điều khiển LCD
Giao tiếp nối tiếp hai chiều
Chức năng giao tiếp nối tiếp
Bàn phím + LCD
Rf 12knl
Giao tiếp
nối tiếp Truyền thông
nối tiếp Nút giao tiếp nối tiếp + led Màn
hình LCD nối tiếp
Serlcd2

Nút điều khiển LCD
Giao tiếp nối tiếp hai chiều
Chức năng giao tiếp nối tiếp
Bàn phím + LCD
Rf 12knl
Giao tiếp
nối tiếp Truyền thông
nối tiếp Nút giao tiếp nối tiếp + led Màn
hình LCD nối tiếp
Serlcd2
ADC (CHUYỂN ĐỔI KỸ THUẬT SỐ TƯƠNG TỰ)
Ứng dụng ADC 3 kênh hiển thị Lcd (pic-16f877, lm324)
ADC 1,2,3 Các ứng dụng khác nhau
LƯU Ý: Mục đích là tạo 8 kênh 10 BIT ADC với PIC16F877 LCDOUT $ FE, 1, "AN0:", lệnh DEC AN0 có sự khác biệt trong hiển thị thập phân lệnh DEC đối với màn hình lệnh DEC
Trong khi đếm từ 1 đến 1024 trong COMMAND COMMAND, đếm từ 0001 đến 1024 trong
DEC4 COMMAND
DEC4 COMMAND
Mọi người dễ dàng Gelsin
Đọc bộ đếm trong màn hình bằng cách thay đổi nồi
4 Hiển thị ADC CD4511 PIC17F877
Đo pin avatar kỹ thuật số với Picbasic
'***************************************** '* Tên: PILADC.BAS * '* Tác giả: [AYKUT YILMAZ] * '* Thông báo: Bản quyền (c) 2007 [kết thúc. kỹ thuật viên điện tử] * '*: Tất cả các quyền * '* Ngày: 31.01.2007 * '* Phiên bản: 1.0 * '* Ghi chú: * '*: * '***************************************** TRISA = 255 'GIỚI THIỆU COMPLETE HOÀN THÀNH '***** MÀN HÌNH LCD ***** DEFINE LCD_DREG PORTB 'DỮ LIỆU LCD DỮ LIỆU LIÊN QUAN ĐẾN PORTB DEFINE LCD_DBIT 4 'BẢNG DỮ LIỆU LCD DỪNG PORTB.4 BẮT ĐẦU DEFINE LCD_RSREG PORTB 'LCD RS CHÂN HÀNG PORTB DEFINE LCD_RSBIT 1 'LCD RS CHÂN PORTB.1 CONNECTED DEFINE LCD_RWREG PORTB 'LCD RW RANGE PORTB DEFINE LCD_RWBIT 2 'LCD RW RANGE PORTB.2 được kết nối DEFINE LCD_EREG PORTB 'LIÊN KẾT MÀN HÌNH LCD PORTB DEPEND DEFINE LCD_EBIT 3 'MÀN HÌNH LCD DELAY PORTB.3 CONNECTED DEFINE LCD_LINES 4 'MÀN HÌNH LCD 4 SELLED DEFINE LCD_BITS 4 'LCD 4 DỮ LIỆU ICT KHÔNG MUA '***** ĐẶC ĐIỂM ADC ***** DEFINE ADC_BITS 10 'ADC 10 BITS DEFINE ADC_CLOCK 0 ADC_DEGERI0 VAR WORD 'CHO PIN PORTA.0 ADC_DEGERI1 VAR WORD 'PORTA.1 CHO BATTERY THÊM ADC_DEGERI2 VAR CHO PIN PORTA.2 của WORD ADC_DEGERI3 VAR WORD'S PORTA.3 CHO PIN VOLTAGE VAR WORD 'CHO PIN 1.5V VOLTAGE1 CHO PIN 3V của WORD VOLTAGE 2 CHO PIN 4.5V của WORD VOLTAGE 3 VAR WORD'S CHO 6V PIN ADCON1 =% 10000010 'ADC ON LCDOUT $ FE, $ 93, "A" PAUSE 100 LCDOUT $ FE, $ 92, "Tháng" PAUSE 100 LCDOUT $ FE, $ 91, "Ayk" PAUSE 100 LCDOUT $ FE, $ 90, "Ayku" PAUSE 100 LCDOUT $ FE, $ 8F, "Aykut" PAUSE 100 LCDOUT $ FE, $ 8E, "Aykut Y" PAUSE 100 LCDOUT $ FE, $ 8D, "Aykut Yi" PAUSE 100 LCDOUT $ FE, $ 8C, "Aykut Yil" PAUSE 100 LCDOUT $ FE, $ 8B, "Aykut Yilm" PAUSE 100 LCDOUT $ FE, $ 8A, "Aykut Yilma" PAUSE 100 LCDOUT $ FE, $ 89, "Aykut Yilmaz" PAUSE 100 LCDOUT $ FE, $ 88, "Aykut Yilmaz" PAUSE 100 LCDOUT $ FE, $ 87, "Aykut Yilmaz" PAUSE 100 LCDOUT $ FE, $ 86, "Aykut Yilmaz" PAUSE 100 LCDOUT $ FE, $ 85, "Aykut Yilmaz" PAUSE 100 lCDOUT $ FE, $ 84, "Aykut Yilmaz" PAUSE 100 lcdout $ fe, $ ce, "Sa" tạm dừng 100 lcdout $ fe, $ cd, "Sak" tạm dừng 100 lcdout $ fe, $ cc, "Saka" tạm dừng 100 lcdout $ fe, $ cb, "Sakar" tạm dừng 100 lcdout $ fe, $ ca, "Sakary" tạm dừng 100 lcdout $ fe, $ c9, "Sakarya" tạm dừng 100 lcdout $ fe, $ c8, "Sakaryal" tạm dừng 100 lcdout $ fe, $ c7, "Sakaryali" tạm dừng 100 lcdout $ fe, $ c6, "Sakaryali 5" tạm dừng 100 lcdout $ fe, $ c5, "Sakaryali 54" tạm dừng 100 lcdout $ fe, $ c4, "Sakaryali 54" tạm dừng 100 lcdout $ fe, $ 96, "PIC BASIC ILE 4" lcdout $ fe, $ d5, "CÔNG CỤ KANALLI OLCU" tạm dừng 5000 Chúng tôi đi: ADCIN 0, ADC_DEGERI0 'PORTA.0 VOLTAGE RANGE READ GERILIM0 = ADC_DEGERI0 * 48/10 'DỊCH THUẬT MV LCDOUT $ FE, 1, # GERILIM0, "MV" "SCREEN MV WRITE NẾU THRESHOLD <1450 1.45="" font="" k="" low="" lower="" n="" nh="" qu="" ra="" side="" v=""> LCDOUT $ FE, $ 86, "BOS" '1,45 V MÙA H SM MÙA H L Nếu ELSE không LCDOUT $ FE, $ 86, FULL "FULL" ENDIF 'END OF IF CHẾ BIẾN ADCIN 1, ADC_DEGERI1 'PORTA.1 VARIABLE VOLTAGE ĐỌC GERILIM1 = ADC_DEGERI1 * 48/10 'DỊCH THUẬT MV LCDOUT $ FE, $ C0, # GERILIM1, "MV" "MÀN HÌNH MV VIẾT NẾU VOLTAGE1 <2500 2.50="" bottom="" font="" line="" nh="" qu="" then="" v=""> LCDOUT $ FE, $ C6, "BOS" '2.50V NHỎ NẾU VIẾT MÙA H SUM Nếu ELSE không LCDOUT $ FE, $ C6, FULL "FULL" ENDIF ADCIN 2, ADC_DEGERI2 'PORTA.2 VARIABLE VOLTAGE ĐỌC GERILIM2 = ADC_DEGERI2 * 48/10 'DỊCH THUẬT MV LCDOUT $ FE, $ 94, # GERILIM2, "mV" 'SCREEN MV WRITE NẾU VOLTAGE2 <4000 4.00="" font="" low="" lower="" lu="" side="" then="" v=""> LCDOUT $ FE, $ 9A, "BOS" '4.00V MÙA H LOW THUỐC NÓNG THẤP Nếu ELSE không LCDOUT $ FE, $ 9A, FULL "FULL" ENDIF ADCIN 3, ADC_DEGERI3 'PORTA.3 VOLIMAGE VOLTAGE ĐỌC GERILIM3 = ADC_DEGERI3 * 48/10 'DỊCH THUẬT MV MÀN HÌNH LCD OUT $ FE, $ D4, # GERILIM3, "mV" NẾU VOLTAGE3 <5000 5.00="" c="" font="" k="" low="" lower="" nghi="" qu="" side="" v=""> MÀN HÌNH LCD OUT $ FE, $ DA, "BOS" Nếu ELSE không LCDOUT $ FE, $ DA, MÙA H FULL ĐẦY ĐỦ "FULL" ENDIF PAUSE 500 GOTO BASELYORUZ END 5000>4000>2500>1450>
CÁC ỨNG DỤNG MẪU VỚI TÀI NGUYÊN CHUYÊN NGHIỆP CƠ BẢN CỦA PIC
DỰ ÁN HIỂN THỊ PICBASIC
In phông chữ cố định với màn hình hiển thị chữ và số pic16f877,74hc595
'*************************************** '* Tên: ALFA.BAS * '* Tác giả: [AYKUT YILMAZ] * '* Thông báo: Bản quyền (c) 2007 [kết thúc. kỹ thuật viên điện tử] * '*: Tất cả các quyền * '* Ngày: 09.05.2007 * '* Phiên bản: 1.0 * '* Ghi chú: * '*: VIẾT CỐ ĐỊNH VỚI HIỂN THỊ ALPHANUMERIC * '************************************* '****** HƯỚNG DẪN ĐẦU TƯ VÀ ĐẦU RA ****** TRISB = 0 'ĐẦU RA HOÀN THÀNH PORTB TRISC = 0 'ĐẦU RA HOÀN THÀNH PORTC '***** ĐỊNH NGH DA ĐỊNH NGH *****A ***** NUMBER BYTE STATUS BYTE 'LOOKUP INDEX VARIABLE YES BYTE Y YES BYTE K VAR BYTE U BY BYTE T VAR BYTE CLEAR BASLER để: PORTB = 0 TÌNH TRẠNG = A DIG 1 GOSUB TABLE SHIFTOUT PORTB.1, PORTB.0,1, [PHÁT HÀNH] HIGH PORTB.2 PAUSEUS 2 LOW PORTB.2 STATUS = DIG 0 GOSUB TABLE1 SHIFTOUT PORTB.1, PORTB.0,1, [PHÁT HÀNH] HIGH PORTB.3 PAUSEUS 2 LOW PORTB.3 TÌNH TRẠNG = Y DIG 1 GOSUB TABLE2 SHIFTOUT PORTB.1, PORTB.0,1, [PHÁT HÀNH] HIGH PORTB.4 PAUSEUS 2 LOW PORTB.4 STATE = Y DIG 0 GOSUB TABLE3 SHIFTOUT PORTB.1, PORTB.0,1, [PHÁT HÀNH] CAO PORTB.5 PAUSEUS 2 LOW PORTB.5 STATE = K DIG 1 GOSUB TABLE4 SHIFTOUT PORTB.1, PORTB.0,1, [PHÁT HÀNH] CAO PORTB.6 PAUSEUS 2 LOW PORTB.6 STATE = K DIG 0 GOSUB TABLE5 SHIFTOUT PORTB.1, PORTB.0,1, [PHÁT HÀNH] HIGH PORTB.7 PAUSEUS 2 LOW PORTB.7 TÌNH TRẠNG = U DIG 1 GOSUB TABLE6 SHIFTOUT PORTB.1, PORTB.0,1, [PHÁT HÀNH] HIGH PORTC.1 PAUSEUS 2 LOW PORTB.1 STATUS = U DIG 0 GOSUB TABLE7 SHIFTOUT PORTB.1, PORTB.0,1, [PHÁT HÀNH] HIGH PORTC.2 PAUSEUS 2 LOW PORTB.2 STATE = T DIG 1 GOSUB TABLE8 SHIFTOUT PORTB.1, PORTB.0,1, [PHÁT HÀNH] HIGH PORTC.3 PAUSEUS 2 LOW PORTB.3 STATE = T DIG 0 GOSUB TABLE9 SHIFTOUT PORTB.1, PORTB.0,1, [PHÁT HÀNH] HIGH PORTC.4 PAUSEUS 2 LOW PORTB.4 RETURN BẢNG: YÊU CẦU BẮT BUỘC CHO LOOKUP SITUATION, [% 11001111], NUMBER RETURN table1: LOOKUP STATUS, [% 00000011], NUMBER RETURN YÊU CẦU BẮT BUỘC CHO Y Bảng 2: LOOKUP STATUS, [% 10111100], NUMBER RETURN table3: LOOKUP STATUS, [% 00000011], NUMBER RETURN ĐỊNH NGH NECA CẦN THIẾT Bảng 4: LOOKUP STATUS, [% 11000000], NUMBER RETURN Bảng 5: LOOKUP STATUS, [% 00110001], NUMBER RETURN ĐỊNH NGH NECA CẦN THIẾT Bảng 6: LOOKUP SITUATION, [% 11111100], NUMBER RETURN Bảng 7: LOOKUP STATUS, [% 00000000], NUMBER RETURN ĐỊNH NGH NECA CẦN THIẾT CHO T TABLO8: LOOKUP STATUS, [% 00000011], NUMBER RETURN Bảng 9: LOOKUP STATUS, [% 01001000], NUMBER RETURN
Bảng chữ cái 0-9
'******************************************* '* Tên: ALPHA2.BAS * '* Tác giả: [chọn XEM ... TÙY CHỌN EDITOR] * '* Thông báo: Bản quyền (c) 2007 [chọn VIEW ... CÁC GIẢI PHÁP EDITOR] * '*: Tất cả các quyền * '* Ngày: 08.05.2007 * '* Phiên bản: 1.0 * '* Ghi chú: * '*: * '******************************************** TRISB = 0 TRISD = 0 NUMBER BYTE CLEAR BASLER để: PORTB = 0 '***** ALPHA SỐ LƯỢNG HIỂN THỊ 0 ---- 9 ĐƠN ***** YÊU CẦU BẮT BUỘC CHO '0 SỐ PORTB = 255 PORTDIR = 0 PAUSE 1000 ĐỂ 1 PORTB =% 00001100 PORTDIR = 0 PAUSE 1000 CHO '2 PORTB =% 01110111 PORTDIR =% 00000011 PAUSE 1000 CHO 3 ' PORTB =% 00111111 PORTDIR =% 00000011 PAUSE 1000 CHO 4 ' PORTB =% 10001100 PORTDIR =% 00000011 PAUSE 1000 CHO 5 ' PORTB =% 10111011 PORTDIR =% 00000011 PAUSE 1000 CHO 6 ' PORTB =% 11111011 PORTDIR =% 00000011 PAUSE 1000 CHO '7 PORTB =% 10001111 PORTDIR = 0 PAUSE 1000 CHO 8 ' PORTB = 255 PORTDIR =% 00000011 PAUSE 1000 CHO 9 ' PORTB =% 10111111 PORTDIR =% 00000011 PAUSE 1000 GOTO BREAK
'******************************************* '* Tên: ALPHA.BAS * '* Tác giả: [chọn XEM ... TÙY CHỌN EDITOR] * '* Thông báo: Bản quyền (c) 2007 [chọn VIEW ... CÁC GIẢI PHÁP EDITOR] * '*: Tất cả các quyền * '* Ngày: 07.05.2007 * '* Phiên bản: 1.0 * '* Ghi chú: * '*: * '********************************************* TRISB = 0 TRISD = 0 BASLER để: PORTB = 255 PORTDIR = 255 PAUSE 2000 PORTB = 255 PORTDIR = 0 PAUSE 2000 PORTDIR = 255 PORTB = 0 PAUSE 2000 GOTO BREAK END
Hiển thị phông chữ cố định với 7 đoạn hiển thị
'********************************************** '* Tên: display.BAS * '* Tác giả: [chọn XEM ... TÙY CHỌN EDITOR] * '* Thông báo: Bản quyền (c) 2007 [chọn VIEW ... CÁC GIẢI PHÁP EDITOR] * '*: Tất cả các quyền * '* Ngày: 27.04.2007 * '* Phiên bản: 1.0 * '* Ghi chú: Hiển thị văn bản cố định với 7SEGMENT DISPLAY * '*: * '******************************************** '****** HƯỚNG DẪN ĐẦU TƯ VÀ ĐẦU RA ****** TRISB = 0 'ĐẦU RA HOÀN THÀNH PORTB TRISC = 0 'ĐẦU RA HOÀN THÀNH PORTC '***** ĐỊNH NGH DA ĐỊNH NGH *****A ***** NUMBER BYTE STATUS BYTE 'LOOKUP INDEX VARIABLE YES BYTE Y YES BYTE K VAR BYTE U BY BYTE CLEAR BASLER để: TÌNH TRẠNG = A DIG 1 GOSUB TABLE SHIFTOUT PORTB.1, PORTB.0,1, [PHÁT HÀNH] HIGH PORTB.2 PAUSEUS 2 LOW PORTB.2 STATUS = DIG 0 GOSUB TABLE1 SHIFTOUT PORTB.1, PORTB.0,1, [PHÁT HÀNH] HIGH PORTB.3 PAUSEUS 2 LOW PORTB.3 TÌNH TRẠNG = Y DIG 1 GOSUB TABLE2 SHIFTOUT PORTB.1, PORTB.0,1, [PHÁT HÀNH] HIGH PORTB.4 PAUSEUS 2 LOW PORTB.4 STATE = Y DIG 0 GOSUB TABLE3 SHIFTOUT PORTB.1, PORTB.0,1, [PHÁT HÀNH] CAO PORTB.5 PAUSEUS 2 LOW PORTB.5 STATE = K DIG 1 GOSUB TABLE4 SHIFTOUT PORTB.1, PORTB.0,1, [PHÁT HÀNH] CAO PORTB.6 PAUSEUS 2 LOW PORTB.6 STATE = K DIG 0 GOSUB TABLE5 SHIFTOUT PORTB.1, PORTB.0,1, [PHÁT HÀNH] HIGH PORTB.7 PAUSEUS 2 LOW PORTB.7 TÌNH TRẠNG = U DIG 1 GOSUB TABLE6 SHIFTOUT PORTB.1, PORTB.0,1, [PHÁT HÀNH] HIGH PORTC.0 PAUSEUS 2 LOW PORTC.0 RETURN BẢNG: TÌNH HÌNH LOOKUP, [119], ISSUE RETURN table1: LOOKUP SITUATION, [110], NUMBER RETURN Bảng 2: LOOKUP SITUATION, [118], NUMBER RETURN table3: LOOKUP SITUATION, [62], ISSUE RETURN Bảng 4: LOOKUP SITUATION, [120], NUMBER RETURN Bảng 5: TÌNH HÌNH LOOKUP, [109], ISSUE RETURN Bảng 6: TÌNH HÌNH LOOKUP, [102], ISSUE RETURN GOTO BREAK END
'**************************************** '* Tên: display2.BAS * '* Tác giả: [AYKUT YILMAZ] * '* Thông báo: Bản quyền (c) 2007 [kết thúc. kỹ thuật viên điện tử] * '*: Tất cả các quyền * '* Ngày: 27.04.2007 * '* Phiên bản: 1.0 * '* Ghi chú: * '*: * '*************************************** '***** Giới thiệu các mục nhập và thoát khỏi ****** TRISB = 0 TrisCl = 0 '***** ĐỊNH NGH DA ĐỊNH NGH *****A ***** NUMBER BYTE STATUS BYTE 'LOOKUP INDEX VARIABLE YES BYTE Y YES BYTE K VAR BYTE U BY BYTE T VAR BYTE CLEAR BASLER để: TÌNH TRẠNG = A DIG 1 GOSUB TABLE SHIFTOUT PORTB.1, PORTB.0,1, [PHÁT HÀNH] HIGH PORTB.2 PAUSEUS 2 LOW PORTB.2 STATUS = DIG 0 GOSUB TABLE1 SHIFTOUT PORTB.1, PORTB.0,1, [PHÁT HÀNH] HIGH PORTB.3 PAUSEUS 2 LOW PORTB.3 TÌNH TRẠNG = Y DIG 1 GOSUB TABLE2 SHIFTOUT PORTB.1, PORTB.0,1, [PHÁT HÀNH] HIGH PORTB.4 PAUSEUS 2 LOW PORTB.4 STATE = Y DIG 0 GOSUB TABLE3 SHIFTOUT PORTB.1, PORTB.0,1, [PHÁT HÀNH] CAO PORTB.5 PAUSEUS 2 LOW PORTB.5 STATE = K DIG 1 GOSUB TABLE4 SHIFTOUT PORTB.1, PORTB.0,1, [PHÁT HÀNH] CAO PORTB.6 PAUSEUS 2 LOW PORTB.6 STATE = K DIG 0 GOSUB TABLE5 SHIFTOUT PORTB.1, PORTB.0,1, [PHÁT HÀNH] HIGH PORTB.7 PAUSEUS 2 LOW PORTB.7 TÌNH TRẠNG = U DIG 1 GOSUB TABLE6 SHIFTOUT PORTB.1, PORTB.0,1, [PHÁT HÀNH] HIGH PORTC.0 PAUSEUS 2 LOW PORTC.0 STATUS = U DIG 0 GOSUB TABLE7 SHIFTOUT PORTB.1, PORTB.0,1, [PHÁT HÀNH] HIGH PORTC.1 PAUSEUS 2 LOW PORTC.1 STATE = T DIG 1 GOSUB TABLE8 SHIFTOUT PORTB.1, PORTB.0,1, [PHÁT HÀNH] HIGH PORTC.2 PAUSEUS 2 LOW PORTC.2 BẢNG: TÌNH HÌNH LOOKUP, [109], ISSUE RETURN table1: TÌNH HÌNH LOOKUP, [119], ISSUE RETURN Bảng 2: LOOKUP SITUATION, [118], NUMBER RETURN table3: TÌNH HÌNH LOOKUP, [119], ISSUE RETURN Bảng 4: TÌM KIẾM LOOKUP, [80], NUMBER RETURN Bảng 5: LOOKUP SITUATION, [110], NUMBER RETURN Bảng 6: TÌNH HÌNH LOOKUP, [119], ISSUE RETURN Bảng 7: LOOKUP SITUATION, [56], NUMBER RETURN TABLO8: LOOKUP STATUS, [6], NUMBER RETURN
Phương pháp quét
'**************************************** '* Tên: TARAMA.BAS * '* Tác giả: [AYKUT YILMAZ] * '* Thông báo: Bản quyền (c) 2007 [kết thúc. kỹ thuật viên điện tử] * '*: Tất cả các quyền * '* Ngày: 28.04.2007 * '* Phiên bản: 1.0 * '* Ghi chú: * '*: * '*************************************** ***** GIỚI THIỆU VÀ ĐẦU RA ***** TRISB = 0 'ĐẦU RA HOÀN THÀNH PORTB TRISC = 0 'ĐẦU RA HOÀN THÀNH PORTC TRISD = 0 'PORTD COMPLETE OUTPUT PORTDIR = 0 PORTC = 0 PORTB = 0 ISSUE WORD CÓ WORD B CÓ WORD C VAR WORD D VAR WORD E CÓ WORD F VAR WORD G CÓ WORD H VAR WORD J VAR WORD CLEAR BASLER để: A = NUMBER DIG 0 B = NUMBER DIG 1 C = NUMBER DIG 2 D = NUMBER DIG 3 E = NUMBER DIG 4 F = NUMBER DIG 5 G = NUMBER DIG 6 H = NUMBER DIG 7 J = NUMBER DIG 8 PORTB = 109 HIGH PORTC.7 PAUSEus 2 portc.7 thấp pauseus 1 PORTB = 119 HIGH PORTD.0 PAUSE 2 PORTD.0 thấp PAUSEUS 1 PORTB = 118 CAO PORTD.1 PAUSE 2 LOW PORTD.1 PAUSE 1 PORTB = 119 HIGH PORTD.2 PAUSEUS 2 LOW PORTD.2 PAUSEUS 1 PORTB = 80 CAO PORTD.3 PAUSEUS 2 LOW PORTD.3 PAUSEUS 1 PORTB = 110 HIGH PORTD.4 PAUSEUS 2 LOW PORTD.4 PAUSEUS 1 PORTB = 119 CAO PORTD.5 PAUSEUS 2 PORTD.5 thấp PAUSEUS 1 PORTB = 56 CAO PORTD.6 PAUSEUS 2 LOW PORTD.6 PAUSEUS 1 PORTB = 6 HIGH PORTD.7 PAUSEUS 2 LOW PORTD.7 PAUSEUS 1 GOTO BREAK
CÁC ỨNG DỤNG MẪU VỚI TÀI NGUYÊN CHUYÊN NGHIỆP CƠ BẢN CỦA PIC
DỰ ÁN PICBASIC DOTMATRIX
Văn bản nổi 8x8
'***************************************** '* Tên: GOSTER.BAS * '* Tác giả: [AYKUT YILMAZ] * '* Thông báo: Bản quyền (c) 2007 [kết thúc. kỹ thuật viên điện tử] * '*: Tất cả các quyền * '* Ngày: 10.04.2007 * '* Phiên bản: 1.0 * '* Ghi chú: * '*: * '**************************************** TRISD =% 00000000 '=== NHƯNG UCLAR ===' SUNDAYS TRISB =% 00000000 '=== NGOÀI TRỜI ===' SITES P1 CÓ BYTE 'GIAI ĐOẠN CHỜ tôi có BYTE 'SAYAC i1 CÓ BYTE 'TỐC ĐỘ TỐC ĐỘ D0 CÓ BYTE D1 VAR BYTE D2 CÓ BYTE D3 CÓ BYTE D4 CÓ BYTE D5 BYTE D6 CÓ BYTE D7 CÓ BYTE D8 CÓ BYTE D9 CÓ BYTE D10 CÓ BYTE D11 CÓ BYTE D12 CÓ BYTE D13 CÓ BYTE D14 CÓ BYTE D15 CÓ BYTE D16 CÓ BYTE D17 CÓ BYTE D18 CÓ BYTE D19 CÓ BYTE D20 CÓ BYTE D21 VAR BYTE D22 CÓ BYTE D23 CÓ BYTE D24 CÓ BYTE D25 CÓ BYTE D26 YES BYTE D27 CÓ BYTE D28 CÓ BYTE D29 CÓ BYTE D30 CÓ BYTE D31 CÓ BYTE D32 CÓ BYTE D33 CÓ BYTE D34 CÓ BYTE D35 CÓ BYTE D36 CÓ BYTE D37 YES BYTE D38 CÓ BYTE D39 CÓ BYTE D40 CÓ BYTE D41 CÓ BYTE D42 CÓ BYTE D43 CÓ BYTE D44 CÓ BYTE D45 CÓ BYTE D46 CÓ BYTE D47 CÓ BYTE D48 CÓ BYTE D49 CÓ BYTE D50 CÓ BYTE D51 VAR BYTE D52 YES BYTE D53 CÓ BYTE D54 CÓ BYTE D55 VAR BYTE D56 YES BYTE D57 YES BYTE D58 CÓ BYTE D59 VAR BYTE D60 CÓ BYTE D61 CÓ BYTE D62 CÓ BYTE D63 VAR BYTE D64 CÓ BYTE D65 CÓ BYTE D66 VAR BYTE D67 VAR BYTE D68 VAR BYTE D69 CÓ BYTE D70 CÓ BYTE D71 CÓ BYTE D72 VAR BYTE D73 YES BYTE D74 CÓ BYTE D75 CÓ BYTE D76 CÓ BYTE D77 VAR BYTE D78 VAR BYTE D79 CÓ BYTE D80 CÓ BYTE D81 VAR BYTE D82 CÓ BYTE D83 VAR BYTE D84 CÓ BYTE D85 CÓ BYTE D86 CÓ BYTE D87 VAR BYTE D88 VAR BYTE D89 VAR BYTE D90 CÓ BYTE D91 YES BYTE D92 BY BYTE D93 CÓ BYTE D94 CÓ BYTE D95 CÓ BYTE D96 CÓ BYTE D97 VAR BYTE D98 CÓ BYTE D99 CÓ BYTE D100 VAR BYTE P1 = 5 '=== KHÔNG LISTENING LCLN === i = 0 '=== Y TẾ ỔN ĐỊNH NÀY === i1 = 22 '=== Điều chỉnh tốc độ trượt === D0 =% 00000000 'A % D1 = 00.111.100 d2 = 01.000.010% d3 =% 01.000.010 d4 =% 01.000.010 d5 =% 01.111.110 d6 =% 01.000.010 d7 =% 01.000.010 d8 =% 01.000.010 D9 =% 00000000 'SPACE D10 =% 00000000 D11 =% 00000000 D12 =% 00000000 D13 =% 00000000 D14 =% 01000010 'Y D15 =% 01.000.010 D16 =% 00.100.100 D17 =% 00.011.000 D18 =% 00.011.000 D19 =% 00.011.000 D 20 = 00.011.000% D21 =% 00.011.000 D22 =% 00000000 D23 =% 00000000 D24 =% 00000000 D25 =% 00000000 D26 =% 00000000 'SPACE D27 =% 01000100 'K D28 =% 01.000.100 D29 =% 01.000.100 D30 =% 01.000.100 D31 =% 01.111.000 D32 =% 01.000.100 D33 =% 01.000.100 D34 =% 01.000.100 D35 =% 00000000 'SPACE D36 =% 00000000 D37 =% 00000000 D38 =% 00000000 D39 =% 00000000 D40 =% 01100110 D41 =% 01100110 D42 =% 01100110 D43 =% 01100110 D44 =% 01100110 D45 =% 01100110 D46 =% 01.111.110 D47 =% 00.111.100 D48 =% 00000000 'SPACE D49 =% 00000000 D50 =% 00000000 D51 =% 00000000 D52 =% 00000000 D53 = 11111111 'T D54 =% 01.111.110 D55 =% 00.011.000 D56 =% 00.011.000 D57 =% 00.011.000 D58 =% 00.011.000 D59 =% 00.011.000 D60 =% 00.011.000 D61 =% 00000000 'SPACE D62 =% 00000000 D63 =% 00000000 D64 =% 00000000 D65 =% 00000000 D66 =% 01111110 '5 D67 =% 10000000 D68 =% 10000000 D69 =% 01.111.100 D70 =% 00.000.010 D71 =% 10.000.010 D72 =% 10.000.010 D73 =% 01.111.100 D74 =% 00000000 'KHÔNG GIAN D75 =% 00000000 D76 =% 00000000 D77 =% 00000000 D78 =% 00000000 D79 =% 00000000 D80 =% 01000000 '4 D81 =% 01.000.000 D82 =% 01.001.000 D83 =% 01.001.000 D84 =% 01.111.100 D85 =% 00.001.000 D86 =% 00.001.000 D87 =% 00000000 'SPACE D88 =% 00000000 D89 =% 00000000 D90 =% 11000011 'TIM D91 =% 11.100.111 D92 =% 11111111 D93 =% 11111111 D94 =% 01.111.110 D95 =% 00.111.100 D96 =% 00.011.000 D97 =% 00000000 'SPACE D98 =% 00000000 D99 =% 00000000 D100 =% 00000000 BASLER để: i = i + 1 'i YI BIR ARTTIR NẾU i = i1 PORTD =% 11111110 'SUN 1 ICIN PORTB = d1 Tạm dừng P1 PORTD =% 11111101 'SODUN 2 ICIN PORTB = d2 Tạm dừng P1 PORTD =% 11111011 'SUN 3 ICIN PORTB = d3 Tạm dừng P1 PORTD =% 11110111 'HỘP 4 ICIN PORTB = d4 Tạm dừng P1 PORTD =% 11101111 'SOD 5 ICIN PORTB = D5 Tạm dừng P1 PORTD =% 11011111 'SUN 6 ICIN PORTB = d6 Tạm dừng P1 PORTD =% 10111111 'SUN 7 ICIN PORTB = d7 Tạm dừng P1 PORTD =% 01111111 'SUTUN 8 ICIN PORTB = d8 Tạm dừng P1 kỷ lục: i = 0 '=== SHIFT START === d0 = d1 d1 = d2 d2 = d3 d3 = d4 d4 = d5 d5 = d6 d6 = d7 d7 = d8 D8 = D9 d9 D10 = D10 = D11 D11 = d12 d12 = D13 D13 = D14 D14 = D15 D15 = D16 D16 = D17 D17 = D18 D18 = D19 D19 = D20 D20 = D21 D21 = D22 D22 = D23 D23 = D24 D24 = D25 D25 = D26 D26 = D27 D27 = D28 D28 = D29 D29 = D30 D30 = D31 D31 = D32 D32 = D33 D33 = D34 D34 = D35 D35 = D36 D36 = D37 D37 = D38 D38 = D39 D39 = D40 D40 = D41 D41 = d42 d42 = D43 D43 = d44 d44 = d45 d45 = D46 D46 = D47 D47 = D48 D48 = D49 D49 = D50 D50 = D51 D51 = d52 d52 = D53 D53 = D54 D54 = D55 D55 = D56 D56 = D57 D57 = D58 D58 = D59 D59 = D60 D60 = D61 D61 = D62 D62 = D63 D63 = D64 D64 = D65 D65 = D66 D66 = D67 D67 = D68 D68 = D69 D69 = D70 D70 = D71 D71 = D72 D72 = D73 D73 = D74 D74 = D75 D75 = D76 D76 = D77 D77 = D78 D78 = D79 D79 = D80 D80 = D81 D81 = D82 d82 = D83 D83 = D84 D84 = D85 d85 = D86 D86 = D87 D87 = D88 d88 = D89 D89 = D90 D90 = D91 D91 = D92 D92 = D93 D93 = D94 D94 = D95 D95 = D96 D96 = d97 d97 = D98 D98 = D99 D100 d99 = D100 = d0 GOTO BREAK END
Bộ đếm Dotmatrix (pic16f877,74hc154
'****************************************** '* Tên: UNTITLED.BAS * '* Tác giả: [chọn XEM ... TÙY CHỌN EDITOR] * '* Thông báo: Bản quyền (c) 2007 [chọn VIEW ... CÁC GIẢI PHÁP EDITOR] * '*: Tất cả các quyền * '* Ngày: 06.02.2007 * '* Phiên bản: 1.0 * '* Ghi chú: * '*: * '**************************************** porta = 0: portb = 0 trisa = 0: trisb = 0 enable_74154 var porta.4 i var byte 'DOTMATRIX DISPLAY LENGTH EXPANSION DOT var byte z var byte 'HARLEY ĐỂ TỪ TRÊN MÀN HÌNH NÀY SỐ LƯỢNG CAO CAO B WRNG VĂN BẢN port = 16 GOTO UP BASLER để: cho z = 1 đến 100 cho i = 0 đến 9 gọi KAREKTER_TABLOSU PORTB = DOT porta = i + 24 thấp enable_74154 pauseus 100 cao enable_74154 tiếp theo tôi tiếp theo z cho z = 1 đến 100 cho i = 0 đến 9 gọi KAREKTER_TABLOSU1 PORTB = DOT porta = i + 26 thấp enable_74154 pauseus 100 cao enable_74154 tiếp theo tôi tiếp theo z cho z = 1 đến 100 cho i = 0 đến 9 gọi KAREKTER_TABLOSU2 PORTB = DOT porta = i + 26 thấp enable_74154 pauseus 100 cao enable_74154 tiếp theo tôi tiếp theo z cho z = 1 đến 100 cho i = 0 đến 9 gọi KAREKTER_TABLOSU3 PORTB = DOT porta = i + 26 thấp enable_74154 pauseus 100 cao enable_74154 tiếp theo tôi tiếp theo z cho z = 1 đến 100 cho i = 0 đến 9 gọi KAREKTER_TABLOSU4 PORTB = DOT porta = i + 26 thấp enable_74154 pauseus 100 cao enable_74154 tiếp theo tôi tiếp theo z cho z = 1 đến 100 cho i = 0 đến 9 gọi KAREKTER_TABLOSU5 PORTB = DOT porta = i + 26 thấp enable_74154 pauseus 100 cao enable_74154 tiếp theo tôi tiếp theo z cho z = 1 đến 100 cho i = 0 đến 9 gọi KAREKTER_TABLOSU6 PORTB = DOT porta = i + 26 thấp enable_74154 pauseus 100 cao enable_74154 tiếp theo tôi tiếp theo z cho z = 1 đến 100 cho i = 0 đến 9 gọi KAREKTER_TABLOSU7 PORTB = DOT porta = i + 26 thấp enable_74154 pauseus 100 cao enable_74154 tiếp theo tôi tiếp theo z cho z = 1 đến 100 cho i = 0 đến 9 gọi KAREKTER_TABLOSU8 PORTB = DOT porta = i + 26 thấp enable_74154 pauseus 100 cao enable_74154 tiếp theo tôi tiếp theo z cho z = 1 đến 100 cho i = 0 đến 9 gọi KAREKTER_TABLOSU9 PORTB = DOT porta = i + 26 thấp enable_74154 pauseus 100 cao enable_74154 tiếp theo tôi tiếp theo z GOTO UP KAREKTER_TABLO của: '0 chọn trường hợp tôi trường hợp 0 DOT = 0 trường hợp 1 DOT = $ 3 trường hợp 2 DOT = $ 41 trường hợp 3 DOT = $ 41 trường hợp 4 DOT = $ 41 trường hợp 5 DOT = $ 3 trường hợp 6 DOT = 0 kết thúc chọn trả lại '1 KAREKTER_TABLOSU1: chọn trường hợp tôi trường hợp 0 DOT = $ 10 trường hợp 1 DOT = $ 20 trường hợp 2 DOT = $ 7F trường hợp 3 DOT = $ 00 trường hợp 4 DOT = $ 00 trường hợp 5 DOT = $ 00 trường hợp 6 DOT = 0 kết thúc chọn RETURN '2 KAREKTER_TABLOSU2: chọn trường hợp tôi trường hợp 0 DOT = $ 27 trường hợp 1 DOT = $ 49 trường hợp 2 DOT = $ 49 trường hợp 3 DOT = $ 49 trường hợp 4 DOT = $ 31 trường hợp 5 DOT = $ 00 trường hợp 6 DOT = 0 kết thúc chọn trả lại '3 KAREKTER_TABLOSU3: chọn trường hợp tôi trường hợp 0 DOT = $ 22 trường hợp 1 DOT = $ 41 trường hợp 2 DOT = $ 49 trường hợp 3 DOT = $ 49 trường hợp 4 DOT = $ 36 trường hợp 5 DOT = $ 00 trường hợp 6 DOT = 0 kết thúc chọn trả lại '4 KAREKTER_TABLOSU4: chọn trường hợp tôi trường hợp 0 DOT = $ 0C trường hợp 1 DOT = $ 14 trường hợp 2 DOT = $ 24 trường hợp 3 DOT = $ 7F trường hợp 4 DOT = $ 04 trường hợp 5 DOT = $ 00 trường hợp 6 DOT = 0 kết thúc chọn trả lại '5 KAREKTER_TABLOSU5: chọn trường hợp tôi trường hợp 0 DOT = $ 7 trường hợp 1 DOT = $ 49 trường hợp 2 DOT = $ 49 trường hợp 3 DOT = $ 49 trường hợp 4 DOT = $ 46 trường hợp 5 DOT = $ 00 trường hợp 6 DOT = 0 kết thúc chọn trả lại '6 KAREKTER_TABLOSU6: chọn trường hợp tôi trường hợp 0 DOT = $ 3 trường hợp 1 DOT = $ 49 trường hợp 2 DOT = $ 49 trường hợp 3 DOT = $ 49 trường hợp 4 DOT = $ 26 trường hợp 5 DOT = $ 00 trường hợp 6 DOT = 0 kết thúc chọn trả lại '7 KAREKTER_TABLOSU7: chọn trường hợp tôi trường hợp 0 DOT = $ 40 trường hợp 1 DOT = $ 47 trường hợp 2 DOT = $ 48 trường hợp 3 DOT = $ 50 trường hợp 4 DOT = $ 60 trường hợp 5 DOT = $ 00 trường hợp 6 DOT = 0 kết thúc chọn trả lại '8 KAREKTER_TABLOSU8: chọn trường hợp tôi trường hợp 0 DOT = $ 36 trường hợp 1 DOT = $ 49 trường hợp 2 DOT = $ 49 trường hợp 3 DOT = $ 49 trường hợp 4 DOT = $ 36 trường hợp 5 DOT = $ 00 trường hợp 6 DOT = 0 kết thúc chọn trả lại '9 KAREKTER_TABLOSU9: chọn trường hợp tôi trường hợp 0 DOT = $ 32 trường hợp 1 DOT = $ 49 trường hợp 2 DOT = $ 49 trường hợp 3 DOT = $ 49 trường hợp 4 DOT = $ 3 trường hợp 5 DOT = $ 00 trường hợp 6 DOT = 0 kết thúc chọn trả lại
CÁC ỨNG DỤNG MẪU VỚI TÀI NGUYÊN CHUYÊN NGHIỆP CƠ BẢN CỦA PIC
BỘ GHÉP KÊNH ĐẦU VÀO VÀ ĐẦU RA
74HC595 đầu ra phép nhân
'****************************************** '* Tên: 74HC595.BAS * '* Tác giả: [AYKUT YILMAZ] * '* Thông báo: Bản quyền (c) 2007 [kết thúc. kỹ thuật viên điện tử] * '*: Tất cả các quyền * '* Ngày: 13.03.2007 * '* Phiên bản: 1.0 * '* Ghi chú: * '*: * '*************************************** ***** GIỚI THIỆU VÀ ĐẦU RA ***** TRISA = 25 'ĐẦY ĐỦ ĐẦY ĐỦ TRISB = 0 'KHẢ NĂNG HOÀN THÀNH PORT = 0 PORTB = 0 '***** 74HC595 ĐỊNH NGH OFA TRÁCH NHIỆM ***** SYMBOL CLK = PORTA.0 SYMBOL DTA = PORTA.1 Chuyển giao SYMBOL = PORTA.3 THÔNG TIN WORD PORT = 0 INFO = 1 BASLER để: NẾU THÔNG TIN = 256 THEN THÔNG TIN = 1 SHIFTOUT DTA, CLK, 1, [INFO] HOẠT ĐỘNG CAO PAUSE 5 KẾT NỐI THẤP INFO = INFO * 2 PAUSE 500 GOTO BREAK END 'KHÔNG SHIFTOUT DTA, CLK, 0, [INFO] Khi MOD NO NUMBER 0 LÀ LOWERING LOWERING '1 LÀM THẾ NÀO NÀO CÓ CẤP CAO NHẤT
Đầu ra song song 8 bit đồng bộ tích hợp này là đầu vào nối tiếp với tổng số 5 đường điều khiển, nhưng có thể được điều khiển với tối đa 2 dòng cho mục đích sử dụng của nó
. Các dòng điều khiển là SER, SCK, RCK, G, SCRL như sau.
Cách những dòng này ảnh hưởng đến tích hợp được giải thích dưới đây.
SER: Pin này là đầu vào dữ liệu để thu thập dữ liệu nối tiếp.
SCK: Đây
là đầu vào đồng hồ để tải thông tin trên dòng dữ liệu pin này vào phao lật loại tích hợp D được gọi là bộ đệm .
là đầu vào đồng hồ để tải thông tin trên dòng dữ liệu pin này vào phao lật loại tích hợp D được gọi là bộ đệm .
RCK: Loại lật nổi chúng tôi đã chỉ định vì bộ đệm pin này là đầu vào đồng hồ cho phép tải loại tiếp theo của loại flip floplar lên đầu ra
G: Pin này là đầu vào điều khiển đầu ra TRI-STATE. Nếu bạn đưa ra logic thông 0 này, thông tin được gửi sẽ xuất hiện trong đầu ra. Nếu bạn đưa ra logic 1, thông tin được gửi sẽ không xuất hiện khi thoát.
SCRL: pin này được thiết lập lại, pin này để pin mà sẽ được tích hợp vào lúc này vì vậy chúng tôi quản lý trong thiết lập lại logic 0 (ví dụ: đệm đệm) và tất cả các dữ liệu có sẵn tại đầu ra sẽ bị xóa. Pin này phải được tổ chức tại logic 1, nếu không nó không thể được chuyển giao cho dữ liệu không thể được nạp.
Nghiên cứu: những điều trên đã được giải thích tuần tự. Nhưng hãy đặt nó lại với nhau ngay bây giờ. Hãy gửi dữ liệu 8 bit 0000 0001 tới 74HC595 và hiển thị nó ở lối ra. SCRL = 1 được đưa 0-1 E được tích hợp nội dung 0, SER = 1 được thực hiện, SCK = 0 đến 1-0 A được đưa đến đó bây giờ đệm trong 0000. 0001 dữ liệu là bit khác 0 của chỉ phải gửi một bit cho 0000 của chúng tôi 0001 nó đủ để lấy dữ liệu, sau đó RCK = 0 đến 1-0, do đó dữ liệu được chuyển đến tầng lật đầu ra. Cuối cùng, G = 1 den được đặt thành 0 và dữ liệu được hiển thị trên đầu ra. Mặc dù tích hợp này là chế độ hoạt động chính, nhưng nó cũng có thể được điều khiển với ít chuyển động hơn.
Ví dụ: thiết lập lại logic 1 được kéo lại, ví dụ: G P Q Một logic 0 được kéo và thả vào số dòng đồng hồ thứ hai cùng với pin kiểm soát nếu mong muốn có thể được giảm đến một tổng của 2 sự nghiệp pint dòng khác. Tuy nhiên, chúng tôi đã không giảm 2 trong thử nghiệm này bởi vì chúng tôi nghĩ rằng nó đã đủ để thả 3 dòng.
Thông tin lệnh SHIFTOUT
DEMONSTRATION : SHIFTOUT, DATAPINE, CLOCKPINI, MOD, [VARIABLE {\ INTERNAL} ...]
Nó gửi dữ liệu từ chốt dữ liệu trong chuỗi bằng cách trượt dữ liệu trong biến để đồng bộ hóa với tín hiệu đồng hồ của Clockpin.
{\ COMPUTER} được sử dụng theo yêu cầu và cuộn số bit được dịch chuyển 8 bit, bất kể loại biến.
Tên MOD (ví dụ, LSBFIRST hoặc MSBFIRST) được định nghĩa trong tệp "modedefs.bas"
BAO GỒM "MODEDEFS.BAS" là bắt buộc.
Nếu số chế độ được ghi trực tiếp, không cần phải viết lệnh trong dòng trên cho mỗi chương trình.
SHIFTOUT CHẾ ĐỘ KIẾM COMMAND
MOD MODE NUM. HOẠT ĐỘNG
LSBFIRST 0 MOST LOWER BITS FIRST
LSBFIRST 0 MOST LOWER BITS FIRST
MSBFIRST 1 LỚN LỚN LỚN NHƯ ĐẦU TIÊN
Sao chép đầu ra 74LS164
'**************************************** '* Tên: 74164.BAS * '* Tác giả: [AYKUT YILMAZ] * '* Thông báo: Bản quyền (c) 2007 [kết thúc. kỹ thuật viên điện tử] * '*: Tất cả các quyền * '* Ngày: 12.03.2007 * '* Phiên bản: 1.0 * '* Ghi chú: * '*: * '*************************************** BAO GỒM "MODEDEFS.BAS" BAO GỒM MÔ HÌNH SHIFTOUT TRISA = 0 'ĐẦU RA HOÀN THÀNH PORTA TRISB = 0 'ĐẦU RA HOÀN THÀNH PORTB '71LS164 ĐỊNH NGH DA ĐỊNH NGH DA CLEARR VAR PORTA.0 'R CLE RÀNG CLOCK VAR PORTA.2 'ĐỒNG HỒ DỮ LIỆU GIRIS PORTA.3 'DỮ LIỆU VERI1 YES BYTE VERI2 VAR BYTE CLOCK = 1 'CLEAR UCUNA 1 GỬI THÔNG TIN Data1 =% 00.001.111 Data2 =% 11110000 BASLER để: TEST1: shiftout INPUT, CLOCK, MSBFIRST, [data1] 'Đồng hồ (đồng hồ) tại Clck' chuyển sang dữ liệu 8 bit 'DataIn' trong 'data1' dưới dạng 'đồng bộ hóa với tín hiệu'. PAUSE 500 test2: shiftout INPUT, CLOCK, MSBFIRST, [data2] 'Đồng hồ (đồng hồ) tại Clck' chuyển sang dữ liệu 8 bit 'DataIn' trong 'data1' dưới dạng 'đồng bộ hóa với tín hiệu'. PAUSE 500 GOTO BREAK END
CÁC ỨNG DỤNG MẪU VỚI TÀI NGUYÊN CHUYÊN NGHIỆP CƠ BẢN CỦA PIC
DỰ ÁN ÁNH SÁNG CƠ BẢN PIC (DẪN ĐẦU)
Nhựa đường khóc (pic16f84, dẫn đầu
'***************************************** '* Tên: ASFALT.BAS * '* Tác giả: [AYKUT YILMAZ] * '* Thông báo: Bản quyền (c) 2007 [kết thúc. kỹ thuật viên điện tử] * '*: Tất cả các quyền * '* Ngày: 14.03.2007 * '* Phiên bản: 1.0 * '* Ghi chú: * '*: * '***************************************** TRISB = 0 PORTB = 0 BASLER để: PORTB =% 00000011 PAUSE 150 PORTB =% 00001100 PAUSE 150 PORTB =% 00110000 PAUSE 150 PORTB =% 11000000 PAUSE 150 PORTB =% 00110000 PAUSE 150 PORTB =% 00001100 PAUSE 150 PORTB =% 00000011 PAUSE 150 GOTO BREAK END
Nút điều khiển (pic16f84): 2 giây sau khi nút ghi được nhấn, 2 giây sau khi nút ghi được nhấn,
'**************************************** '* Tên: BUTON.BAS * '* Tác giả: [AYKUT YILMAZ] * '* Thông báo: Bản quyền (c) 2007 [kết thúc. kỹ thuật viên điện tử] * '*: Tất cả các quyền * '* Ngày: 18.03.2007 * '* Phiên bản: 1.0 * '* Ghi chú: XÓA LED THỜI GIAN CỤ THỂ TRÊN NÚT * '*: * '************************************** Tris A = 255 TRISB = 0 PORTB = 0 PORT = 0 BASLER để: NẾU PORTA.0 = 0 THEN 'PORTA.0 = 0 NẾU DÒNG LOWER PAUSE 2000 '2 ST WAITING PORTB.0 CAO PORTB.0 'CÓ THỂ GIỮ LED ENDIF 'END OF IF CHẾ BIẾN NẾU PORTA.3 = 0 THEN PAUSE 2000 LOW PORTB.0 ENDIF GOTO BASILE 'QUY TRÌNH NÀY TIẾP TỤC LIÊN KẾT END
Flasher (pic16f84)
'****************************************** '* Tên: flas.BAS * '* Tác giả: [AYKUT YILMAZ] * '* Thông báo: Bản quyền (c) 2007 [kết thúc. kỹ thuật viên điện tử] * '*: Tất cả các quyền * '* Ngày: 26.03.2007 * '* Phiên bản: 1.0 * '* Ghi chú: * '*: * '****************************************** TRISB = 0 PORTB = 0 BASLER để: HIGH PORTB.0 PAUSE 100 LOW PORTB.0 PAUSE 50 GOTO BREAK END
Flip flop (pic16f86
'***************************************** '* Tên: FF.BAS * '* Tác giả: [AYKUT YILMAZ] * '* Thông báo: Bản quyền (c) 2007 [kết thúc. kỹ thuật viên điện tử] * '*: Tất cả các quyền * '* Ngày: 14.03.2007 * '* Phiên bản: 1.0 * '* Ghi chú: * '*: * '***************************************** TRISB = 0 PORTB = 0 BASLER để: PORTB =% 00000001 PAUSE 2000 PORTB = $ 00 PAUSE 500 PORTB =% 10000000 PAUSE 2000 PORTB = $ 00 PAUSE 500 GOTO BREAK END
Đèn giao thông (pic16f84)
'***************************************** '* Tên: lưu lượng truy cập.BAS * '* Tác giả: [AYKUT YILMAZ] * '* Thông báo: Bản quyền (c) 2007 [kết thúc. kỹ thuật viên điện tử] * '*: Tất cả các quyền * '* Ngày: 18.03.2007 * '* Phiên bản: 1.0 * '* Ghi chú: QUYỀN TRAFFIC * '*: * '***************************************** TRISB = 0 PORTB = 0 BASLER để: HIGH PORTB.0 PAUSE 5000 LOW PORTB.0 PAUSE 500 HIGH PORTB.3 PAUSE 1000 LOW PORTB.3 PAUSE 500 CAO PORTB.6 PAUSE 5000 LOW PORTB.6 PAUSE 500 GOTO BREAK END
Hiệu ứng ánh sáng nổi XP (pic16f84)
'***************************************** '* Tên: xp.BAS * '* Tác giả: [AYKUT YILMAZ] * '* Thông báo: Bản quyền (c) 2007 [kết thúc. kỹ thuật viên điện tử] * '*: Tất cả các quyền * '* Ngày: 14.03.2007 * '* Phiên bản: 1.0 * '* Ghi chú: * '*: * '***************************************** TRISB = 0 PORTB = 0 BASLER để: PORTB =% 00000111 PAUSE 100 PORTB =% 00001110 PAUSE 100 PORTB =% 00011100 PAUSE 100 PORTB =% 00111000 PAUSE 100 PORTB =% 01110000 PAUSE 100 PORTB =% 11100000 PAUSE 100 PORTB =% 00000000 PAUSE 100 GOTO BREAK END
CÁC ỨNG DỤNG MẪU VỚI TÀI NGUYÊN CHUYÊN NGHIỆP CƠ BẢN CỦA PIC
DỰ ÁN LCD PICBASIC
LCD SỬ DỤNG VỚI PICBASIC
Trong bài viết này, chúng ta sẽ biết LCD (Liquid Crystal Display) và chúng tôi sẽ củng cố kiến thức của mình với các ứng dụng phong phú.
LCD: Màn hình LCD tinh thể lỏng (LCD) lần đầu tiên được sử dụng vào năm 1960 và là hệ thống công nghệ cao ngày nay. Màn hình LCD được sử dụng trong điện thoại di động,
máy tính và TV.
máy tính và TV.
LCD biến thể: Có hai màn hình LCD, một trong số đó là bình thường, một trong số đó là màu xanh lá cây, và khác là Grapic Liquid Crystal Display (GLCD), được sử dụng cho màn hình màu điện thoại di động.
LCD (Liquid Crystal Display) tổng quan
Tổng quan về màn hình tinh thể lỏng (GLCD)
Các màn hình LCD được bán trên thị trường là 1 × 8, 2 × 8, 2 × 16, 4 × 16, 4 × 20, 4 × 24 và số cuối cùng là số ký tự. Màn hình LCD 2 × 16 bao gồm 2 dòng và 16 ký tự.
Hình ảnh chung của màn hình LCD 2 × 16 trong chương trình điện tử Proteus
Xác định PIN LCD
1- VSS, đất sét (đất) VSS Logic, logic trệt
2 VCC của 5 volt, VCC Logic, logic điện
vbias 3 VLC Bias, Contrast (độ tương phản)
4 RS, Đăng ký Chọn
5 R / W đọc / Viết (Reading hoặc Viết Mode)
6 M, Enable, Strobe
7-14 D0-D7 (đầu vào DỮ LIỆU)
15 Led +, một, Backlight +, Backlight Anode (ısıgı LCD Panel (+5 volt))
16- LED -, K, Đèn nền-, Đèn nền Cathode (Mặt đất)
15 và 16 chân bị thiếu trong một số màn hình. Những lời khuyên này được sử dụng để chiếu sáng bảng điều khiển.
2 VCC của 5 volt, VCC Logic, logic điện
vbias 3 VLC Bias, Contrast (độ tương phản)
4 RS, Đăng ký Chọn
5 R / W đọc / Viết (Reading hoặc Viết Mode)
6 M, Enable, Strobe
7-14 D0-D7 (đầu vào DỮ LIỆU)
15 Led +, một, Backlight +, Backlight Anode (ısıgı LCD Panel (+5 volt))
16- LED -, K, Đèn nền-, Đèn nền Cathode (Mặt đất)
15 và 16 chân bị thiếu trong một số màn hình. Những lời khuyên này được sử dụng để chiếu sáng bảng điều khiển.
Màn hình LCD 2 x 16 trở lại
Hãy nhận ra các lệnh LCD được sử dụng trong PICBASIC;
$ FE, 1 Xóa màn hình.
$ FE, 2 trở Châm biếm báo chí.
$ FE, $ 0C phá hủy hình ảnh con trỏ
$ FE, $ 0, con trỏ ở phía dưới hình thức dòng
$ FE, $ 0F con trỏ nhấp nháy / Suffix làm
$ FE, $ 10 con trỏ một vị trí mang lại trái
$ FE, $ 14 con trỏ một vị trí mang lại quyền
$ FE, $ C0 con trỏ vào đầu dòng thứ hai
$ FE, $ 94 con trỏ vào đầu dòng thứ ba
$ FE, $ D4 con trỏ vào đầu dòng thứ tư
$ FE, 2 trở Châm biếm báo chí.
$ FE, $ 0C phá hủy hình ảnh con trỏ
$ FE, $ 0, con trỏ ở phía dưới hình thức dòng
$ FE, $ 0F con trỏ nhấp nháy / Suffix làm
$ FE, $ 10 con trỏ một vị trí mang lại trái
$ FE, $ 14 con trỏ một vị trí mang lại quyền
$ FE, $ C0 con trỏ vào đầu dòng thứ hai
$ FE, $ 94 con trỏ vào đầu dòng thứ ba
$ FE, $ D4 con trỏ vào đầu dòng thứ tư
Lệnh được sử dụng để gửi dữ liệu đến màn hình LCD trong PICBASIC; Đó là lệnh của LCDOUT
LCD_DEFINE DEFINITIONS được sử dụng trong PICBASIC;
DEFINE LCD_DREG PORTB 'Chân DỮ LIỆU LCD PORTB'Y phụ thuộc vào
DEFINE LCD_DBIT Bốn bit dữ liệu LCD mà bit bắt đầu
DEFINE LCD_EREG PORTB ' LCD ENABLE chân được kết nối với cảng
DEFINE LCD_EBIT ba LCD ENABLE BIT được kết nối với cảng
DEFINE LCD_RWREG PORTB 'LCD RW LEG được kết nối với cảng
DEFINE LCD_RWBIT thứ hai LCD chân RW mà CẮN kết nối
DEFINE LCD_RSREG PORTB 'LCD RS chân được kết nối với cảng
DEFINE LCD_RSBIT đầu tiên chân LCD RS mà CẮN kết nối
DEFINE LCD_BITS bốn LCD 4 bit trên
DEFINE thứ hai LCD_LINES LCD KAC THƯỜNG xảy ra
DEFINE LCD_DBIT Bốn bit dữ liệu LCD mà bit bắt đầu
DEFINE LCD_EREG PORTB ' LCD ENABLE chân được kết nối với cảng
DEFINE LCD_EBIT ba LCD ENABLE BIT được kết nối với cảng
DEFINE LCD_RWREG PORTB 'LCD RW LEG được kết nối với cảng
DEFINE LCD_RWBIT thứ hai LCD chân RW mà CẮN kết nối
DEFINE LCD_RSREG PORTB 'LCD RS chân được kết nối với cảng
DEFINE LCD_RSBIT đầu tiên chân LCD RS mà CẮN kết nối
DEFINE LCD_BITS bốn LCD 4 bit trên
DEFINE thứ hai LCD_LINES LCD KAC THƯỜNG xảy ra
AN LƯU Ý QUAN TRỌNG:
DEFINE LCD_RWREG PORTB 'LCD RW CHÂN MÀ PORT kết nối với
DEFINE LCD_RWBIT của 2 LCD RW CHÂN MÀ CẮN kết nối
DEFINE LCD_RWREG PORTB 'LCD RW CHÂN MÀ PORT kết nối với
DEFINE LCD_RWBIT của 2 LCD RW CHÂN MÀ CẮN kết nối
mã sau phải được thêm vào chương trình khi sử dụng lệnh xóa sắp tới.
LOW PORTB.2 RW VỆ SINH VỆ SINH ĐỂ CUNG CẤP THÀNH PHỐ THẤP
AN LƯU Ý QUAN TRỌNG:
Một giải pháp khác khi chúng tôi kết nối các lệnh kullanmayıp RW pin nằm trực tiếp trên chương trình lớp đất sẽ làm việc theo hai cách chúng ta giải quyết vấn đề.
Một giải pháp khác khi chúng tôi kết nối các lệnh kullanmayıp RW pin nằm trực tiếp trên chương trình lớp đất sẽ làm việc theo hai cách chúng ta giải quyết vấn đề.
LƯU Ý QUAN TRỌNG:
Sau khi xác định LCD_DEFINE, cần viết lệnh tạm dừng 500 vì lệnh này mất thời gian
Sau khi xác định LCD_DEFINE, cần viết lệnh tạm dừng 500 vì lệnh này mất thời gian
Application1; Trong ứng dụng này, trước tiên hãy viết văn bản cố định trên màn hình LCD
In văn bản LCD bằng phím điều khiển
'*************************************** '* Tên: project6.BAS * '* Tác giả: [AYKUT YILMAZ] * '* Thông báo: Bản quyền (c) 2007 [kết thúc. kỹ thuật viên điện tử] * '*: Tất cả các quyền * '* Ngày: 17.01.2007 * '* Phiên bản: 1.0 * * Ghi chú: sử dụng LCD * '*: * '*************************************** 'DỄ DÀNG MỌI NGƯỜI DEFINE LCD_DREG PORTB 'BẢNG DỮ LIỆU LCD PORTB TYPE DEFINE LCD_DBIT 4 'DỮ LIỆU DỮ LIỆU LCD MÀN HÌNH BÌNH CẢNH BÁO DEFINE LCD_EREG PORTB 'MÀN HÌNH CẢM BIẾN NỔI BẬT LCD PORTA BAGLI DEFINE LCD_EBIT 3 'MÀN HÌNH LCD CHỨC NĂNG GHẾ BÀN GHẾ DEFINE LCD_RSREG PORTB 'LẮP ĐẶT LCD RS PORTA BAGLI DEFINE LCD_RSBIT 2 'MÀN HÌNH BAGGED BẢNG LCD RS DEFINE LCD_BITS 4 'LCD 4 BIT KẾT NỐI DEFINE LCD_LINES 2 'CAC LCD CÓ S AVN CÓ TRISA =% 01001 'TRISA INPUT TRISB = 0 PAUSE 200 '200 ms CHỜ LCDOUT $ FE, 1 'TÌM HIỂU MÀN HÌNH LCD NỘI DUNG SYMBOL ANAHTAR_A = PORTA.0 SYMBOL ANAHTAR_B = PORTA.3 LCDOUT $ FE, $ 1, "* CHUYỂN ĐỔI CONTOUR. *" LCDOUT $ FE, $ C0, "BỘ LỌC LCD" PAUSE 2000 BASLER để: NẾU ANAHTAR_A = 0 THÌ LCDOUT $ FE, 1, "WWW.PICPROJE.COM" ELSA LCDOUT $ FE, 1, "PORTA.0 ANAH.BAS" ENDIF PAUSE 500 NẾU MAINTAIN_B = 0 THÌ MÀN HÌNH LCD $ FE, $ C1, "DỄ DÀNG DỄ DÀNG" PAUSE 500 GOTO BREAK END
Mạch ghi LCD được kiểm soát bằng nút
'****************************************** '* Tên: project6.BAS * '* Tác giả: [AYKUT YILMAZ] * '* Thông báo: Bản quyền (c) 2007 [kết thúc. kỹ thuật viên điện tử] * '*: Tất cả các quyền * '* Ngày: 17.01.2007 * '* Phiên bản: 1.0 * * Ghi chú: sử dụng LCD * '*: * '***************************************** 'DỄ DÀNG MỌI NGƯỜI DEFINE LCD_DREG PORTB 'BẢNG DỮ LIỆU LCD PORTB TYPE DEFINE LCD_DBIT 4 'LCD DATA BITLERI HANGİ BITTEN BASLIYOR DEFINE LCD_EREG PORTB 'LCD ENABLE BACAGI HANGI PORTA BAGLI DEFINE LCD_EBIT 3 'LCD ENABLE BITI HANGI PORTA BAGLI DEFINE LCD_RSREG PORTB 'LCD RS BACAGI HANGI PORTA BAGLI DEFINE LCD_RSBIT 2 'LCD RS BACAGI HANGI BITE BAGLI DEFINE LCD_BITS 4 'LCD 4 BIT BAGLI DEFINE LCD_LINES 2 'LCD KAC SIRADAN OLUSUYOR TRISA=%11001 'TRISA GİRİŞ TRISB=0 PAUSE 200 '200 ms BEKLEME YAP LCDOUT $FE,1 'LCD İÇERİĞİNİ TEMİZLE SYMBOL BUTON_A=PORTA.0 SYMBOL BUTON_B=PORTA.3 SYMBOL BUTON_C=PORTA.4 LCDOUT $FE,$2,"BUTON KONTROLLU" LCDOUT $FE,$C0,"LCD YAZI DEVRESI" PAUSE 2000 LCDOUT $FE,1 BASLA: IF BUTON_A=0 THEN LCDOUT $FE,$1,"WWW.PICPROJE.COM" ENDIF IF BUTON_B=0 THEN LCDOUT $ FE, $ C0, "PBP OGRENIYORUM" ENDIF NẾU BUTON_C = 0 THÌ MÀN HÌNH LCD $ FE, $ 1, "NHỮNG GÌ XẢY RA" GOTO BREAK END
Ứng dụng LCD đồ họa prp Picbasic (glcd)
lcd.bas
BAO GỒM "PROTON_G4.INT" 'Sử dụng 4 MHz XTAL BASLER để: IN AT 0, 2, "MERHABA AIBU DMYO" 'Hiển thị văn bản độ trễ 100 IN AT 1, 0, "END.ELECTRONIC BOLUMU" 'Hiển thị văn bản độ trễ 100 IN AT 2, 3, "PIC PROTON GLCD" 'Hiển thị văn bản độ trễ 100 IN AT 3, 5, "APPLICATION" 'Hiển thị văn bản độ trễ 100 IN AT 4, 3, "MỌI NGƯỜI MỌI" "Hiển thị văn bản độ trễ 100 IN AT 5, 0, "TECHNICAL ELEKTRONIKCI" 'Hiển thị văn bản độ trễ 100 IN AT 6, 3, "AYKUT YILMAZ" 'Hiển thị văn bản độ trễ 100 IN AT 7, 1, "EVERYTHING" "Hiển thị văn bản độ trễ 5000 CLS GOTO BREAK END BAO GỒM "FONT.INC" 'Thêm phông chữ của màn hình LCD
LCD.PBP
NOLIST #include LCD.FIL ; [Danh sách biến] ; [Danh sách kết thúc] NOLIST ; ***************************************** ; * Mã được tạo bởi * ; * PROTON + Trình biên dịch. Phiên bản 2.2.0 Beta 8 * ; * Bản quyền Rosetta Technologies / Crownhill Associates * ; * Được viết bởi Les Johnson. 2004 * ; ****************************************** DANH SÁCH DANH SÁCH P = 16F877, f = INHX8M, w = 2, x = trên, r = DEC, mm = ON, n = 0, c = 255 #include "d: \ tệp chương trình \ crownhill proton \ crownhill \ INC \ P16F877.lpb" XTAL = 4 _CORE = 14 _MAXRAM = 368 _RAM_END = 495 _MAXMEM = 8192 _ADC = 8 _ADC_RES = 10 _EEPROM = 256 _PAGES = 4 _BANKS = 3 RAM_BANKS = 4 _USART = 1 _USB = 0 _FLASH = 1 BANK0_START = 32 BANK0_END = 127 BANK1_START = 160 BANK1_END = 239 BANK2_START = 272 BANK2_END = 367 BANK3_START = 400 BANK3_END = 495 _SYSTEM_VARIABLE_COUNT = 21 ram_bank = 0 f @ call macro dest if (dest <1 font="">1> if ((dest & amp; 2048) == 0) bcf 10,3 khác bsf 10,3 endif if ((dest & amp; 4096) == 0) bcf 10,4 khác bsf 10,4 endif khác if (dest> $) if ((dest & amp; 2048) == 0) bcf 10,3 khác bsf 10,3 endif if ((dest & amp; 4096) == 0) bcf 10,4 khác bsf 10,4 endif khác if ((dest & 6144) == 0) clrf 10 khác if ((dest & amp; 2048) == 0) bcf 10,3 khác bsf 10,3 endif if ((dest & amp; 4096) == 0) bcf 10,4 khác bsf 10,4 endif endif endif endif cuộc gọi endm f @ jump macro dest if (dest <1 font="">1> if ((dest & amp; 2048) == 0) bcf 10,3 khác bsf 10,3 endif if ((dest & amp; 4096) == 0) bcf 10,4 khác bsf 10,4 endif khác if (dest> $) if ((dest & amp; 2048) == 0) bcf 10,3 khác bsf 10,3 endif if ((dest & amp; 4096) == 0) bcf 10,4 khác bsf 10,4 endif khác if ((dest & 6144) == 0) clrf 10 khác if ((dest & amp; 2048) == 0) bcf 10,3 khác bsf 10,3 endif if ((dest & amp; 4096) == 0) bcf 10,4 khác bsf 10,4 endif endif endif endif goto dest endm đặt @ trang macro dest if ((dest & amp; 2048) == 0) bcf 10,3 khác bsf 10,3 endif if ((dest & amp; 4096) == 0) bcf 10,4 khác bsf 10,4 endif endm s @ b macro varin if ((varin & 384) == 0) if (ram_bank == 1) bcf 3,5 endif if (ram_bank == 2) bcf 3.6 endif if (ram_bank == 3) bcf 3,5 bcf 3.6 endif ram_bank = 0 endif if ((varin & 384) == 128) if (ram_bank == 0) bsf 3,5 endif if (ram_bank == 2) bsf 3,5 bcf 3.6 endif if (ram_bank == 3) bcf 3.6 endif ram_bank = 1 endif if ((varin & 384) == 256) if (ram_bank == 0) bsf 3.6 endif if (ram_bank == 1) bcf 3,5 bsf 3.6 endif if (ram_bank == 3) bcf 3,5 endif ram_bank = 2 endif if ((varin & 384) == 384) if (ram_bank == 0) bsf 3,5 bsf 3.6 endif if (ram_bank == 1) bsf 3.6 endif if (ram_bank == 2) bsf 3,5 endif ram_bank = 3 endif endm r @ b vĩ mô if ((ram_bank & 1)! = 0) bcf 3,5 endif if ((ram_bank & 2)! = 0) bcf 3.6 endif ram_bank = 0 endm #include d: \ tệp chương trình \ crownhill proton \ crownhill \ INC \ REG_LD14.INC BPF = 32 BPFH = 33 GEN = 34 GEN3 = 35 GEN3H = 36 GPR = 37 PP0 = 38 PPOH = 39 PP1 = 40 PP1H = 41 PP2 = 42 PP2H = 43 PP3 = 44 PP3H = 45 PP4 = 46 PP5 = 47 PP5H = 48 PP6 = 49 PP6H = 50 PP7H = 51 _GLCD_XPOS = 52 T300 = 3313 T300H = 12 N300 = 19697 N300H = 76 T600 = 1646 T600H = 6 N600 = 18030 N600H = 70 T1200 = 813 T1200H = 3 N1200 = 17197 N1200H = 67 T2400 = 400 T2400H = 1 N2400 = 16780 N2400H = 65 T4800 = 188 N4800 = 16572 N4800H = 64 T9600 = 84 N9600 = 16468 N9600H = 64 OT2400 = 33164 OT2400H = 160 OT1200 = 33581 OT1200H = 160 OT9600 = 32852 OT9600H = 160 OT300 = 36081 OT300H = 160 ON2400 = 49548 ON2400H = 193 ON1200 = 49965 ON1200H = 195 ON9600 = 49236 ON9600H = 192 ON300 = 52465 ON300H = 204 HOME = 1 BELL = 7 BKSP = 8 TAB = 9 CR = 13 org 0 nope movlw high Start @ movwf 10 goto Bắt đầu @ tổ 4 GLCD @ cls bcf 32,1 thiết lập cuộc gọi @ lcd bcf PORTE, 1 bcf PORTE, 2 movlw B'00111110 ' trạng thái đọc cuộc gọi @ gọi tg @ l clrf 49 gld @ 11 bcf PORTC, 1 movfw 49 iorlw B'10111000 ' trạng thái đọc cuộc gọi @ gọi tg @ l clrf 50 glcd @ l2 bcf PORTC, 1 movfw 50 iorlw B'01000000 ' trạng thái đọc cuộc gọi @ gọi tg @ l clrw bcf PORTC, 1 trạng thái đọc cuộc gọi @ bsf PORTC, 1 gọi tg @ l incf 50, f btfss 50,6 goto glcd @ l2 incf 49, f btfss 49,3 goto gld @ l1 bcf PORTC, 1 bcf 32,1 thiết lập cuộc gọi @ lcd goto i @ nt glcd_c là thiết lập cuộc gọi @ lcd movwf _GLCD_XPOS bcf PORTE, 1 goto $ + 1 bcf PORTE, 2 bsf 32,1 movlw B'00111111 ' gọi tg @ l movlw B'10111000 ' iorwf 34, w trạng thái đọc cuộc gọi @ gọi tg @ l movfw _GLCD_XPOS movwf 49 movlw 6 gọi mul @ 8x8 movfw 49 trang kiểm tra cuộc gọi movfw 49 andlw 127 movwf _GLCD_XPOS iorlw B'01000000 ' trạng thái đọc cuộc gọi @ gọi tg @ l goto i @ nt LCD_DTPORT = PORTD LCD_DTPIN = 4 LCD_RSPORT = PORTC LCD_RSPIN = 1 LCD_RWPORT = PORTC LCD_RWPIN = 0 LCD_ENPORT = PORTE LCD_ENPIN = 0 LCD_CS1PORT = PORTE LCD_CS1PIN = 1 LCD_CS2PORT = PORTE LCD_CS2PIN = 2 LCD_TYPE = 1 LCD_CS_INVERTED = 0 in movwf 45 thiết lập cuộc gọi @ lcd movfw _GLCD_XPOS trang kiểm tra cuộc gọi movfw 42 movwf 35 movfw 43 movwf 36 movfw 45 movwf 49 movlw 6 gọi mul @ 8x8 movlw thấp FONT addwf 49, w bsf 3.6 movwf 269 movlw cao FONT skpnc addlw 1 bcf 3.6 addwf 50, w bsf 3.6 movwf 271 bcf 3.6 movlw 6 movwf 49 glcd_l @ 2 bsf 3,5 bsf 3.6 bsf 396, EEPGD bsf 396, RD goto $ + 1 bcf 3,5 movfw 268 incf 269, f skpnz incf 271, f bcf 3.6 movwf 42 gọi lcdwrite decfsz 49, f goto glcd_l @ 2 movfw 35 movwf 42 movfw 36 movwf 43 @ Lcd thực hiện movfw 45 goto i @ nt lcdwrit để movfw 42 bcf PORTC, 1 trạng thái đọc cuộc gọi @ bsf PORTC, 1 bsf PORTE, 0 movwf PORTD bcf PORTE, 0 movlw 125 subwf _GLCD_XPOS, w skpnc goto $ + 3 incf _GLCD_XPOS, f goto $ + 2 clrf _GLCD_XPOS movfw _GLCD_XPOS trang kiểm tra cuộc gọi bcf PORTC, 1 movfw _GLCD_XPOS trạng thái đọc cuộc gọi @ bsf PORTE, 0 movwf PORTD bcf PORTE, 0 trả lại thiết lập @ LCD lệnh CLRWDT btfsc 32,1 goto skp @ gcsin movwf 48 bsf 3,5 bcf PORTE, 0 bcf PORTC, 1 bcf PORTC, 0 bcf PORTE, 1 bcf PORTE, 2 clrf PORTD bcf 3,5 bsf 32,1 bcf PORTE, 0 bcf PORTC, 0 bcf PORTC, 1 clrf _GLCD_XPOS movlw B'10111000 ' trạng thái đọc cuộc gọi @ gọi tg @ l movlw B'01000000 ' trạng thái đọc cuộc gọi @ gọi tg @ l movlw B'11000000 ' trạng thái đọc cuộc gọi @ gọi tg @ l movlw B'00111111 ' trạng thái đọc cuộc gọi @ gọi tg @ l movfw 48 LCPs là gc @ bcf PORTC, 1 trả lại kiểm tra @ Trang movwf 37 btfsc 37,6 goto en @ right bcf PORTE, 1 nope bsf PORTE, 2 trả lại en @ đúng bsf PORTE, 1 nope bcf PORTE, 2 trả lại tg @ l bsf PORTE, 0 movwf PORTD nope bcf PORTE, 0 trả lại đọc @ status bsf PORTC, 0 bsf 3,5 clrf PORTD decex PORTD, f bcf 3,5 clrf 38 r @ slp1 bsf PORTE, 0 nope bcf PORTE, 0 btfss PORTD, 7 goto $ + 3 incfsz 38, f goto r @ slp1 bsf 3,5 clrf PORTD bcf 3,5 clrf PORTD bcf PORTC, 0 trả lại mul @ 8x8 clrf 50 clrf 38 bsf 38,3 rrf 49, f NPY @ LP1 skpnc AddWF 50, f rrf 50, f rrf 49, f decfsz 38, f goto mpy @ lp1 trả lại rsout @ dl @ ms clrf 41 dly @ w movwf 40 movlw 255 AddWF 40, f skpc AddWF 41, f skpc goto i @ nt movlw 3 movwf 39 movlw 223 gọi dlus @ w goto $ - 10 dl @ us clrf 39 dlus @ w addlw 232 movwf 38 comf 39, f movlw 252 skpc goto $ + 4 addwf 38, f skpnc goto $ - 2 addwf 38, f nope incfsz 39, f goto $ - 6 btfsc 38,0 goto $ + 1 btfss 38,1 goto $ + 3 nope goto $ + 1 trả lại i @ nt bcf 3.7 i @ nt2 bcf 3,5 bcf 3.6 nope trả lại Bắt đầu @ clrf 32
LCD hex, thập phân, ứng dụng nhị phân
'***************************************** '* Tên: LCD.BAS * '* Tác giả: [chọn XEM ... TÙY CHỌN EDITOR] * '* Thông báo: Bản quyền (c) 2007 [chọn VIEW ... CÁC GIẢI PHÁP EDITOR] * '*: Tất cả các quyền * '* Ngày: 26.04.2007 * '* Phiên bản: 1.0 * '* Ghi chú: * '*: * '***************************************** '***** MÀN HÌNH LCD ****** DEFINE LCD_DREG PORTB 'BẢNG DỮ LIỆU LCD PORTB TYPE DEFINE LCD_DBIT 4 'DỮ LIỆU DỮ LIỆU LCD MÀN HÌNH BÌNH CẢNH BÁO DEFINE LCD_EREG PORTB 'MÀN HÌNH CẢM BIẾN NỔI BẬT LCD PORTA BAGLI DEFINE LCD_EBIT 3 'MÀN HÌNH LCD CHỨC NĂNG GHẾ BÀN GHẾ DEFINE LIÊN QUAN ĐẾN LCD_RWREG PORTB 'LCD RW PIN PORTB DEFINE LCD_RWBIT 2 'MÀN HÌNH LCD RW PINK PORTB.2 CONNECTED DEFINE LCD_RSREG PORTB 'LẮP ĐẶT LCD RS PORTA BAGLI DEFINE LCD_RSBIT 1 'MÀN HÌNH BAGGED LCD RS BAGGED BAG DEFINE LCD_BITS 4 'LCD 4 BIT KẾT NỐI DEFINE LCD_LINES 4 'CAC LCD ĐƯỢC LUÔN GỌI NUMBER BYTE LOW PORTB.2 PAUSE 500 LCDOUT $ FE, 1 CLEAR BASLER để: LCDOUT $ FE, $ 82, "WWW.PICPROJE.COM" LCDOUT $ FE, $ C3, "NUMBER =", # NUMBER LCDOUT $ FE, $ 97, "BINARY =", BIN NUMBER LCDOUT $ FE, $ D7, "HEX =", SỐ HEX COUNT = count + 1 PAUSE 500 NẾU SỐ <255 b="" font="" th="">255> END
Ứng dụng trượt LCD
'************************************ '* Tên: LCDKAY.BAS * '* Tác giả: [AYKUT YILMAZ] * '* Thông báo: Bản quyền (c) 2007 [kết thúc. kỹ thuật viên điện tử] * '*: Tất cả các quyền * '* Ngày: 17.01.2007 * '* Phiên bản: 1.0 * '* Ghi chú: lcd LOGIC WRITING * '*: * '************************************ '****** MÀN HÌNH LCD ****** DEFINE LCD_DREG PORTB 'BẢNG DỮ LIỆU LCD PORTB TYPE DEFINE LCD_DBIT 4 'DỮ LIỆU DỮ LIỆU LCD MÀN HÌNH BÌNH CẢNH BÁO DEFINE LCD_EREG PORTB 'MÀN HÌNH CẢM BIẾN NỔI BẬT LCD PORTA BAGLI DEFINE LCD_EBIT 3 'MÀN HÌNH LCD CHỨC NĂNG GHẾ BÀN GHẾ DEFINE LCD_RSREG PORTB 'LẮP ĐẶT LCD RS PORTA BAGLI DEFINE LCD_RSBIT 2 'MÀN HÌNH BAGGED BẢNG LCD RS DEFINE LCD_BITS 4 'LCD 4 BIT KẾT NỐI DEFINE LCD_LINES 2 'CAC LCD CÓ S AVN CÓ TRISB = 0 PAUSE 500 '200 ms CHỜ LCDOUT $ FE, $ 80, "PBP SEVEREK" LCDOUT $ FE, $ C3, "OGRENIYORUM" PAUSE 2000 BASLER để: LCDOUT $ FE, $ 1, "WWW.PICPROJE.COM" LCDOUT $ FE, $ CF, "AYKUT YILMAZ" PAUSE 50 LCDOUT $ FE, $ CE, "AYKUT YILMAZ" PAUSE 50 LCDOUT $ FE, $ CD, "AYKUT YILMAZ" PAUSE 50 LCDOUT $ FE, $ CC, "AYKUT YILMAZ" PAUSE 50 LCDOUT $ FE, $ CB, "AYKUT YILMAZ" PAUSE 50 LCDOUT $ FE, $ CA, "AYKUT YILMAZ" PAUSE 50 LCDOUT $ FE, $ C9, "AYKUT YILMAZ" PAUSE 50 LCDOUT $ FE, $ C8, "AYKUT YILMAZ" PAUSE 50 LCDOUT $ FE, $ C7, "AYKUT YILMAZ" PAUSE 50 LCDOUT $ FE, $ C6, "AYKUT YILMAZ" PAUSE 50 LCDOUT $ FE, $ C5, "AYKUT YILMAZ" PAUSE 50 LCDOUT $ FE, $ C4, "AYKUT YILMAZ" PAUSE 50 LCDOUT $ FE, $ C3, "AYKUT YILMAZ" PAUSE 50 LCDOUT $ FE, $ C2, "AYKUT YILMAZ" PAUSE 1500 LCDOUT $ FE, $ C1, "AYKUT YILMAZ" PAUSE 50 LCDOUT $ FE, $ C0, "AYKUT YILMAZ" PAUSE 50 LCDOUT $ FE, $ C0, "YKUT YILMAZ" PAUSE 50 LCDOUT $ FE, $ C0, "KUT YILMAZ" PAUSE 50 LCDOUT $ FE, $ C0, "UT YILMAZ" PAUSE 50 LCDOUT $ FE, $ C0, "T YILMAZ" PAUSE 50 LCDOUT $ FE, $ C0, "YILMAZ" PAUSE 50 LCDOUT $ FE, $ C0, "YILMAZ" PAUSE 50 LCDOUT $ FE, $ C0, "ILMAZ" PAUSE 50 LCDOUT $ FE, $ C0, "LMAZ" PAUSE 50 LCDOUT $ FE, $ C0, "MAZ" PAUSE 50 LCDOUT $ FE, $ C0, "AZ" PAUSE 50 LCDOUT $ FE, $ C0, "Z" PAUSE 50 LCDOUT $ FE, $ C0, "" PAUSE 50 GOTO BREAK END
'********************************************* '* Tên: LCDKAYNYAZI.BAS * '* Tác giả: [AYKUT YILMAZ] * '* Thông báo: Bản quyền (c) 2007 [kết thúc. kỹ thuật viên điện tử] * '*: Tất cả các quyền * '* Ngày: 16.02.2007 * '* Phiên bản: 1.0 * '* Ghi chú: * '*: * '********************************************** TRISB = 0 'ĐẦU RA HOÀN THÀNH PORTB '***** MÀN HÌNH LCD ***** DEFINE LCD_DREG PORTB 'BẢNG DỮ LIỆU LCD BẮT ĐẦU PORTB DEFINE LCD_DBIT 4 'MÀN HÌNH LCD DỮ LIỆU BẮT ĐẦU PORTB.4 BẮT ĐẦU DEFINE LIÊN QUAN ĐẾN LCD_RSREG PORTB 'LCD RS PIN PORTB DEFINE LCD_RSBIT 2 'MÀN HÌNH LCD RS PIN PORTB.2 CONNECTED DEFINE LCD_EREG PORTB 'KẾT NỐI VỚI LCD KIỂM SOÁT PINK PORTB DEFINE LCD_EBIT 3 'LCD KIỂM SOÁT PINK PORTB.3 KẾT NỐI DEFINE LCD_BITS 4 'MÀN HÌNH LCD 4 THÔNG TIN ICT DEFINE LCD_LINES 2 'LCD 2 * 16 Một số byte 'CHARACTER NUMBER C var byte D var byte vòng lặp: cho a = 0 đến 65 'Số ký tự sẽ được thêm vào số thập phân (49 + 16) tạm dừng 200 'Tốc độ trượt của bài viết lcdout $ fe, 1 cho c = 0 đến 49 'Phép trừ số ký tự trong văn bản trượt (50-1) tra cứu c, ["EGEMEN RECEP CALISKAN"], d lcdout $ fe, 143 + ca, d tiếp theo c c = 0 tiếp theo a = 0 goto dongu chấm dứt
Pic cơ bản cộng với văn bản thay đổi trái (lcd, pic16f84)
Lcd_test.bas
THIẾT BỊ 16F84 Khai báo XTAL 4 Khai báo LCD_DTPIN PortB.4 Khai báo LCD_RSPIN PortB.1 Khai báo LCD_ENPIN PortB.0 Khai báo LCD_INTERFACE 4 Khai báo LCD_LINES 2 in $ fe, $ 93 in "A" độ trễ 100 in $ fe, $ 92 in "Tháng" độ trễ 100 in $ fe, $ 91 in "Ayk" độ trễ 100 in $ fe, $ 90 in "Ayku" độ trễ 100 in $ fe, $ 8f in "Aykut" độ trễ 100 in $ fe, $ 8e in "Aykut y" độ trễ 100 in $ fe, $ 8 đô la in "Aykut yi" độ trễ 100 in $ fe, $ 8c in "năm Aykut" độ trễ 100 in $ fe, $ 8b in "Aykut yilm" độ trễ 100 in $ fe, $ 8a in "Aykut yilma" độ trễ 100 in $ fe, $ 89 in "Aykut yilmaz" độ trễ 100 in $ fe, $ 88 in "Aykut yilmaz" độ trễ 100 in $ fe, $ 87 in "Aykut yilmaz" độ trễ 100 in $ fe, $ 86 in "Aykut yilmaz" độ trễ 100 in $ fe, $ 85 in "Aykut yilmaz" độ trễ 100 in $ fe, $ 84 in "Aykut yilmaz" độ trễ 100 in $ fe, $ 83 in "Aykut yilmaz" độ trễ 100 in $ fe, $ 82 in "Aykut yilmaz" độ trễ 1500 in $ fe, $ f in "E" độ trễ 100 in $ fe, $ ce in "En" độ trễ 100 in $ fe, $ cd in "Kết thúc" độ trễ 100 in $ fe, $ cc in "Kết thúc". độ trễ 100 in $ fe, $ cb in "End.E" độ trễ 100 in $ fe, $ ca in "End.El" độ trễ 100 in $ fe, $ c9 in "End.Ele" độ trễ 100 in $ fe, $ c8 in "End.Elek" độ trễ 100 in $ fe, $ c7 in "End.Elekt" độ trễ 100 in $ fe, $ c6 in "End.Elekttr" độ trễ 100 in $ fe, $ c5 in "End.Elektro" độ trễ 100 in $ fe, $ c4 in "End.Elektron" độ trễ 100 in $ fe, $ c3 in "End.Elektroni" độ trễ 100 in $ fe, $ c2 in "End.Electronic" độ trễ 100 in $ fe, $ c1 in "End.Electronic" độ trễ 2000 CLS
lcd_test.pbp
DANH SÁCH , { ; FILE F1 = D: \ DOCUME ~ 1 \ Aykut \ Desktop \ Lcd_test.bas ;} ; [Danh sách biến] ; [Danh sách kết thúc] NOLIST DANH SÁCH P = 16F84, f = INHX8M, w = 2, x = trên, r = DEC, mm = ON, n = 0, c = 255 #include C: \ PROGRA ~ 1 \ PB_Plus \ INC \ P16F84.lpb XTAL = 4 _CORE = 14 _MAXMEM = 1024 _ADC = 0 _ADC_RES = 0 _EEPROM = 64 _PAGES = 1 _BANKS = 1 RAM_BANKS = 1 _USART = 0 _USB = 0 _FLASH = 0 BANK0_START = 12 BANK0_END = 79 ram_bank = 0 f @ call macro dest if (dest <1 font="">1> khác if (dest> $) khác endif endif cuộc gọi endm f @ jump macro dest if (dest <1 font="">1> khác if (dest> $) khác endif endif goto dest endm đặt @ trang macro dest endm s @ b macro varin if ((varin & 384) == 0) if (ram_bank == 1) bcf 3,5 endif if (ram_bank == 2) bcf 3.6 endif if (ram_bank == 3) bcf 3,5 bcf 3.6 endif ram_bank = 0 endif if ((varin & 384) == 128) if (ram_bank == 0) bsf 3,5 endif if (ram_bank == 2) bsf 3,5 bcf 3.6 endif if (ram_bank == 3) bcf 3.6 endif ram_bank = 1 endif endm r @ b vĩ mô if ((ram_bank & 1)! = 0) bcf 3,5 endif ram_bank = 0 endm #include C: \ PROGRA ~ 1 \ PB_Plus \ INC \ REG_LD14.INC BPF = 12 BPFH = 13 PP0 = 14 PPOH = 15 PP1 = 16 PP1H = 17 PP2 = 18 PP2H = 19 PP3 = 20 PP3H = 21 PP4 = 22 org 0 goto Bắt đầu @ lcd @ cls movlw 128 movwf 13 cls movlw 254 gọi ch @ snd movlw 1 gọi ch @ snd movlw 117 movwf 15 movlw 48 goto dlus @ w LCD_DTPORT = PORTB LCD_DTPIN = 4 LCD_RSPORT = PORTB LCD_RSPIN = 1 LCD_ENPORT = PORTB LCD_ENPIN = 0 LCD_INTERFACE = 4 LCD_LINES = 2 LCD_TYPE = 0 in movwf 21 bcf PORTB, 0 bcf PORTB, 1 bsf 3,5 bcf PORTB, 0 bcf PORTB, 1 movlw 15 andwf PORTB, f bcf 3,5 movfw 21 btfsc 12,1 goto prt @ 1 movlw 62 movwf 15 movlw 128 gọi dlus @ w movlw 51 movwf 20 gọi pr @ lp movlw 19 movwf 15 movlw 136 gọi dlus @ w gọi pr @ lp movlw 100 gọi dl cho chúng tôi gọi pr @ lp movlw 100 gọi dl cho chúng tôi movlw 34 movwf 20 gọi pr @ lp movlw 40 gọi prt @ c movlw 12 gọi prt @ c movlw 6 gọi prt @ c bsf 12,1 movfw 21 goto prt @ 1 prt @ c bsf 12,0 prt @ 1 movwf 20 btfss 12,0 goto $ + 12 bcf PORTB, 1 sublw 3 skpc goto prt @ s gọi prt @ s movlw 5 movwf 15 movlw 220 gọi dlus @ w setcor trả lại bsf 12,0 sublw 254 skpnz goto pr @ ex bsf PORTB, 1 prt @ s btfss 12,0 pr @ lp bcf 12,0 bsf PORTB, 0 movlw 15 andwf PORTB, f movfw 20 andlw 240 iBw PORTB, f bcf PORTB, 0 swapf 20, f btfsc 12,0 goto pr @ lp movlw 50 gọi dl cho chúng tôi pr @ ex movfw 21 goto i @ nt rsout @ ch @ snd btfsc 13,7 goto in dl @ ms clrf 17 dly @ w movwf 16 movlw 255 addwf 16, f skpc AddWF 17, f skpc goto i @ nt movlw 3 movwf 15 movlw 223 gọi dlus @ w goto $ - 10 dl @ us clrf 15 dlus @ w addlw 232 movwf 14 comf 15, f movlw 252 skpc goto $ + 4 AddWF 14, f skpnc goto $ - 2 AddWF 14, f nope incfsz 15, f goto $ - 6 btfsc 14,0 goto $ + 1 btfss 14,1 goto $ + 3 nope goto $ + 1 trả lại i @ nt bcf 3.7 bcf 3,5 bcf 3.6 nope trả lại Bắt đầu @ clrf 12
Phông chữ cuộn chuyên nghiệp cơ bản của Pic
'************************************** '* Tên: KAY.BAS * '* Tác giả: [AYKUT YILMAZ] * '* Thông báo: Bản quyền (c) 2007 [kết thúc. kỹ thuật viên điện tử] * '*: Tất cả các quyền * '* Ngày: 30.01.2007 * '* Phiên bản: 1.0 * '* Ghi chú: * '*: * '************************************ TRISB = 0 PORTB = 0 OPTION_REG.7 = 0 DEFINE LCD_DREG PORTB DEFINE LCD_DBIT 4 DEFINE LCD_RSREG PORTB DEFINE LCD_RSBIT 1 DEFINE LCD_EREG PORTB DEFINE LCD_EBIT 0 DEFINE LCD_LINES 2 DEFINE LCD_BITS 4 PAUSE 500 LCDOUT $ FE, 1 BASLER để: LCDOUT $ FE, 1 LCDOUT $ FE, $ C0 LCDOUT $ FE, $ 93, "A" PAUSE 100 LCDOUT $ FE, $ 92, "Tháng" PAUSE 100 LCDOUT $ FE, $ 91, "Ayk" PAUSE 100 LCDOUT $ FE, $ 90, "Ayku" PAUSE 100 LCDOUT $ FE, $ 8F, "Aykut" PAUSE 100 LCDOUT $ FE, $ 8E, "Aykut Y" PAUSE 100 LCDOUT $ FE, $ 8D, "Aykut Yi" PAUSE 100 LCDOUT $ FE, $ 8C, "Aykut Yil" PAUSE 100 LCDOUT $ FE, $ 8B, "Aykut Yilm" PAUSE 100 LCDOUT $ FE, $ 8A, "Aykut Yilma" PAUSE 100 LCDOUT $ FE, $ 89, "Aykut Yilmaz" PAUSE 100 LCDOUT $ FE, $ 88, "Aykut Yilmaz" PAUSE 100 LCDOUT $ FE, $ 87, "Aykut Yilmaz" PAUSE 100 LCDOUT $ FE, $ 86, "Aykut Yilmaz" PAUSE 100 LCDOUT $ FE, $ 85, "Aykut Yilmaz" PAUSE 100 LCDOUT $ FE, $ 84, "Aykut Yilmaz" PAUSE 100 LCDOUT $ FE, $ 83, "Aykut Yilmaz" PAUSE 100 LCDOUT $ FE, $ 82, "Aykut Yilmaz" PAUSE 2000 lcdout $ fe, $ f, "S" tạm dừng 100 lcdout $ fe, $ ce, "Sa" tạm dừng 100 lcdout $ fe, $ cd, "Sak" tạm dừng 100 lcdout $ fe, $ cc, "Saka" tạm dừng 100 lcdout $ fe, $ cb, "Sakar" tạm dừng 100 lcdout $ fe, $ ca, "Sakary" tạm dừng 100 lcdout $ fe, $ c9, "Sakarya" tạm dừng 100 lcdout $ fe, $ c8, "Sakaryal" tạm dừng 100 lcdout $ fe, $ c7, "Sakaryali" tạm dừng 100 lcdout $ fe, $ c6, "Sakaryali 5" tạm dừng 100 lcdout $ fe, $ c5, "Sakaryali 54" tạm dừng 100 lcdout $ fe, $ c4, "Sakaryali 54" tạm dừng 100 lcdout $ fe, $ c3, "Sakaryali 54" tạm dừng 100 lcdout $ fe, $ c2, "Sakaryali 54" tạm dừng 2000 GOTO BREAK END
Ứng dụng phông chữ cố định bằng tiếng Thổ Nhĩ Kỳ
'***************************************** '* Tên: project6.BAS * '* Tác giả: [AYKUT YILMAZ] * '* Thông báo: Bản quyền (c) 2007 [kết thúc. kỹ thuật viên điện tử] * '*: Tất cả các quyền * '* Ngày: 17.01.2007 * '* Phiên bản: 1.0 * * Ghi chú: sử dụng LCD * '*: * '****************************************** 'QUAN TRỌNG KHÔNG. MỨC PHÂN TÍCH RW ĐẾN DIE KT GND 'LOW PORTB.2 YÊU CẦU SỬ DỤNG COMMAND 'DỄ DÀNG MỌI NGƯỜI DEFINE LCD_DREG PORTB 'BẢNG DỮ LIỆU LCD PORTB TYPE DEFINE LCD_DBIT 4 'DỮ LIỆU DỮ LIỆU LCD MÀN HÌNH BÌNH CẢNH BÁO DEFINE LCD_EREG PORTB 'MÀN HÌNH CẢM BIẾN NỔI BẬT LCD PORTA BAGLI DEFINE LCD_EBIT 3 'MÀN HÌNH LCD CHỨC NĂNG GHẾ BÀN GHẾ DEFINE LCD_RWREG PORTB 'MÀN HÌNH LCD RW BUTTON DEFINE LCD_RWBIT 2 'MÀN HÌNH LCD BAGGED BAND BITE BAG DEFINE LCD_RSREG PORTB 'LẮP ĐẶT LCD RS PORTA BAGLI DEFINE LCD_RSBIT 1 'MÀN HÌNH BAGGED LCD RS BAGGED BAG DEFINE LCD_BITS 4 'LCD 4 BIT KẾT NỐI DEFINE LCD_LINES 2 'CAC LCD CÓ S AVN CÓ TRISB = 0 LOW PORTB.2 'R L RATCH SCREEN VIẾT ĐẾN HIỆN TẠI IMIN LOW PAUSE 200 '200 ms CHỜ 'ĐẶC ĐIỂM THỔ NH T K F CỐ ĐỊNH' LCDOUT $ FE, $ 40, $ 0A, $ 00, $ 11, $ 11, $ 11, $ 11, $ 0E, $ 00 LCDOUT $ FE, $ 48, $ 0E, $ 11, $ 10, $ 10, $ 11, $ 0E, $ 04, $ 00 ' LCDOUT $ FE, $ 50, $ 00, $ 0E, $ 04, $ 04, $ 04, $ 04, $ 0E, $ 00 LCDOUT $ FE, $ 58, $ 0A, $ 00, $ 0E, $ 11, $ 11, $ 11, $ 0E, $ 00 ' LCDOUT $ FE, $ 60, $ 0E, $ 00, $ 1F, $ 10, $ 13, $ 11, $ 1F, $ 00 LCDOUT $ FE, $ 68, $ 0E, $ 11, $ 10, $ 0E, $ 01, $ 15, $ 0E, $ 04 MÀN HÌNH LCD $ FE, 1, "T", 0, "RK", 1, "E LETTERS" LCDOUT $ FE, $ C5,0,1,2,3,4,5 END
CÁC ỨNG DỤNG MẪU VỚI TÀI NGUYÊN CHUYÊN NGHIỆP CƠ BẢN CỦA PIC
CÁC MẠCH VÍ DỤ VÀ CÁC LỆNH PROBASIC PRO
chỉ huy
|
tuyên bố
| |
1
| @ | Thêm lệnh hoặc tập hợp dòng đơn vào PBP |
2
| ASM ... Endas | Phát nhiều lệnh lắp ráp vào PBP |
3
| CHI NHÁNH | Lệnh GOTO có điều kiện |
4
| BRANCHL | Lệnh GOTO có điều kiện khi vượt quá dung lượng 2K |
5
| NÚT | Một số đầu vào pin nhất định |
6
| CALL | Gọi trình con của ngôn ngữ assembly |
7
| CLEAR | Tất cả các biến số không |
8
| COUNT địa chỉ | Có số lượng xung đến từ một pin |
9
| DỮ LIỆU | EEPROM tích hợp ghi dữ liệu vào bộ nhớ |
10
| DEBUG | Dữ liệu nối tiếp không đồng bộ được gửi trên một ghim cố định và baud |
11
| DEBUG | Dữ liệu nối tiếp không đồng bộ trên một chốt cố định và baud |
12
| DISABLE | Ngắt ngắt và vô hiệu hóa các hoạt động DEBUG |
13
| DTMFOUT | Tạo nhạc chuông điện thoại từ một p |
14
| EEPROM | EEPROM tích hợp ghi dữ liệu vào bộ nhớ |
15
| ENABLE | Ngắt ngắt và thực hiện các hoạt động DEBUG hợp lệ |
16
| END | Đặt chương trình vào chế độ năng lượng thấp |
17
| trong ERASECO | Xóa một khối mã khỏi bộ nhớ chương trình |
18
| CHO ... TIẾP THEO | Lặp lại nhóm lệnh theo số mong muốn |
19
| FREQOUT | Tạo ra một hoặc hai tần số khác nhau từ một pin |
20
| GOSUB | Gọi chương trình con trong PBP |
21
| GOTO | Cung cấp phân nhánh của một nhãn cụ thể |
22
| CAO | Thực hiện một câu đố Logic-1 |
23
| HPWM | Gửi xung PWM từ mô-đun CCP phần cứng |
24
| các HSER | Cung cấp tiếp nhận dữ liệu nối tiếp |
25
| HSERIN2 | Cho phép bạn nhận dữ liệu nối tiếp từ cổng thứ hai |
26
| HSEROUT | Cho phép gửi dữ liệu nối tiếp |
27
| HSEROUT2 | Cho phép bạn gửi dữ liệu nối tiếp từ cổng thứ hai |
28
| I2CREAD | Đọc 1 byte dữ liệu từ EEPROM bên ngoài trong chuỗi |
29
| I2CWRIT để | Viết 1 byte dữ liệu nối tiếp với EEPROM bên ngoài |
30
| NẾU ... | Chạy lệnh hoặc nhóm lệnh tùy thuộc vào chạy |
31
| ĐẦU VÀO | Tuyến pin như đầu vào |
32
| LET | Kết quả của một câu lệnh là một biến |
33
| LCDOUT | Gửi dữ liệu đến LCD |
34
| LOOKDOWN | Tìm kiếm giá trị không đổi trong bảng giá trị |
35
| LOOKDOWN2 | Tìm kiếm hằng số hoặc biến trong bảng giá trị |
36
| LOOKUP | Lấy một giá trị không đổi từ một bảng giá trị |
37
| LOOKUP2 | Nhận cố định hoặc biến từ bảng giá trị |
38
| LOWE | Pin tạo ra Logic-0 |
39
| NAP | Đặt vi điều khiển vào chế độ nguồn điện ngắn gọn |
40
| TRÊN INTERRUPT | Gọi chương trình con cắt khi xảy ra gián đoạn |
41
| OUTPUT | Định tuyến một chiếc bánh làm đầu ra |
42
| OWA của | Đọc dữ liệu từ một giao tiếp một dòng |
43
| OWOUT | Gửi dữ liệu đến một thiết bị với một đường truyền |
44
| PAUSE | Cung cấp thời gian trễ nhất định theo mili giây |
45
| tạm dừng | Cung cấp thời gian trễ theo micro giây |
46
| PEEK | Đọc 1 byte dữ liệu từ một thanh ghi |
47
| POKE | Người đăng ký viết 1 byte dữ liệu |
48
| POT | Đọc một chiết áp liên kết thông |
49
| PULSE | Đo chiều rộng xung |
50
| PULSOUT | Tạo ra các xung có độ dài mong muốn từ một ghim |
51
| PWM | Tạo xung PWM |
52
| RANDOM | Biến tạo ra các số ngẫu nhiên trong phạm vi 1-65535 |
53
| RCTI để | Đo chiều rộng xung |
54
| READER | Đọc 1 byte dữ liệu từ EEPROM nội bộ |
55
| REPEAT..UNTIL | Chạy một nhóm lệnh miễn là so sánh là chính xác |
56
| RESUME | Sau khi chương trình ngắt kết thúc, hãy tiếp tục chương trình từ nơi nó dừng lại |
57
| RETURN | Cho phép chương trình chính trở về từ chương trình con |
58
| REVERSE | Một ổ cắm pini có đầu vào, pini với ổ cắm sẽ vào |
59
| SLEEP | Đặt vi điều khiển ở chế độ năng lượng thấp trong một khoảng thời gian nhất định |
60
| CHỌN TRƯỜNG HỢP | Thực hiện các câu lệnh giá trị thuộc về hai giá trị bằng |
61
| SERIE | Lệnh đầu vào nối tiếp không đồng bộ BS1 ở định dạng 8N1 |
62
| SERIN2 | Lệnh đầu vào nối tiếp không đồng bộ kiểu BS2 |
63
| SEROUT | Lệnh đầu ra nối tiếp không đồng bộ BS1 ở định dạng 8N1 |
64
| SEROUT2 | Lệnh đầu ra nối tiếp không đồng bộ kiểu BS2 |
65
| DỪNG | Dừng thực hiện chương trình bằng vòng lặp vô hạn |
66
| bạn SHIFTA | Lệnh nhập nối tiếp đồng bộ |
67
| SHIFTOUT | Lệnh đầu ra nối tiếp đồng bộ |
68
| SOUND | Tạo ra tín hiệu âm thanh được khai thác mong muốn từ một pin cụ thể |
69
| SWAP | Hoán đổi nội dung của hai biến giữa chúng |
70
| Toggle | Nếu một pin có "0" là "1" hoặc "1", nó sẽ là "0" |
71
| USBINIT | Tạo các định nghĩa mô-đun USB |
72
| USB | Làm cho dữ liệu nhập vào USB điều chế PIC |
73
| USBOUT | Dữ liệu đầu ra từ điều chế USB PIC |
74
| KHI ... Wend | Miễn là điều kiện là đúng, nhóm lệnh lặp lại |
75
| VIẾT | EEPROM tích hợp ghi 1 byte dữ liệu vào bộ nhớ |
76
| trong WRITECO | Ghi dữ liệu vào bộ nhớ chương trình ở kích thước chữ |
77
| X | Đọc dữ liệu từ thiết bị với mô-đun giao tiếp X-10 |
78
| xout | Gửi dữ liệu đến thiết bị với mô-đun giao tiếp X-10 |
Tất cả các tập tin nguồn gốc iso picbasic proteus isis trên trang: picbasic-commands.rar
CHI NHÁNH RANDOM CHI NHÁNH
Nút lệnh
NÚT PORTA.0 ĐƯỢC DỰA TRÊN KHI CẢM ƠN LED B PORTNG PORTB.0
Ví dụ về ebrom probasic pro
Ví dụ tần số probasic pro
Ví dụ và thông tin về HPWM
DEMONSTRATION: CHANNEL (PINE), BUTTERFLY (KINH DOANH), TẦN SỐ (NUMBER)
Dutycyle: Điện áp của tín hiệu đầu ra là giá trị 8 bit giữa 0 và 255 và nằm trong khoảng từ 0 đến 5V.
Tại 16f877, một lệnh PORTC.1 và PORTC.2 CCP1, CCP2 HPWM có thể được sử dụng để tạo độ sáng LED và xoay động cơ sang phải và trái.
Bạn sẽ phải xác định chương trình cho phần đầu của chương trình:
PIC16F877 PORTC.1 và PORTC.2 PWM OUTPUT
PIC16F628 PORTB.3 PWM OUTPUT
PIC16F628 PORTB.3 PWM OUTPUT
Xác định CCP1_REG PORTC 'HPWM PORTC.1
DEFINE CCP2_REG PORTC' HPWM PORTC.2
DEFINE CCP1_BIT 2 CCP1 Pini PORTC.2
DEFINE CCP2_BIT 1 CCP1 Pini PORTC.1
DEFINE CCP2_REG PORTC' HPWM PORTC.2
DEFINE CCP1_BIT 2 CCP1 Pini PORTC.2
DEFINE CCP2_BIT 1 CCP1 Pini PORTC.1
VÍ DỤ: HPWM 1,127,1000
GỬI 50% KINH DOANH VÀ 1000 tín hiệu PWM đến PORTC.2
25% thời gian thi hành công vụ là khoảng 1.25V Decimal 64
50% thời gian thi hành công vụ là khoảng 2.5V số thập phân 127
% 75 thời gian làm việc được khoảng 3.75V thập phân 192
100% thời gian thi hành công vụ là khoảng 5V thập phân 255
50% thời gian thi hành công vụ là khoảng 2.5V số thập phân 127
% 75 thời gian làm việc được khoảng 3.75V thập phân 192
100% thời gian thi hành công vụ là khoảng 5V thập phân 255
BỐI CẢNH Chiếu HPWM COMMAND: động cơ thay đổi cách xoay HƯỚNG và chừng nào nút bấm máy hiện sóng để MẮT VÀ TÍN HIỆU
Các lệnh I2cread và I2write pro cơ bản
Picbasi pro NẾU THEN lệnh
Lệnh POKE Picbasic pro
PWM thực hiện với Picbasic (PORTB.3 pwm đầu ra)
Ví dụ về ghi đọc cơ bản của Pic
Điều khiển động cơ bước với PIC BASIC
Mục tiêu: Di chuyển động cơ bước về phía trước và phía sau trong khoảng thời gian 1 giây có thể chơi tốt hơn với các vòng quay động cơ
Ví dụ về lệnh của Picbasic TOGGLE
Thay đổi mức biên độ của đèn LED
CÁC ỨNG DỤNG MẪU VỚI TÀI NGUYÊN CHUYÊN NGHIỆP CƠ BẢN CỦA PIC
VÍ DỤ VỀ ỨNG DỤNG PWM PICBASIC
PWM rgb dẫn
Điều khiển HPWM Engine
Mô tả chung về chương trình: Trước hết, PBP tôn trọng người bạn thân yêu ETE hoamız đã dạy chúng tôi
PWM như một ứng dụng thoải mái, giúp dạy tôi dạy tôi PROGRAMMER07 DỊP để trả lời mọi câu hỏi tôi đã nói với anh tôi rằng vĩnh cửu nhờ ETE giáo viên của tôi
CHO DUTY = 255 ĐẾN 0 BƯỚC -1 Từ 255 mỗi lần 1 trừ tối đa 0
Truy cập gosub pals tới 255.254.253 ... ..0 và thực hiện các thao tác của bạn tại đây
CHO DUTY = 0 TO 255 Tăng từ 0 lên 255 0.1.2.3 ... lên tới 255
PAUSEUS (Duty * 230) 230 từ đâu?
Tôi đặt thời lượng thành 15 giây trong dự án này, nghĩa là, đèn LED 255 tối đa + 5 v trong khoảng từ 0 đến 15 giây
đây là những gì tôi muốn thoát ra từ 0 đến 255 trong 15 giây
Tính toán: 15sec = 15000ms vì sự chậm trễ trong từng bước để đạt được 255 15000/255 = 58 824 thời gian cao và thấp tương đương với 58.824-thời gian để được dẫn dắt çaok sáng là
sau đó nếu là 0 sẽ tắt đèn LED, có bao nhiêu cao Mỹ vài chúng tôi thấp sẽ chiếm
58.824 / 255 = 230 chúng tôi có thể chơi với giây và tăng khả năng hiển thị của các hệ thống như vậy
sau đó nếu là 0 sẽ tắt đèn LED, có bao nhiêu cao Mỹ vài chúng tôi thấp sẽ chiếm
58.824 / 255 = 230 chúng tôi có thể chơi với giây và tăng khả năng hiển thị của các hệ thống như vậy
Ứng dụng pwm rgb 3 kênh với Picbasic
CÁC ỨNG DỤNG MẪU VỚI TÀI NGUYÊN CHUYÊN NGHIỆP CƠ BẢN CỦA PIC
MẠCH CƠ BẢN VÀ ĐỒNG HỒ PIC
Đồng hồ LCD
Ứng dụng đồng hồ Picbasic RTC1302
CÁC ỨNG DỤNG MẪU VỚI TÀI NGUYÊN CHUYÊN NGHIỆP CƠ BẢN CỦA PIC
ĐẾM ỨNG DỤNG VỚI PICBASIC
0-9 chuyển tiếp truy cập (dẫn, hiển thị)
0-99 chu kỳ truy cập tiến (cd4511, pic16f84)
0-999 chuyển tiếp truy cập với Picbasic
Với mạch phản kháng 0-9999 Picbasic
0-65535 truy cập với Picbasic
Với màn hình hiển thị Bb Picbasic BCD 0 / F
CÁC ỨNG DỤNG MẪU VỚI TÀI NGUYÊN CHUYÊN NGHIỆP CƠ BẢN CỦA PIC
CÁC ỨNG DỤNG TRUYỀN THÔNG NỐI TIẾP VỚI PICBASIC PRO
Nút điều khiển LCD
Truyền thông nối tiếp hai chiều
MỤC ĐÍCH: Mạch truyền thông nối tiếp ghi các đèn LED trong A bằng cách ấn các nút kết nối với pice trong A và đẩy các nút được kết nối với pice trong B để bật đèn LED trong B
Giao tiếp nối tiếp chức năng
Thông tin liên lạc nối tiếp bàn phím LCD
Ứng dụng truyền thông RF
Ứng dụng dẫn nút giao tiếp nối tiếp
Mục đích: Để bật tất cả các đèn LED bằng 4 nút đầu tiên và tắt đèn LED sáng với các nút tiếp theo
Các ứng dụng viết văn bản LCD nổi nối tiếp với PIC BASIC
Ứng dụng LCD nối tiếp 4 × 20 với PIC BASIC
Mục đích: Để tìm số dòng LCD
Các tệp Pic BasicPro: Tài nguyên chuyên nghiệp cơ bản của Pic
Tải xuống tệp LINK danh sách (ở định dạng TXT) link4452.zip mật khẩu-pass: 320volt.com
Post a Comment