PICBasicPro
|
|
vladh |
Дата: Пт, 14.12.2007, 15:47 | Сообщение # 31 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
258
Замечания:
±
На сайте с 15.10.2007
Статус:
Offline
|
evgenb спрашивал где можно приобрести мою книгу? Эта книга к сожалению пока только в электронном виде. Но сейчас я веду переговоры с издательством местного авиационного университета, и надеюсь, что за свои деньги мне удасться ее получить где-то в конце января - начале февраля. Стоить она будет приблизительно 150 руб
|
|
|
|
evgenb |
Дата: Пт, 14.12.2007, 18:06 | Сообщение # 32 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
91
Замечания:
±
На сайте с 14.09.2007
Статус:
Offline
|
vladh, Будет хорошим пособием. Я вероятно не дождусь, распечатаю и сошью самостоятельно. Хотя цена книги хорошая, в смысле не дорого. Если сможете до этого времени. добавте раздел по вставках на ASM и прерывание на ASM. Я у Вас не увидел об этом. И о работе сверх 2К поясните конкретней. Кто знает, тому и не надо, а новичку трудно понять что к чему. С уважением Евген. Добавлено (15.12.2007, 00:06) --------------------------------------------- basicpic, Максим, послал на почтовый ящик черновую программу работы с датчиком. Не выложил на форум, т.к. это полуфобрикат, заготовка. Будет готовый проект выложу для всех, а пока нет времени все закончить и привести в порядок.
|
|
|
|
vladh |
Дата: Пт, 14.12.2007, 21:17 | Сообщение # 33 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
258
Замечания:
±
На сайте с 15.10.2007
Статус:
Offline
|
Для evgenb. О вставках на ASM (подпрограммы на асемблере) написано на страницах 88-89 книги. Прерывания на ассемблере в данной книге не расматриваются вообще так как это выходит за рамки языка Бейсик. О каких 2К описанных в книге Вы говорите? Удачи.
|
|
|
|
evgenb |
Дата: Пт, 14.12.2007, 21:52 | Сообщение # 34 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
91
Замечания:
±
На сайте с 14.09.2007
Статус:
Offline
|
vladh, Перевод мануала на PICBasicPro Если в своем изложении добавите с п. 6.3. по п. 10.2 руководство, мне кажется выиграет. Как бы не говорили, а рано или поздно придется прибегнуть к этим материалам. И лучше если их не надо будет искать. Но это дело автора. Спросили мнение, я его высказал. Успехов
|
|
|
|
vladh |
Дата: Сб, 15.12.2007, 06:44 | Сообщение # 35 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
258
Замечания:
±
На сайте с 15.10.2007
Статус:
Offline
|
Для evgenb. Большое спасибо Вам за то, что читаете эту книгу. Отдельное спасибо за Ваши критические замечания. Дело в том, что когда я собирал материал, который необходимо включить в книгу то решил, что главы с 6 по 10 повторяют изложение того, что, в общем, то разбросано в информации по командам языка и повторяться нет смысла. Но после Вашего замечания подумал о том, что в этих главах информация несколько систематизируется и поэтому, наверное, был бы смысл включить её в книгу. Позже я постараюсь это исправить. Еще раз спасибо и удачи.
|
|
|
|
ADMIN |
Дата: Сб, 15.12.2007, 17:30 | Сообщение # 36 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
OK
|
|
|
|
evgenb |
Дата: Сб, 15.12.2007, 20:50 | Сообщение # 37 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
91
Замечания:
±
На сайте с 14.09.2007
Статус:
Offline
|
vladh, Мне кажется если в листинге примера вольтметра на странице 70 команду написать так: LCDOut $FE,2," V = ",dec (volts1/1000),".", DEC2 (volts1/10) она будет соответствовать рисунку к этому примеру. Не сочтите за навязчивость. Успехов.
|
|
|
|
vladh |
Дата: Вс, 16.12.2007, 06:52 | Сообщение # 38 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
258
Замечания:
±
На сайте с 15.10.2007
Статус:
Offline
|
Вполне с Вами согласен evgenb. Большое спасибо за внимательное чтение книги и сделаное замечание.
|
|
|
|
brown |
Дата: Вт, 18.12.2007, 04:09 | Сообщение # 39 |
Группа:
Пользователи
Ранг:
Помогаю всем
Сообщений:
333
Замечания:
±
На сайте с 18.09.2007
Статус:
Offline
|
Admin, куда и как можно слить обещанный проект.
Век живи - век учись! К концу жизни поймешь, что ничего не знаешь...
|
|
|
|
Yrok |
Дата: Вт, 18.12.2007, 10:06 | Сообщение # 40 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
112
Замечания:
±
На сайте с 27.09.2007
Статус:
Offline
|
to brown Закинь его на http://www.slil.ru/ и выложи здесь ссылку
|
|
|
|
brown |
Дата: Чт, 20.12.2007, 04:15 | Сообщение # 41 |
Группа:
Пользователи
Ранг:
Помогаю всем
Сообщений:
333
Замечания:
±
На сайте с 18.09.2007
Статус:
Offline
|
Нет предела совершенству, так что прошу сильно не пинать. http://slil.ru/25260410
Век живи - век учись! К концу жизни поймешь, что ничего не знаешь...
|
|
|
|
Yrok |
Дата: Чт, 20.12.2007, 17:15 | Сообщение # 42 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
112
Замечания:
±
На сайте с 27.09.2007
Статус:
Offline
|
to brown Ничего так --серьезная работа--будет время обязательно поробую во всем разобраться--можно почерпнуть много нового для себя))))) Кстати никто неразжует как реализована функция валкодера--чет я никак невъеду как получая сигнал с двух фотодиодов можно понять куда крутиться вал
|
|
|
|
skiip |
Дата: Чт, 25.12.2008, 16:49 | Сообщение # 43 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
26
Замечания:
±
На сайте с 24.12.2008
Статус:
Offline
|
Люди добрые помогите с прогой в бейсике. Немогу организовать прерывание (чегото леплю и сам не пойму) Надо собрать тахометр чтоб считал единици оборотов. завис я на... кароче тупа считает время импульса. Да даже не время а чёрт знает что while true i=0 while PORTA=0 'ждем спад wend w: if PORTA=1 then 'прока 1 считаем i=i+1 goto w end if IntToStr(i,L)'"LCD" Lcd_Out(2,1,L) wend КАК? организовать время чтоб пришло n ипульсов. с уважением Сергей (SKIIP@rambler.ru)Добавлено (25.12.2008, 4:49:35) --------------------------------------------- возможно ли для PIC16F84 написать программу для работы с DS18B20 (или DC1821) как?
skiip
|
|
|
|
MasterPic |
Дата: Чт, 25.12.2008, 16:55 | Сообщение # 44 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
186
Замечания:
±
На сайте с 22.11.2008
Статус:
Offline
|
Вообще здесь форум по PICBasicPro. На нем можно написать команду PULSIN pin, state, var, где pin - порт микроконтроллера, state - состояние(1 или 0), во время которого надо считать импульсы. Объясните, зачем ждать спад, можно по прерыванию начинать счет, это раз. Во вторых, какая частота? Можно цикл счета через while.. wend организовать. вот пример из Microbasic - в папке Samples. Code program FrequencyCounter
dim T0Count as byte txt as char[20] Freq, Old_Freq, Tmp_Freq as word
sub procedure Interrupt INTCON.GIE = 0 ' DISABLE INTERRUPTS if TestBit(INTCON, TMR0IF) = 1 then ' Test if timer0 interrupt has occurred inc(T0Count) if T0Count = 4 then ' 1s has elapsed Freq = Tmp_Freq ' copy current value to display container Tmp_Freq = 0 ' reset current value T0Count = 0 TMR0H = $2F ' these values are calculated for 8MHz TMR0L = $6C end if ClearBit(INTCON, TMR0IF) ' clear interrupt flag else ' this is external interrupt on rising edge Inc(Tmp_Freq) ' increment pulse counter ClearBit(INTCON, INT0IF) ' clear interrupt flag end if INTCON.GIE = 1 ' ENABLE INTERRUPTS end sub
main: TRISB = $0F ' PORTB is half input, half output Lcd8_Config(PORTB, PORTD, ' LCD is connected in 8bit mode 4, 6, 5, ' Control pins on PORTB 7, 6, 5, 4, 3, 2, 1, 0) ' Data pins on PORTD Lcd8_Cmd(LCD_CLEAR) ' Clear LCD Lcd8_Cmd(LCD_CURSOR_OFF) ' Turn cursor OFF Lcd8_Out(1, 1, "Frequency (Hz):") ' Write static text Freq = 0 ' Initialize global vars Old_Freq = 1 ' Force first write T0Count = 0
TMR0H = $2F ' Pre-load Timer0: TMR0L = $6C ' these values are calculated for 8MHz T0CON = $02 ' Timer0: internal clock, prescaler 1:8, 16bit mode
INTCON2.INTEDG0 = 1 ' Interrupt on rising edge on RB0 INTCON2.TMR0IP = 0 ' Timer0 interrupt is of low priority- not really important T0CON.TMR0ON = 1 ' Start Timer0 INTCON = $F8 ' Enable TMR0 interrupt, ' peripheral interrupts, ' interrupt on PORTB and ' external interrupt INT0 while true ' Repeat endlessly if Freq <> Old_Freq then ' Dislay measurements only when there is change. WordToStr(Freq, txt) ' Convert new value to string Lcd8_Out(2, 5, txt) ' Display new value in the second row Old_Freq = Freq ' Signal that the current value has been shown '** you can do some other processing with Freq, '** for example to send it to PC via USART. end if wend end. Добавлено (25.12.2008, 4:55:13) --------------------------------------------- А для Microbasic отдельная ветка форума.
|
|
|
|
evgenb |
Дата: Чт, 25.12.2008, 19:30 | Сообщение # 45 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
91
Замечания:
±
На сайте с 14.09.2007
Статус:
Offline
|
Пример организации тахометра. Подсчет импульсов за 1 сек. Модель в Proteus 7.4.SP3 http://slil.ru/26482359
Сообщение отредактировал
evgenb - Чт, 25.12.2008, 19:32
|
|
|
|