Pic Lab, PIC16, Experiment #9, The timer2 module

The goal: the same as previous, to get the 1KHz pulse.

What do we have: PIC16f628a, the simple devboard + proteus.

For this particular uC the timer2 module is another 8bits timer, which has some peculiarities.

timer2, a picture borrowed from the mikroe resourse
Continue reading

Pic Lab, PIC16, Experiment #8, The timer1 module

The goal: to get 1 Hz pulses.

What do we have: PIC16f628a, a handmade devboard, and proteus

Continuing to learn pic microcontrollers, and the timer1 is the next module in our way. Usually, this is a 16bit timer, so it allows to have a larger time frame.

timer1 block diagram, pic16f628a datasheet
Continue reading

Pic Lab, PIC16, Experiment #5: interruptions

Interruptions are one of the great things about microcontrollers, if you want to do something fast, reliable, and simple… well, not exactly simple in a programming language sense perhaps, but really simpler from the hardware perspective point of view. So, the main purpose of interruption is to interrupt your main program cycle and do whatever you want in case of that event (a timer has reached the settled time, a button has been pressed, and so on). Here is the picture from the mikroe ebook (www.mikroe.com), just because they really made quite nice pictures and quite a nice manual by the way.

Going further…

Continue reading

Pic Lab, PIC16, Experiment #4: 7 segment display

It was 2012 year, I was just starting to learn how to work with the PIC microcontrollers, so the code is far away from optimal.

uC: PIC16F628a

Compiler: Hi-TECH PICC

Goal: To connect 7 segment indicator and display numbers from 0 to 9

7 segment indicator connection
Continue reading

PIC Lab, PIC16, Experiment #3: Timer TMR0

uC: PIC16F628a

Compiler: Hi-TECH PICC

Goal: To make pulses with frequency 5Hz

Timer TMR0 module frequently used in many applications, it has next useful options:

  • 8 bits counter/timer
  • Internal/external oscillator for pulses counting
  • An interrupt is generated after overflow

In that experiment we will make it without using interruptions.

Timer TMR0 module (from datasheet)
Continue reading