Автор: Пользователь скрыл имя, 12 Мая 2012 в 21:19, курсовая работа
Задание по курсовому проектированию
Разработать устройство дистанционного управления, удовлетворяющее следующим критериям:
радиоволновая передача и приём
применить механизм амплитудной манипуляции (ASK)
построение схем приёмника и передатчика при помощи микроконтроллеров AVR
двухканальное управление приемником
Введение………………………………………………………………3
Обзор литературы…………………………………………………….7
Блок схемы алгоритма………………………………………………..9
Описание алгоритма работы микроконтроллера передатчика..
Описание алгоритма работы микроконтроллера приёмника..11
Описание и назначение узлов структурной схемы……………… 12
Описание входов и узлов функциональной схемы………………..13
5.1. Функциональная схема передатчика…………………………….
5.2. Функциональная схема приёмника…………………………….
6. Описание принципиальной схемы устройства…………………….15
6.1. Принципиальная схема передатчика……………………………..
6.2. Принципиальная схема приёмника……………………………….
7. Расчёт потребляемой мощности……………………………………..16
8. Перечень используемых элементов…………………………………17
9. Заключение……………………………………………………………18
10. Список литературы………………………………………………….19
Приложение A. Структурная схема……………………………………20
Приложение Б1. Функциональная схема передатчика………………..21
Приложение Б2. Функциональная схема приёмника………………….22
Приложение В1. Принципиальная схема передатчика……………….23
Приложение В2. Принципиальная схема приёмника…………………24
Приложение В3. Принципиальная схема источника питания приемника………………………………………………………………..25
Приложение Г1. Код программы передатчика………………………..26
Приложение Г2. Код программы приёмника………………………….27
8
Перечень используемых
элементов
9
Заключение
Разработанное в данной курсовой работе устройство дистанционного управления предназначено для двухканальным управлением некотторым объектом (объектами) . Количество каналов или управляемых дистанционно параметров может быть увеличено путем использования в передатчике микроконтроллера с большим числом выводов и задействовании неиспользуемых выводов микроконтроллера AT90S2313 в приёмнике. Как было показано выше, передатчик в основном потребляет малое количество энергии за счёт включения в нем спящего режима микроконтроллер AT90S2313. В качестве ядра схемы были выбрана микроконтроллеры AVR, чему способствует его широкая популярность, простота и доступность информации. Следует отметить, что критерием выбора остальной элементной базы вовсе не был какой-либо определенный показатель.
В устройстве реализована надежная передача данных со стороны достоверности передаваемых данных выраженная в 4 байтной посылке байтов команды определенного вида, дабы исключить возможность непреднамеренного управления приемником устройствами, работающими в том же частотном диапазоне, а со стороны достоверности доставки данных – 4кратной их посылке приемнику.
Устройство
частично по элементному составу
было успешно симулировано в программе
Proteus, что подтверждает работоспособность
реально собранного устройства на практике.
Список
литературы
Приложение A. Структурная схема
Приложение
Б1. Функциональная схема
передатчика
Приложение
Б2. Функциональная схема
приёмника
Приложение
В1. Принципиальная схема
передатчика
Приложение
В2. Принципиальная схема
приёмника
Приложение
В3. Принципиальная схема
источника питания приёмника
Приложение
Г1. Код программы передатчика
.include "2323def.inc"
.equ TxD =0
.equ key1 =2
.equ key2 =1
.equ Key_1 =01
.equ Key_2 =02
.def temp =R16
.def temp2 =R17
.def Txbyte =R18
.def init_byte =R19
.def second_byte =R20
.def command =R21
.def bitcnt =R23
.def count =R24
.def dcount =R25
.def dcount2 =R26
.def rollcode =R27
.cseg
.org 0
rjmp reset
ret
reset:
ldi temp,RAMEND
out SPL,temp
ldi temp,0b00000001
out DDRB,temp
ldi temp,0b00000111
out portB,temp
start:
clr second_byte
Release_keys:
rcall delay
sbis PINB,key1
rjmp Release_keys
rcall delay
sbis PINB,key2
rjmp Release_keys
;subi second_byte,$20
ldi temp,0x30
out MCUCR,temp
ldi temp,0x40
out GIMSK,temp
sei
sleep
keys:
sbic PINB,key1
rjmp next_key
ldi command,Key_1
rjmp Enable_RF
next_key:
ldi command,Key_2
Enable_RF:
ldi count,4
load:
ldi init_byte,$30
mov txbyte,init_byte
rcall b_transmit
mov txbyte,second_byte
rcall b_transmit
mov txbyte,command
rcall b_transmit
eor init_byte,second_
eor init_byte,command
mov txbyte,init_byte
rcall b_transmit
dec count
brne load
inc second_byte
rjmp
Release_keys
b_transmit:
ldi bitcnt,10
com Txbyte
sec
putchar0:
brcc putchar1
cbi PORTB,TxD
rjmp putchar2
putchar1:
sbi PORTB,TxD
nop
putchar2:
rcall UART_delay
rcall UART_delay
lsr Txbyte
dec bitcnt
brne putchar0
ret
.equ b=135
.equ c=2
UART_delay:
ldi temp2,c
UART_delay2:
ldi temp,b
UART_delay1:
dec temp
brne UART_delay1
dec temp2
brne UART_delay2
ret
delay:
ldi dcount2,10
delay_:
ldi dcount,250
delay1:
dec dcount
brne delay1
dec dcount2
brne delay_
ret
Приложение
Г2. Код программы приёмника
.include "2313def.inc"
.equ BAUD =103
.equ first_byte =$30
.def temp =R16
.def temp2 =R17
.def rxbyte =R19
.def command =R20
.def init_byte =R21
.def second_byte =R22
.def enc_second_byte=R25
.def output =R23
.def bitcnt =R24
.def backup =R26
.def dcount =R27
.def dcount2 =R28
.cseg
.org 0
rjmp reset
.org $007
rjmp start
reset:
ldi temp,RAMEND
out SPL,temp
ldi temp,0b11111111
out DDRB,temp
ldi temp,0b11110000
out DDRD,temp
ldi temp,BAUD
out UBRR,temp
ldi temp,0b00011000
out UCR,temp
clr output
clr second_byte
clr backup
start:
ldi init_byte,first_
rcall receive
cp rxbyte,init_byte
brne start
rcall receive
mov temp,rxbyte
cp temp,second_byte
brne check
rjmp next
check:
inc backup
cp backup,rxbyte
breq next
mov backup,rxbyte
rjmp start
next:
mov second_byte,rxbyte
rcall receive
mov command,rxbyte
rcall receive
eor init_byte,command
eor init_byte,second_
cp rxbyte,init_byte
brne start
rcall delay
eor output,command
out portb,output
inc second_byte
rjmp start
receive:
sbis USR,RXC
rjmp receive
in Rxbyte,UDR
ret
delay:
ldi dcount2,255
delay_:
ldi dcount,255
delay1:
dec dcount
brne delay1
dec dcount2
brne delay_
ret