|
Допоможіть розібратись з частотоміром на РІС, В протеусі працює а в реалі через раз |
|
|
|
Mar 8 2013, 09:32
|
Группа: Validating
Сообщений: 9
Регистрация: 5-02-13
Пользователь №: 75 501

|
Доброго дня всім. Я написав програму частотоміра від 100Гц до 6,5мГц, в протеусі запускаю працює нормально як і повинен, а вреалі спаяв схему но він капризнічає і не хоче запускатись. Якщо його на протязі певного часу насілувати включати/виключати то він таки включиться. Я використовую динамічну індикацію індикатрів, коли він не включається на індикаторах пусто, но по струму споживання видно що процесор веде якусь діяльність. Для проби частотоміра я на цьому ж 16Ф877 запускаю ШИМ модулятор для генерації частоти і він же її і вимірює. Так вот коли я запускаю схему і нічого не подаю на вхід частотоміра то він по включавши/виключавши запуститься но с трудом, а якщо зєднати вхід частотоміра з виходом шим то він запуститься швидше. Не можу зрозуміти в чому причина, інші програми в тому числі з індикаторами на цій же макетній платі запускаються нормально. Допоможіть будьласка розібратись якщо потрібно схему і саму програму в асемблері виложу і програму опишу
|
|
|
|
|
Mar 8 2013, 10:13
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(miless @ Mar 8 2013, 13:32)  Допоможіть будьласка розібратись якщо потрібно схему і саму програму в асемблері виложу і програму опишу 1. Проверьте монтаж. 2. Проверьте источник питания и качество выдаваемого им напряжения. 3. Покажите схему (например, в формате pdf). Без этого вообще говорить не о чем. 4. Кварц качественный ? На пол не падал ? 5. Программку покажите. Но едва ли дело только в ней ...
|
|
|
|
|
Mar 8 2013, 11:00
|
Гуру
     
Группа: Почетный участник
Сообщений: 6 851
Регистрация: 25-08-08
Из: Запорожье
Пользователь №: 39 802

|
Цитата(kovigor @ Mar 8 2013, 14:21)  Скажите спасибо, что не по-китайски написали. Так что ничего удивительного ... Вчера разговаривал с китайцем. Человек мучился с двойным переводом на русский, но старался, раз он ко мне обратился. Поговорили по-английски, поделив пополам трудности языковые. Но это был приватный разговор двух людей, мы охотно пошли навстречу друг другу. Если бы он настаивал на диалекте хань, а я - на диалекте восточноукраинский суржик или львовская говирка - дело бы не состоялось. Нужно иметь такт, чтобы на любом форуме использовать его официальный язык. Переводчик в Гугле (в том числе для прошедших курсы ускоренного забывания русского) имеется. На мелкие огрехи перевода никто внимания не обращает, как только становится ясным, что человек пользуется не своим привычным языком. Стартер должен понимать, что на его вопрос знает точный ответ кто-нибудь вообще из третьей страны, тут бывают очень разные люди, просто это часто незаметно. Не нужно людей загружать своей работой по переводу. Им и своих 2-3 языков достаточно для хлопот с общением. В очередной раз попробовал разъяснить. Хотя, формально другой язык это нарушение Правил.
|
|
|
|
|
Mar 8 2013, 11:55
|
Группа: Validating
Сообщений: 9
Регистрация: 5-02-13
Пользователь №: 75 501

|
CODE ;------user-varieble----------------------------------------- a_L EQU 0X20 a_H EQU 0X21 a_3 EQU 0X22 reg1 EQU 0X28 a_0 EQU 0X29 reg EQU 0X2A var_1 EQU 0X30 var_2 EQU 0X31 var_3 EQU 0X32 var_4 EQU 0X33 var_5 EQU 0X34 var_6 EQU 0X35 var_7 EQU 0X36 var_8 EQU 0X37 var_9 EQU 0X38 var_0 EQU 0X39 var_sb EQU 0X3A parol_0 EQU 0X3B parol_1 EQU 0X3C parol_2 EQU 0X3D parol_3 EQU 0X3E xs EQU 0X3F var_kod EQU 0X2D b_1 EQU 0X40 b_2 EQU 0X41 b_3 EQU 0X42 b_4 EQU 0X43 b_5 EQU 0X44 b_6 EQU 0X45 b_7 EQU 0X46 b_8 EQU 0X47 b_9 EQU 0X48 b_0 EQU 0X49 x_0 EQU 0X23 x_1 EQU 0X24 x_2 EQU 0X25 x_3 EQU 0X26 lc2 EQU 0X27 lc1 EQU 0X2B a_x EQU 0X2C reg3 EQU 0X50 reg4 EQU 0X51 ;-----define labels of the text--------------------- #DEFINE z STATUS,2 #DEFINE c STATUS,0 ;-------user-program--------------------------------- ORG 0X000;define start adres sfter restart ; goto begin;start program ; ORG 0X004 ; goto begin ;---------------initialization---------------- begin bcf STATUS, RP1;Ystanovka v 0 bsf STATUS, RP0; Bank_1 movlw b'00000000' movwf TRISD movlw b'00000000' movwf TRISB movlw b'00000001' movwf TRISC movlw b'00000010' movwf TRISE movlw b'00011111' movwf PR2 bcf STATUS, RP0;Bank_0 movlw b'00011111' movwf CCPR2L movlw b'00000100' movwf T2CON movlw b'00111100' movwf CCP2CON bcf PIR1,0 clrf var_5 clrf PORTE clrf PORTD clrf PORTB clrf PORTC clrf TMR0 clrf TMR1H clrf TMR1L movlw b'11111111' movwf PORTC bsf STATUS, RP0; Bank_1 movlw b'11000111' movwf OPTION_REG bcf STATUS, RP0; Bank_0 movlw b'00000110' movwf T1CON ;-------------timer--------- nm bcf INTCON,2 bsf T1CON,0 movlw b'01110100' movwf TMR0 a btfss INTCON,2 goto a ;---------------perepolnenie--------- btfss PIR1,0 goto next movlw b'01101110' movwf var_5 ;----------------indikacija---------------- next bcf T1CON,0 movf TMR1L,0 movwf a_L movf TMR1H,0 movwf a_H dec movlw b'00000000 iorwf a_H,w btfss z goto dec10000 movlw b'00000000' iorwf a_L,w btfss z goto next2
movlw b'00000011' movwf reg4 ind3 movlw b'11111111' movwf reg3 ind2 movf var_0,0 call num_tab movwf PORTD bcf PORTC,2 nop nop nop nop bsf PORTC,2 movf var_1,0 call num_tab movwf PORTD bcf PORTC,3 bsf PORTD,0 nop nop nop nop bcf PORTD,0 bsf PORTC,3 movf var_2,0 call num_tab movwf PORTD bcf PORTC,4 nop nop nop nop bsf PORTC,4 movf var_3,0 call num_tab movwf PORTD bcf PORTC,5 nop nop nop nop bsf PORTC,5 movf var_4,0 call num_tab movwf PORTD bcf PORTC,6 bsf PORTD,0 nop nop nop nop bcf PORTD,0 bsf PORTC,6 movf var_5,0 movwf PORTD bcf PORTC,7 nop nop nop nop bsf PORTC,7 decfsz reg3,f goto ind2 decfsz reg4,f goto ind3 clrf TMR0 clrf TMR1L clrf TMR1H clrf a_H clrf a_L clrf var_0 clrf var_1 clrf var_2 clrf var_3 clrf var_4 clrf var_5 bcf PIR1,0 goto nm num_tab addwf PCL,1 retlw b'01111110';0 retlw b'00001100';1 retlw b'10110110';2 retlw b'10011110';3 retlw b'11001100';4 retlw b'11011010';5 retlw b'11111010';6 retlw b'00001110';7 retlw b'11111110';8 retlw b'11011110';9 ;--------------konvertirovanie 16 bit timer v chisla dec10000 movlw b'00100111';-10000 subwf a_H,w btfss c goto next1 movlw b'00010000' subwf a_L,w btfsc c goto n1 movlw b'00101000' subwf a_H,w btfss c goto next1 n1 call pl10000 movlw b'00100111' subwf a_H,f movlw b'00010000' subwf a_L,f btfsc c goto dec decf a_H,f goto dec next1 movlw b'00000011';-1000 subwf a_H,w btfss c goto next2 movlw b'11101000' subwf a_L,w btfsc c goto n2 movlw b'00000100' subwf a_H,w btfss c goto next2 n2 call pl1000 movlw b'00000011' subwf a_H,f movlw b'11101000' subwf a_L,f btfsc c goto dec decf a_H,f goto dec next2 movlw b'01100100';-100 subwf a_L,w btfss c goto n3 call pl100 movlw b'01100100' subwf a_L,f goto dec n3 movlw b'00000000' iorwf a_H,w btfsc z goto next3 movlw b'01100100' subwf a_L,f decf a_H,f call pl100 goto dec
next3 movlw b'00001010';-10 subwf a_L,w btfss c goto next4 call pl10 movlw b'00001010' subwf a_L,f goto dec
next4 movlw b'00000001';-1 subwf a_L,w btfss c goto dec call pl1 movlw b'00000001' subwf a_L,f goto dec
pl1 incf var_0,1 movlw b'00001010' subwf var_0,0 btfss z return clrf var_0 pl10 incf var_1,1 movlw b'00001010' subwf var_1,0 btfss z return clrf var_1 pl100 incf var_2,1 movlw b'00001010' subwf var_2,0 btfss z return clrf var_2 pl1000 incf var_3,1 movlw b'00001010' subwf var_3,0 btfss z return clrf var_3 pl10000 incf var_4,1 return
end Вивод 15 вхід частотоміра, вихід 16 ШИМ Вибачте що скинув програму на форум не в некоректному вигляді, вона трошки не коректно відобразилась Так що заважало вiдкоректувати? Виправив. Будьте уважнiшим.все нормально все правильно Вивод 15 вхід частотоміра, вихід 16 ШИМ Цитата(kovigor @ Mar 8 2013, 13:13)  1. Проверьте монтаж. 2. Проверьте источник питания и качество выдаваемого им напряжения. 3. Покажите схему (например, в формате pdf). Без этого вообще говорить не о чем. 4. Кварц качественный ? На пол не падал ? 5. Программку покажите. Но едва ли дело только в ней ... Я використовую макетну плату, на ній роблю різні схеми і використовую той самий кварц, інші програми на цій платі нормально працюють Це моя макетна плата з запущеною програмою частотоміра який міряє вихід ШИМ
Эскизы прикрепленных изображений
|
|
|
|
|
Mar 8 2013, 14:15
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Таке... в Вас мабуть частотний вхід нойзить? Не знаете, що таке нойзить? Це я тільки-но придумав, натякуючи про те, що наша мова досить жива, тому може легко брати до вживання іншомовні солодкозвучні слова.  Чи я неправий? Якщо пам'ятаєте епоху становлення наукової термінології, досить болючу, до речі, й до наших часів. Радше, як воно не складно, спілкуйтеся, будласка, російською, нехай як. За відзеркаллям англомовного спілкування. Погано володієш чи дуже блескуче - неважливо, усі зрозуміють. Сенс, на мою думку, в технічному словникові. Ось. Нойзить... Ви за протеусівською моделлю аніяк не створили нормальний вхід приладу, то ж чого Ви ще бажаєте? Треба хоч який конденсатор, нехай 100пф додати (макет, зрозуміло-прямо повісити) - побачите, що картина буде трошки інша. Шановний. ps а питання вдосконалення приладу, до речі, були ще в часописах "Радиолюбитель" 96-98 років. Там була схема частотовимірювача на 8051, але цікавить схемотехніка вхідної частини. Пошукайте, воно в інеті повинно десь бути.
Сообщение отредактировал _Pasha - Mar 8 2013, 14:27
|
|
|
|
|
Mar 8 2013, 14:41
|
Группа: Validating
Сообщений: 9
Регистрация: 5-02-13
Пользователь №: 75 501

|
Дякую що підказали на рахунок входу, тепер знаю в якому напрямку рухатись. Буду експерементувати...
Сообщение отредактировал Herz - Mar 8 2013, 14:49
Причина редактирования: Избыточное цитирование
|
|
|
|
|
Mar 9 2013, 13:08
|
Группа: Validating
Сообщений: 9
Регистрация: 5-02-13
Пользователь №: 75 501

|
Нажаль не помогло, тут діло в програмі, но ніяк не можу розібратись в якій частині програми
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|