Dziwne!? zachowanie wyświetlacza lcd?

Miejsce dobre do dyskusji nad własnymi projektami - pochwal się wszystkim co samodzielnie stworzyłeś.
ODPOWIEDZ
hubertp
-
Posty: 25
Rejestracja: 30 paź 2007, 16:01
Lokalizacja: mińsk maz.

Dziwne!? zachowanie wyświetlacza lcd?

Post autor: hubertp » 01 maja 2008, 9:07

Witam!
Zmontowałem na prototypowej płytce stykowej układ z proc PIC dołączyłem do niego prosty układ generatora opartego na 74hc04 (gen rezonansowy z dwoma kondensatorami i cewką zamiast kwarcu) niestety nie mam oscyloskopu żeby sprawdzić jak wygląda przebieg ,mam miernik częstotl. sprawdziłem na wyjściu jest ok 75khz.Wyjście gen. podłączone jest do pinu CCP1(RB3) przechwytywania aby zmierzyć częstotliwość.Jednak na wyświetlaczu ciągle pojawiało się wszystko tylko nie to co trzeba. :shock: Jakieś dziwne znaczki. :shock: Czasem częstotl.Dlaczego tak jest? Biorę pod uwagę różne rzeczy-może to wina połączenia(lcd jest przyłączony do płytki stykowej drucikami) ale napisy w stylu "hello world" wyświetlane są prawidłowo,może to uszkodzony proc a może trzeba dać kondensator odsprzęg. lcd.Póżniej połączyłem gen. z proc przez dodatkową bramkę.To trochę rozwiązało problem ale nie do końca.Proszę napiszcie co wiecie o tym.
Pozdrawiam

ZbeeGin

Post autor: ZbeeGin » 01 maja 2008, 9:10

A jakiś kod by kolega pokazał?

Awatar użytkownika
joon
Użytkownik
Posty: 2076
Rejestracja: 30 cze 2007, 22:56
Lokalizacja: Kraków, Przemyśl, Warszawa
Kontakt:

Post autor: joon » 01 maja 2008, 9:11

Mały kondek daj na linie zasilające, a obwód generatora zasil przez osobny stabilizator i oddal nieco od procka, to powinno pomóc.

hubertp
-
Posty: 25
Rejestracja: 30 paź 2007, 16:01
Lokalizacja: mińsk maz.

Post autor: hubertp » 01 maja 2008, 9:33

Kod: Zaznacz cały

' Program to demonstrate the use of the hardware capture
' module to measure the period of a frequency input.
'
' Also shows how two hardware registers can be combined for a 16-bit result
' Input signal should be connected to RC2/CCP1
		
        'Set_Defaults PROTON_20				' Configure ports for PROTON board
        Device = 16f628
        
        XTAL = 4
        FLOAT_DISPLAY_TYPE = LARGE
        LCD_TYPE = ALPHA
        LCD_DTPIN = PORTA.0
        LCD_ENPIN = PORTB.2
        LCD_RSPIN = PORTB.1 
        LCD_INTERFACE = 4
        LCD_LINES = 2 
        
		Dim PERIOD As Word					' Word variable that stores the captured value
        Dim FREQUENCY As Float
        
		Symbol CCPR1 = CCPR1L.Word			' Create a 16-bit variable out of CCPRL1
        Symbol TIMER1 = TMR1L.Word			' Create a 16-bit variable out of TMR1L
        Symbol CAPTURE = PIR1.2				' CCP1 capture flag
		Symbol OVERFLOW	= PIR1.0			' Timer1 overflow flag
		'SYMBOL LED = PORTB.5 


		DelayMS 100							' Wait for PICmicro to stabilise
        ALL_DIGITAL = True					' Set ports to digital mode
        Cls
        CCP1CON = %00000100					' Enable the CCP1 capture, falling edge
		T1CON = %00000001					' TMR1 prescale=1, and turn it on (1uS per count)
		'OUTPUT LED
		'LOW LED

		While 1 = 1
  			While CAPTURE = 0 : Wend		' Wait here until captured         
			PERIOD = CCPR1					' Store the captured value in period variable
			If OVERFLOW = 0 Then			' Skip the output if the timer overflowed
				Print At 1,1, "Period: " , DEC2 PERIOD/XTAL , "uS  "	' Output
				'FREQUENCY = 
                Print At 2,1, "Freq: " , DEC2 1000 / PERIOD / 4,"kHz  "
            EndIf
			CAPTURE = 0						' Clear the capture flag
	
			While CAPTURE = 0 : Wend		' Wait for beginning of next period
			Clear TIMER1					' Clear Timer1
			CAPTURE = 0						' Clear capture flag
			OVERFLOW = 0					' Clear overflow flag	
		Wend								' Do it forever 
Chwilowo układ wygląda tak:
[img]układ[/img]
Ostatnio zmieniony 03 maja 2008, 18:40 przez hubertp, łącznie zmieniany 1 raz.

ODPOWIEDZ