Рефераты. Розробка мікропроцесорної системи управління та керування об'єктом на базі RISK AVR-мікроконтролера ATMega1281V-8AU

Для конфігурації роботи із зовнішнім ОЗП використовуються регістри XMCRA, XMCRB (рядки 8, 9, 58-63).

Для конфігурування модуля USART використовуються UCSR0A, UCSR0B, UCSR0C (рядки 10-12, 64-72).


Лістинг програми

Мітка

Команда

Операнди

Примітка

1


.nolist



2


.include

"С:\Kursovoy\PMS_Kursovoy \"m1281def.inc"


3


.list



;--Содержимое регистров

4


.equ

ADCRS = 0b10000101

;ADEN=1 - АЦП включ., ADSC=0, ;ADATE=0 (одиночный режим), ADIF=0, ;ADEN=0, ADFPS[2..0]=101 (делитель ;частоты на 32) --> рабочая частота ;АЦП=2МГц : 32 = 62,5кГц

5


.equ

ADMX0 = 0b00000000

;несимметричный вход ADC0, внешнее ;опорное напряжение






Мітка

Команда

Операнди

Примітка






6


.equ

ADMX6 = 0b00000110

;несимметричный вход ADC6, внешнее ;опорное напряжение

7


.equ

ADMX3_1 = 0b00010011

;симметричный входы ADC3-1, внешнее ;опорное напряжение

8


.equ

XMCR_A = 0b10000001

;SRE=1 (разрешена работа с вн. ОЗУ), ;SRL[2..0]=0 (один сектор), ;SRW[11..00]=0001 (один такт ожидания)

9


.equ

XMCR_B = 0b00000100

;XMBK=0, биты 6-3 зарезервир ;XMM[2..0]=100 (выводы РС[7..4] могут ;свободно использоваться как порты ВВ)

10


.equ

UCSRA = 0b00100000


; регистр А управления USART

11


.equ

UCSRB = 0b00000010

; регистр B управления USART

12


.equ

UCSRC = 0b00100110

;UMSEL[01..00]=00 (асинхр. режим ;работы), UPM[01..00]=10 (проверка на ;четность), UCSZ[01..00 (8-ми битный ;формат посылок)]

13


.equ

TCCRA = 0b00110010

;COM1A[1..0]=00 отключен вывод ;OCR1A, COM1B[1..0]=11 OCR1B при ;прямом счете на выходе равен 1, при ;инверстном счете - 0, COM1C[1..0]=00 ;отключен вывод OCR1C, ;WGM[11..10]=10 определяет 10 режим ;работы

14


.equ

TCCRB = 0b00010010

;WGM[13..12]=10 определяет 10 режим ;работы, CS[12..10]=010 источник ;тактового сигнала (clk_IO/8)

15


.equ

TCCRC = 0b00000000

; регистр управления Т1

;--Рабочие регистры

16


.def

t0 = r16

; регистру r16 присвоить имя t0

17


.def

t1 = r17

; регистру r176 присвоить имя t10

;--Начало

18


.cseg


; начало сегмента кода

19


.org 0



20


rjmp

Initial

; переход к подпрограмме Initial






Мітка

Команда

Операнди

Примітка

;--Инициализация МК

21

Initial:

ldi

t1, low(RAMEND)

;инициализация

22


out

SPL, t1

;младшего и старшего байтов

23


ldi

t1, high(RAMEND)

;указателя

24


out

SPH, t1

;стека

;--Конфигурация портов ввода-вывода

;--Включаем подтягивающие резисторы и задаем начальное значение выводов

25


ldi

t0, 0x00

; для порта А не требуются

26


out

PORTA, t0

; подтягивающие резисторы

27


ldi

t0, 0b00111111

; для выводов PB5-0 включить

28


out

PORTB,t0

; подтягивающие резисторы

29


ldi

t0, 0b11110000

; для выводов PС7-4 включить

30


out

PORTC,t0

; подтягивающие резисторы

31


ldi

t0, 0b11000000

; для выводов PD7, PD6 включить

32


out

PORTD,t0

; подтягивающие резисторы

33


ldi

t0, 0b11111101

; для всех выводов портаЕ, кроме РF1,

Мітка

Команда

Операнди

Примітка

34


out

PORTЕ,t0

;включить подтягивющие резисторы

35


ldi

t0, 0xFF

; для всех выводов порта F

36


out

PORTF,t0

;включить подтягивющие резисторы

37


ldi

t0, 0b11100000

; для выводов порта PG7-5

38


out

PORTG,t0

;включить подтягивющие резисторы

;--Конфигцрируем выводы портов (режим работы)

39


ldi

t1, 0xFF

;выводы РА

40


out

DDRA, t1

;определить как выходы

41


ldi

t1, (1<<DDB7)|(1<<DDB6)

;выводы РВ7, РВ6 определить как

42


out

DDRB,t1

;выходы, остальные - как входы

43


ldi

t1, (1<<DDC3)|(1<<DDC2)|

(1<<DDC1)|(1<<DDC0)

; выводы РС3-0 определить как выходы


44


out

DDRC,t1

; остальные – как входы

45


ldi

t1, (1<<DDD5)|(1<<DDD4)|

(1<<DDD3)|(1<<DDD2)|

(1<<DDD1)|(1<<DDD0)

; выводы PD6, PD7 определить как

; входы

46


out

DDRD,t1

;остальные выводы – как выходы

47


ldi

t1, (1<<DDE1)

; вывод РЕ1 установить как выход,

48


out

DDRE,t1

;остальные как вход

49


ldi

t1, (1<<DDG4)|(1<<DDG3)|

(1<<DDG2)|(1<<DDG1)|

(1<<DDG0)

;выводы PG7-5 установить как входы

50


out

DDRG,t1

;остальные как выходы

51


nop



;--Инициализация АЦП

52


ldi

t1, ADMX0

;записать в регистр ADMUX значение

53


ldi

XL, ADMUX

;соответствующее необходимому режиму

54


st

X, t1

;работы мультиплексора АЦП

55


ldi

t1, ADCRS

;записать в регистр ADCSRA значение

56


ldi

XL, ADCSRA

;соответствующее необходимому режиму

57


st

X,t1

;работы АЦП

Мітка

Команда

Операнди

Примітка

;--Инициализация работы с внешним ОЗУ

58


ldi

t1, XMCR_A

;сконфигурировать регистр А

59


ldi

XL, XMCRA

;управления

60


st

X, t1

; внешним ОЗУ

61


ldi

t1, XMCR_B

;сконфигурировать регистр В

62


ldi

XL, XMCRB

;управления

63


st

X, t1

; внешним ОЗУ

;--Порт USART

64


ldi

t1, UCSRA

;сконфигурировать регистр А

65


ldi

XL, UCSR0A

;управления

66


st

X, t1

; модулем USART

67


ldi

t1, UCSRB

;сконфигурировать регистр B

68


ldi

XL, UCSR0B

;управления

69


st

X, t1

; модулем USART

70


ldi

t1, UCSRC

;сконфигурировать регистр C

71


ldi

XL, UCSR0C

;управления

72


st

X, t1

; модулем USART

Мітка

Команда

Операнди

Примітка

;--Инициализация ШИМ

73


ldi

t1, TCCRA

;сконфигурировать регистр А

74


ldi

XL, TCCR1A

;управления

75


st

X, t1

;таймером-счетчиком Т1

76


ldi

t1, TCCRB

;сконфигурировать регистр В

77


ldi

XL, TCCR1B

;управления

78


st

X, t1

;таймером-счетчиком Т1

79


ldi

t1, TCCRC

;сконфигурировать регистр С

80


ldi

XL, TCCR1C

;управления

81


st

X, t1

;таймером-счетчиком Т1

82


ldi

t0, 0x07

; установка коеффициента

83


ldi

XL, ICR1H

; пересчета ТОР

84


st

X, t0

; равного

85


ldi

t0, 0xFF

; ТОР=2^(N-1), где

86


ldi

XL, ICR1L

; N=11, т.е.

87


st

X, t0

; ТОР=2047

;--Инициализация ЖКИ

88

initLCD_1:

ldi

t0,$20

;4-битный интерфейс, 1-строка, шрифт-5х7 точек

89

initLCD_2:

ldi

t0,$0C

;включить дисплей, выключить курсор

90

initLCD_3:

ldi

t0,$01

;очистить дисплей и установить курсор в начальную позицию

91


nop



92


ret




Висновок


В данній курсовій работі була розроблена система управління та керування об’єктом на базі одно кристального RISK AVR-мікроконтролера ATMega1281V-8AU , що складається з:

-     Системи аналогового вводу інформації;

-     Системи аналогового виводу інформації;

-     Системи дискретного вводу інформації;

-     Системи дискретного виводу інформації;

-     Клавіатура;

-     Індикація;

-     Зовнішній ОЗП;

-     Інтерфейс зв’язку з ПЕОМ.

Список використаних джерел


1.       Евстифеев А.В. Микроконтроллеры AVR семейства Mega. Руководство пользователя. – М.: Издательский дом «Додэка-ХХІ», 2007. – 592с.: ил.

2.       Голубцов М.С., Кириченкова А.В. Микроконтроллеры AVR: от простого к сложному. Изд.2-е, испр. и доп. – М.: СОЛОН-Пресс, 2004. – 304с.

3.       Трамперт В. Измерение, управление и регулирование с помощью AVR микроконтроллеров.: Пер. с нем. – К.: «МК-Пресс», 2006. – 208с.

4.       Микропроцессоры: В 3 кн. Кн. 2. Средства сопряжения. Контролирующие и информационно-управляющие системы: Учеб. для втузов/В.Д. Вернер, Н.В. Воробьев, А.В. Горячев и др.; Под. ред. Л.Н. Преснухина. – М.: Высш. шк., 1986. -383 с.: ил.

5.       #"#">http://tehdoka.ru/BP/mst.php

7.       http://www.gaw.ru/html.cgi/txt/interface/rs232/


Страницы: 1, 2, 3



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.