Professional Documents
Culture Documents
Lec5 Aut Con
Lec5 Aut Con
AUTOMATIC CONTROL
SYSTEMS
Ali Karimpour
Associate Professor
Ferdowsi University of Mashhad
Reference:
1. ATMEGA 32 datasheet
2. AVR033: Getting Started with the Code Vision AVR C Compiler
lecture 5
Lecture 5
2
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
Contents
Introduction to AVR
Specially ATMEGA32 (One of the AVR ATMEGA microcontrollers family)
Code Vision
Programming a microcontroller through high level language(C)
Proteus
The Proteus provides detailed instructions on how to create new simulator models,
using schematic techniques.
Simple Examples
3
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
ATMEGA32 Features
High-performance, Low-power Atmel®AVR®
8-bit Microcontroller
131 Powerful Instructions – Most Single-clock
Cycle Execution
32 × 8 General Purpose Working Registers
32Kbytes of In-System Self-programmable Flash
program memory (W/E: 10,000 times)
1024Bytes EEPROM (W/E: 100,000 times)
Data retention: 20 years at 85°C/100 years at 25°C
Programming of Flash, EEPROM, Fuses, and
4
Lock Bits through the JTAG Interface
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
ATMEGA32 Features
Operating Voltages
• – 2.7V - 5.5V for ATmega32L
• – 4.5V - 5.5V for ATmega32
Speed Grades
• 0 - 8MHz for ATmega32L
• 0 - 16MHz for ATmega32
Power Consumption at 1MHz, 3V, 25°C
• Active: 1.1mA
• Idle Mode: 0.35mA
• Power-down Mode: < 1μA
5
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
ATMEGA 32
7
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
8
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
9
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
10
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
11
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
Program must
reset Watchdog
timer before
MCU RESET
occurring
12
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
External Interrupts
Internal Interrupts
13
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
16
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
GND Ground.
Port A (PA7..PA0)
Port A is an 8-bit bi-directional I/O port.
Port B (PB7..PB0)
Port B is an 8-bit bi-directional I/O port.
Port C (PC7..PC0)
Port C is an 8-bit bi-directional I/O port.
17
Port D (PD7..PD0) Port D is an 8-bit bi-directional I/O Ali
port.
Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
XTAL1
Input to the inverting Oscillator amplifier
and input to the internal clock operating
circuit.
XTAL2
Output from the inverting Oscillator
amplifier.
AVCC
AVCC is the supply voltage pin for Port A
and the A/D Converter.
AREF AREF is the analog reference pin for the A/D Converter. 18
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
ATMEGA32 Pin Descriptions
Port A Pins Alternate Functions
ADC0-7
19
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
ATMEGA32 Pin Descriptions
Port B Pins Alternate Functions
XCK/T0
T0 (Timer/Counter0 External Counter Input)
XCK (USART External Clock Input/Output)
T1
T1 (Timer/Counter1 External Counter Input)
INT2/AINO
AIN0 (Analog Comparator Positive Input)
INT2 (External Interrupt 2 Input)
20
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
ATMEGA32 Pin Descriptions
Port D Pins Alternate Functions
PD2
INT0 (External Interrupt 0 Input)
PD3
INT1 (External Interrupt 1 Input)
21
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
22
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
23
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
3. Chip selection
4. Clock setting
24
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
5. Port setting
- Selecting port
- Input / Output selection (DDRx)
x can be: A / B / C / D
25
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
26
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
7. Timers setting
- Timer Number selection
- Timer or Counter determination
- Timer Frequency determination (CSxx)
- Timer Mode determination (WGMxx)
- Timer Interrupt (OCIEx / TOIEx)
- Timer Initial Values (TCNTx / OCRx)
x can be: 0 / 1 / 2
27
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
28
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
9. LCD setting
- LCD Port selection
- LCD Selection
- LCD Pin Out explanation
29
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
30
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
Template Codes
Message Window
31
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
Generated Program.txt
Generated Program.dox
Generated Program.pdf
32
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
33
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
Proteus 7 Professional
The Proteus provides detailed instructions on how to create new
simulator models, using schematic techniques.
34
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
Proteus 7 Professional
1. Opening Proteus
1. Opening Proteus.
2. Placing the devices of the circuit.
3. Wiring the circuit.
3. Programming the micro (ATmega32).
4. Adding probes and sensors if needed.
5. Simulating the circuit.
35
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
Proteus 7 Professional
Select mode
Component mode
Wiring mode
Voltage and
Current Probes
Seneor and
Instrumentation
36
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
Proteus 7 Professional
You can search
for your device
here
OR find it
from the
Category
37
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
Proteus 7 Professional
38
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
Proteus 7 Professional
39
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
Proteus 7 Professional
40
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
Simple Examples
Simple programming and simulation examples
41
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
Simple Examples
Example1
Used Blocks:
I/O ports
42
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
Simple Examples
Example2
Used Blocks:
I/O ports
Counter0
43
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
Simple Examples
Example3
Used Blocks:
I/O ports
Counter0
PWM2
44
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
Simple Examples
Example4
Used Blocks:
I/O ports
Counter0
PWM2
Interrupt
45
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
Simple Examples
Example5
Used Blocks:
I/O ports
Counter0
PWM2
Interrupt
USART
46
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013
lecture 5
A manual control system with brain
microcontroller
47
Ali Karimpour, Hamed Moll-Ahmadian Apr 2013