AVR Interrupts and binary counter


Posted on Feb 7, 2014

In previous article about the Atmel AVR We have only blinked with LEDs, without influence of events outside the microprocessor. All ports operated only as outputs, there was no input. Now we will show how to connect control buttons to the microcontroller and how to the INTO and INT1 pins as inputs. To demonstrate this, I chose the Atmega8 (You can


AVR Interrupts and binary counter
Click here to download the full size of the above Circuit.

also use the newer Atmega8A). The buttons are connected to pins 4 and 5, which are bits 3 and 4 of the port D, but also have an alternative function - INT0 and INT1. These alternative functions are in our interest. They are external interrupt sources. If these interrupts are enabled, you can use these inputs to trigger the interrupt handler. INT1 interrupt is enabled using the most significant bit in register GICR. Interrupt INT0 is enabled using the second highest bit. Enabling both interrupts we do by setting the two upper bits of GICR to 1: Next, we have to select what will trigger the interrupt - the interrupt sensitivity. This is done by using the MCUCR registr. Sensitivity of INT0 is chosen by combination of two bits - ISC01 and ISC00. Sensitivity INT1 is chosen bits ISC10 and ISC11. In our example, we want sensitivity to the falling edge, and therefore each pair is set to 1 0. We can do it this way: Pressing the button now initiates the appropriate interrupt handler. In our example, this is the increment / decrement the working register REG and subsequently sending its state on output, which is a port C - its first 6 bits. Its status is indicated by 6 LED. Now you have built the binary counter, you can press a one button to add 1 and second button to substract 1. Schematic diagram of this experimental circuit you can see below. This video on the bottom of this page demonstrates the function. You can certainly find a...




Leave Comment

characters left:

Related Circuits

  • New Circuits

    .

     


    Popular Circuits

    Solar charger for lead-acid batteries
    Optimized 10-element UHF Yagi Antenna
    IR auto digital thermostat
    LED dot display based Battery charge level indicator circuit diagram
    3A adjustable regulator using LM350
    PWM - Pulse Width Modulation for DC Motor Speed and LED Brightness 2
    Internal functional block diagram of NCP5201
    Light touch variable delay circuit
    Conducting pipe control rechargeable delay circuit



    Top