Кодовый замок

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

> 40 лет

Технология КМОП:

Экономичная, высокоскоростная технология КМОП

Полностью статическая архитектура

Широкий рабочий диапазон напряжений питания - от 2,0В до 5,5В

Промышленный и расширенный температурный диапазоны

Низкое потребление энергии

 

 

3. Структурная схема устройства и её описание

 

.1 Структурная схема

 

 

 

 

 

 

 

3.2 Назначение отдельных функциональных блоков

 

Назначение микроконтроллера PIC16F676: осуществляет управление всей системой, а именно: осуществляет цикл по сканированию клавиатуры, исходя из полученных сканированием данных, определяет код нажатой клавиши и выполняет некоторые запрограммированные действия.

Назначение светодиодов: сообщение и правильности введенного кода.

Назначение клавиатуры: ввод кода.

 

 

3.3 Алгоритм работы структурной схемы

 

 

 

 

 

 

 

 

 

 

 

нет

 

 

 

нетнет

 

 

 

да

да

 

 

 

 

 

 

 

 

 

4. Разработка функциональной и принципиальной схемы

 

.1 Описание принципиальной схемы устройства

 

 

Описание схемы:

Данная принципиальная электрическая схема - графическое изображение с помощью условных графических и буквенно-цифровых обозначений (пиктограмм) связей между элементами проектируемого устройства - кодового замка.

На ней видно как между собой связанны составные элементы системы: микроконтроллер, клавиши и светодиоды.

В отличие от разводки печатной платы эта схема не показывает взаимного (физического) расположения элементов, эта лишь указывает на то, какие элементы с какими соединяются.

электронный кодовый замок микроконтроллер

 

4.2 Описание функциональной схемы устройств

 

 

Описание схемы:

Выше представлена функциональная схема проектируемого устройства. Устройство управляется микроконтроллером PIC16F676.

Контроллер сканирует подключенную к его портам клавиатуру по определенному принципу и в случае нажатой клавиши анализирует код нажатой клавиши (который складывается из номера строки и столбца) запуская по его значению определенные процедуры.

. Разработка рабочей программы

 

.1 Текст программы

 

#DEFINE CONFIG_REQ 1

LIST P = 16F676, F = INHX8M, W = 2, X = ON, R = DEC, MM = ON, N = 0, C = 255EQU 0X0000EQU 0X0001EQU 0X0002EQU 0X0003EQU 0X0004EQU 0X0005EQU 0X0006EQU 0X0007EQU 0X000AEQU 0X000BEQU 0X000CL EQU 0X000ELH EQU 0X000FH EQU 0X000FCON EQU 0X0010EQU 0X0019EQU 0X001EEQU 0X001EEQU 0X001F_REG EQU 0X0081EQU 0X0085EQU 0X0086EQU 0X0087EQU 0X008CEQU 0X008EEQU 0X0090EQU 0X0091EQU 0X0095EQU 0X0095EQU 0X0096EQU 0X0096EQU 0X0099EQU 0X009AEQU 0X009AEQU 0X009AEQU 0X009BEQU 0X009CEQU 0X009DEQU 0X009EEQU 0X009F=7=6=5_TO=4_PD=3=2=1=0=7=6IE=5=4=3IF=2=1=0=7=6=3IF=0IF=0GE=6CKPS1=5CKPS0=4OSCEN=3_T1SYNC=2CS=1ON=0=6=4=3=2=1=0=7=6=4=3=2=1_DONE=1_DONE=1_GO_DONE=1=0_GPPU=7_RAPU=7=6CS=5SE=4=3=2=1=0=7=6=3IE=0IE=0_POR=1_BOD=0=7=6=5=4=3=2=7=6=5=4=3=2=1=0=7=5=3=2=1=0=3=2_WREN=2=1_WR=1=0_RD=0=6=5=4

__MAXRAM 0XFF

__BADRAM 0X06, 0X08-0X09, 0X0D, 0X11-0X18, 0X1A-0X1D, 0X60-0X7F

__BADRAM 0X86, 0X88-0X89, 0X8D, 0X8F, 0X92-0X94, 0X97-0X98, 0XE0-0XFFEQU 0X3EFF_OFF EQU 0X3FFFEQU 0X3F7F_OFF EQU 0X3FFFEQU 0X3FFF_OFF EQU 0X3FBF_ON EQU 0X3FFF_OFF EQU 0X3FDF_OFF EQU 0X3FFF_ON EQU 0X3FEF_ON EQU 0X3FFF_OFF EQU 0X3FF7_OSC EQU 0X3FF8_OSC EQU 0X3FF9_OSC EQU 0X3FFA_OSC EQU 0X3FFB_OSC_NOCLKOUT EQU 0X3FFC_OSC_CLKOUT EQU 0X3FFD_OSC_NOCLKOUT EQU 0X3FFE_OSC_CLKOUT EQU 0X3FFF

#DEFINE __16F676 1

#DEFINE XTAL 4

#DEFINE _CORE 14

#DEFINE _MAXRAM 64

#DEFINE _RAM_END 64

#DEFINE _MAXMEM 1024

#DEFINE _ADC 8

#DEFINE _ADC_RES 10

#DEFINE _EEPROM 128

#DEFINE _PAGES 1

#DEFINE _BANKS 2

#DEFINE RAM_BANKS 1

#DEFINE _USART 0

#DEFINE _USB 0

#DEFINE _FLASH 0

#DEFINE _CWRITE_BLOCK 0

#DEFINE BANK0_START 32

#DEFINE BANK0_END 95

#DEFINE _SYSTEM_VARIABLE_COUNT 14_BANK = 0@PAGE = 0@PAGE = 0

#DEFINE LCD#TYPE 0@CALL MACRO DEST(DEST = 0X1800) &a