Проектирование микропроцессорной системы управления электронным замком
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
nbsp;
Рисунок 14
. Режим контроля. Было касание ключом
Рисунок 15
Рисунок 16 - Зарегистрированный ключ
Рисунок 17 - Незарегистрированный ключ
. Режим программирования. Стирание ключей
Рисунок 18
. Режим программирования. Запись ключей
Рисунок 19
Рисунок 20
. Отключение системы
Рисунок 21
10. Программное обеспечение микроконтроллера
Программа написана на языке Assembler, что делает код быстрее, чем если бы она была написана на Си. Кроме того, язык низкого уровня обеспечивает прямой доступ к портам ввода-вывода и регистрам микроконтроллера.
Код мастер-ключа записывается в ПЗУ программ микроконтроллера, начиная с адреса 2FDH. Длина кода составляет 8 байт. Последовательность цифр должна быть такая же, как и на корпусе touch-memory, читать нужно слева направо. Т.е. по адресу 2FDH заносится значение контрольной суммы, затем по адресам 2FEH - 303H шесть байт серийного номера, начиная со старшего байта, и, наконец, по адресу 304H - код семейства. Например, код в целом может выглядеть так: 67 00 00 02 D6 85 26 01.
Листинг программы для микроконтроллера приведен в приложении Б.
Заключение
Разработанная микропроцессорная система управления электронным замком полностью удовлетворяет поставленным требованиям. Осуществляется мониторинг и контроль дымовых оптических извещателей и вырабатываются ответные сигналы в зависимости от получаемых с датчиков данных. Реализована возможность перезаписи ключей типа iButton в память микроконтроллера.
Результаты моделирования на персональном компьютере показали, что разработанная микропроцессорная система функционирует правильно и выполняет возложенные на нее задачи.
Список использованных источников
1. Моченов С.В. Методические указания по выполнению курсового проекта по дисциплине Микропроцессорные системы - Ижевск: ИжГТУ, 2007 г.
. Баранов В.Н. Применение микроконтроллеров AVR: схемы, алгоритмы, программы. - М.Ж Издательский дом Додэка XXI, 2004
. Гребнев В.В. Микроконтроллеры семейства AVR фирмы Atmel. - М.: ИП РадиоСофт, 2002 - 176с.
4. Datasheet: Atmel 8-bit AVR Microcontroller.
. Datasheet: Atmel UHF ASK/FSK Transceiver.
. Datasheet: ADM1232 Microprocessor Supervisory Circuit.
. Datasheet: LTS-6000 Series.
.
.
.
.
.
.
.
">15.
Приложение А
Листинг моделирующей программы
unit Unit1;
interface, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Menus, StdCtrls, Unit2;= class(TForm): TMemo;: TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TButton;: TButton;: TMenuItem;: TMenuItem;N1Click(Sender: TObject);N2Click(Sender: TObject);Button1Click(Sender: TObject);Button2Click(Sender: TObject);N3Click(Sender: TObject);N6Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm1;Unit3, Unit4;
{$R *.dfm}TForm1.N1Click(Sender: TObject);.Show;.Lines.Add(Система в режиме контроля);;TForm1.N2Click(Sender: TObject);.Show;.Lines.Add(Запущен режим программирования);;TForm1.Button1Click(Sender: TObject);.Clear;.Lines.Add(Система запущена);;TForm1.Button2Click(Sender: TObject);.Clear;.Lines.Add(Работа системы остановлена);;TForm1.N3Click(Sender: TObject);
Memo1.Clear;
Memo1.Lines.Add(Установлено касание ключа к панели.);
Memo1.Lines.Add(Ключ найден в памяти микроконтроллера.);
Memo1.Lines.Add(Замок открывается.);
end;TForm1.N6Click(Sender: TObject);
Memo1.Clear;
Memo1.Lines.Add(Установлено касание ключа к панели.);
Memo1.Lines.Add(Ключ не найден в памяти микроконтроллера.);
Memo1.Lines.Add(Замок закрыт.);
end;.
//------------------------------------------------------------------------------------------Unit3;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Menus, StdCtrls;= class(TForm): TMemo;: TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;N2Click(Sender: TObject);N3Click(Sender: TObject);
{procedure ExitClick(Sender: TObject);}
{ Private declarations }
{ Public declarations };: TForm3;Unit1;
{$R *.dfm}TForm3.N2Click(Sender: TObject);.Clear;.Lines.Add(Внимание! В помещении обнаружено возгорание.);
Memo1.Lines.Add(Замок открывается.);
end;TForm3.N3Click(Sender: TObject);
Memo1.Clear;
Memo1.Lines.Add(Показатели задымления в пределах нормы.);
Memo1.Lines.Add(Замок закрыт.);
end;.
//------------------------------------------------------------------------------------------Unit4;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Menus;= class(TForm): TMainMenu;: TMenuItem;: TMemo;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;N1Click(Sender: TObject);N11Click(Sender: TObject);N21Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm4;
{$R *.dfm}TForm4.N1Click(Sender: TObject);
Memo1.Clear;
Memo1.Lines.Add(Было касание мастер-ключом в режиме
программирования.);
Memo1.Lines.Add(Все пользовательские ключи стерты.);
end;TForm4.N11Click(Sender: TObject);.Clear;.Lines.Add(1-ый ключ записан в память микроконтроллера.);;TForm4.N21Click(Sender: TObject);.Clear;.Lines.Add(2-ой ключ записан в память микроконтроллера.);;.
Приложение Б
Листинг прошивки микроконтроллера
; ------ DALLAS DS1990A based lock ------
; ------ Supports 9 keys + 1 master-key -----
;TARGET= AT89C2051= 0;0-off, 1-rdfn ports, 2-on
#INCLUDE "LIBR51.ASM";8051 SFR set_KHZ= 10000;OSC frequency, KHZ_MS = 20 ;system clock, MS= -(CLK_KHZ*RTC_MS)/12
;Macros:
#DEFINE LO(XXX) XXX & 0FFH
#DEFINE HI(XXX) (XXX >> 8) & 0FFH
#IF (DEBUG>1)
#INCLUDE "LIBDEF.ASM"
#ENDIF
; ------ Constantes ------.EQU 9;max number of keysC_ADDR.EQU 0A0H;I2C address for 24C02 (A0,A1,A2=0).EQU 25;x20mS TM access delay time.EQU 2;x20mS TM access enable delay.EQU 150;x20mS open pulse duration.EQU 250;x20mS return to normal mode delay
; ------ Ports ------.EQU P1;display data port.EQU INT0;key OPEN.EQU INT1;1-Wire port.EQU T0;I2C SDA line.EQU T1;I2C SCL line.EQU RXD;solenoid control line.EQU TXD;watchdog line.EQU P3.7;key SELECT
; ------ Variables ------
;Bit addressing memory:.EQU 020H;Real time program counterM.EQU O20H.0;40mS period bitM.EQU O20H.1;80mS period bi
Copyright © 2008-2014 studsell.com рубрикатор по предметам рубрикатор по типам работ пользовательское соглашение