Разработка устройства показывающего время, температуру воздуха и атмосферное давление

Ознакомление с процессом замены модуля индикации, выполненного на нескольких семисегментных светодиодных индикаторах. Изучение устройства показывающего время, температуру воздуха и атмосферное давление, выполненного на языке программирования Ассемблер.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 04.05.2014
Размер файла 932,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

outDDRC,temp

lditemp,0b01111111 ;PortC7-минус, PortB5- выход для мигалки batt - ;красный

;PortB0,1,2 - разр темп;

outDDRB,temp

lditemp,0xFF

outTIFR,temp ;сбросить все прерывательные флаги в таймерах

;установка АЦП

lditemp,1<<ADEN|1<<ADIE|1<<ADPS2|1<<ADPS0 ;start ADC 1/32 такт = 128 ;кГц; interrupt enable

out ADCSR,temp

;установка таймеров

lditemp, high(62968) ;старший дивизора

outOCR1AH,temp ;64000 значение для 1 сек при прескалере 1:64

lditemp, low(62968) ;младший дивизора

outOCR1AL,temp ;64000 значение для 1 сек при прескалере 1:64

ldi temp,0b01000000

out TCCR1A,temp ;это означает переключающую моду для выхода РD5- ;OC1A таймера 1

ldi temp,0b00001011

out TCCR1B,temp ;1/64 timer1 ;clear when compare

ldi temp,0b00000010

out TCCR0,temp ;Timer0 on div 1:8;управление разрядами 2000 Гц

;прерывания

lditemp,(1<<TOIE0)|(1<<OCIE1A);разр. прер. T0 & T1 compare

outTIMSK,temp

lditemp,255

outTIFR,temp

outGIFR,temp

;начальная установка переменных

ldi r29,1 ;пишем в RAM, начиная c 01:00

clrcount

clrcSek

clrcMin

clrcHour

clrcountCyk

clrcRazr

clrFlag

sbr Flag,0x1 ;сначала пишем температуру

;обнуление рабочих ячеек

clr temp

ldi r28,Tram ;Tempr

stY+,temp

stY,temp

ldi r28,Pram ;Prs

stY+,temp

stY,temp

ldi r28,Bram ;Batt

stY+,temp

stY,temp

ldi r28,DdH ;часы старш дес

stY+,temp

stY,temp

ldi r28,DdM

stY+,temp

stY,temp

ldi r28,Hh ;установка Y

stY+, temp

stY, temp

;запись предварительных коэффициентов

ldi r28,tZH ;начальный адрес

; Z Tempr=461 addr=20h

lditemp,0x01 ;ст

stY+,temp ;мл

lditemp,0xCD

stY+,temp

; K Tempr=1111 addr=22h

lditemp,0x04 ;ст

stY+,temp

lditemp,0x57 ;мл

stY+,temp

; Z prs=4 addr=24h

lditemp,0x00 ;ст

stY+,temp

lditemp,0x04 ;мл

stY+,temp

; K prs=930 addr=26h

lditemp,0x03 ;ст

stY+,temp

lditemp,0xA2 ;мл

stY,temp

; Divisor =62968 addr=1Ah

ldi r28,dQH

lditemp,0xF5 ;ст

stY+,temp

lditemp,0xF8 ;мл

stY,temp

sei ;разрешаем прерывания

G_cykle: ;основной цикл

rcall in_com

cpitemp, Const_W ;A0 запись RAM

breq cont_1

cpitemp, Const_RAM ;A3 читать RAM

breq cont_4

cpitemp, Const_TZ ;A4 читать знак T

breq cont_5

cpitemp, Const_H ;A5 ;установка часов

breq cont_6

cpitemp, Const_S0 ;A6 ;;сброс сек

breq cont_7

cpitemp, Const_59 ;A7 ;установка сек в 59

breq cont_8

cpitemp, 0xAA ;AA ;проверка связи

breq cont_9

rjmp G_cykle

cont_1:; запись в RAM из компа послать A0, затем байт ;адрес+байт данных , получить АА

rcall A0

rjmp G_Cykle

cont_4: ;читать RAM из компа послать A3, затем байт адрес

rcall A3

rjmp G_cykle

cont_5: ;знак темп

rcallA4

rjmp G_cykle

cont_6: ;установка часов

rcallA5

rjmp G_cykle

cont_7: ;сброс секунд

rcallA6

rjmp G_cykle

cont_8: ;установка сек в 59

rcallA7

rjmp G_cykle

cont_9: ;AA - проверка связи

ldi temp,0xEE

rcall out_com

rjmp G_cykle

A0:;A0 запись RAM

cli

rcall in_com

movtemp1,temp;addr

movr28,temp;addr

rcall in_com ;data

stY,temp ;собственнo запись произведена

cpitemp1,dQL ;если адрес был младший дивизора кварца сразу же и ;в дело

brne_comp

outOCR1AL,temp ;64000 значение для 1 сек при прескалере 1:64

_comp:

cpitemp1,dQH ;если адрес был старший дивизора

brne_out

outOCR1AH,temp ;64000 значение для 1 сек при прескалере 1:64

_out:

lditemp,0xAA

rcall out_com

sei

ret

A3:;чтение RAM

cli

rcall in_com ;address

mov r28,temp ;установка Y

ldtemp,Y

rcall out_com

sei

ret

A4: ;знак темп

cli

clr temp;1 =знак -

sbic PortB,6

ldi temp,1

rcall out_com

sei

ret

A5: ;установка часов, всего нужно установить восемь ;мест: cMin, по addr Mh, два десятичных DdM,

;cHour, по addr Hh, два десятичных DdH

cli

rcall in_com ;минуты

movcMin,temp

rcall in_com ;часы

movcHour,temp

ldi r28,Hh ;установка Y

stY+, cHour

stY, cMin

mov temp,cHour

rcallbin2bcd8

ldi r28,DdH

stY+,temp1

stY,temp

mov temp,cMin

rcallbin2bcd8

ldi r28,DdM

stY+,temp1

stY,temp

sei

ret

A6:

clr cSek

ret

A7:

ldi cSek,59

ret

Размещено на Allbest.ru


Подобные документы

  • Создание программного модуля, выполненного на языке программирования VBA (Visual Basic for Applications) и позволяющего во введенном массиве символов удалить все повторные вхождения этих символов. Разработка пользовательского интерфейса. Код программы.

    курсовая работа [317,4 K], добавлен 11.10.2012

  • Проектирование устройства контроля температуры в холодильных установках. Устройство измеряет температуру с помощью схемы измерения температуры. Значение температуры представлены в 8-битном формате. Создание компьютерной программы для устройства.

    курсовая работа [29,5 K], добавлен 22.02.2008

  • Ввод и вывод чисел при помощи подключаемого модуля IO. Особенности работы с одномерными и двухмерными массивами. Тестирование состояние флагов. Рринципы и навыки работы с компилятором и отладчиком. Разработка схемы алгоритма программы на языке ассемблер.

    курсовая работа [1,3 M], добавлен 02.12.2009

  • Проектирование устройства, выполняющего функцию определения минимального давления на основе информации о показаниях полученных от 7 датчиков. Разработка набора команд управления микроконтроллером в среде программного обеспечения Code Vision AVR.

    курсовая работа [24,5 K], добавлен 28.06.2011

  • Расчет статического модуля оперативной памяти и накопителя. Построение принципиальной схемы и временной диаграммы модуля оперативного запоминающего устройства. Проектирование арифметико-логического устройства для деления чисел с фиксированной точкой.

    курсовая работа [3,2 M], добавлен 13.06.2015

  • Задача и цели практики: модернизация сайта, разработка базы данных, отображающей время прихода и ухода сотрудников. Разработка формы представления данных на экране. Формирование данных, пригодных для вывода. Реализация технологии всплывающих подсказок.

    отчет по практике [1,3 M], добавлен 16.09.2012

  • Разработка принципиальной электрической схемы микропроцессорного устройства управления двигателем постоянного тока на базе контроллера ATmega 128. Разработка пакета подпрограмм на языке Assembler в целях регулирования и корректной работы устройства.

    курсовая работа [271,5 K], добавлен 14.01.2011

  • Изучение команд для обработки строк, приемов, используемых в работе со строками, приемы их использования. Команды префикса повторения. Приемы программирования на языке Ассемблера с использованием подпрограмм, работа с командами вызова подпрограмм.

    методичка [121,0 K], добавлен 18.12.2011

  • Изучение языка низкого уровня ассемблер для написания примера программы для 16 битного приложения. Разработка и реализация алгоритма поднесения чисел к степени чисел над полем за основанием 2 (mod 2). Иллюстрация техники создания DOS приложения.

    курсовая работа [33,3 K], добавлен 08.11.2011

  • Изучение некоторых аспектов языка Ассемблера и ЭВМ в целом. Построение алгоритмов решения поставленной задачи на языках программирования Си, Ассемблер УМ и IBM PC. Составление блок-схем решений и написание программ на каждом из перечисленных языков.

    курсовая работа [691,5 K], добавлен 20.10.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.