реклама на сайте
подробности

 
 
> Таймер, На ассемблере
Itachi
сообщение Nov 7 2011, 17:06
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 7-11-11
Пользователь №: 68 178



Всем доброго времени суток!
Прошу помощи у знающих людей- начал разбираться с программированием МК.
Пытаюсь разобраться с решением следующей задачки: у меня есть отладочная плата на основе MSP430F169, к ней припаяно 3 светодиода - на портах P1.0, P1.1, P3.4.
Мне необходимо сделать таймер , который через определенное время включает первый диод, через еще какое-то время моргает вторым и через третий интервал времени включается третий.
Важное замечание- задача должна быть реализована на ассемблере..
Читал документацию по МК и смотрел примеры от производителя.
Если необходимо - могу выложить куски кода, полученные в результате моих попыток ( желаемого результата я так и не достиг)...Знающие любди, помогите пожалуйста?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Itachi
сообщение Nov 9 2011, 05:47
Сообщение #2





Группа: Новичок
Сообщений: 8
Регистрация: 7-11-11
Пользователь №: 68 178



эта программа написана на основе примера с сайта, ссылку на который вы мне дали.
и документирование по модулям я тоже читал. Так и не нашел четкой формулировки " для запуска таймера нужно вот это, по прохождению интервального времени нужно вот это".
Лан спасибо. пойду читать дальше.(
Go to the top of the page
 
+Quote Post
rezident
сообщение Nov 9 2011, 20:21
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Itachi @ Nov 9 2011, 10:47) *
эта программа написана на основе примера с сайта, ссылку на который вы мне дали.

Когда вы модифицируете чужой исходник, выкидывая из него строки, то желательно при этом понимать, что именно произойдет в результате ваших действий. Вот исходник который вы покоцали. Найдите шесть отличий.
CODE
;**********************************************************************
#include <msp430x14x.h>
;------------------------------------------------------------------------------
ORG 01100h ; Program Start
;------------------------------------------------------------------------------
RESET mov.w #0A00h,SP ; Initialize stackpointer
StopWDT mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop WDT
SetupP1 bis.b #001h,&P1DIR ; P1.0 output
SetupC0 mov.w #CCIE,&CCTL0 ; CCR0 interrupt enabled
mov.w #20000,&CCR0 ;
SetupTA mov.w #TASSEL_2+MC_1,&TACTL ; SMCLK, upmode
;
Mainloop bis.w #CPUOFF+GIE,SR ; CPU off, interrupts enabled <=== здесь разрешаются прерывания
nop ; Required for debugger
;
;------------------------------------------------------------------------------
TA0_ISR; Toggle P1.0 <=== это метка функции обработчика прерывания TIMERA0_VECTOR
;------------------------------------------------------------------------------
xor.b #001h,&P1OUT ; Toggle P1.0 <== это
reti ; <== и это функция обработки прерывания
;
;-----------------------------------------------------------------------------
; Interrupt Vectors
;-----------------------------------------------------------------------------
ORG 0FFFEh ; MSP430 RESET Vector
DW RESET ;
ORG 0FFECh ; Timer_A0 Vector
DW TA0_ISR ; <== здесь указывается адрес функции обработки прерывания, который вы выкинули
END

Кроме того, в вашем примере в цикл mainloop попали команды инициализации таймера. Хотя инициализировать его достаточно всего один раз.
Еще раз предлагаю вам взять карандаш и нарисовать блок-схему вашего алгоритма на бумаге. Поверьте на слово ЭТОТ способ гораздо эффективнее, чем перемешивание некой "каши" в голове.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Itachi   Таймер   Nov 7 2011, 17:06
- - rezident   Вот же ж феномен какой! Большинство начинаю...   Nov 7 2011, 20:01
- - Itachi   Соседнюю тему читал, по алгоритму вопросов нет- са...   Nov 8 2011, 04:38
- - rezident   Когда человек что-то реально делает, то у него обы...   Nov 8 2011, 17:05
- - Itachi   >>Если необходимо - могу выложить куски кода...   Nov 8 2011, 18:24
- - rezident   Тут даже комментировать нечего. У вас каша какая-т...   Nov 8 2011, 20:01
- - Itachi   Спасибо за комментарии. С блок-схемой проблем нет....   Nov 10 2011, 03:23
|- - rezident   Цитата(Itachi @ Nov 10 2011, 08:23) Пробл...   Nov 10 2011, 10:49
- - KARLSON   А если написать код на Си в IAR, а потом посмотрет...   Nov 10 2011, 05:01
- - Itachi   rezident уже советовал это. Сегодня попробую. Спас...   Nov 10 2011, 07:24
- - Itachi   я написал именно то что хотел) я не понимаю как ре...   Nov 10 2011, 12:48
|- - rezident   Конкретные ответы. Цитата(Itachi @ Nov 10 201...   Nov 10 2011, 15:24
- - Itachi   спасибо за ответ. все это я уже читал. И пробовал....   Nov 10 2011, 19:12


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 07:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01849 секунд с 7
ELECTRONIX ©2004-2016