Tutorials

PIC Microcontroller Video Tutorial Series

PIC Microcontroller Video Tutorial Series

PIC is a family of modified Harvard architecture microcontrollers made by Microchip Technology, derived from the PIC1650[1][2][3] originally developed by General Instrument‘s Microelectronics Division. The name PIC initially referred to “Peripheral Interface Controller“.[4][5] PICs are popular with both industrial developers and hobbyists alike due to their low cost, wide availability, large user base, extensive collection of application notes, availability of low cost […]

PIC Microcontroller Video Tutorial Series Read More »

Light Detection

Whistle-On Whistle-Off

This experiment turns on a LED when a whistle is detected. The LED turns off when the whistle is detected for the second time.                       ;Expt11b.asm ;Project: Whistle-On  Whistle-Off List P = 16F84 #include <p16F84.inc> __CONFIG 1Bh    ;_CP_OFF & _PWRTE_ON & _WDT_OFF & _RC_OSC SetUpDelay Delay1 DelayA Look Look1 Look2 Main Main1 Main2 Main3 ORG 00

Whistle-On Whistle-Off Read More »

Analog to digital 8 bits For CSS Compiler

  #include <16F877.h> #device adc=8 #FUSES NOWDT ,XT #use delay(clock=4000000) #include <Lcd_4bit.c> int8 value; void main() { setup_adc_ports(AN0_AN1_AN3); setup_adc(ADC_CLOCK_DIV_2); setup_psp(PSP_DISABLED); setup_spi(SPI_SS_DISABLED); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); set_adc_channel(0); set_tris_d(0x00); set_tris_A(0xff); Lcd_init(); while(true){ set_adc_channel(0); delay_ms(10); value = read_adc(); // 0-1023 Lcd_row_col(1,0); Lcd_putc(“setpoint=”); hex_bcd(value);lcd_row_col(1,9);sent_Lcd(); delay_ms(50); } }

Analog to digital 8 bits For CSS Compiler Read More »

LCD Module Display 4 line For CSS Compiler

#include <16F877.h> #device adc=8 #fuses NOWDT,HS, NOPUT, NOPROTECT, BROWNOUT, NOLVP, NOCPD, NOWRT, NODEBUG #use delay(clock=4000000) #include <Lcd_4bit.c> int16 value1,value2,value3,value4; void main(){ setup_adc_ports(NO_ANALOGS); setup_adc(ADC_OFF); set_tris_d(0x00); lcd_init(); lcd_row_col(1,0); lcd_putc(“Electrical Power”); delay_ms(20); lcd_row_col(2,0); lcd_putc(“Loei Technical “); delay_ms(20); lcd_row_col(3,0); lcd_putc(“www.kchimicro “); delay_ms(20); lcd_row_col(4,0); lcd_putc(“Pic controller “); delay_ms(5000); lcd_Clear(); lcd_init(); while(true){ value1 = 2568; value2 = 1278; value3 = 8887;

LCD Module Display 4 line For CSS Compiler Read More »

LCD Module Display 2 line For CSS Compiler

#include <16F877.h> #device adc=8 #fuses NOWDT,HS, NOPUT, NOPROTECT, BROWNOUT, NOLVP, NOCPD, NOWRT, NODEBUG #use delay(clock=4000000) #include <Lcd_4bit.c> int16 value,value1; void main(){ setup_adc_ports(NO_ANALOGS); setup_adc(ADC_OFF); set_tris_d(0x00); lcd_init(); lcd_row_col(1,0); lcd_putc(“Electrical Power”); delay_ms(20); lcd_row_col(2,0); lcd_putc(“Loei Technical “); delay_ms(5000); lcd_Cls(); while(true){ value = 2568; value1 = 1278; //================================== lcd_row_col(1,0); Lcd_putc(“setpoint=”); hex_bcd(value);lcd_row_col(1,9);sent_Lcd(); //delay_ms(100); //================================== lcd_row_col(2,0); Lcd_putc(“Value=”); hex_bcd(value1);lcd_row_col(2,6);sent_Lcd(); delay_ms(100); } }  

LCD Module Display 2 line For CSS Compiler Read More »

Seven segment display 4 digit for shift 595 For CSS Compiler

#include <16F877.h> #device adc=8 #fuses NOWDT,HS, NOPUT, NOPROTECT, BROWNOUT, NOLVP, NOCPD, NOWRT, NODEBUG #use delay(clock=4000000) #include “shift_595.c” void main() { setup_adc_ports(NO_ANALOGS); setup_adc(ADC_OFF); setup_psp(PSP_DISABLED); setup_spi(FALSE); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); set_tris_b(0x00); while(true){ if(SETPOINT++>9999)SETPOINT=0; VALUE =SETPOINT; hex_bcd(VALUE); sent_data(); delay_ms(50); } }

Seven segment display 4 digit for shift 595 For CSS Compiler Read More »

Seven segment _2digit_anode For CSS Compiler

#include <16F877.h> #device adc=8 #fuses NOWDT,HS, NOPUT, NOPROTECT, BROWNOUT, NOLVP, NOCPD, NOWRT, NODEBUG #use delay(clock=4000000) #define sw_up pin_a0 // SWITCH UP #define sw_down pin_a1 // SWITCH DOWN INT8 COUNT,A,B; int8 num[10] ={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//common anode //int8 Segment[10] ={ 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x27,0x7F,0x6F};//common cathode 0 1 2 3 4 5 6 7 8 9 // 0 1 2 3 4

Seven segment _2digit_anode For CSS Compiler Read More »

Wye-delta Motor Controll For CSS Compiler

#include <16F877.h> #device adc=8 #FUSES NOWDT ,XT #use delay(clock=4000000) #define S1 pin_a0 #define S2 pin_a1 #define S3 pin_a2 #define K1 pin_b0 #define K2 pin_b1 #define K3 pin_b2 void main() { setup_adc_ports(NO_ANALOGS); setup_adc(ADC_OFF); set_tris_e(0xff); // input set_tris_b(0x00); // output output_b(0x00); // initial output = 0; while(true) { if(!input(S1)) { output_high(K1); output_high(K2); output_low(K3); delay_ms(5000); while(input(S2)) { output_high(K1);

Wye-delta Motor Controll For CSS Compiler Read More »

Sound frequency For CSS Compiler

#include <16F877.h> #device adc=8 #FUSES NOWDT ,XT #use delay(clock=4000000) void sound (char freq,int16 time) // Sound Generate { unsigned char i; while (time>0) { output_low (pin_b0); for (i=1;i<=freq;i++) time–; output_high (pin_b0); for (i=1;i<=freq;i++) time–; } } void main(){ set_tris_a(0xff); set_tris_b(0x00); setup_adc_ports(NO_ANALOGS); setup_adc(ADC_OFF); output_b(0x00); while(true){ if(!input(pin_a0)){ sound(50,1000); sound(60,5000); sound(10,6000); sound(100,40000); } else{ sound(0,0); } } }

Sound frequency For CSS Compiler Read More »