Автор работы: Пользователь скрыл имя, 26 Января 2013 в 01:30, курсовая работа
В результате выполнения курсовой работы, с применением компьютерных технологий, а именно, программы Keil μVision2, был разработан программируемый генератор на базе однокристальной микроконтроллера 87C52 с тактовой частотой 24 МГц. Спроектированы электрическая, структурная, принципиальная и функциональная схемы генератора сигнала в соответствии с техническим заданием. Получен шестнадцатеричный код для программирования микросхемы памяти.
Анализ задания…………………………………………………………..…5
Формирование кодовой таблицы аналогового сигнала…………....…….5
Общая характеристика микроконтроллера………………………….…....8
Размещение кодовой таблицы в памяти……………………………..….22
Порт вывода аналогового сигнала..…………………………...…………23
Режим и порядок работы генератора сигнала……………………..…...23
Разработка структурной схемы генератора сигнала..…………….…….25
Разработка функциональной схемы генератора сигнала...……………..28
Разработка принципиальной схемы генератора………………………...30
Разработка алгоритма работы и управляющей программы микроконтроллера……..……………………………………………………..….31
Анализ результатов проектирования…………………….………………...…...33
Список литературы………………………………………………………………40
РОСЖЕЛДОР
Федеральное государственное
бюджетное образовательное
высшего профессионального образования
«Ростовский государственный университет путей сообщения»
(ФГБОУ ВПО РГУПС)
Кафедра «Автоматика и телемеханика на железнодорожном транспорте»
РАЗРАБОТКА ПРОГРАММИРУЕМОГО ГЕНЕРАТОРА СИГНАЛА
Пояснительная записка к курсовой работе по дисциплине
«Основы микропроцессорной техники»
ОМТ 12. .ПЗ
Руководитель работы
к.т.н., доцент _______________ В.В. Шаповалов
Студент группы ___________ ___________________ ________
Ростов-на-Дону
2012г.
СОДЕРЖАНИЕ
Анализ результатов проектирования…………………….……………….
Список литературы…………………………………
1 АНАЛИЗ ЗАДАНИЯ
По заданию необходимо спроектировать генератор, формирующий аналоговый сигнал, заданный на рисунке 1.
Для получения заданного аналогового сигнала на выходе генератора необходимо провести его преобразование. Обработка сигнала производится с учетом заданной частоты дискретизации Fs равной 40кГц, максимального напряжения Umax равного 4,06 В и количества отсчетов на период N равного 32.
Разобьем заданный сигнал на 32 временных интервала, величина которых ts определяется частотой дискретизации:
ts=1/Fs,
ts=1/40 кГц=0,025 мс.
Таким образом, длительность одного периода сигнала составит:
T=N*ts,
T=32*0,025=0,8 мс.
Проекции точек, соответствующих границам временных интервалов, на ось напряжений (отсчеты), позволяют получить мгновенные значения напряжений в точках дискретизации.
Для каждого отсчета формируемого сигнала необходимо определить кодовую комбинацию, соответствующую значению выходного напряжения Uвых.
С учетом формы
сигнала и необходимой точности
преобразования будем использовать
восьмиразрядные кодовые
По заданию максимальное выходное напряжение соответствует величине 4,06 В, следовательно опорное напряжение Uref можно принять равным 5,12 В.
Значение напряжения, формируемого на выходе n-разрядного ЦАП, определяется соотношением:
UвыхN=DN*Uref/2n,
где Dn – десятичный эквивалент числа на входе ЦАП, соответствующий отсчету N,
U ref – величина опорного напряжения,
2n – количество уровней квантования при n-разрядном преобразовании.
Минимальное приращение напряжения на выходе ЦАП определяется как:
∆UвыхMIN=Uref/2n,
∆UвыхMIN=5,12/256=0,02 В
Следовательно, десятичный эквивалент числа на входе ЦАП, соответствующий отсчету N, определяется соотношением:
DN=UвыхN/∆UвыхMIN,
где UвыхN – значение выходного напряжения, принятое для отсчета N.
Результаты обработки заданного сигнала приведены на рисунке 1.
Рисунок 1 – Дискретизация заданного сигнала генератора
Для каждого значения DN следует определить соответствующую шестнадцатиричную кодовую комбинацию HN, округляя значения до ближайшего целого.
Результаты
дискретизации аналогового
Таблица 1 –
Кодовая таблица выходного
№ Отсчета |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
Uвых, В |
1,7 |
2,22 |
2,68 |
3 |
3,3 |
3,5 |
3,7 |
3,8 |
3,98 |
4,06 |
1,9 |
1,3 |
0,9 |
0,6 |
0,4 |
0,2 |
Кодовые комбинации, HEX |
52 |
6F |
85 |
96 |
A3 |
AE |
B7 |
BF |
C6 |
CA |
60 |
3E |
2C |
1F |
15 |
C |
Продолжение таблицы 1 | ||||||||||||||||
№ Отсчета |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
Uвых, В |
0,1 |
0 |
0,98 |
1,76 |
2,12 |
2,38 |
2,62 |
2,8 |
2,96 |
2,96 |
1,8 |
1,3 |
0,9 |
0,68 |
0,44 |
0,22 |
Кодовые комбинации, HEX |
4 |
0 |
31 |
57 |
69 |
77 |
82 |
8B |
93 |
94 |
5A |
3F |
2E |
21 |
16 |
A |
1.2 Общая
характеристика
Генератор разрабатывается на базе однокристальной микро-ЭВМ Intel 87C52 с рабочей частотой 24 МГц. Микроконтроллер семейства 8051 имеет следующие аппаратные особенности:
- внутреннее ОЗУ объемом 128 байт;
- четыре двунаправленных
побитно настраиваемых
- два 16-разрядных таймера-счетчика;
- встроенный тактовый генератор;
- адресация 64 Кбайт памяти программ и 64 Кбайт памяти данных;
- две линии запросов на прерывание от внешних устройств;
- интрефейс
для последовательного обмена
информацией с другими
Основные характеристики микроконтроллера приведены в таблице 2.
Таблица 2 – Основные характеристики микроконтроллера 87C52
Характеристика |
Микроконтроллер 87C52 |
1 |
2 |
|
КМОП |
|
PLCC44 (L44), DIP40 (D40), QFP44 (Q44) |
Продолжение таблицы 2 | |
1 |
2 |
|
коммерческий 0…+70, военный -55…+125, расширенный -40…+85 |
|
8 Кбайт ROM |
|
256 байт |
|
6 векторов прерываний, 4 уровня прерываний |
|
Три по шестнадцать бит |
|
32 двунаправленных параллельных порта ввода и вывода |
|
UART – универсальный
асинхронный последовательный |
|
Enhanced UART - улучшенный последовательный порт, ONCE – тестовый режим эмуляции микроконтроллера, QUICK-PULSE –алгоритм программирования «быстрыми пульсациями», low EMI - режим понижения электромагнитных помех, CO – выход тактового сигнала, POF – флаг выключения питания, Реверсивный таймер-счетчик Трехуровневая система защиты памяти. |
|
5В±20% |
|
UILmin =-0,5В, UILmax = 0,9В |
|
UIHmin =1,9В, UIHmax = 5,5В |
|
UOLmax =0,4 В |
|
UOHmin =4,3 В |
Продолжение таблицы 2 | |
1 |
2 |
|
IIL =50мкА |
|
IOL=15мА |
Условное графическое обозначение микроконтроллера 87C52 представлено на рисунке 2.
Рисунок 2 – УГО микроконтроллера 87C52 в корпусе DIP40
Назначение выводов микроконтроллера приведены в таблице 3.
Таблица 3 – назначение выводов микроконтроллера 87C52.
Имя |
Назначение |
P1.0…P1.7 |
восьмиразрядный универсальный двунаправленный порт P1 |
RST |
вход общего сброса |
P3.0…P3.7 |
восьмиразрядный универсальный двунаправленный порт P3, альтернативные функции: |
XTAL1 |
вход усилителя резонатора и внутреннего генератора |
XTAL2 |
Выход усилителя резонатора |
P2.0…P2.7 |
восьмиразрядный универсальный двунаправленный порт P2 |
PSEN^ |
выход разрешения чтения внешней памяти программ |
ALE |
выход стробирования адреса внешней памяти |
EA^ |
вход блокировки резидентной памяти программ |
P0.0…P0.7 |
восьмиразрядный универсальный двунаправленный порт P0 |
Vcc |
вход напряжения питания |
Vss |
общий вход, 0В |
1.2.1 Организация памяти и программная модель 87C52
Микроконтроллеры семейства MCS-51 относятся к классу устройств с гарвардской архитектурой, т.е имеют разделенные адресные пространства памяти программ и памяти данных. Функционально и логически они разделены за счет реализации различных алгоритмов адресации и формирования разных сигналов управления. К ним относятся: внешняя память программ (ВПП), резидентная память программ (РПП), внешняя память данных (ВПД), резидентная память данных (РПД).
Память программ предназначена для хранения команд, констант, управляющих слов инициализации, таблиц перекодировки входных и выходных переменных и т.п. Память имеет 16-битную шину адреса.
При обращении к внешней памяти программ все микроконтроллеры семейства 8051 всегда используют 16-разрядный адрес, что обеспечивает им доступ к 64 Кбайт ПЗУ. Микроконтроллер обращается к программной памяти при чтении кода операции и операндов (используя счетчик команд PC), а также при выполнении команд переноса байта из памяти программ в аккумулятор. При выполнении команд переноса данных адресации ячейки памяти программ, из которой будут прочитаны данные, может осуществляться с использованием как счетчика PC, так и специального двухбайтового регистра-указателя данных DPTR.
Структура памяти программ приведена на рисунке 2.
Рисунок 2 - Структура памяти программ микроконтроллера 87C52
Адресация ячеек памяти программ осуществляется с использованием программного счетчика PC или регистра-указателя данных DPTR.
Программная модель включает ресурсы микроконтроллера, которые доступны программисту при создании программы. Прежде всего, к ней относятся регистры общего назначения, программно доступные регистры специальных функций, ячейки резидентной памяти.
Объем внешней памяти данных может достигать 64 Кбайт. Для обращения к внешней памяти данных используется только косвенная адресация с помощью регистров R0 и R1 или с помощью 16-разрядного регистра-указателя DPTR. Обращение к внешней памяти данных сопровождается стробирующими сигналами чтения RD^ и записи WR^.
Структура памяти данных приведена на рисунке 3. Объем внешней памяти данных может достигать 64 кбайт.
Рисунок 3 - Структура памяти данных микроконтроллера 87C52
Резидентная память данных предназначена для хранения переменных в процессе выполнения управляющей программы. Обращение к резидентной памяти данных производится одним байтом в адресном пространстве от 00h до FFh (256 байт). К адресному пространству резидентной памяти данных примыкают адреса блока регистра специальных функций – SFR.
Таблица 4 - Регистры sfr микроконтроллера 87C52 | |||||
Имя |
Адрес |
Назначение |
Значение при сбросе, Bin | ||
1 |
2 |
3 |
4 | ||
В* |
F0h |
Регистр В |
00000000 | ||
АСС* |
E0h |
Аккумулятор |
00000000 | ||
PSW* |
D0h |
Слово состояния программы |
00000000 | ||
IP* |
B8h |
Регистр приоритетов прерываний |
X0000000 | ||
РЗ* |
B0h |
Порт 3 |
11111111 | ||
IE* |
A8h |
Регистр разрешения прерываний |
00000000 | ||
Р2* |
A0h |
Порт 2 |
11111111 | ||
SBUF |
99h |
Буфер последовательного порта |
XXXXXXXX | ||
SCON* |
98h |
Управление последовательным портом |
00000000 | ||
Р1* |
90h |
Порт 1 |
111111111 | ||
ТН1 |
8Dh |
Таймер/Счетчик 1. Старший байт |
00000000 | ||
ТН0 |
8Ch |
Таймер/Счетчик 0. Старший байт |
00000000 | ||
TL1 |
8Вh |
Таймер/Счетчик 1. Младший байт |
00000000 | ||
TL0 |
8Ah |
Таймер/Счетчик 0. Младший байт |
00000000 | ||
TMOD |
89h |
Регистр режима таймера/счетчика |
00000000 | ||
TCON* |
88h |
Регистр управления таймера/счетчика |
00000000 | ||
PCON |
87h |
Регистр управления потреблением |
00XX0000 | ||
DPH |
83h |
Старший байт указателя данных |
00000000 | ||
DPL |
82h |
Младший байт указателя данных |
00000000 | ||
Продолжение таблицы 4 | |||||
1 |
2 |
3 |
4 | ||
SP |
81h |
Указатель стека |
00000111 | ||
Р0* |
80h |
Порт 0 |
11111111 | ||
ТН2 |
CDh |
Старший байт данных Т/С2 |
00000000 | ||
TL2 |
CCh |
Младший байт данных Т/С2 |
00000000 | ||
RCAP2H |
CBh |
Регистр хранения Т/С2, старший байт |
00000000 | ||
RCAP2L |
CAh |
Регистр хранения Т/С2, младший байт |
00000000 | ||
T2MOD |
C9h |
Регистр режима Т/С2 |
XXXXXX00 | ||
T2CON* |
C8h |
Регистр управления Т/С2 |
00000000 | ||
SADEN |
B9h |
Регистр маски адреса ведомого |
00000000 | ||
IPH |
B7h |
2-й регистр приоритетов прерываний |
X0000000 | ||
SADDR* |
A9h |
Регистр маски ведомого |
00000000 | ||
AUXR |
8Eh |
Дополнительный регистр, запрет ALE |
XXXXXXX0 |
Информация о работе Разработка программируемого генератора сигнала