|
очень нужна помощь с пиком |
|
|
|
 |
Ответов
|
Nov 7 2006, 16:14
|

Участник

Группа: Новичок
Сообщений: 36
Регистрация: 26-10-06
Из: Волгоград
Пользователь №: 21 685

|
Условий Вашей задачи я не знаю, поэтому генератор взял RC и частоту 4 МГц, выводим на 0 ногу порта B:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
LIST p=16F84A ;объявляем тип используемого МК include "P16F877a.inc" __CONFIG _RC_OSC & _CP_OFF & _BODEN_OFF & _PWRTE_ON & _WDT_OFF ;_RC_OSC -тип генератора ;_CP_OFF -бит защиты отключен ;_BODEN_OFF -запретить МК делать сброс при снижении напряжения питания ;_PWRTE_ON -разрешаем таймер включения питания ;_WDT_OFF -запрещаем сторожевой таймер
CBLOCK 0x0C Count1 ;старший байт счетчика Count2 ;средний байт счетчика Count3 ;младший байт счетчика ENDC
ORG 0x0000 goto Start
Start bsf STATUS,RP0 bcf STATUS,RP1 ;переключаемся на Банк 1 clrf OPTION_REG ;конфигурация МК clrf TRISA clrf TRISB ;все ноги на вывод bcf STATUS,RP0 ;переключаемся на Банк 0 Blink1 ;метка 1 clrf PORTB ;выставляем 0 на всех ножках порта В movlw 0xFF movwf Count3 ;устанавливаем счетчик на 2 секунды movlw 0x30 movwf Count2 movlw 0x0B movwf Count1 Blink2 ;метка2 decfsz Count3,f goto Blink2 decfsz Count2,f goto Blink2 decfsz Count1,f goto Blink2 ;декрементируем (уменьшаем) счетчик и проверяем, если он стал нулевым, movlw b'00000001' ;то выставляем на нужной ноге 1 movwf PORTB movlw 0xFF movwf Count3 ;устанавливаем счетчик на 1 секунду movlw 0x15 movwf Count2 movlw 0x06 movwf Count1 Blink3 ;метка 3 decfsz Count3,f ;опять декрементируем счетчик с той же целью goto Blink3 decfsz Count2,f goto Blink3 decfsz Count1,f goto Blink3 goto Blink1 ;счетчик = 0, переходим на метку 1 end
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
P.S. Счетчик выставил не совсем точно - ноль на ноге 2,008 сек, единица - 1,002 сек ...Лень было подгонять
Е-мое, форум не поддерживает форматирование, табуляция сбилась. Если программа все еще нужна, пишите, пришлю по e-mail
|
|
|
|
|
Nov 9 2006, 09:35
|

Мастер
   
Группа: Свой
Сообщений: 730
Регистрация: 18-02-06
Из: Москва
Пользователь №: 14 474

|
Цитата(napper @ Nov 7 2006, 19:14)  Е-мое, форум не поддерживает форматирование, табуляция сбилась. Форум поддерживает форматирование, если использовать BB-тэг code (кнопка  ): Код LIST p=16F84A;объявляем тип используемого МК include "P16F877a.inc" __CONFIG _RC_OSC & _CP_OFF & _BODEN_OFF & _PWRTE_ON & _WDT_OFF ;_RC_OSC -тип генератора ;_CP_OFF -бит защиты отключен ;_BODEN_OFF -запретить МК делать сброс при снижении напряжения питания ;_PWRTE_ON -разрешаем таймер включения питания ;_WDT_OFF -запрещаем сторожевой таймер
CBLOCK 0x0C Count1;старший байт счетчика Count2;средний байт счетчика Count3;младший байт счетчика ENDC
ORG 0x0000 goto Start
Start bsf STATUS,RP0 bcf STATUS,RP1;переключаемся на Банк 1 clrf OPTION_REG;конфигурация МК clrf TRISA clrf TRISB;все ноги на вывод bcf STATUS,RP0;переключаемся на Банк 0 Blink1 ;метка 1 clrf PORTB;выставляем 0 на всех ножках порта В movlw 0xFF movwf Count3;устанавливаем счетчик на 2 секунды movlw 0x30 movwf Count2 movlw 0x0B movwf Count1 Blink2 ;метка2 decfsz Count3,f goto Blink2 decfsz Count2,f goto Blink2 decfsz Count1,f goto Blink2;декрементируем (уменьшаем) счетчик и проверяем, если он стал нулевым, movlw b'00000001';то выставляем на нужной ноге 1 movwf PORTB movlw 0xFF movwf Count3;устанавливаем счетчик на 1 секунду movlw 0x15 movwf Count2 movlw 0x06 movwf Count1 Blink3 ;метка 3 decfsz Count3,f;опять декрементируем счетчик с той же целью goto Blink3 decfsz Count2,f goto Blink3 decfsz Count1,f goto Blink3 goto Blink1;счетчик = 0, переходим на метку 1 end
--------------------
شامل
|
|
|
|
Сообщений в этой теме
Mari-999 очень нужна помощь с пиком Oct 31 2006, 20:07 Herz Цитата(Mari-999 @ Oct 31 2006, 22:07... Nov 1 2006, 06:24 napper Цитата(Mari-999 @ Nov 1 2006, 00:07)... Nov 4 2006, 22:38 upc2 Цитата(napper @ Nov 5 2006, 01:38) [
Что ... Nov 6 2006, 05:29 napper Схема то хоть такая? Nov 6 2006, 12:27 upc2 Цитата(napper @ Nov 6 2006, 15:27) Схема ... Nov 6 2006, 14:03 napper Действительно непонятно: если на ноге 0, то светод... Nov 6 2006, 15:58 upc2 Цитата(napper @ Nov 6 2006, 18:58) Действ... Nov 7 2006, 05:25 napper Я думаю подпрограмму мигания надо организовать вот... Nov 10 2006, 20:36  Mari-999 [quote name='napper' date='Nov 10 2006... Nov 14 2006, 12:31   napper Цитата(Mari-999 @ Nov 14 2006, 15:31... Nov 14 2006, 13:07    Mari-999 Цитата(napper @ Nov 14 2006, 16:07) Цитат... Nov 14 2006, 13:52     napper Полная версия программы:
КодLIST p=16F84
INTCON E... Nov 14 2006, 19:06      Mari-999 Цитата(napper @ Nov 14 2006, 22:06) О рез... Nov 16 2006, 04:15       Edmundo Цитата(Mari-999 @ Nov 16 2006, 07:15... Nov 16 2006, 05:20        napper Цитата(Mari-999 @ Nov 16 2006, 07:15... Nov 16 2006, 05:39         Mari-999 Цитата(napper @ Nov 16 2006, 08:39) Цитат... Nov 16 2006, 06:53          napper Цитата(Mari-999 @ Nov 16 2006, 09:53... Nov 16 2006, 07:46           Mari-999 Цитата(napper @ Nov 16 2006, 10:46) Цитат... Nov 19 2006, 07:06            Edmundo Цитата(Mari-999 @ Nov 19 2006, 10:06... Nov 19 2006, 11:51             napper Цитата(Edmundo @ Nov 19 2006, 14:51) 5 - ... Nov 19 2006, 15:01         Edmundo Цитата(napper @ Nov 16 2006, 08:39) А при... Nov 16 2006, 09:23 upc2 napper
Написана Си и компилятор выдал аsm- файл.Дл... Nov 8 2006, 05:34 napper Цитата(upc2 @ Nov 8 2006, 08:34) napper
Н... Nov 8 2006, 05:42  Mari-999 Цитата(napper @ Nov 8 2006, 08:42) Цитата... Nov 10 2006, 19:39   napper КодLIST p=16F84
INTCON EQU 0x0B
OPTION EQU ... Nov 10 2006, 20:23   dosikus Цитата(Mari-999 @ Nov 10 2006, 22:39... Nov 11 2006, 09:57    Mari-999 Цитата(dosikus @ Nov 11 2006, 12:57) Цита... Nov 11 2006, 22:43 upc2 Тогда приношу свои извинения.
Куда делся автор не ... Nov 8 2006, 06:10 upc2 MPASM старенький компилятор. Пора переходить на MP... Nov 16 2006, 09:38 MariSev Цитата(Mari-999 @ Oct 31 2006, 20:07... Nov 21 2006, 21:03
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|