Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 16.10.2010, 19:50  
AJScorp
Почётный гражданин KAZUS.RU
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
AJScorp на пути к лучшему
По умолчанию Re: Вопросы от NikMih_1

Сообщение от NikMih_1 Посмотреть сообщение
Да, так написано в документации, но если почитать, то оказывается, что предоставляется программный выбор из указанного выше ряда коэффициентов деления. Мне нужен 245, тогда всё пошло бы. Там есть 256, получается 9,6 вместо 8 кГц. Я остановился на 8кГц, как на стандарте всяких вокодеров.
Я так понял, Вы по коэффициентам для прескалера/постскалера таймера решили. Но основной регистр TMRx, с его помощью и получается коэффициент деления, необходимый для получения нужной частоты прерываний.
Реклама:
AJScorp вне форума  
Непрочитано 16.10.2010, 19:51  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Вопросы от NikMih_1

Сообщение от AJScorp Посмотреть сообщение
Имхо под 12-е пики ASM наше всё. Там просто негде развернуться Си, про бейсик не знаю - не пользовался им лет 20 точно.
На асме там вполне красиво выходит:
Цитата:
;Address Opcode ASM
0x0000 0x2819 GOTO 25
8khz_interrupt:
0x0004 0x00FF MOVWF R15
0x0005 0x0E03 SWAPF STATUS, 0
0x0006 0x0183 CLRF STATUS
0x0007 0x00C2 MOVWF ___saveSTATUS
0x0008 0x080A MOVF PCLATH, 0
0x0009 0x00C3 MOVWF ___savePCLATH
0x000A 0x018A CLRF PCLATH
;8khz.mbas,2 :: sub procedure interrupt
;8khz.mbas,3 :: pir1.TMR1IF=0
0x000B 0x100C BCF PIR1, 0
;8khz.mbas,4 :: tmr1h=0xff
0x000C 0x30FF MOVLW 255
0x000D 0x008F MOVWF TMR1H
;8khz.mbas,5 :: tmr1l=146
0x000E 0x3092 MOVLW 146
0x000F 0x008E MOVWF TMR1L
;8khz.mbas,6 :: gpio.5=not gpio.5
0x0010 0x3020 MOVLW 32
0x0011 0x0685 XORWF GPIO, 1
L_8khz_interrupt2:
0x0012 0x0843 MOVF ___savePCLATH, 0
0x0013 0x008A MOVWF PCLATH
0x0014 0x0E42 SWAPF ___saveSTATUS, 0
0x0015 0x0083 MOVWF STATUS
0x0016 0x0EFF SWAPF R15, 1
0x0017 0x0E7F SWAPF R15, 0
0x0018 0x0009 RETFIE
; end of 8khz_interrupt
_main:
;8khz.mbas,8 :: main:
;8khz.mbas,9 :: trisio.5=0
0x0019 0x1683 BSF STATUS, 5
0x001A 0x1285 BCF TRISIO, 5
;8khz.mbas,10 :: t1con=%00000001
0x001B 0x3001 MOVLW 1
0x001C 0x1283 BCF STATUS, 5
0x001D 0x0090 MOVWF T1CON
;8khz.mbas,11 :: intcon.gie=1
0x001E 0x178B BSF INTCON, 7
;8khz.mbas,12 :: intcon.peie=1
0x001F 0x170B BSF INTCON, 6
;8khz.mbas,13 :: pie1.tmr1ie=1
0x0020 0x1683 BSF STATUS, 5
0x0021 0x140C BSF PIE1, 0
0x0022 0x2822 GOTO $+0
; end of _main
Easyrider83 вне форума  
Сказали "Спасибо" Easyrider83
NikMih_1 (16.10.2010)
Непрочитано 16.10.2010, 20:03  
NikMih_1
Гражданин KAZUS.RU
 
Аватар для NikMih_1
 
Регистрация: 25.02.2008
Сообщений: 997
Сказал спасибо: 223
Сказали Спасибо 72 раз(а) в 58 сообщении(ях)
NikMih_1 на пути к лучшему
По умолчанию Re: Вопросы от NikMih_1

Сообщение от AJScorp Посмотреть сообщение
Имхо под 12-е пики ASM наше всё.
Так нет же вроде у него предустановки числа в таймере, чаво тогда и разворачиваться. Пусть живёт. Буду рыть область 16-х. Может что найду.
NikMih_1 вне форума  
Непрочитано 16.10.2010, 20:17  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,530
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: Вопросы от NikMih_1

Сообщение от Easyrider83 Посмотреть сообщение
На асме там вполне красиво выходит:
Hi-tech PIC C тоже выглядит не хуже :
Код:
static void interrupt ISR(void)
{
    TMR1IF = 0;
    TMR1H = 0xFF;
    TMR1L = 146;
    GP5 = !GP5;
}


int main(void)
{
    TRISIO5 = 0;
    
    T1CON = 0x01;
    GIE = 1;
    PEIE = 1;
    TMR1IE = 1;
    
    while(1);
}
Код:
5   004     00FF         MOVWF 0x7f                             
     6   005     0803         MOVF STATUS, W                         
     7   006     0183         CLRF STATUS                            
     8   007     00C0         MOVWF 0x40                             
     9   008     1283 ISR     BCF STATUS, 0x5                        
    10   009     100C         BCF PIR1, 0                            
    11   00A     30FF         MOVLW 0xff                             
    12   00B     008F         MOVWF TMR1H                            
    13   00C     3092         MOVLW 0x92                             
    14   00D     008E         MOVWF TMR1                             
    15   00E     3020         MOVLW 0x20                             
    16   00F     0685         XORWF GPIO, F                          
    17   010     1283         BCF STATUS, 0x5                        
    18   011     0840         MOVF 0x40, W                           
    19   012     0083         MOVWF STATUS                           
    20   013     0EFF         SWAPF 0x7f, F                          
    21   014     0E7F         SWAPF 0x7f, W                          
    22   015     0009         RETFIE                                 
    23   016     2817         GOTO 0x17                              
    24   017     1683         BSF STATUS, 0x5                        
    25   018     1285         BCF GPIO, 0x5                          
    26   019     1283         BCF STATUS, 0x5                        
    27   01A     0190         CLRF T1CON                             
    28   01B     0A90         INCF T1CON, F                          
    29   01C     178B         BSF INTCON, 0x7                        
    30   01D     170B         BSF INTCON, 0x6                        
    31   01E     1683         BSF STATUS, 0x5                        
    32   01F     140C         BSF PIR1, 0                            
    33   020     2820         GOTO 0x20
realid вне форума  
Сказали "Спасибо" realid
NikMih_1 (16.10.2010)
Непрочитано 16.10.2010, 20:18  
AJScorp
Почётный гражданин KAZUS.RU
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
AJScorp на пути к лучшему
По умолчанию Re: Вопросы от NikMih_1

Сообщение от Easyrider83 Посмотреть сообщение
На асме там вполне красиво выходит:
Согласен, вполне красиво.
У любого языка высокого уровня есть один недостаток - он генерит код САМ.
Никакого холивара, сам пишу на СИ под пики и очень доволен - быстро и качественно, но не под такую мелочь. В качестве примера была задача сделать modbus-slave на 675м пике. Перестраиваемая скорость связи 19200 - 230400, текстовое меню настроек по пользовательской функции. Все выверялось буквально по тактам процессора, с трудом, но влезло, осталось байт пять свободных. Очень не думаю, что смог бы это реализовать не чём-то кроме асма.
AJScorp вне форума  
Непрочитано 16.10.2010, 20:21  
NikMih_1
Гражданин KAZUS.RU
 
Аватар для NikMih_1
 
Регистрация: 25.02.2008
Сообщений: 997
Сказал спасибо: 223
Сказали Спасибо 72 раз(а) в 58 сообщении(ях)
NikMih_1 на пути к лучшему
По умолчанию Re: Вопросы от NikMih_1

Парни! Вы просто гении оба! Раз и готово, одной левой! Пока я кобеля посрать водил вы такое сочинили, ВИВАТ!!!
NikMih_1 вне форума  
Непрочитано 16.10.2010, 20:22  
AJScorp
Почётный гражданин KAZUS.RU
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
AJScorp на пути к лучшему
По умолчанию Re: Вопросы от NikMih_1

Сообщение от NikMih_1 Посмотреть сообщение
Так нет же вроде у него предустановки числа в таймере
Как так? В TMRx записываете число, оно увеличивается с частотой, заданной прескалерами, и как только достигнет нуля - вызывается прерывание!
AJScorp вне форума  
Непрочитано 16.10.2010, 20:25  
NikMih_1
Гражданин KAZUS.RU
 
Аватар для NikMih_1
 
Регистрация: 25.02.2008
Сообщений: 997
Сказал спасибо: 223
Сказали Спасибо 72 раз(а) в 58 сообщении(ях)
NikMih_1 на пути к лучшему
По умолчанию Re: Вопросы от NikMih_1

Сообщение от AJScorp Посмотреть сообщение
Как так? В TMRx записываете число
Не надо меня интриговать, я и так невысокого мнения о своих нынешних умственных способностях.. В 16 х такая возможность есть, только что смотрел мануал, а в 12-х не видел.
NikMih_1 вне форума  
Непрочитано 16.10.2010, 20:27  
AJScorp
Почётный гражданин KAZUS.RU
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
AJScorp на пути к лучшему
По умолчанию Re: Вопросы от NikMih_1

Сообщение от NikMih_1 Посмотреть сообщение
а в 12-х не видел.
Дык вот же парни уже накатали в примерах

Сообщение от realid Посмотреть сообщение
static void interrupt ISR(void)
{
TMR1IF = 0;
TMR1H = 0xFF;
TMR1L = 146;
GP5 = !GP5;
}
AJScorp вне форума  
Непрочитано 16.10.2010, 20:28  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Вопросы от NikMih_1

Да писать можно в любой таймер. На 18ых пиках иногда нужен бубен. Я там с ним шаманил, но пару раз было такое, что мандража не наступало, таймер раскуриваться не хотел и я шел в обход, злобно матерясь и вспоминая проклятых большевиков.
Easyrider83 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопросы по PROTEUS-у Advanced_LAMER Proteus 372 19.09.2021 01:20
Вопросы ENC28J60 CERGEI1982 Микроконтроллеры, АЦП, память и т.д 123 02.04.2018 22:30
Wiznet W7100. Общие вопросы R_N Микроконтроллеры, АЦП, память и т.д 7 06.06.2012 00:33
Вопросы по AVR-LIBС rear Микроконтроллеры, АЦП, память и т.д 5 08.10.2010 19:38
Вопросы об управлении MOSFET'ами в стабах Vadeg Электроника - это просто 14 19.12.2009 23:21


Часовой пояс GMT +4, время: 21:54.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot