There are instances when digital systems need to interface with devices that produce analog signals, such as sensors and radio equipment. In such cases, the digital system, such as a microcontroller, needs an analog-to-digital converter (ADC) to handle the analog signal.
Read More »PIC16 I2C Tutorial
To continue with our tutorial on synchronous serial with PICs, we will know look at I2C, another popular protocol used by sensors, displays and memory devices.
Read More »PIC16 SPI Tutorial
Simply put, synchronous serial protocols like SPI and I2C have a separate line for timing (the CLK line) while asynchronous protocols like UART (RS232) don’t. The addition of a clock line makes reception timing much easier and thus reduces transmission errors. It is also possible to interconnect more than two …
Read More »Serial (USART) Communication with PIC16F877A
PIC microcontrollers, obviously, can do more than just light up LEDs or reading button states. Microcontrollers can also communicate with another microcontroller or with other devices like sensors, memory cards, etc. Often the communication is done serially, where data bits are sent one at a time. The microcontroller serial communication …
Read More »Input/Output with PIC Microcontrollers
For most microcontrollers, the input and output channels are handled by data direction special function registers. AVR microcontrollers call them Data Direction Registers (DDR) while ARM-based STM32 has a group of “GPIO” registers. PICs call them TRIS registers which is supposed to be short for “TRIState”. In this article, we …
Read More »PIC16F877 Internet: Creating Web-based PIC Apps
The Internet of Things (IoT) revolution has inspired thousands of makers to build interconnected systems that span the globe. Want to join the revolution? Learn first how to make a PIC16F877 Internet connection! This tutorial will cover using the PIC with the ESP8266 Wi-Fi module both in sending and receiving …
Read More »Using PIC Timer with PIC16F84A
In this tutorial, I will discuss how to use the PIC16F84A microcontroller timer module for a variety of applications including turning a LED on and off without the use of a software delay subroutine.
Read More »PIC Interrupt with PIC16F84A
So far we have discussed how to code microcontrollers sequentially, i.e., the device performs the code from top to bottom and may branch out to labels (via goto) or subroutines (via call). Now we’ll be looking at PIC interrupt.
Read More »The PIC16F84A – A Beginners Microcontroller
We’ll start with the PIC16F84A – a.k.a the beginner’s microcontroller. This MCU from Microchip has been around since 1998 and is the successor to the very first serially programmable PIC, the PIC16C84. The PIC16F84A is often the starting point for learning PIC microcontrollers because it only has 35 assembly language …
Read More »An Introduction to PIC Assembly Language Programming
Most people have nightmares about PIC assembly language programming while some would say it’s a waste of time. I’ve experienced both so I agree. PICs can be programmed much easier using high-level languages like C and Basic. However, learning to code in assembly helps you learn more about the microcontroller’s …
Read More »