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

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

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

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

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

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


 
Опции темы
Непрочитано 15.01.2020, 21:01  
tomitch
Вид на жительство
 
Регистрация: 28.04.2008
Сообщений: 363
Сказал спасибо: 197
Сказали Спасибо 275 раз(а) в 122 сообщении(ях)
tomitch на пути к лучшему
По умолчанию Pic16F870 нужна помощь ассемблерщиков

Асм для меня. Есть устройство на Pic16F870, рассчитанное на питание 5В, которое и опора для АЦП.
Развёл печатку, переделал под неё исходник .
Запитал от 2,7В (Li-Ion+XC6206), функционирует и на 20 МГц, но теперь нужен перерасчёт результатов измерений (вместо 1,33В кажет 2,52).
Где это зарыто в исходнике?
Буду благодарен за помощь.
Реклама:

Последний раз редактировалось tomitch; 17.01.2020 в 17:35.
tomitch вне форума  
Непрочитано 15.01.2020, 23:02  
anatol378
Почётный гражданин KAZUS.RU
 
Аватар для anatol378
 
Регистрация: 19.10.2004
Адрес: Нижний Новгород
Сообщений: 1,736
Сказал спасибо: 370
Сказали Спасибо 1,247 раз(а) в 536 сообщении(ях)
anatol378 на пути к лучшему
По умолчанию Re: Pic16F870 нужна помощь ассемблерщиков

А ссылку на устройство слабо дать?
Как бы неплохой пробник?
__________________
Лучше умному тупить, чем тупому умничать
anatol378 вне форума  
Непрочитано 15.01.2020, 23:35  
tomitch
Вид на жительство
 
Регистрация: 28.04.2008
Сообщений: 363
Сказал спасибо: 197
Сказали Спасибо 275 раз(а) в 122 сообщении(ях)
tomitch на пути к лучшему
По умолчанию Re: Pic16F870 нужна помощь ассемблерщиков

Сообщение от anatol378 Посмотреть сообщение
А ссылку на устройство
https://www.radiolocman.com/shem/sch....html?di=65122

Поделюсь печаткой. Плата+литий+зарядка+кнопка вкл. с фикс. всё в корпусе фломастера

Последний раз редактировалось tomitch; 15.01.2020 в 23:42. Причина: Доп.
tomitch вне форума  
Непрочитано 16.01.2020, 01:52  
anatol378
Почётный гражданин KAZUS.RU
 
Аватар для anatol378
 
Регистрация: 19.10.2004
Адрес: Нижний Новгород
Сообщений: 1,736
Сказал спасибо: 370
Сказали Спасибо 1,247 раз(а) в 536 сообщении(ях)
anatol378 на пути к лучшему
По умолчанию Re: Pic16F870 нужна помощь ассемблерщиков

Просто сделай делитель на RA0 (2 ножка), 23,5 Ом на массу. Или другие резисторы, главное пропорция в изменении питающих.
__________________
Лучше умному тупить, чем тупому умничать
anatol378 вне форума  
Непрочитано 16.01.2020, 02:16  
tomitch
Вид на жительство
 
Регистрация: 28.04.2008
Сообщений: 363
Сказал спасибо: 197
Сказали Спасибо 275 раз(а) в 122 сообщении(ях)
tomitch на пути к лучшему
По умолчанию Re: Pic16F870 нужна помощь ассемблерщиков

Сообщение от anatol378 Посмотреть сообщение
сделай делитель
Это я прошёл, ток большой при измер. напруги (50мА при 2,15В). Желательно программно. Да и расширить бы диап. до 27В.

Последний раз редактировалось tomitch; 16.01.2020 в 02:17. Причина: Доп.
tomitch вне форума  
Непрочитано 16.01.2020, 02:19  
j-Roger
Прописка
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 222
Сказал спасибо: 189
Сказали Спасибо 317 раз(а) в 153 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: Pic16F870 нужна помощь ассемблерщиков

Сейчас в софте что-нибудь придумаем, там ИМХО несложно.
Опора уменьшилась в 5.0/2.7 = 1.85 раза, поэтому и результат пропорционально завышен.
Нужно результат измерения АЦП уменьшить в 1.85 раз, или, что то же, домножить на 1/1.85 = 0.54 ~= 17/32.
Если в оригинале результат измерения N с АЦП делится на 2 (т.е. N/2) и идет в работу, то нам нужно домножить его на 17/32, то есть получим искомое N*17/64.
Это можно представить как (16*N + N)/64 = 16*N/64 + N/64 = (N>>2) + (N>>6), то есть обойтись сдвигами и сложениями.
j-Roger вне форума  
Непрочитано 16.01.2020, 02:59  
tomitch
Вид на жительство
 
Регистрация: 28.04.2008
Сообщений: 363
Сказал спасибо: 197
Сказали Спасибо 275 раз(а) в 122 сообщении(ях)
tomitch на пути к лучшему
По умолчанию Re: Pic16F870 нужна помощь ассемблерщиков

В Протеусе симулируется

Последний раз редактировалось tomitch; 17.01.2020 в 17:35.
tomitch вне форума  
Непрочитано 16.01.2020, 04:48  
j-Roger
Прописка
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 222
Сказал спасибо: 189
Сказали Спасибо 317 раз(а) в 153 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: Pic16F870 нужна помощь ассемблерщиков

Сообщение от tomitch Посмотреть сообщение
В Протеусе симулируется
Нет такой возможности.
Попробуйте - подправленный исходник во вложении.
По ходу там, где явно указано 'voltmeter', оригинальный фрагмент обработки результата АЦП был заменен на новый.

Т.е. закомментированы строки 1244..1254 с пометкой 'Original':
Код:
vov2	call	atod		;get 10 bits
;>>> Original
	;bcf	STATUS,C
	;rrf	hi,f
	;rrf	lo,f		;scale to 9 bits (N >> 1)
	;movf	lo,w
	;movwf	acc
	;movf	hi,w
	;movwf	acc+1
	;clrf	acc+2
	;clrf	acc+3
;<<< Original
и добавлен новый фрагмент с пометкой 'New'.
Код:
;>>> New
; the goal is to obtain in acc the value (N >> 2) + (N >>6) instead of (N >> 1)
	bcf	STATUS,C
	rrf	hi,f
	rrf	lo,f	    ; hi:lo is shifted right by 1 (N >> 1)
	bcf	STATUS,C
	rrf	hi,f
	rrf	lo,f	    ; hi:lo is shifted right by 2 (N >> 2)
	movf    lo,w
	movwf   acc
	movf    hi,w
	movwf   acc+1
	clrf    acc+2
	clrf    acc+3	    ; acc now contains hi:lo shifted right by 2 (N >> 2)

	bcf	STATUS,C
	rrf	hi,f
	rrf	lo,f	    ; hi:lo is shifted right by 3 (N >> 3)
	bcf	STATUS,C
	rrf	hi,f
	rrf	lo,f	    ; hi:lo is shifted right by 4 (N >> 4)
	bcf	STATUS,C
	rrf	hi,f
	rrf	lo,f	    ; hi:lo is shifted right by 5 (N >> 5)
	bcf	STATUS,C
	rrf	hi,f
	rrf	lo,f	    ; hi:lo is shifted right by 6 (N >> 6)

	bcf	STATUS,C    ; now we have to add hi:lo to acc
	movf    lo, w	    ; sum 0th bytes
	addwf   acc + 0,f	

	movf    hi, w       ; sum 1st bytes
	btfsc   STATUS, C 
	incfsz  hi, w 
	addwf   acc + 1, f

	clrw		    ; sum 2nd bytes
	btfsc   STATUS, C
	movlw	1
	addwf   acc + 2, f
;<<< New
SP870.zip

Последний раз редактировалось j-Roger; 16.01.2020 в 12:59.
j-Roger вне форума  
Сказали "Спасибо" j-Roger
tomitch (16.01.2020)
Непрочитано 16.01.2020, 13:09  
j-Roger
Прописка
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 222
Сказал спасибо: 189
Сказали Спасибо 317 раз(а) в 153 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: Pic16F870 нужна помощь ассемблерщиков

tomitch, удалось просимулировать, 'voltmeter' ведет себя как положено.
В посте #8 во вложении исходник, взятый из архива (пост #7) и файл *.hex

P.S.
Там еще логический пробник будет себя некорректно вести по причине изменения опоры, ибо я поправил только вольтметр

Последний раз редактировалось j-Roger; 16.01.2020 в 14:51.
j-Roger вне форума  
Сказали "Спасибо" j-Roger
tomitch (16.01.2020)
Непрочитано 16.01.2020, 14:49  
tomitch
Вид на жительство
 
Регистрация: 28.04.2008
Сообщений: 363
Сказал спасибо: 197
Сказали Спасибо 275 раз(а) в 122 сообщении(ях)
tomitch на пути к лучшему
По умолчанию Re: Pic16F870 нужна помощь ассемблерщиков

j-Roger,

Отличная работа!!!
Большое списибо! На макете ОК

Всегда завидовал ассемблерщикам.
А вот как (soft+hard) расширить (вместо 2,70>>>27,0В с переносом запятой) диапазон изм. напруги?
tomitch вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь по созданию схемы umkaasp TTL и CMOS логика 38 21.01.2015 13:28
Люди, у кого есть АС MICROLAB H 600 или H 500,пожалуйста отзовитесь, нужна помощь Lesha2222 Аудиотехника 1 30.01.2014 21:44
Нужна помощь в ремонте инвертора 373niko Источники питания и свет 10 06.09.2009 21:13
Нужна помощь!!! ШД -> UNL2003A -> PIC16F84A xxxmonejall Микроконтроллеры, АЦП, память и т.д 10 04.08.2009 00:02
Нужна помощь профессионала! romstal Аудиотехника 7 23.02.2009 15:19


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


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