Tuesday, March 24, 2009

Learn PIC programming in Sinhalese






To Download A file - "Right click" on the link, copy "the link location", Paste it on a new browser window... or on a download manager...


  • ›  Introduction to Microcontrollers - 606KB 

  •  I. Internal Architecture


  • ›  I/O Ports Fetch, Decode, and Execute - 386KB 

  • ›  Controlling and processing unit - 190KB 

  • II. Softwares used for Programming Microcontrollers


  • ›  Compilers and Integrated Development Environments - 390KB 

  • ›  How to build your own JDM Programmer (I) - 839KB 

  • ›  How to build your own JDM Programmer (II) - 516KB 

  • ›  Hardware needed for Programming - 453KB 

  • ›  Program using ICPROG Software - 615KB 

  • III. Build your first microcontroller based circuit


  • ›  Typical microcontroller assembly circuit diagram - 472KB 

  • ›  Special Function registers of the Microcontroller PIC16F84A - 408KB 

  • ›  Creating your first assembly code - 343KB 

  • ›  How to write assembly code in MPLAB - 865KB 

  • ›  More on MPLAB - 550KB 

  • ›  How to simulate using MPLAB SIM - 1.08MB 


  • IV. LED Pattern generators


  • ›  Assembly code for driving 8 LEDs (I) - 340KB 

  • ›  Assembly code for driving 8 LEDs (II) - 374KB 

  • ›  Driving 40 LEDs using PORT multiplexing (8x5) - 416KB 

  • ›  How to display a Character using 8x5 LED matrix - 388KB 

  • V. Seven Segment Displays


  • ›  Driving segments using PORT-B I/O - 367KB 

  • ›  Basic counter circuit (I) - 388KB 

  • ›  0 - 100 up counter using two SSD (I) - 420KB 

  • ›  0 - 100 up counter using two SSD (II) - 28.3KB 

  • ›  Usage of interrupts - 361KB 

  • ›  Practical usage of Interrupts - 376KB 

  • ›  External Interrupts - 409KB 

  • VI. Connecting a microcontroller with the PC


  • ›  PC Serial port overview - 532KB 

  • ›  Logic level translation using MAX 232 IC- 386KB 

  • ›  Assembly code for controlling USART module (I) - 367KB 

  • ›  Assembly code for controlling USART module (II) - 363KB 

  • VII. Analog to Digital conversion


  • ›  Temperature Logger using LM35 - 357KB 

  • ›  Importance of Quantization error and Sampling rate - 355KB 

  • ›  PIC16F877A ADCON0 and ADCON1register - 485KB 

  • ›  A/D, show results using SSD - 364KB 

  • ›  Assembly code for A/D conversion (I) - 371KB 

  • ›  Assembly code for A/D conversion (II) - 77.4KB 

  • ›  Send A/D converted data through RS-232 - 372KB 

  • VIII. Liquid Crystal Displays


  • ›  Types of LCDs - 420KB 

  • ›  Running a LCD module using PIC16F84A (I) - 493KB 

  • ›  Running a LCD module using PIC16F84A (II) - 475KB 

  • ›  Running a LCD module using PIC16F84A (III) - 369KB 

  • IX. Number representations


  • ›  Introduction to Binary, Octal and Hex number systems - 121KB 

  • ›  Logic gates and Boolean algebra - 371KB 

  • ›  Boolean algebra and Registers - 374KB 

  • ›  Communication using Ascii codes - 381KB 

  • X. DC Motor controlling


  • ›  Controlling a DC motor using H-Bridge IC L298 - 362KB 

  • ›  Control rotation speed, rotation direction using Microcontroller - 366KB 

  • ›  Connecting the DC motor controller to PC - 69KB 

  • ›  DC motor control according to the user press buttons - 586KB 

  • ›  Pulse Width Modulation (PWM) - 401KB 

  • ›  Calculating the DC Motor rotation speed (RPM) - 270KB 

  • ›  Dynamic control using feedback loops - 495KB 

  • XI. Remote controllers numbering


  • ›  The electromagnetic spectrum - 528KB 

  • ›  Infrared remote controllers - 368KB 

  • ›  IR Sensors - 157KB 

  • ›  How to capture the IR receiver signal using Microcontroller - 725KB 

  • ›  Decoding IR Signals (I) - 342KB 

  • ›  Decoding IR Signals (II) - 56KB 

  • ›  Decoding IR Signal algorithm - 122KB 

  • XII. Data transfer between digital circuits


  • ›  Serial Peripheral Interface (I) - 64.9KB 

  • ›  Serial Peripheral Interface (II) - 60KB 

  • ›  Nokia 3310 LCD Driving using SPI (I) - 126KB 

  • ›  Nokia 3310 LCD Driving using SPI (II) - 182KB 

  • ›  Connecting a Nokia 3310 LCD to PIC16F877A - 506KB 

  • ›  Assembly code for LCD driving (I) - 68.3KB 

  • ›  Assembly code for LCD driving (II) - 58.4KB 

  • ›  Sinhala characters in a Nokia 3310 LCD - 87.3KB 

  • ›  Animation effects with Nokia 3310 LCD - 75.5KB 

  • XIII. How to use high level languages


  • ›  Introduction - 70.1KB 

  • ›  C code for blinking a LED - 406KB 

  • ›  C code for driving 8 LEDs (I) - 415KB 

  • ›  Driving 40 LEDs using PORT multiplexing (8x5) (I) - 701KB 

  • ›  Driving 40 LEDs using PORT multiplexing (8x5) (II) - 38.5KB 

  • ›  Driving segments using PORT-B I/O - 398KB 

  • ›  Basic counter circuit - 84.7KB 

  • ›  0 - 100 up counter using two SSD - 395KB 

  • ›  Practical usage of Interrupts - 397KB 

  • ›  External Interrupts - 270KB 

  • ›  Connecting a microcontroller with the PC - 112KB 

  • ›  Driving Liquid Cristal Displays - 430KB 

  • ›  End of uC Series - 59.8KB 

  • XIV. Global Positioning System (GPS)


  • ›  Introduction to Global Positioning - 368KB 

  • ›  GPS Receivers - 159KB 

  • ›  GPS Errors - 83.3KB 

  • ›  Differential GPS - 147KB 
  •