Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Микропроцессорные устройства

Тип Реферат
Предмет Коммуникации и связь
Просмотров
465
Размер файла
74 б
Поделиться

Ознакомительный фрагмент работы:

Микропроцессорные устройства

Федеральное агентство по атомной энергии

Снежинская государственная физико-техническая академия

Кафедра АИВС

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

К КУРСОВОЙ РАБОТЕ

по дисциплине: «Микропроцессорные устройства».

Группа

Студент ______________

(подпись)

Преподаватель ________

(подпись)

Снежинск

2007


Аннотация

Цель работы: реализовать измеритель длительности нажатия клавиши.

В процессе работы над курсовым проектом требуется осуществить:

- изучение задания;

- разработка алгоритма;

- реализация на PIC-контроллере;

- оформление пояснительной записки к курсовому проекту


Содержание

1. Постановка задачи

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

3. Граф-схема алгоритма

4. Принципиальная электрическая схема

5. Спецификация

6. Список литературы


1. Постановка задачи

Измерить длительность нажатия кнопки. Измеренные значения сохранять в ОЗУ микро c хемы PCF 8583. Измеренные значения вывести на ЖК – дисплей.


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

LIST P=16F84f

INCLUDE<P16F84.INC>

count EQU 0x10

count1 EQU 0x20

count2 EQU 0x21

LCDcfg EQU 0x22

LCDout EQU 0x23

Time EQU 0x11

temp EQU 0x12

DATA_I2C EQU 0x34

TX_Buffer EQU 0x32

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _RC_OSC

GOTO START

Подпрограмма записи байта control по шине I2C

Write_I2C

CALL Start_Bit_I2C; Выдача на шину I2C Start Bit

Адрес часов с установленным битом для записи

MOVLW 0 xA 0

CALL Transmit _ Data

Внутрений адрес часов для записи

MOVLW 0 x 00; адрес для записи

CALL Transmit_Data; на шину I2C...

MOVF DATA_I2C,w; Выдача данных

CALL Transmit_Data; на шину I2C...

CALL Stop_Bit_I2C; Выдача на шину I2C Stop Bit

RETURN

Подпрограмма сброса счётчика секунд на часах PCF 8583

Write_time_I2C

CALL Start_Bit_I2C; Выдача на шину I2C Start Bit

Адрес часов с установленным битом для записи

MOVLW 0xA0

CALL Transmit _ Data

Запись регистра с которого читают с установленным битом на запись

MOVLW 0x02

CALL Transmit_Data

MOVLW 0x00

CALL Transmit_Data

MOVLW 0x00

CALL Transmit_Data

CALL Stop_Bit_I2C; Выдача на шину I2C Stop Bit

RETURN

Подпрограмма чтения результатов измерения из ОЗУ PCF 8583

Read_Saved_I2C

CALL Start_Bit_I2C; Выдача на шину I2C Start Bit

адрес часов с установленным битом для записи

MOVLW 0xA0

CALL Transmit _ Data

Запись регистра с которого читают с установленным битом на запись

MOVLW 0x11

CALL Transmit _ Data

Новая стартовая последовательность

CALL Start_Bit_I2C; Выдача на шину I2C Start Bit

Адрес часов с установленным битом для чтения

MOVLW 0xA1

CALL Transmit_Data

CALL Receive_data

CALL Stop_Bit_I2C; Выдача на шину I2C Stop Bit

RETURN

Подпрограмма записи результатов измерения в ОЗУ PCF 8583

Save_time_I2C

MOVWF Time

CALL Start_Bit_I2C; Выдача на шину I2C Start Bit

Адрес часов с установленным битом для записи

MOVLW 0xA0

CALL Transmit_Data

Запись регистра с которого читают с установленным битом на запись

MOVLW 0x10

CALL Transmit_Data

Новая стартовая последовательность

CALL Start_Bit_I2C; Выдача на шину I2C Start Bit

Адрес часов с установленным битом для чтения

MOVLW 0xA0

CALL Transmit_Data

MOVLW 0x10

CALL Transmit_Data

MOVF Time,W

CALL Transmit_Data

MOVF Time,W

CALL Transmit_Data

CALL Stop_Bit_I2C; Выдача на шину I2C Stop Bit

RETURN

Подпрограмма чтения секунд с часов PCF 8583

Read_I2C

CALL Start_Bit_I2C; Выдача на шину I2C Start Bit

Адрес часов с установленным битом для записи

MOVLW 0 xA 0

CALL Transmit_Data

Запись регистра с которого читают с установленным битом на запись

MOVLW 0 x 02

CALL Transmit _ Data

Новая стартовая последовательность

CALL Start_Bit_I2C; Выдача на шину I2C Start Bit

Адрес часов с установленным битом для чтения

MOVLW 0xA1

CALL Transmit_Data

CALL Receive_data

CALL Stop_Bit_I2C; Выдача на шину I2C Stop Bit

RETURN

Подпрограмма чтения байта с шины IIC

Receive _ data

CLRF DATA_I2C

MOVLW 8

MOVWF temp

BCF STATUS,5

BCF PORTB,4; SDA - вход

BCF STATUS,5

RX_Data_LP

RLF DATA_I2C,1

BCF PORTB,5

NOP

NOP

NOP

NOP

NOP

BCF DATA_I2C,0

BTFSS PORTB,4

BCF DATA_I2C,0

BCF PORTB,5

DECFSZ temp,1

GOTO RX_Data_LP

Отправка бита подтверждения ASK =1

BCF STATUS ,5

BCF PORTB,4 ;SDA - выход

BCF STATUS,5

BCF PORTB,4

NOP

BCF PORTB,5

NOP

NOP

NOP

NOP

BCF PORTB ,5

RETURN

Подпрограмма передачи байта по шине I 2 C

Transmit_Data

MOVWF TX_Buffer

MOVLW 8

MOVWF temp

BCF STATUS,5; выбор банка 1

BCF PORTB,4; SDA - выход

BCF STATUS,5; выбор банка 0

BCF PORTB,5

TX_Data_LP

BTFSS TX_Buffer,7

GOTO TX_Data_Lo; bits 7 = 0

BCF PORTB,4

GOTO TX_Data_LP1

TX_Data_Lo

BCF PORTB,4

TX_Data_LP1

BCF PORTB,5

NOP

NOP

NOP

NOP

BCF PORTB,5

RLF TX_Buffer,1

DECFSZ temp,1

GOTO TX_Data_LP

RLF TX _ Buffer ,1

BCF PORTB ,4

Чтение бита подтверждения - ASK

BCF STATUS ,5

BCF TRISB ,4; PORTB ,4 - вход

BCF STATUS ,5

BCF PORTB ,5

NOP

NOP

NOP

NOP

NOP

BTFSC PORTB ,4

NOP

BCF PORTB ,5

RETURN

Подпрограмма организации стартовой битовой последовательности

Start_Bit_I2C

BCF PORTB,4

BCF STATUS ,5; выбор 1 банка

BCF PORTB ,4; SDA - как выход данных из MCU в

EEPROM

BCF STATUS,5; выбор 0 банка

BCF PORTB,4

NOP

NOP

NOP

NOP

BCF PORTB,5

NOP

NOP

NOP

NOP

NOP

BCF PORTB,4

NOP

NOP

NOP

NOP

NOP

BCF PORTB,5

RETLW 0

Подпрограмма организации стопой битовой последовательности

Stop_Bit_I2C

BCF PORTB,4

BCF STATUS ,5; выбор 1 банка

BCF PORTB ,4; SDA - как выход данных из MCU в

;EEPROM

BCF STATUS,5; выбор 0 банка

BCF PORTB,4

NOP

NOP

BCF PORTB,5

NOP

NOP

BCF PORTB,4

NOP

NOP

RETURN

############################################################

Подпрограммы для организации задержек

Wait250ms

MOVLW 0x77; 250 мс

MOVLW count2

c03 MOVLW 0x02

MOVWF count

c02 MOVLW 0x1F

MOVWF count1

c01 DECFSZ count1

GOTO c01

DECFSZ count

GOTO c02

DECFSZ count2

GOTO c03

RETURN

Wait100

MOVLW 0x02; 100 мкс

MOVWF count1

w50 MOVLW 0x14

MOVWF count

c24 DECFSZ count

GOTO c24

DECFSZ count1

GOTO w50

RETURN

Wait50

MOVLW 0x14; 50 мкс

MOVWF count

c13 DECFSZ count

GOTO c13

RETURN

Wait15

MOVLW 0x06; 4 мкс

MOVWF count

c15 DECFSZ count

GOTO c15

RETURN


Wait160

MOVLW 0x35; 160 мкс

MOVWF count

c16 DECFSZ count

GOTO c16

RETURN

Wait1k; 1 сек

MOVLW 0x04

MOVWF count2

w2 MOVLW 0xE0

MOVWF count1

w1 DECFSZ count1

GOTO w1

DECFSZ count2

GOTO w2

RETURN

#################################################################

Подпрограмма вывода байта на ЖК экран

NumOut

MOVWF temp

BCF temp ,7; 0 Формируем

BCF temp ,6; 0 номер

BCF temp ,5; 1 столбца

BCF temp,4; 1 содержащий символы для вывода

BCF LCDcfg,0

MOVF temp,W

CALL LCD _ write ; Выводим сначало старшую тетраду

RETURN

Подпрограмма записи по линиям данных младшей тетрады.

LCD_writehalf

MOVWF LCDout

BCF STATUS,RP0

BCF PORTA,4

ALL Wait250ms

MOVF LCDout,W

MOVWF PORTA

BCF PORTB,0

CALL Wait160

BCF PORTB,0

CLRF PORTB

CLRF PORTA

RETURN

Подпрограмма записи по линиям данных целого байта.

LCD _ write

BCF STATUS , RP 0

MOVWF LCDout

SWAPF LCDout,W;

MOVWF PORTA

BTFSS LCDcfg,0

BCF PORTA,4

BTFSC LCDcfg,0

BCF PORTA,4

BCF PORTB,0

BTFSS LCDcfg,0

CALL Wait250ms

BTFSC LCDcfg,0

CALL Wait50

BCF PORTB,0

MOVF LCDout,W

MOVWF PORTA

BTFSS LCDcfg,0

BCF PORTA,4

BTFSC LCDcfg,0

BCF PORTA,4

BCF PORTB,0

BTFSS LCDcfg,0

CALL Wait250ms

BTFSC LCDcfg,0

CALL Wait50

BCF PORTB,0

CALL Wait250ms

RETURN


Подпрограмма предварительной инициализации ЖК экрана.

IniLCD

MOVLW 0 x 0 E

wait _ power

CALL Wait1k

DECFSZ temp

GOTO wait_power

BCF LCDcfg,0

MOVLW 0x03

CALL LCD_writehalf

CALL Wait250ms

MOVLW 0x03

CALL LCD_writehalf

CALL Wait160

BCF LCDcfg,0

MOVLW 0x03

CALL LCD_writehalf

CALL Wait50

MOVLW 0x02

CALL LCD_writehalf

CALL Wait50

MOVLW 0x20

CALL LCD_write

CALL Wait50

MOVLW 0x20

CALL LCD_write

CALL Wait50

MOVLW 0x0E

CALL LCD_write

CALL Wait50

MOVLW 0x0F

CALL LCD_write

CALL Wait50

MOVLW B'00011111'

CALL LCD_write

CALL Wait50

MOVLW B'10000000'

CALL LCD_write

CALL Wait50

BCF LCDcfg ,0 MOVLW B '00000110' ; установка направление перемещения курсора ЖК экрана

CALL LCD_write

MOVLW 0 x 02;

Установить курсор в начальное состояние.

CALL LCD _ write

MOVLW 0 x 01;

Очистка ЖК экрана

CALL LCD _ write

CALL Wait250ms

CALL Wait250ms

CALL Wait250ms

RETURN

Подпрограмма вывода времени

OutTime

BCF LCDcfg ,0

MOVLW 0 x 02; установить курсор в начальное состояние.

CALL LCD_write

CALL Read_I2C

SWAPF DATA_I2C,W

CALL NumOut

MOVF DATA_I2C,W

CALL NumOut

CALL Save _ time _ I 2 C ; сохраняем результат измерений в ОЗУ

PCF 8583

RETURN

Подпрограмма вывода и сохранения результатов измерения

GetTime

BCF LCDcfg,0

MOVLW 0x02; установить курсор в начальное состояние.

CALL LCD_write

CALL Read_I2C; read seconds from clock

MOVF DATA_I2C,W

MOVWF Time

CALL Save _ time _ I 2 C ; сохраняем результат измерений в ОЗУ

PCF 8583

CALL Read_Saved_I2C; считываем результат измерений из ОЗУ

PCF 8583

SWAPF DATA_I2C,W

CALL NumOut; выводим на ЖК экран результат измерений

MOVF DATA _ I 2 C , W

CALL NumOut; выводим на ЖК экран результат измерений

RETURN

Основная подпрограмма

START

CLRF PORTB

CLRF PORTA

BCF STATUS , RP 0

Настройка портов

MOVLW B'11100000'

MOVWF TRISA&0x7F

MOVLW B'11001100'

MOVWF TRISB

BCF OPTION_REG,7

CALL IniLCD;

Вызов подпрограммы предварительной инициализации ЖК экрана.

BCF STATUS,RP0; выбор 0го банка памяти

CALL Read_Saved_I2C; считываем результат измерений из ОЗУ

PCF 8583 при сохранении

SWAPF DATA_I2C,W

CALL NumOut; выводим на ЖК экран результат измерений

OVF DATA_I2C,W

CALL NumOut; выводим на ЖК экран результат измерений

MZ

BTFSC PORTB,3

GOTO MZ; переход к MZ, кнопка не нажата

CALL Write_time_I2C; то вызываем подпрограмму обработки режима сброс счетчика, начало отсчета

M1

BTFSS PORTB,3

GOTO M1; переход к M1, кнопка нажата, ожидание отпускания кнопки

Если отпустили кнопку,

CALL GetTime;

Подпрограмма вывода и сохранения результатов измерения

CALL Wait250ms

GOTO MZ; зацикливание программы

END


4. Принципиальная электрическая схема

Масштаб
Масса
Лит
Измеритель длительности нажатия кнопки. Принципи-альня эл. схема.
Дата
Подлись
№ докум.
Лист
Изм.
Лист
Листов

5. Спецификация

ПозицияТип, номиналКол.Примечание
шт.
Конденсаторы
С125В – 10,0мкФ1
С2SMD 1206 – 0,1мкФ1
Микросхемы
DD1ЖКИ HD447801
DD2Часы реального времени PCF 85831
Резисторы
R11 кОм1
R25,1кОм1
R35,1кОм1
R 41 кОм1
Прочие элементы
Z1Кварцевый резонатор 32768 Гц1
SB 3Кнопки ПКн – 159 1
SW1.1переключатель1
SW1.2переключатель1
XC1разъем1
XC2разъем1
Масса
Масштаб
Лит
Лист
Листов
СГФТА
6. Список литературы

1) Яценков В.С. – Микроконтроллеры MicroChip Практическое руковод-ство (2002 год).

2) Майкл Предко. – Справочник по PIC – микроконтроллерам: Пер. с англ. – М.: ДМК Пресс, 2006. – 512с.: ил. (Серия «Справочник»)

3) Курс лекций.


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Филиал государственного бюджетного образовательного учреждения высшего образования Московской област
Спасибо Елизавете за оперативность. Так как это было важно для нас! Замечаний особых не бы...
star star star star star
РУТ
Огромное спасибо за уважительное отношение к заказчикам, быстроту и качество работы
star star star star star
ТГПУ
спасибо за помощь, работа сделана в срок и без замечаний, в полном объеме!
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

решить 6 практических

Решение задач, Спортивные сооружения

Срок сдачи к 17 дек.

только что

Задание в microsoft project

Лабораторная, Программирование

Срок сдачи к 14 дек.

только что

Решить две задачи №13 и №23

Решение задач, Теоретические основы электротехники

Срок сдачи к 15 дек.

только что

Решить 4задачи

Решение задач, Прикладная механика

Срок сдачи к 31 дек.

только что

Выполнить 2 задачи

Контрольная, Конституционное право

Срок сдачи к 12 дек.

2 минуты назад

6 заданий

Контрольная, Ветеринарная вирусология и иммунология

Срок сдачи к 6 дек.

4 минуты назад

Требуется разобрать ст. 135 Налогового кодекса по составу напогового...

Решение задач, Налоговое право

Срок сдачи к 5 дек.

4 минуты назад

ТЭД, теории кислот и оснований

Решение задач, Химия

Срок сдачи к 5 дек.

5 минут назад

Решить задание в эксель

Решение задач, Эконометрика

Срок сдачи к 6 дек.

5 минут назад

Нужно проходить тесты на сайте

Тест дистанционно, Детская психология

Срок сдачи к 31 янв.

6 минут назад

Решить 7 лабораторных

Решение задач, визуализация данных в экономике

Срок сдачи к 6 дек.

7 минут назад

Вариационные ряды

Другое, Статистика

Срок сдачи к 9 дек.

8 минут назад

Школьный кабинет химии и его роль в химико-образовательном процессе

Курсовая, Методика преподавания химии

Срок сдачи к 26 дек.

8 минут назад

Вариант 9

Решение задач, Теоретическая механика

Срок сдачи к 7 дек.

8 минут назад

9 задач по тех меху ,к 16:20

Решение задач, Техническая механика

Срок сдачи к 5 дек.

9 минут назад
9 минут назад
10 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно