MPI LAB
LAB 2
Handling individual bits on Atmega 32
Name : Burhan Ahmed Satti
Enrollment No. : 01-134172-065
Class : BSCS 4-A
Subject : MPI Lab
Lab Assistant : Muhammad Atif
Objectives
•Learning basics of Proteus
•Introduction to Atmega 32 processor
•Learning basics of Atmel studio
Tools Used
•Proteus 8.0
•Atmel Studio 7.0
BSCS 4-A Burhan Ahmed Satti 01-134172-065
Task No. 2.1
Program the Atmega 32 processor on Proteus, such that Port B takes door input on pin 1 and
lights up the LED connected to the 7th pin.
Solution
/**
* \file
*
* \brief Empty user application template
*
*/
/**
* \mainpage User Application template doxygen documentation
*
* \par Empty user application template
*
* Bare minimum empty user application template
*
* \par Content
*
* -# Include the ASF header files (through asf.h)
* -# "Insert system clock initialization code here" comment
* -# Minimal main function that starts with a call to board_init()
* -# "Insert application code here" comment
*
*/
/*
* Include header files for all drivers that have been imported from
* Atmel Software Framework (ASF).
*/
/*
* Support and FAQ: visit <a href="https://www.microchip.com/support/">Microchip Support</a>
*/
#include <asf.h>
int main (void)
{
/* Insert system clock initialization code here (sysclk_init()). */
board_init();
/* Insert application code here, after the board has been initialized. */
DDRB &= (0<<1);
DDRC |= (1<<7);
PORTC = 0x00;
while (1)
{
if(PINB == 0x02)
PORTC = 0x80;
else
PORTC = 0x00;
}
return 1;
}
HCI Lab Page 2 of 3
BSCS 4-A Burhan Ahmed Satti 01-134172-065
Result
Conclusion
The 7th pin lights up whenever there is input on 2nd port.
HCI Lab Page 3 of 3