Selaa lähdekoodia

Probably, fix calculation mistakes.

Vladimir N. Shilov 2 vuotta sitten
vanhempi
commit
e77b59f6a6
3 muutettua tiedostoa jossa 22 lisäystä ja 11 poistoa
  1. 11 0
      ReadMe.txt
  2. 9 9
      avm.asm
  3. 2 2
      avm.hex

+ 11 - 0
ReadMe.txt

@@ -22,3 +22,14 @@
 
 Вроде получилось, нужно проверять.
 392 байта, и 10 байт данных.
+---
+2022.06.08
+
+Прошло 7 лет. На улице война. А я решил добить этот вольтметр.
+
+Идея себя не оправдала - цифры так и скачут, возможо даже ещё хуже.
+Плюс косяк - теяются десятки вольт. Кажется исправил.
+
+Перемерял опорное - 4,985. Можно использовтаь для коррекции делителя на входе.
+Непойму зачем замедлял АЦП, нужно будет сравнить результаты на крайних 
+скоростях.

+ 9 - 9
avm.asm

@@ -234,19 +234,19 @@ ML1:
 	ldi	temp,low(VREF)
 	ldi	tmp1,high(VREF)
 	rcall	MPY16U		; отбросили job0 == поделили на 256
-	lsr	job1
-	ror	job0
-	lsr	job1
-	ror	job0
-	lsr	job1
-	ror	job0
+	lsr	job2
+	ror	job1
+	lsr	job2
+	ror	job1
+	lsr	job2
+	ror	job1
 
 ;; в реале нужно будет множить например на 400 и делить на 100 -- под реальный делитель.
 ; тут можно добавить коррекцию усиления.
 
-; сейчас текущий результат измерний в job1:job0. Перенесём в msr
-	mov	msrH,job1
-	mov	msrL,job0
+; сейчас текущий результат измерний в job2:job1. Перенесём в msr
+	mov	msrH,job2
+	mov	msrL,job1
 ; наш результат, это по сути среднее за 64 измерения, в миливольтах, по входу.
 
 ;;; преобразуем msr в десятичный вид и положим в буфер индикатора

+ 2 - 2
avm.hex

@@ -7,8 +7,8 @@
 :10005000DD27C4E000E3402E502E602E702E7894F1
 :10006000EE24FF2420E4339A2FD097FF03C09F771C
 :10007000369AFACF2223C1F73398F694E794F69490
-:10008000E794F694E79404E713E12ED016940794CE
-:100090001694079416940794F12CE02C32D0A4E027
+:10008000E794F694E79404E713E12ED026941794AE
+:100090002694179426941794F22CE12C32D0A4E0E5
 :1000A000BB27022D0F70002319F40FEF0D9301C031
 :1000B00011D0012D029590640DD09F7B012D0AD0A7
 :1000C000002D029507D0CCCF00E205BF8895002710