FMUSER Wirless Transmet vídeo i àudio més fàcil!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikaans
sq.fmuser.org -> Albanès
ar.fmuser.org -> Àrab
hy.fmuser.org -> Armeni
az.fmuser.org -> Azerbaidjanès
eu.fmuser.org -> basc
be.fmuser.org -> bielorús
bg.fmuser.org -> Bulgària
ca.fmuser.org -> català
zh-CN.fmuser.org -> Xinès (simplificat)
zh-TW.fmuser.org -> Xinès (tradicional)
hr.fmuser.org -> croata
cs.fmuser.org -> txec
da.fmuser.org -> Danès
nl.fmuser.org -> Holandès
et.fmuser.org -> estonià
tl.fmuser.org -> filipí
fi.fmuser.org -> finès
fr.fmuser.org -> Francès
gl.fmuser.org -> gallec
ka.fmuser.org -> georgià
de.fmuser.org -> alemany
el.fmuser.org -> Grec
ht.fmuser.org -> crioll haitià
iw.fmuser.org -> Hebreu
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> islandès
id.fmuser.org -> indonesi
ga.fmuser.org -> irlandès
it.fmuser.org -> Italià
ja.fmuser.org -> japonès
ko.fmuser.org -> coreà
lv.fmuser.org -> Letó
lt.fmuser.org -> Lituània
mk.fmuser.org -> macedoni
ms.fmuser.org -> Malai
mt.fmuser.org -> maltès
no.fmuser.org -> Noruega
fa.fmuser.org -> persa
pl.fmuser.org -> Polonès
pt.fmuser.org -> Portuguès
ro.fmuser.org -> Romanès
ru.fmuser.org -> rus
sr.fmuser.org -> serbi
sk.fmuser.org -> Eslovac
sl.fmuser.org -> Eslovènia
es.fmuser.org -> Castellà
sw.fmuser.org -> Suahili
sv.fmuser.org -> Suec
th.fmuser.org -> Tai
tr.fmuser.org -> turc
uk.fmuser.org -> ucraïnès
ur.fmuser.org -> urdú
vi.fmuser.org -> Vietnamita
cy.fmuser.org -> gal·lès
yi.fmuser.org -> Yiddish
Nom :: RF transmissor BH1415F
Hora: 06, 07, 06
Funcions: control de gamma BH1415F FM transmissor de freqüència (88 ~ 108Hz) MCU: ATMEGA8
Escriu: LCJ
************************************************** ************ /
/ * ___________________________________________________
CE ___ |
| __________
________________
CK _____ | | __ | | __ | | __ | | __ | | _ ---- _ | | __ | | __ |
| __________
__________
DA____ | D0 | __ | D1 | __ | D2 | __ | D3 | __ | D4 | __
______
----- _ | PD | __ | T1 | __ | T2 | __________
* /
/ **********************************
Programa de transmissors de FM Digital
*********************************** /
/ / Header arxiu
# Incloure // Opcions del model SCM
# Incloure / / definicions de bits
# Incloure / / Memòria EEPROM
/ Freqüència / Crystal
# Definir Fosc 6000000 / / vidre 6MHZ
# Definir bauds 9600 / velocitat / transmissió
# Definiu open_radio (PINB i 0B00000100) / / boot
# Definiu function_open (PORTB | = (1 << 4)) / / control d'arrencada
# Defineix function_close (PORTB & = ~ (1 << 4)) / / shutdown de control
# Definiu open_save (PINB i 0B00000100) / / estació d'emmagatzematge oberta
# Defineix save_ensure (PINB i 0B00000100) / / determina l'estació d'emmagatzematge
# Definir ajustar_estació (PINB i 0B00000100) // la regulació ha mantingut una bona ràdio
# Definiu F_ADD (PINB i 0B00001000) / / freqüència plus
# Definiu F_REDUCE (PINB i 0B00010000) / / freqüència reduïda
/ / Unsigned char F_DATA_H, F_DATA_L ;/ / freqüència d'alta i baixa poc
;/ / Boot open_radio_flag bandera unsigned char
/ / Char F_flag_H ;/ / freqüència d'emmagatzematge sense signe d'alta
/ / Dipòsit ;/ / baixa F_flag_L unsigned char freqüència
unsigned char LCD_display_H ;/ / LCD d'alta
unsigned char LCD_display_L ;/ / LCD sota
unsigned char function_flag ;/ / save bandera de Taiwan
unsigned char save_dais_flag ;/ / dipòsit logo determinat
# Defineix save1_H (PORTC | = (1 << 4)) / / indicació d'estat per defensar Taiwan
# Definiu save2_H (PORTC | = (1 << 5)) / / Paul station que indica l'èxit
# Defineix save1_L (PORTC & = ~ (1 << 4))
# Defineix save2_L (PORTC & = ~ (1 << 5))
# Definir LED_H (PORTD | = (1 << 7))
# Definiu CE_H (PORTB | = (1 << 0)) / / 15 CE
# Defineix CE_L (PORTB & = ~ (1 << 0))
# Definiu CK_H (PORTB | = (1 << 1)) / / 16 RELLOTGE
# Defineix CK_L (PORTB & = ~ (1 << 1))
# Definiu DA_H (PORTB | = (1 << 5)) / / 17 DADES
# Definiu DA_L (PORTB & = ~ (1 << 5))
/ / # Defineix LCD_display_OUT PORTB
/ / # Defineix LCD_display_control PORTC
/ / Unsigned char LCD_display_data [8] [4];
caràcter no signat display_character [10] = {0x3f, 0X06, 0X5B, 0X4F,
0X66, 0X6D, 0X7D, 0X07, 0X7F, 0X6F}; / / matriu 1, 2, 3, 4, 5, 6, 7, 8, 9
unsigned char EEPROM_READ_DATA ;/ / llegir les dades guardades
sense signar EEPROM_READ_NUMBER ;/ / llegir l'adreça guardada caràcters
/ ************************************************* ******* /
display_one ;/ / display bits de unsigned char
unsigned char display_ten ;/ / display 10
unsigned char display_hundred ;/ / display cent
unsigned char display_thousand ;/ / mostra de mil
/ ************************************************* *******
Mostra memòria intermèdia de dades
************************************************** ****** /
temp_display_one unsigned char;
temp_display_ten unsigned char;
unsigned char temp_display_hundred;
temp_display_thousand unsigned char;
/ ************************************************* ******
Per al control de memòria intermèdia de dades BH1415
************************************************** * /
temp_BH1415_one unsigned char;
temp_BH1415_ten unsigned char;
unsigned char temp_BH1415_hundred;
temp_BH1415_thousand unsigned char;
/ ************************************************* * /
bits de control unsigned char BH1415_one ;/ / BH1415
unsigned char BH1415_ten ;/ / BH1415 control de deu
unsigned char de control BH1415_hundred ;/ / BH1415 cent
/ ************************************************* * /
nombre de control ;/ / sortida adjust_PS8889_OUT unsigned char
adjust_PS8889_control [9] ;/ matriu de caràcters sense signe de control /
/ / Unsigned ;/ adjust_station_number caràcters / comprovar el nombre de bits de la matriu
sense signe ;/ adjust_save_address caràcters / Desar direcció
sense signe ;/ adjust_save_function caràcters / funció d'estalvi d'
/ ************************************************* ******* /
unsigned char temp_BH1415_L ;/ / controlar el BH1415 sota 8
unsigned char temp_BH1415_H ;/ / control de BH1415 8
/ **************************************** /
delay_ms buit (void);
delay_xs void (unsigned char x);
void adjust_station_OUT (void);
void station_save_IN (void);
void EEPROM_rite (unsigned int uAddr, unsigned char udata);
void EEPROM_read (unsigned int uAddr);
void F_ADD_function (void);
void F_REDUCE_function (void);
void control_BH1415_and_display (void);
void LCD_display (unsigned char Display_Data, unsigned char
function_number);
void control_BH1415 (void);
void BH1415_OUT (unsigned char control_F_DATA, unsigned char
control_number);
/ ************************************************* ****** /
Subrutina / / retard
delay_xs void (unsigned char x)
{
unsigned char a;
per a (a = 0; a
{
delay_ms ();
}
}
delay_ms buit (void)
{
unsigned char aa, bb;
per a (aa = 0; aa <50; aa + +)
{
per a (bb = 0; bb <100; bb + +);
}
}
/ *********************************
A continuació es presenta una funció de lectura de l'escriptori
********************************** /
void adjust_station_OUT (void)
{/ / Guardar una bona regulació de la ràdio
EEPROM_read (EEPROM_READ_NUMBER);
temp_display_one = EEPROM_READ_DATA;
EEPROM_READ_NUMBER + +;
EEPROM_read (EEPROM_READ_NUMBER);
temp_display_ten = EEPROM_READ_DATA;
EEPROM_READ_NUMBER + +;
EEPROM_read (EEPROM_READ_NUMBER);
temp_display_hundred = EEPROM_READ_DATA;
EEPROM_READ_NUMBER + +;
EEPROM_read (EEPROM_READ_NUMBER);
temp_display_thousand = EEPROM_READ_DATA;
EEPROM_READ_NUMBER + +;
}
void station_save_IN (void)
{/ / Botiga funció de ràdio
EEPROMwrite (adjust_save_address, temp_display_one);
adjust_save_address + +;
EEPROMwrite (adjust_save_address, temp_display_ten);
adjust_save_address + +;
EEPROMwrite (adjust_save_address, temp_display_hundred);
adjust_save_address + +;
EEPROMwrite (adjust_save_address, temp_display_thousand);
adjust_save_address + +;
}
/ *********************************
Funció de lectura de la EEPROM
********************************** /
void EEPROM_read (unsigned int uAddr)
{/ / Funció Read EEPROM
mentre que (EECR & (1 << EEWE));
EEAR = uAddr;
CEER | = (1 << EERE);
EEPROM_READ_DATA = EEDR;
}
/ ************************************
Aquí està la freqüència d'afegir poc a poc la funció
************************************* /
void F_ADD_function (void)
{/ / Freqüència augmenta gradualment la funció, / / freqüència de disminució de la funció d'inicialització F_DATA_H = 0X03, F_DATA_L = 0X66
if (temp_display_thousand> = 0x01)
{
if (temp_display_ten> = 0x08)
{/ / Límit el 108.0MHZ freqüència màxima
temp_display_one = 0x00;
temp_display_ten = 0x08;
temp_display_hundred = 0x00;
temp_display_thousand = 0x01;
}
else
Anar AFEGIR;
}
else
{
ADD: temp_display_one + +;
if (temp_display_one> = 0x0a)
{
temp_display_one = 0x00;
temp_display_ten + +;
if (temp_display_ten> = 0x0a)
{
temp_display_ten = 0x00;
temp_display_hundred + +;
if (temp_display_hundred> = 0x0a)
{
temp_display_hundred = 0x00;
temp_display_thousand + +;
if (temp_display_thousand> = 0x01)
{
if (temp_display_ten> = 0x08)
{
temp_display_one = 0x00;
temp_display_ten = 0x08;
temp_display_hundred = 0x00;
temp_display_thousand = 0x01;
}
}
}
}
}
}
control_BH1415_and_display () ;/ / sortida de control de llançament BH1415
}
/ ****************************************
Aquesta és la funció de la disminució de la freqüència
**************************************** /
void F_REDUCE_function (void)
{/ / Freqüència augmenta gradualment la funció, / / freqüència de disminució de la funció d'inicialització F_DATA_H = 0X03, F_DATA_L = 0X66
if (temp_display_thousand <= 0x00)
{/ / Límit de freqüència mínima 87.0MHZ
if (temp_display_hundred <= 0x08)
{
if (temp_display_ten <= 0x07)
{
if (temp_display_one <= 0x00)
{
temp_display_one = 0x00;
temp_display_ten = 0x07;
temp_display_hundred = 0x08;
}
else
Anar REDUIR;
}
else
Anar REDUIR;
}
else
Anar REDUIR;
}
else
{
REDUEIX: if (temp_display_one <= 0x00)
{/ / La disminució d'inici
temp_display_one = 0x0a;
if (temp_display_ten <= 0x00)
{
temp_display_ten = 0x0a;
if (temp_display_hundred <= 0x00)
{
temp_display_hundred = 0x0a;
temp_display_thousand = 0x00;
}
temp_display_hundred -;
}
temp_display_ten -;
}
temp_display_one -;
}
control_BH1415_and_display ();
}
void control_BH1415_and_display (void)
{/ / Control BH1415 i la sortida de la pantalla
unsigned char temp_one, temp_ten, temp_hundred, temp_one_L;
temp_BH1415_data1 int sense signar,
temp_BH1415_data2, temp_BH1415_data3;
/ ************************************************ /
/ / Converteix el control BH1415 informàtica.
temp_BH1415_data1 = temp_display_thousand * 1000
+ Temp_display_hundred * + temp_display_ten 100 10 * + temp_display_one;
temp_BH1415_data2 = temp_BH1415_data1;
temp_BH1415_data3 = temp_BH1415_data2 >> 8;
temp_ten = temp_BH1415_data3;
temp_BH1415_L = temp_BH1415_data1;
temp_BH1415_one = temp_BH1415_L & 0x0f;
temp_BH1415_ten = temp_BH1415_L >> 4 & 0x0f;
temp_BH1415_hundred = temp_ten & 0x0f;
temp_BH1415_H = temp_ten | 0x48
/ * Temp_ten = temp_BH1415_ten << 4;
temp_ten = temp_ten & 0xf0;
temp_BH1415_L = temp_ten + temp_BH1415_one;
temp_BH1415_H = temp_BH1415_hundred | 0x48 * /
/ / Temp_BH1415_L = temp_ten + temp_BH1415_one
/ **************************************** /
/ / Sortida 16 bits serial de control BH1415 dades
CE_L;
CK_L,
DA_L;
NOP ();
NOP ();
NOP ();
CE_H;
BH1415_OUT (temp_BH1415_L, 0x08);
CK_L,
BH1415_OUT (temp_BH1415_H, 0x08);
CE_L;
CK_L,
DA_L;
}
/ *******************************************
Aquesta és la funció de sortida
******************************************* /
void LCD_display (unsigned char Display_Data, unsigned char
function_number)
{/ Sortida / LCD
delay_ms ();
PORTC = function_number;
PORTD = display_character [Display_Data];
}
/ ********************************************
Aquí és el control BH1415 ~ ~ ~ 8 bits funció de transmissió de dades en sèrie
********************************************* /
void BH1415_OUT (unsigned char control_F_DATA, unsigned char
control_number)
{/ / Control BH1415
unsigned char i;
per a (i = 0; i <8; i + +)
{
if (control_F_DATA i 0x01 == 0x01)
DA_H;
else
DA_L;
NOP ();
NOP ();
CK_H;
delay_ms ();
NOP ();
NOP ();
CK_L,
NOP ();
NOP ();
control_F_DATA >> = 1;
delay_ms ();
}
}
/ ***************************************
A continuació es manté la funció turística
**************************************** /
check_save_dais buit (void)
{/ / Guardar Funció de taula
display_one = 0x01;
display_ten = 0x00;
display_hundred = 0x00;
display_thousand = 0x00;
adjust_save_address = 0x00 ;/ / direcció de la taula de memòria inicialitzada
while (save_dais_flag <= 5)
{
if (open_radio == 0)
{/ / Guardar l'estació determina
delay_xs (20);
if (open_radio == 0)
{
station_save_IN () ;/ / EEPRAM guardar Taiwan i la funció
save_dais_flag = 6;
delay_xs (20);
}
}
else if (F_ADD == 0X00)
{/ / Guardar l'estació més
delay_xs (20);
if (F_ADD == 0X00)
{
display_one + +;
adjust_save_address = 4 + / / Guardar direcció més 4
if (display_one> = 9)
{/ / Límit de memòria de l'estació número 9
adjust_save_address = 36;
display_one = 9;
}
}
}
else if (F_REDUCE == 0)
{/ / Desar escriptori Menys
delay_xs (20);
if (F_REDUCE == 0)
{
display_one -;
adjust_save_address - =
4 ;/ / temp_adjust_save_address-4 direcció ;/ / memory almenys quatre
if (display_one <= 0x01)
{
adjust_save_address = 0x00;
display_one = 0x01;
}
}
}
/ *********************************
Sortida mostra la ubicació de l'estació de dipòsit
********************************* /
LCD_display (display_one, 0xFE);
LCD_display (display_ten, 0xFD);
LED_H;
LCD_display (display_hundred, 0xFB);
LCD_display (display_thousand, 0xF7);
}
save_dais_flag = Taula / memòria ;/ 0x00 per determinar el distintiu desapareix
function_flag = 0x00 ;/ / save bandera de Taiwan s'esborra
}
void main (void)
{
/ / Port d'inicialització
unsigned char i, AAW, i, x, TEMP;
DDRB = 0X00;
PORTB = 0XFF;
DDRC = 0XFF;
PORTC = 0X0F;
DDRD = 0XFF;
PORTD = 0XFF;
x = 0x00;
i = 0x9d;
PORTC = i;
CE_L;
CK_L,
DA_L;
/ / Start freqüència 87.0MHZ
temp_display_one = 0x00;
temp_display_ten = 0x07;
temp_display_hundred = 0x08;
temp_display_thousand = 0x00;
/ * Control del buffer de dades BH1415 * /
temp_BH1415_one = 0x06;
temp_BH1415_ten = 0x06;
temp_BH1415_hundred = 0x03;
temp_BH1415_thousand = 0x00;
/ Inicialització / Variable
/ / F_DATA_H = 0x00;
/ / F_DATA_L = 0x00 / / freqüència d'alta i baixa poc
/ / F_flag_H = 0x00 ;/ emmagatzematge / alta freqüència
/ / F_flag_L = 0x00 ;/ / store baixa freqüència
/ / LCD_display_H = 0x00 ;/ / LCD d'alta
/ / LCD_display_L = 0x00 ;/ / LCD sota
EEPROM_READ_DATA = 0x00 ;/ / llegir les dades guardades
EEPROM_READ_NUMBER = 0x00 ;/ llegir la direcció / guardat
Adjust_PS8889_OUT = 0x00 nombre de control / / ;/ / sortida
/ / Adjust_station_number = 0x00 ;/ / comprovar el nombre de bits de la matriu
adjust_save_address = 0x00 direcció ;/ / memòria s'esborra
adjust_save_function = 0x00 ;/ / funció d'estalvi d'
/ ************************************************* ******* /
temp_BH1415_L = 0x00 ;/ / controlar el BH1415 sota 8
temp_BH1415_H = 0x00 ;/ / control de BH1415 8
open_radio_flag = 0x00 ;/ / boot marcada aclarit
function_flag = 0x00 ;/ / save bandera de Taiwan
save_dais_flag = Taula / memòria ;/ 0 per determinar el distintiu desapareix
while (1)
{
if (open_radio == 0)
{/ / Boot consulta Clau
delay_xs (10);
if (open_radio == 0)
{
open_radio_flag = 1;
}
while (open_radio_flag == 1)
{/ / Consulta clau, l'estació de transferència
if (open_radio == 0)
{
delay_xs (10);
if (open_radio == 0)
{
do
{/ / Premeu per desar Taiwan i la funció
delay_xs (10);
function_flag + +;
if (flag_funció> = 50)
{
save1_L;
delay_xs (250);
save1_H;
}
}
while (ràdio_oberta <= 0);
if (flag_funció> = 50)
{
check_save_dais (); / / salt per mantenir les funcions de Taiwan
function_flag = 0x00 ;/ / save bandera de Taiwan s'esborra
}
else
{
if (EEPROM_READ_NUMBER> = 36)
{/ / Llegir sintonitzar l'estació d'un límit per al nombre de cicles de sortida: 0 a les unitats 9
EEPROM_READ_NUMBER = 0;
}
adjust_station_OUT () ;/ / llegir la sortida de l'estació de transferència
function_flag = 0x00 ;/ / save bandera de Taiwan s'esborra
}
}
}
else if (F_ADD == 0)
{/ / Freqüència més
delay_xs (10);
if (F_ADD == 0X00)
Augments F_ADD_function () ;/ / freqüència
}
else if (F_REDUCE == 0)
{/ / Freqüència de reducció
delay_xs (10);
if (F_REDUCE == 0X00)
Reducció F_REDUCE_function () ;/ / freqüència
}
/ / Sortida de pantalla
LCD_display (temp_display_one, 0xFE);
LCD_display (temp_display_ten, 0xFD);
LED_H;
LCD_display (temp_display_hundred, 0xFB);
LCD_display (temp_display_thousand, 0xF7);
El nostre altre producte:
Introduïu el correu electrònic per obtenir una sorpresa
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikaans
sq.fmuser.org -> Albanès
ar.fmuser.org -> Àrab
hy.fmuser.org -> Armeni
az.fmuser.org -> Azerbaidjanès
eu.fmuser.org -> basc
be.fmuser.org -> bielorús
bg.fmuser.org -> Bulgària
ca.fmuser.org -> català
zh-CN.fmuser.org -> Xinès (simplificat)
zh-TW.fmuser.org -> Xinès (tradicional)
hr.fmuser.org -> croata
cs.fmuser.org -> txec
da.fmuser.org -> Danès
nl.fmuser.org -> Holandès
et.fmuser.org -> estonià
tl.fmuser.org -> filipí
fi.fmuser.org -> finès
fr.fmuser.org -> Francès
gl.fmuser.org -> gallec
ka.fmuser.org -> georgià
de.fmuser.org -> alemany
el.fmuser.org -> Grec
ht.fmuser.org -> crioll haitià
iw.fmuser.org -> Hebreu
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> islandès
id.fmuser.org -> indonesi
ga.fmuser.org -> irlandès
it.fmuser.org -> Italià
ja.fmuser.org -> japonès
ko.fmuser.org -> coreà
lv.fmuser.org -> Letó
lt.fmuser.org -> Lituània
mk.fmuser.org -> macedoni
ms.fmuser.org -> Malai
mt.fmuser.org -> maltès
no.fmuser.org -> Noruega
fa.fmuser.org -> persa
pl.fmuser.org -> Polonès
pt.fmuser.org -> Portuguès
ro.fmuser.org -> Romanès
ru.fmuser.org -> rus
sr.fmuser.org -> serbi
sk.fmuser.org -> Eslovac
sl.fmuser.org -> Eslovènia
es.fmuser.org -> Castellà
sw.fmuser.org -> Suahili
sv.fmuser.org -> Suec
th.fmuser.org -> Tai
tr.fmuser.org -> turc
uk.fmuser.org -> ucraïnès
ur.fmuser.org -> urdú
vi.fmuser.org -> Vietnamita
cy.fmuser.org -> gal·lès
yi.fmuser.org -> Yiddish
FMUSER Wirless Transmet vídeo i àudio més fàcil!
Contacte
Adreça:
No.305 Room HuiLan Building No.273 Huanpu Road Guangzhou Xina 510620
Categories
Newsletter