									Propeller Clock 16F886 - 16F886 4.52
										26 ledes SMD változathoz


Bővítések:

  - Az évszázad és a hét napjának kijelzése.
  - Öröknaptár
  - Távirányítóval állítható dátumformátum ((evszázad)év-hónap-nap vagy nap-hónap-(evszázad)év).
  - Választható mutató fomák: íves vagy pontszerű másodperc mutató, mutató vagy pontszerű óra és perc mutató.
		Kombinált kijelzésnél a pontszerű percmutató nem fedi át a digitális kijelzést.
  - Egyedileg tiltható analóg mutatók.
  - 12 / 24 órás analóg kijelzés (A 24 órás módban 12 óra alul, a 24 óra felül középen van.)
  - 12 / 24 órás digitális kijelzés (A délutáni időpontot az óra elötti ' jelzi.)
  - Digitális adatok megjelenítése binárisan (ld. Bináris óra)
  - 12 óránál szimpla / duppla vonás.
  - 12 órás analóg módban kapcsolható III, VI, IX, XII számok (ha nincs digitális kijelzés).
  - A belső ledek 3 csoportban vezérelhetők: 6+3+3
		Analóg órakijelzés a belső ledeken
  - Hőmérséklet mérése, megjelenítése
	  A dátummal 4 másodpercenként váltva tt°c h (mm formában
		tt - hőmérséklet, °c - celsius fok karakter, h - hét napja (1..7)
		( - A hold fázisa, mm - újhold óta eltelt idő
  - A hét napja nevének kiírása 16 nyelven (1. nap a hétfő)
  - Fordulatszám kijelzés.
  - Két mozgó maximum 127 karakteres szöveg állítható mozgási sebességgel.
  - Analóg óra a belső ledeken megjeleníthető a mozgó szöveggel és álló képpel együtt is.
		(Egyéni számlapot hansználhatók: A megfelelő kép tártartományába kell a számlap információját megadni.)
  - Dátum, idő, hét napjának neve, hőmérséklet a mozgó szövegben.
  - Álló képek kijelzése, 32 képre van lehetőség.
	 0 - Állatövi jegyek képei - mindig az aktuális van felül
  	 1 - "Propeller Clock" szöveg
		...
	16 - 4 korongos Hannoi tornyai feladat megoldásának lépései
	31 -	"
  - Mozgó képsor a 16..31 képekből - Hannoi tornyai
  - A képek és a belső led-ekkel történő analóg óra megjelenítés egyéni számlapok kialakítását teszi lehetővé,
	 a SlideShow pedig a számlapokat cserélgetheti...
  - Az idő tárolása - kiolvasása a PCF8583 típusú Real-Time Clock áramkörből.
  - Lehetőség van 4 vagy 8 kedvenc kijelző beállítás mentésére - visszaállítására.
        Használatához olyan távirányító szükséges, amellyel több mint 48 parancskód küldése lehetséges.
  - Fényerő szabályozás - PWM kimenettel 250 szintű állítási lehetőség - külön beállítás nappalra és éjszakára.
		Mindig az aktuális fényerő állítható.
  - Váltható lépés az állításhoz: +/-1 és +/-16.
  - Időzített átváltás - 8:00 - 20:00 óra között nappali , 20:00 - 8:00 óra között éjszakai üzem.
  - Áttérés a külső fény mérésével - beállítható kapcsolási küszöb.
  - Fényerő állítás kijelzése: llmddcnn módon:
		ll - Külső fényesség határ hexadecimálisan
		m  - Fényerő özemmód: d - nappali, n - éjszakai, t - időzített, l - fénymérésen alapuló
		dd - Nappali  fényesség hexadecimálisan
		c  - Altuálsi fényerősség: < - nappali, > - éjszakai
		nn - Éjszakai fényesség hexadecimálisan
  - Fordításkor megadható, hogy a nagyobb vagy a kisebb kód jeleni a sötétebbet.

Használat:

  - Bekapcsolás után, ha az időt nem sikerült kiolvasni az RTC-ből,
  		az óra 2001-01-01 12:00:00 -től kezdi az idő számítását (a hét napja hétfő azaz 1),
  		a külső LED 1 Hz ütemmel villog az első időállító parancs vételéig.
  - Beállítása után a külső LED állítás parancs hatására íródik be az idő az RTC-be.
  - A fordulatszám mérés a bekapcsolás utáni első percváltáskor jelenik csak meg,
  		a mért érték csak a második percváltás után lesz igaz.
  - Amennyiben a forgásirányt a Calibration kivezetés határozza meg,
		a Calibration kivezetést 5-10k-val a földre / tápra kell húzni.
		Magas szint: Óramutató járásával ellentétes irány.

  - A rengeteg beállítási lehetőség miatt az üzemmók kiválasztása számlálással is történik:
		pl. Digitális kijelzésen az idő, dátum, nét napja kijelzésének engedélyezése valamint a 12/24 órás mód
		beállítása egy gomb többszöri lenyomásával érhető el.
		A 4 bites számot minden lenyomás növeli eggyel, így pl. 16 lenyomással mind a 16 kombináció előállítható.
		A beállított kombinációk az RTC-ben eltárolódnak.

	    NEM MINDEN KOMBINÁCIÓ ÉRVÉNYES ! Van olyan beállítás, amikor nem jelenik meg semmi az órán - léptessük tovább...
		 pl.: A letiltott íves és pontszerű másodperc mutató egyformán néz ki.


	Csoportok	   : Távirányító kód :  : Funkciók

	Digitális mód 1: TWDayName       : 8: Hét napja névvel, 12 órás üzemmód, Dátum formátum (év-hó-nap / nap-hó-év)

	Digitális mód 2: DigitalMode     :16: Hét napja kijelzése, Idő kijelzése, Dátum kijelzése. Évszázad kijelzése

	Analóg    mód 1: AnalogueMode    :16: Római számok, Íves másodperc mutató, pontszerű perc mutató, pontszerű óra mutató

	Analóg    mód 2: AnalogueHands   :16: Másodperc mutató, Perc mutató, Óra mutató, 24 órás üzemód

	Analóg    mód 3: TTicks          : 4: Óraosztás, A 12 óránál levő osztás alakja



Felhasználható mikrokontrollerek (Csak 20MHz-s verziók):

	16F886								256 byte EEProm - Két mozgó szöveg


A fordításhoz szükséges állományok:
 - prop.asm		    - a program,
 - keys.asm			- Távirányító cím és parancskódok leírása
 						Az új funkcióknak új parancs szimbólumokat tartalmaz.
 						A régi parancsok is szibólikus nevet kaptak a könnyebb változtatási lehetőségért.
 						Az egyéni igényekhez át lehet írni a parancsok kódját.
						A beállítás mentés és visszaállítás parancsok alsó 3 bitje a mentés helyét határozzák meg.

 - DayNames.asm		- A hét napjainak neve a megadott nyelveken
						Lecserélhető más nyelvekre, minden név 10 karakteres, középre igazított.

						Kód		Nyelvek:				Néhol rövidíteni kellett...
						00		Magyar
						01		Angol
						02		Francia
						03		Német
						04		Olasz
						05		Spanyol
						06		Holland
						07		Dán - Norvég
						08		Latin
						09		Svéd
						0A		Szlovák
						0B		Szlovén
						0C		Lengyel
						0D		Horvát
						0E		Eszperantó
						0F		Finn

 - CharGen.asm		- A karakterkészlet leírása
 						Saját, ékezetesített állomány használható.
						A nap nevekben előforduló különleges karakterek kódjait a saját kódolásnak megfeleően módosítani kell.

 - Zodiac.asm		- Az álló képeket tartalmozó állomány.



Megjegyzés:

  - Feltételes fordításokkal az egyes funkciók kapcsolhatók:

	;#define MotorDirFromCalibration	; Ne legyen a sor előtt ";", ha a motor forgásirányát a calibration kivezetés határozza meg
	#define	MotorCounterClockWise	; Ne legyen a sor előtt ";", ha a motor óramutató járásával ellentétesen forog
	;#define	ReversTextScroll	; Ne legyen a sor előtt ";", ha jobbra mozgó szöveget szeretnénk (pl. Héber)
	;#define SlashedZero			; Ne legyen a sor előtt ";", ha az áthúzott 0 -t szeretnénk használni
	#define RC5AddrCheck			; Ne legyen a sor előtt ";", ha a távirányító címellenőrzését is kérjük
	;#define GreatherMeansDarker	; Ne legyen a sor előtt ";", ha a fénymérésnél a magasabb érték a sötétebbet jelenti
	;#define	Use4SavingOnly		; Ne legyen a sor előtt ";", ha a csak 4 mentést szeretnénk használni


	#define UseAnalog24Mode			; Legyen a sor előtt ";", ha nem szeretnénk használni a 24 órás analóg kijelzést
	#define SeparateHandHandling	; Legyen a sor előtt ";", ha egyszerre szeretnénk kapcsolni az analóg mutatókat
	#define UseLightLimitSetting	; Legyen a sor előtt ";", ha a megvilágítási határt nem szeretnénk állítani a távirányítóval
	#define	UseBrightModeSetting	; Legyen a sor előtt ";", ha a fényerő szabályzás módját nem szeretnénk állítani a távirányítóval
	#define	UseBrightStepSetting	; Legyen a sor előtt ";", ha a fényerő állítási lépést nem szeretnénk állítani a távirányítóval

	Újrafordítás, beprogramozás után a beállítottanak megfelelően működik az óra.

  - Beállítások

	#define DISPLAYOFFSET	0x37	; Display Offset a hardware -hez
	#define TEMPR_OFFSET	0x00	; Hőmérséket mérés offset -je
		itt negatív offset is megadható
	#define TEMPR_OFFSET	(-.2)	; Hőmérséket mérés offset -je -2°C

	Az MCP9800 hőérzékelőnek a választott tokozásban nincs elég kivezetése az A2, A1, A0 címekhez. 
	A címet a gyártáskor állítják be és a típusszámban, az MCP9800AxT -ben az x jelöli.
    Annak a sornak az elején ne legyen ";", amelyiket fel szeretnénk használni, a többinél pedig legyen:

	MCP9800_ADDR	EQU		0x90	; MCP9800A0T	I2C address is 0
	;MCP9800_ADDR	EQU		0x96	; MCP9800A3T	I2C address is 3
	;MCP9800_ADDR	EQU		0x9A	; MCP9800A5T	I2C address is 5


 - A távirányító címellenőrzésének kikapcsolása:

	1 - A prop.asm "#define RC5AddrCheck" sorába a sor elejére tegyünk egy ";" -t.

	2 - Újrafordítás után a program nem ellenőrzi a távirányító által küldött címet.

 - A motor forgási irányát a Calibration kivezetés reset utáni értéke határozza meg

	1 - A prop.asm :#define	MotorDirFromCalibration" sorából, a sor elejéről vegyünk ki a ";" -t.

	2 - Újrafordítás után a program a Calibration kivezetésen beállított szintből állapítja meg
		a motor forgási irányát.

	3 - A Calibration kivezetést 5-10k-val a földre / tápra kell húzni.
		Magas    szint: Óramutató járásával ellentétes irány.
		Alacsony szint: Óramutató járásával megegyező  irány.


