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

 
 
> Таймер, На ассемблере
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 8 2011, 18:24
Сообщение #2





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



>>Если необходимо - могу выложить куски кода, полученные в результате моих попыток - я сразу написал ведь)

CODE

#include "msp430.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
L1 mov.w #60000,&TACCR0 ;
Wait mov.w #00010,R15 ; Delay to R15
L2 dec.w R15 ; Decrement R15
SetupTA mov.w #TASSEL_2+MC_1,&TACTL ; SMCLK, upmode
mov.w #60000,&TACCR0 ;
jnz L2 ;
xor.b #001h,&P1OUT ; Toggle P1.0
jmp L1 ;

;-----------------------------------------------------------------------------
; Interrupt Vectors
;-----------------------------------------------------------------------------
ORG 0FFFEh ; MSP430 RESET Vector
DW RESET ;
ORG 0FFECh ; Timer_A0 Vector
END

Целью этой программы являлось мигание лампочкой на порту 1.0 после определенной (пока не тактированной) задержки.
ПС: я ассемблер тока осваиваю и поэтому могут быть серьезные ляпы.
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
- - rezident   Тут даже комментировать нечего. У вас каша какая-т...   Nov 8 2011, 20:01
- - Itachi   эта программа написана на основе примера с сайта, ...   Nov 9 2011, 05:47
|- - rezident   Цитата(Itachi @ Nov 9 2011, 10:47) эта пр...   Nov 9 2011, 20:21
- - 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 Текстовая версия Сейчас: 28th July 2025 - 13:43
Рейтинг@Mail.ru


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