HJÆLP om PIC PROGRAMING med AD9850 signalgenerator

G

gentxtelmer2003

Guest
vi har svært ved at i skriftligt programmet i PIC sammen med AD9850, som er en programmerbar bølgeform generator IC.

De forskellige dele af projektet er:(3x4) tastatur - for at indtaste det OENSKE frekvensen i hertz.
(HD44780) LCD - Vis HYPPIGHEDEN INPUTED i tastaturet.
AD9850 - de programmerbare bølgeform generator IC fra Analog Devices.krav:
max freq = 5MHz
hyppighed beslutning af = 1 HzDen AD9850 er tilsluttet parallelt med PORT D i PIC16F877A med en 20Mhz Ur.Henvisningen ur af AD9850 er 50MHz.IC er 40bit programmerbare.Hvis vi input en vis hyppighed i tastaturet, det vil generere en 40bit kode for det, der skal indlæses i AD9850 også på samme tid, det vil vise inputed frekvens på LCD-displayet.Hjælp os i skriftligt programmet.

 
Og dine programmerings sprog?Udseende du
er nybegynder på PIC, så hvorfor ikke du søger på internettet, for det samme,
som allerede fungerer, projekter?

 
programing sprog er C.

im en newbie i dette pic hobby.

 
im benytter Microchip MPLAB IDE for programmering og Hi-Tech PICCLITE compiler ...vi vil indlæse tuning ordet for AD9850 fem gange i 8-bit parallel med PORTD ..Hvordan kommer vi til at indlæse en værdi 0xFFFFFFFF (32bits) i fire 8 bits ..bit31-bit23 vil blive indlæst første ..

 
problemer også med tastaturet input og LCD display ..Lagt efter 2 minutter:vi bruger en 50Mhz reference ur til AD9850 og vores PIC16F877A anvendelser 20MHz ...

 
Jeg er også begyndt samme type projekter
vha. AD9850 og PIC.Men mit output frekvens vil blive anderledes.Hvor er du fra Mr. gentxtelmer2003.Kan du PM mig.

 
gentxtelmer2003 wrote:

Hvordan kommer vi til at indlæse en værdi 0xFFFFFFFF (32bits) i fire 8 bits ..
bit31-bit23 vil blive indlæst første ..
 
Mr. Silvio tak for nice beskrivelse om AD9850 og andre info.Jeg vil gerne vide, fra hvor jeg får optiske roterende kodeenhed for dette projekt.

 
Code Warrior wrote:

Jeg vil gerne vide, fra hvor jeg får optiske roterende kodeenhed for dette projekt.
 
Takket Silvio for oplysningerne.Faktisk jeg gør DDS baseret VFO for HAM formål.Kan du kendskab til HAM radio.Der for jeg har brug for mere info og hjælpe i denne retning.Hvis det er muligt PM mig.

 
Silvio:

Fordi PIC16F877 er en 8-bit microcontroller, din 32-bit variabel er gemt i fire concatened registre.Jeg er overbevist om, at du ved, hvordan opdelt i C sådan form for variabel for at hente de 8-bit PORTD, fire efterfølgende gange.sir, det er vores problem ..vi ved ikke, hvordan man opdelt i C sådanne variable.

 
naj.cuizon wrote:

vi ved ikke, hvordan man opdelt i C sådanne variable.
 
Mange tak!du
har været meget hjælpsomme ..Jeg vil prøve denne ene ..

 
Silvio:Sandsynligvis

er du i tvivl om, hvor de 8-bit forskellen kommer fra.
Det

er en byte, der omfatter 5-bit fase modulation, 1-bit strøm-down funktion og 2-bit fabrikken forbeholdt koder.Sir, ville vi gerne spørge wat vil være værdien for 5-bit fase graduering og 1-bit strøm-down-funktionen.er det ikke findes i databladet.kun 2-bit fabrikken forbeholdt koder findes (01 eller 10).

 
http://www.analog.com/UploadedFiles/Data_Sheets/34008438159094AD9850_h.pdf
Figur 8 og 9 fra side 11 viser virkningerne af skriftligt XXXXX100 og XXXXX000 data W0 som interne ure er slået og aktiveret i overensstemmelse hermed.
På bunden af siden 1, første kolonne:
Citat:Enheden giver også fem bits af digitalt kontrollerede fase modulation, som gør det muligt fase forskydning af sin produktion i trin på 180 °, 90 °, 45 °, 22,5 °, 11,25 °, og en kombination heraf.
 
Code Warrior wrote:

Faktisk jeg gør DDS baseret VFO for HAM formål.
Kan du kendskab til HAM radio.
Der for jeg har brug for mere info og hjælpe i denne retning.
Hvis det er muligt PM mig.
 
Mr. echo47 du har ARRL hånd bog i PDF-format?Kan du sende mig den.

 
Jeg lavede denne enkle test program bruger MPLAB IDE fra Microchip med HiTech PICCLite Compiler.Det virkede ikke i vores hardware test.Vi ønskede at bruge parallel lastning metode indladningssted værdierne til AD9850 fra PIC16F877A med RC2 som FQ_UD, RC3 som W_CLK og alle de 8pins af PORTD som én til at indeholde dataene.pls kommentar, og jeg bifalder forslag / rettelser.#
include <pic.h>
#
include <delay.h>
#
include <delay.c>void Main (void)
(
TRISC = 0x00;
PORTC = 0x00;
TRISD = 0x00;
PORTD = 0x00;

DelayMs (200); / / sæt en forsinkelse på 200ms

RC2 = 0; DelayUs (4); RC2 = 1; DelayUs (4); RC2 = 0; DelayUs (3); / / RC2-FQ_UD, RC3-W_CLK
PORTD = 0x00; DelayUs (1); RC3 = 1; DelayUs (2); RC3 = 0; DelayUs (1); / / W0 kontrol - 00 (eller 11)
/ / Magt-down - 0 (indre ure aktiveret
PORTD = 0x00; DelayUs (1); RC3 = 1; DelayUs (2); RC3 = 0; DelayUs (1); / / W1 B31-B24 tuning ord
PORTD = 0x83; DelayUs (1); RC3 = 1; DelayUs (2); RC3 = 0; DelayUs (1); / / W2 B23-B16
PORTD = 0x12; DelayUs (1); RC3 = 1; DelayUs (2); RC3 = 0; DelayUs (1); / / W3 B15-B8
PORTD = 0x6E; DelayUs (1); RC3 = 1; DelayUs (2); RC3 = 0; DelayUs (2); / / W4 B7-B0
RC2 = 1; DelayUs (4); RC2 = 0; DelayUs (4);

for (;

<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Kys" border="0" />

/ / Loop evigt

)

 
hej,

Jeg har et par år tilbage nøjagtig de ting, du forsøger at opbygge.Jeg brugte pic16f877 ad9850 hi-tech picc compiler.

Jeg har brugt denne funktion til at indlæse DDS (4MHz uret):

void send2dds ()
(
usignerede CHAR data;
dds_fqud = 0;
dds_wclk = 0;
data = 0;
PORTD = data;
dds_wclk = 1;
dds_wclk = 0;

data = ordet>> 24;
PORTD = data;
dds_wclk = 1;
dds_wclk = 0;

data = ordet>> 16;
PORTD = data;
dds_wclk = 1;
dds_wclk = 0;

data = ordet>> 8;
PORTD = data;
dds_wclk = 1;
dds_wclk = 0;

data = ord;
PORTD = data;
dds_wclk = 1;
dds_wclk = 0;
dds_fqud = 1;
PORTD = 0;
)

håber det hjælper

<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Kys" border="0" />
 
En anden ting er, at vi ved hjælp af et tastatur som input, og der vi input en decimalværdi.Hvordan kan vi konvertere en DEC værdi til HEX i C?

Ex:
temp = tuning_freq & 0xFF000000;
your_PORTD = temp>> 24;

Det tuning_freq skal være HEX, right??vores program tager, hvad der er inputed som DEC ..derfor, vi hav at omdanne input værdi til HEX for at blive manipuleret, right??virkelig har brug for vejledning om dette ..

 

Welcome to EDABoard.com

Sponsor

Back
Top