PIC 512-elemes tablazat helyesbites
Miko Imre
imre.miko at sysdata.siemens.hu
Wed Oct 20 09:52:00 CEST 1999
Miko Imre wrote:
> Kis Norbert wrote:
>
> > Sziasztok.
> >
> > Meg mindig a forgo kijelzom progijaval szivok, de mar vagy negyedik napja, s
> > belefaradtam.
> > A kovetkezo a gond:
> > Adott egy 512-elemes (64*8) karaktertabla. Szepen, RETW-vel, ugy ahogy
> > illik.
>
> ...
>
> Szia Norbert!
>
> ...
>
> Én egy 256-os táblázatot használok és igazítom 8 bites határra:
>
> ORG 2FFh
> addwf PCL,f
> retlw 0
> retlw 1
> ...
>
> Imre
Az elõzõ levelemben elkövettem egy hibát, a megírt függvénynek
csak a lényegét szerettem volna bemásolni, de pont az maradt
ki :-(
Álljon itt az egész fgv, hátha más is tudja használni.
Ez egy szinusztáblát valósít meg. 256 értékbõl áll a tábázat.
bemenetként az AARGB1:AARGB0 -ba kapja a a szöget, amely 0-1024 értéke
megfelel a 0-360 foknak. A W-ben adja vissza az amplitudót, a SIGN-ben pedig
az elõjelet.
ORG 2F7h ; fontos az igaztás
sinus clrf SIGN ; set signum
btfsc AARGB1,1
incf SIGN,F
movlw HIGH sinus_table ; ez itt a lényeg, a PCLATH-ba betölti a PC felsõ
movwf PCLATH ; bitjeit, ami az addwf PCL,F -nél kerul a PC-be
movf AARGB0,W
btfsc AARGB1,0
sublw 255 ; w = 255-w
addwf PCL,F
sinus_table ; a cim itt 0300h - fent ugy kell igaztani, hogy itt 256
byteos
; hatar legyen
include "sintab.inc" ; ez tartalmazza az 256 retlw (ezt egy progival generálom)
;**************************************************************************
remélem most már ok, két ilyet kell csinálnod.
Ajánlom még a Microchip AN556 -os Application Note -ját.
Imre
More information about the Elektro
mailing list