PIC Microcontrollers

This is a repository of documents prepared by ENTC community targeting a non-specialized audience.

Content is added with no warranty stated/ implied; hoping that it would be of use. Comments, suggestions and constructive criticisms can be directed to info @ ent.mrt.ac.lk

Micro-controllers for day-to-day life (Sinhala Medium)

Adapted from material prepared for a distance learining course | Course introductionpdf[299 KB] | Summary (I) to (X)pdf[361 KB]

uc

 

  1. Introduction to Microcontrollerspdf[606 KB]
  2. Internal Architecture
    1. I/O Ports Fetch, Decode, and Executepdf[386 KB]
    2. Controlling and processing unitpdf[190 KB]
  3. Softwares used for Programming Microcontrollers
    1. Compilers and Integrated Development Environmentspdf[390 KB]
    2. How to build your own JDM Programmer (I)pdf[839 KB]
    3. How to build your own JDM Programmer (II)pdf[516 KB]
    4. Hardware needed for Programmingpdf[453 KB]
    5. Program using ICPROG Softwarepdf[615 KB]
  4. Build your first microcontroller based circuit
    1. Typical microcontroller assembly circuit diagrampdf[472 KB]
    2. Special Function registers of the Microcontroller PIC16F84Apdf[408 KB]
    3. Creating your first assembly codepdf[343 KB]
    4. How to write assembly code in MPLABpdf[865 KB]
    5. More on MPLABpdf[550 KB]
    6. How to simulate using MPLAB SIMpdf[1.08 MB]
  5. LED Pattern generators
    1. Assembly code for driving 8 LEDs (I)pdf[340 KB]
    2. Assembly code for driving 8 LEDs (II)pdf[374 KB]
    3. Driving 40 LEDs using PORT multiplexing (8x5)pdf[416 KB]
    4. How to display a Character using 8x5 LED matrixpdf[388 KB]
  6. Seven Segment Displays
    1. Driving segments using PORT-B I/Opdf[367 KB]
    2. Basic counter circuit (I)pdf[388 KB]
    3. 0 – 100 up counter using two SSD (I)pdf[420 KB]
    4. 0 – 100 up counter using two SSD (II)pdf[28.3 KB]
    5. Usage of interruptspdf[361 KB]
    6. Practical usage of Interruptspdf[376 KB]
    7. External Interruptspdf[409 KB]
  7. Connecting a microcontroller with the PC
    1. PC Serial port overviewpdf[532 KB]
    2. Logic level translation using MAX 232 ICpdf[386 KB]
    3. Assembly code for controlling USART module (I)pdf[367 KB]
    4. Assembly code for controlling USART module (II)pdf[363 KB]
  8. Analog to Digital conversion
    1. Temperature Logger using LM35pdf[357 KB]
    2. Importance of Quantization error and Sampling ratepdf[355 KB]
    3. PIC16F877A ADCON0 and ADCON1registerpdf[485 KB]
    4. A/D, show results using SSDpdf[364 KB]
    5. Assembly code for A/D conversion (I)pdf[371 KB]
    6. Assembly code for A/D conversion (II)pdf[77.4 KB]
    7. Send A/D converted data through RS-232pdf[372 KB]
  9. Liquid Crystal Displays
    1. Types of LCDspdf[420 KB]
    2. Running a LCD module using PIC16F84A (I)pdf[493 KB]
    3. Running a LCD module using PIC16F84A (II)pdf[475 KB]
    4. Running a LCD module using PIC16F84A (III)pdf[369 KB]
  10. Number representations
    1. Introduction to Binary, Octal and Hex number systemspdf[124 KB]
    2. Logic gates and Boolean algebrapdf[371 KB]
    3. Boolean algebra and Registerspdf[374 KB]
    4. Communication using Ascii codespdf[381 KB]
  11. DC Motor controlling
    1. Controlling a DC motor using H-Bridge IC L298pdf[362 KB]
    2. Control rotation speed, rotation direction using Microcontrollerpdf[366 KB]
    3. Connecting the DC motor controller to PCpdf[69 KB]
    4. DC motor control according to the user press buttonspdf[581 KB]
    5. Pulse Width Modulation (PWM)pdf[401 KB]
    6. Calculating the DC Motor rotation speed (RPM)pdf[270 KB]
    7. Dynamic control using feedback loopspdf[495 KB]
  12. Remote controllersnumbering>
    1. The electromagnetic spectrumpdf[528 KB]
    2. Infrared remote controllerspdf[368 KB]
    3. IR Sensorspdf[157 KB]
    4. How to capture the IR receiver signal using Microcontrollerpdf[725 KB]
    5. Decoding IR Signals (I)pdf[342 KB]
    6. Decoding IR Signals (II)pdf[55.6 KB]
    7. Decoding IR Signal algorithmpdf[122 KB]
  13. Data transfer between digital circuits
    1. Serial Peripheral Interface (I)pdf[64.9 KB]
    2. Serial Peripheral Interface (II)pdf[60 KB]
    3. Nokia 3310 LCD Driving using SPI (I)pdf[126 KB]
    4. Nokia 3310 LCD Driving using SPI (II)pdf[182 KB]
    5. Connecting a Nokia 3310 LCD to PIC16F877Apdf[506 KB]
    6. Assembly code for LCD driving (I)pdf[68.3 KB]
    7. Assembly code for LCD driving (II)pdf[58.4 KB]
    8. Sinhala characters in a Nokia 3310 LCDpdf[87.3 KB]
    9. Animation effects with Nokia 3310 LCDpdf[75.5 KB]
  14. How to use high level languages
    1. Introductionpdf[70.1 KB]
    2. C code for blinking a LEDpdf[406 KB]
    3. C code for driving 8 LEDs (I)pdf[415 KB]
    4. Driving 40 LEDs using PORT multiplexing (8x5) (I)pdf[701 KB]
    5. Driving 40 LEDs using PORT multiplexing (8x5) (II)pdf[38.5 KB]
    6. Driving segments using PORT-B I/Opdf[398 KB]
    7. Basic counter circuitpdf[84.7 KB]
    8. 0 – 100 up counter using two SSDpdf[395 KB]
    9. Practical usage of Interruptspdf[397 KB]
    10. External Interruptspdf[270 KB]
    11. Connecting a microcontroller with the PCpdf[112 KB]
    12. Driving Liquid Cristal Displayspdf[430 KB]
    13. End of uC Seriespdf[59.8 KB]
  15. Global Positioning System (GPS)
    1. Introduction to Global Positioningpdf[368 KB]
    2. GPS Receiverspdf[159 KB]
    3. GPS Errorspdf[83.3 KB]
    4. Differential GPS[147 KB]