Курсовая работа: Разработка устройства, предназначенного для формирования импульсных сигналов с заданным периодом и скважностью - ШИМ-регулятор
Вид микросхемы представлен на рисунке.10.

Рисунок
10
3 Схема макета
3.1 Схема принципиальная электрическая.
На рисунке 11 представлена разработанная принципиальная
электрическая схема.

Рисунок
11. Принципиальная электрическая схема
Номиналы
резисторов и конденсаторов:
R1,
R2……….1Ком;
R3,
R4……….6,8Ком;
C1,
C2, C5…...0,15 пФ;
С3,
С4………..220пФ.
3.2
Таблицы контактов
Далее в
таблицах 4-8 представлены таблицы контактов.

Таблица 4 .Контакты DD1

Таблица 5.Контакты X

Таблица 6.Контакты DD2

Таблица 7.Контакты DD3

Таблица 8.Контакты LPT
4 Программа управления
4.1 Логика работы
Программа осуществляет управление ШИМ-регулятором через LPT порт ЭВМ.
Для доступа к порту используются адреса 378H, 379H и 37AH. По адресу 378H осуществляется запись в регистр Data, по адресу 379H - в регистр Status и по адресу 37AH – в регистр Control.
В нашем случае, так как предполагается чтения из порта, а только
запись в порт, то регистр Status не используется. Регистр Data используется для передачи
байта в программируемый таймер-счётчик, а биты 0,1 и 2 регистра Control для выставления строба
записи и выбора режима записи в таймер-счётчик.
На рисунке 12 изображены контакты LPT порта и их принадлежность
тому или иному регистру.

Рисунок 12
Для формирования на выходе ШИМ- регулятора импульсов с заданной
скважностью и периодом, таймер-счётчик КР580ВИ53 был запрограммирован в режим
работы 2 и 1 – соответственно таймер-счётчик 1 и 0 . Таймер-счётчик 2 не
использовался.
В режиме 2
таймер выполняет функцию делителя входной частоты CLK на n. Таким образм мы
получаем импульсы с определённым периодом и подаём их на вход таймера-счётчика
0, который работает в режиме 1, то есть в режиме программируемого мультивибратора.
В результате на выходе таймера-счётчика 0 мы получаем импульсы с заданным
периодом и скважностью. Для реализации данного алгоритма была написана
программа. Теакт программы представлен в приложении А.
Заключение
В результате
проделанной работы были получены знания в области макетирования и сборке платы
ШИМ-регулятора, также были получены теоретические знания в области
микропроцессорных средств. Была разработана электрическая схема ШИМ –
регулятора и программа для управления через LPT порт ЭВМ. По результатам
проделанной работы можно сделать вывод, что ШИМ – регулятор достаточно прост с
точки зрения схемотехнического решения, а значит экономичен как с точки зрения
элементной базы, так и с точки зрения денежных затрат. У него высокий коэффициент
полезного действия и он упрощает работу транзистора, тем самым, обеспечивая его
сохранность. Эти достоинства делают предпочтительным применение ШИМ –
регулятора там, где необходима надёжность и простота реализации.
Приложение А
Текст программы
program lpt;
uses dos,crt;
var
addr_d,addr_c: word;
e:integer;
in_t,in_tau:byte;
input_t,input_tau: String;
procedure set_kanal_0(value: byte);{процедура установки режима работы счётчика-таймера 0}
var
PSW_strobe_0: byte;
PSW_strobe_1: byte;
N0_strobe_0: byte;
N0_strobe_1: byte;
psw_set: byte;
begin
PSW_strobe_1:=7;{00000111}
PSW_strobe_0:=6;{00000110}
N0_strobe_1:=1;{00000001}
N0_strobe_0:=0;{00000000}
psw_set:=50;{00110010}
{set mode}
Port[addr_c]:=PSW_strobe_1;
Port[addr_d]:=psw_set;
Port[addr_c]:=PSW_strobe_0;Port[addr_c]:=PSW_strobe_1;
{data => 8253}
Port[addr_d]:=value;
Port[addr_c]:=N0_strobe_0;Port[addr_c]:=N0_strobe_1;
end;
procedure set_kanal_1(value: byte); {процедура установки режима работы счётчика-таймера 1}
var
var
PSW_strobe_0: byte;
PSW_strobe_1: byte;
N1_strobe_0: byte;
N1_strobe_1: byte;
psw_set: byte;
begin
PSW_strobe_1:=7;{00000111}
PSW_strobe_0:=6;{00000110}
N1_strobe_1:=3;{00000011}
N1_strobe_0:=2;{00000010}
psw_set:=116;{01110100}
{set mode}
Port[addr_c]:=PSW_strobe_1;
Port[addr_d]:=psw_set;
Port[addr_c]:=PSW_strobe_0;Port[addr_c]:=PSW_strobe_1;
{data => 8253}
Port[addr_d]:=value;
Port[addr_c]:=N1_strobe_0;Port[addr_c]:=N1_strobe_1;
end;
begin
{считывание адреса LPT порта}
addr_d:=MemW[$0040:$0008];
{вычисление адреса регистра Control LPT порта}
addr_c:=addr_d+2;
while true do begin {считывание значений
скважности и периода в цикле}
write('Период [q - для выхода]: ');
readln(input_t);
if input_t='q' then break;
val(input_t,in_t,e);
set_kanal_1(in_t);
write('Скважность [q - для выхода]: ');
readln(input_tau);
if input_tau='q' then break;
val(input_tau,in_tau,e);
set_kanal_0(in_tau);
writeln('==========================================');
end;{цикл выполняется до тех пор, пока не введена буква q}
end.
|