Documente Academic
Documente Profesional
Documente Cultură
Grupa:
EA 31 b
RAPORT
10
20
30
40
50
60
0.67
1.72 2.52 3.35 4.16
5
[] 103.9 107.79 111.67 115.54 119.4 123.2
70
5.8
127
80
90
100
110
120
6.69 7.5
8.33 9.17
10
130 134.7 138.5 142.2 146.07
2. Sa se traseze caracteristica Iout =f(Ui) pentru convertorul tensiune - curent XTR 110.
Ui [V]
0
Iout [mA] 4
0.5
5.5
1
7.1
1.5
8.7
2
10.3
2.5
11.9
3
13.5
3.5
15.1
4
16.8
4.5
18.4
5
20
Vout A[
( x1 x2 )( y1 y2 )
( z1 z2 )]
SF
unde
SF=10V
Ualim=15V;
Ui=max10V;
Vout
Circuit de inmultire:
x* y
SF
X1-semnal
X2-GND
Y1-semnal
Y2-GND
Z1-Vout
Z2-GND
X[V] -10 -8
-6
-4
-2
10
Y[V] -5
-5
-5
-5
-5
-5
-5
-5
-5
-5
-5
Vout 5 4
X[V] -10 -8
3
-6
2
-4
1
-2
0
0
-1
2
-2
4
-3
6
-4
8
-5
10
Y[V] 5
Vout -5
-4
-3
-2
-1
Circuit de impartire:
Vout y1
z1 * SF
x1
X1-semnal
X2-GND
Y1- Vout
Y2-GND
Z1-semnal
Z2-GND
X1[V]
5 5 5 5 5 5
Z1[V]
-5
0 1 2 3 4 5
Y1=Vo
ut
10
0 2 4 6 8 1
0
A=2;
A=1+
R2=250R;
R1
;
R2
R1=
5V
250 R
20mA
Ui[V]
0 0.
5
1.
5
2.5
3.5
4.5
Iies[m
A]
4 5.
5
7.
1
8.
7
10.
3
11.
9
13.
5
15.
1
16.
8
18.
4
2
0
0.
1
0.
5
1 2 5 1
0
1
5
18
20
22
2
5
3
0
4
0
Ui[V
]
2 2 2 2
Uo[
V]
2 2 2 2
1.
8
1.7
1.6
1.
4
0.
6
1 1 1 1
0.
9
0.8
5
0.8
0.
7
0.
5
0.
3
AdB
0 0 0 0
0.
9
1.4
1.9
3
-3
-6
1
0
extensia .c;
2. Adaugati fisierul in proiect dand click dreapta pe Source Files (in fereastra
dedicata proiectului);
3. Adugati fisierul linker script la proiect: click dreapta pe Linker Script (C:\Program
Files\Microchip\MPLAB C30\Support\gld), adaugati fisierul p30f3013.gld.
Exemplu de transmisie :
void send(unsigned char c)
{
U1TXREG=c;
}
Exemplu de receptie :
void receive()//---functia de primire de la seriala
{
if(U1STAbits.URXDA)//---daca s-a primit vreun caracter
U1TXREG=U1RXREG;//---se trimite inapoi pe seriala
}
1) Sa se scrie un program care aprinde led-uri pe rand de la RB0 pana la RB5.In
momentul in care a ajuns la RB5 trebuie sa o ia de la capat.
#include<p30f3013.h>
void delay(){
long int i,j;
for(i=0;i<=750500;i++)
j=i;
}
int main(){
ADPCFG=0xFFFF;
TRISB=0x0000;
while(1){
PORTBbits.RB0=1;
delay();
PORTBbits.RB0=0;
PORTBbits.RB1=1;
delay();
PORTBbits.RB1=0;
PORTBbits.RB2=1;
delay();
PORTBbits.RB2=0;
PORTBbits.RB3=1;
delay();
PORTBbits.RB3=0;
PORTBbits.RB4=1;
delay();
PORTBbits.RB4=0;
PORTBbits.RB5=1;
delay();
PORTBbits.RB5=0;
}
}
2)
L2=G=71;
L3=D=68;
Baudrate=(L1+L2+L3)*110=22550
UxBRG=Fcy/(16*BaudRate)-1
UxBRG=29480000/360800-1=80,707
#include <p30f3013.h>
void initializare()
{
U1MODE=0;
U1STA=0;
U1MODEbits.ALTIO=1;
U1BRG=80,7070;//----setarea baud rate-ului la 22550, Fcy=29,48Mhz;
U1MODEbits.UARTEN =1;
U1STAbits.UTXEN=1;
}
void send(unsigned char y)//---functia de transmisie de la seriala
{
U1TXREG=y;
}
void receive()//---functia de primire de la seriala
{
if(U1STAbits.URXDA)//---daca s-a primit vreun caracter
U1TXREG=U1RXREG;//---se trimite inapoi pe seriala
}
int main(){
unsigned char B,G,D;
initializare();
send(B);
send(G);
send(D);
receive();
}
PORTB=31;//facem RBO,RB1,RB2,RB3,RB4 1L
send();
receive();
while(1){}