17
Lecture 15 AUTOMATIC CONTROL AUTOMATIC CONTROL SYSTEMS SYSTEMS Ali Karimpour Associate Professor Ferdowsi University of Mashhad

AUTOMATIC CONTROL SYSTEMS - Ferdowsi University of …profsite.um.ac.ir/~karimpor/autocontrol/lec15_auto.pdf · AUTOMATIC CONTROL SYSTEMS Ali Karimpour ... using schematic techniques

  • Upload
    hanga

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

Page 1: AUTOMATIC CONTROL SYSTEMS - Ferdowsi University of …profsite.um.ac.ir/~karimpor/autocontrol/lec15_auto.pdf · AUTOMATIC CONTROL SYSTEMS Ali Karimpour ... using schematic techniques

Lecture 15

AUTOMATIC CONTROLAUTOMATIC CONTROLSYSTEMSSYSTEMSAli Karimpour

Associate ProfessorFerdowsi University of Mashhad

Page 2: AUTOMATIC CONTROL SYSTEMS - Ferdowsi University of …profsite.um.ac.ir/~karimpor/autocontrol/lec15_auto.pdf · AUTOMATIC CONTROL SYSTEMS Ali Karimpour ... using schematic techniques

Ali Karimpour Dec 2012

Chapter 15

Lecture 15

The AVR Programming and Simulation

2

Page 3: AUTOMATIC CONTROL SYSTEMS - Ferdowsi University of …profsite.um.ac.ir/~karimpor/autocontrol/lec15_auto.pdf · AUTOMATIC CONTROL SYSTEMS Ali Karimpour ... using schematic techniques

Ali Karimpour Dec 2012

Chapter 15

Contents

Bascom

CodeVision

ProteusThe Proteus provides detailed instructions on how to create new simulator models, using schematic techniques.

Programming a microcontroller through high level language(Basic)

Programming a microcontroller through high level language(C)

3

Page 4: AUTOMATIC CONTROL SYSTEMS - Ferdowsi University of …profsite.um.ac.ir/~karimpor/autocontrol/lec15_auto.pdf · AUTOMATIC CONTROL SYSTEMS Ali Karimpour ... using schematic techniques

Ali Karimpour Dec 2012

Chapter 15A simple program that counts the cows in a field.

4

Suitable devices

Micro

LCD

Switches

Capacitors and resistors

Page 5: AUTOMATIC CONTROL SYSTEMS - Ferdowsi University of …profsite.um.ac.ir/~karimpor/autocontrol/lec15_auto.pdf · AUTOMATIC CONTROL SYSTEMS Ali Karimpour ... using schematic techniques

Ali Karimpour Dec 2012

Chapter 15A simple program that counts the cows in a field.

5

Suitable devices

Micro

LCD

Switches

Capacitors and resistors

Page 6: AUTOMATIC CONTROL SYSTEMS - Ferdowsi University of …profsite.um.ac.ir/~karimpor/autocontrol/lec15_auto.pdf · AUTOMATIC CONTROL SYSTEMS Ali Karimpour ... using schematic techniques

Ali Karimpour Dec 2012

Chapter 15

BascomAVR setup

6

$regfile = "M8535.dat“

Config Lcdpin = Pin , Db4 = Pinb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.1 , Rs = Portb.2

Config Lcd = 16 * 2

Locate 2 , 10Lcd “hello”

Config Debounce = 1000

Dim A As Byte

Declare Sub IncrementDeclare Sub Decrement

Page 7: AUTOMATIC CONTROL SYSTEMS - Ferdowsi University of …profsite.um.ac.ir/~karimpor/autocontrol/lec15_auto.pdf · AUTOMATIC CONTROL SYSTEMS Ali Karimpour ... using schematic techniques

Ali Karimpour Dec 2012

Chapter 15

7

Cursor Off

A = 0

Do

Loop

End

…….

Debounce Pinb.0 , 1 , Decrement , SubDebounce Pind.5 , 1 , Increment , Sub

BascomAVR setup

Page 8: AUTOMATIC CONTROL SYSTEMS - Ferdowsi University of …profsite.um.ac.ir/~karimpor/autocontrol/lec15_auto.pdf · AUTOMATIC CONTROL SYSTEMS Ali Karimpour ... using schematic techniques

Ali Karimpour Dec 2012

Chapter 15

8

Sub Increment

ClsIncr AIf A > 30 Then A = 0HomeLcd AReturn

End Sub Increment

Sub Decrement

ClsDecr AHomeLcd AReturn

End Sub Decrement

See example#1 for more information

BascomAVR setup

Page 9: AUTOMATIC CONTROL SYSTEMS - Ferdowsi University of …profsite.um.ac.ir/~karimpor/autocontrol/lec15_auto.pdf · AUTOMATIC CONTROL SYSTEMS Ali Karimpour ... using schematic techniques

Ali Karimpour Dec 2012

Chapter 15

Proteus as a simulator

9

See example#1 for more information

Page 10: AUTOMATIC CONTROL SYSTEMS - Ferdowsi University of …profsite.um.ac.ir/~karimpor/autocontrol/lec15_auto.pdf · AUTOMATIC CONTROL SYSTEMS Ali Karimpour ... using schematic techniques

Ali Karimpour Dec 2012

Chapter 15

Code Vision AVR setup

After opening Code Vision AVR click on:

Tools CodeWizardAVR

select you chip version and oscillator frequency

10

Page 11: AUTOMATIC CONTROL SYSTEMS - Ferdowsi University of …profsite.um.ac.ir/~karimpor/autocontrol/lec15_auto.pdf · AUTOMATIC CONTROL SYSTEMS Ali Karimpour ... using schematic techniques

Ali Karimpour Dec 2012

Chapter 15

Set/clear the pins you want

11

Page 12: AUTOMATIC CONTROL SYSTEMS - Ferdowsi University of …profsite.um.ac.ir/~karimpor/autocontrol/lec15_auto.pdf · AUTOMATIC CONTROL SYSTEMS Ali Karimpour ... using schematic techniques

Ali Karimpour Dec 2012

Chapter 15

LCD setup

Control LCD with port B:

Program Generate, save and exit

12

Page 13: AUTOMATIC CONTROL SYSTEMS - Ferdowsi University of …profsite.um.ac.ir/~karimpor/autocontrol/lec15_auto.pdf · AUTOMATIC CONTROL SYSTEMS Ali Karimpour ... using schematic techniques

Ali Karimpour Dec 2012

Chapter 15

C code of project

13

/*****************************************************This program was produced by theCodeWizardAVR V2.05.0 EvaluationAutomatic Program Generator© Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.http://www.hpinfotech.com

Project : Version : Date : 2012/12/21Author : Freeware, for evaluation and non-commercial use onlyCompany : Comments:

Chip type : ATmega8535Program type : ApplicationAVR Core Clock frequency: 8.000000 MHzMemory model : SmallExternal RAM size : 0Data Stack size : 128*****************************************************/

Page 14: AUTOMATIC CONTROL SYSTEMS - Ferdowsi University of …profsite.um.ac.ir/~karimpor/autocontrol/lec15_auto.pdf · AUTOMATIC CONTROL SYSTEMS Ali Karimpour ... using schematic techniques

Ali Karimpour Dec 2012

Chapter 15

C code of project

14

#include <mega8535.h>

// Alphanumeric LCD Module functions#include <alcd.h>

// Declare your global variables here

void main(void){// Declare your local variables here

// Input/Output Ports initialization// Port A initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTA=0x00;DDRA=0x00;

Page 15: AUTOMATIC CONTROL SYSTEMS - Ferdowsi University of …profsite.um.ac.ir/~karimpor/autocontrol/lec15_auto.pdf · AUTOMATIC CONTROL SYSTEMS Ali Karimpour ... using schematic techniques

Ali Karimpour Dec 2012

Chapter 15

C code of project

15

// Port B initialization// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=In // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=T PORTB=0x00;DDRB=0xFE;

// Port C initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00;DDRC=0x00;

// Port D initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00;DDRD=0x00;

Page 16: AUTOMATIC CONTROL SYSTEMS - Ferdowsi University of …profsite.um.ac.ir/~karimpor/autocontrol/lec15_auto.pdf · AUTOMATIC CONTROL SYSTEMS Ali Karimpour ... using schematic techniques

Ali Karimpour Dec 2012

Chapter 15

C code of project

16

……………………. Timer, watchdog,

// Alphanumeric LCD initialization// Connections specified in the// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:// RS - PORTB Bit 2// RD - PORTB Bit 3// EN - PORTB Bit 1// D4 - PORTB Bit 4// D5 - PORTB Bit 5// D6 - PORTB Bit 6// D7 - PORTB Bit 7// Characters/line: 16lcd_init(16);

while (1){// Place your code here}

}

Page 17: AUTOMATIC CONTROL SYSTEMS - Ferdowsi University of …profsite.um.ac.ir/~karimpor/autocontrol/lec15_auto.pdf · AUTOMATIC CONTROL SYSTEMS Ali Karimpour ... using schematic techniques

Ali Karimpour Dec 2012

Chapter 15

C code of project

17