Показать сообщение отдельно
Старый 12.03.2015, 15:58   #4 (permalink)
alex117
Member
 
Регистрация: 14.07.2014
Сообщений: 627
Сказал(а) спасибо: 13
Поблагодарили 22 раз(а) в 11 сообщениях
Репутация: 9966
По умолчанию

Вот его исходник (жирным выделил, как я думаю, то, что касается дисплея):
Цитата:
'------------------------------------------------------------------------------'
'Program: miniaturowy miernik do zasilacza na attiny13 i LCD '
'Wersja z 64 próbkami i wyœwietlaniem œredniej '
'kompilator: bascom 1.11.9.0 data: 23.12.2009 autor: Manekinen '
'strona domowa projektu: mdiy.pl | wolno? wariacie w swoim warsztacie '
'wszelkie modyfikacje dozwolone, publikuj¹c nale¿y zachowaæ ten nag³ówek '
' WY£¥CZNIE DO U¯YTKU NIEKOMERCYJNEGO '
'------------------------------------------------------------------------------'

Const Pullup = 6 'ile mV b³êdu wprowadza pullup wyœwietlacza pod³¹czony do gnd poprzez 100ohm... troche nieeleganckie ale proste i skuteczne

$regfile = "attiny13.dat"
'$regfile = "m8def.dat"
$crystal = 1200000
'$crystal = 2000000
$hwstack = 8
$swstack = 16
$framesize = 16

'$noramclear
'$sim

Dim Pomiar As Word
Dim Pokaz As String * 4
Dim Pokaz2 As String * 4
Dim Znak As Byte
Dim Licz As Byte
Dim Petla As Byte

Declare Sub Mierz
Declare Sub Formuj
Declare Sub Wyswietl

Config Adc = Single , Prescaler = Auto , Reference = Internal 'off
Start Adc

Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.4 , Db6 = Portb.3 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0

Cursor Off
Cls


Do

Upperline 'od nowa dla napiêcia i pr¹du
Licz = 1 'adc dla napiecia
Mierz 'mierzy i formuje napiêcie
'Moc = Pomiar 'kopia dla obliczeñ mocy
Znak = 86 'znak dla napiêcia
Wyswietl 'wyœwietla napiêcie

Licz = 3 'adc dla pr¹du ------- ??????
Mierz 'mierzy i formuje pr¹d
'w pomiar zostaje pr¹d
Pokaz2 = Format(pokaz , "0.00") 'forumje pr¹d drugi raz
Znak = 65 'znak dla pr¹du
Wyswietl 'wyœwietla pr¹d

'Lowerline 'od nowa dla temperatury i mocy
'Mnozenie
'Pomiar = Moc * Pomiar 'liczy moc
'Pomiar = Pomiar / 100
'Formuj
'Znak = 87 'znak dla mocy
'Wyswietl 'wyœwietla moc

Licz = 0 'adc dla temperatury
Mierz 'mierzy i formuje temperaturê
Znak = 42 'znak dla temperatury
Wyswietl 'wyœwietla temperaturê


Loop
'_______________________
Mierz:
Pomiar = 0
Petla = 0

Do
Incr Petla
Pomiar = Pomiar + Getadc(licz) 'sumuje pomiary
Pomiar = Pomiar - Pullup 'za ka¿dym razem odejmuje napiêcie pullupa
Loop Until Petla = 64 '64 próbki

Shift Pomiar , Right , 6 '6/64
If Pomiar > 999 Then Pomiar = 0 'granica do 99.9


Formuj:

Pokaz = Str(pomiar)
Pokaz2 = Format(pokaz , "00.0")
Return


Wyswietl:
Ddrb = &B111111
Lcd Pokaz2 ; Chr(znak) ; Chr(32)
Ddrb = &B010011
Return
Нужно сделать вот так:
Изображения
 

Последний раз редактировалось alex117; 12.03.2015 в 16:06
alex117 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070