FMUSER Transferoni pa video dhe audio video dhe audio më lehtë!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikanisht
sq.fmuser.org -> shqip
ar.fmuser.org -> arabisht
hy.fmuser.org -> Armenisht
az.fmuser.org -> Azerbajxhanisht
eu.fmuser.org -> Baskisht
be.fmuser.org -> Bjellorusisht
bg.fmuser.org -> Bullgarisht
ca.fmuser.org -> katalanisht
zh-CN.fmuser.org -> Kinezisht (e thjeshtuar)
zh-TW.fmuser.org -> Kinezisht (Tradicionale)
hr.fmuser.org -> Kroate
cs.fmuser.org -> Çekisht
da.fmuser.org -> daneze
nl.fmuser.org -> Hollandisht
et.fmuser.org -> Estonisht
tl.fmuser.org -> Filipinase
fi.fmuser.org -> finlandisht
fr.fmuser.org -> Frëngjisht
gl.fmuser.org -> Galike
ka.fmuser.org -> gjeorgjian
de.fmuser.org -> gjermanisht
el.fmuser.org -> Greqisht
ht.fmuser.org -> Kreolishtja Haitiane
iw.fmuser.org -> Hebraisht
hi.fmuser.org -> Hindisht
hu.fmuser.org -> Hungarisht
is.fmuser.org -> Islandez
id.fmuser.org -> indonezisht
ga.fmuser.org -> Irlandez
it.fmuser.org -> Italisht
ja.fmuser.org -> Japoneze
ko.fmuser.org -> Koreane
lv.fmuser.org -> Letonisht
lt.fmuser.org -> Lituanisht
mk.fmuser.org -> maqedonas
ms.fmuser.org -> Malajzisht
mt.fmuser.org -> Maltese
no.fmuser.org -> Norvegjisht
fa.fmuser.org -> persisht
pl.fmuser.org -> polake
pt.fmuser.org -> Portugeze
ro.fmuser.org -> Rumanisht
ru.fmuser.org -> Rusisht
sr.fmuser.org -> serbisht
sk.fmuser.org -> Sllovake
sl.fmuser.org -> Sllovenisht
es.fmuser.org -> Spanjisht
sw.fmuser.org -> Suahilisht
sv.fmuser.org -> suedisht
th.fmuser.org -> Thai
tr.fmuser.org -> turqisht
uk.fmuser.org -> ukrainas
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamese
cy.fmuser.org -> Uellsit
yi.fmuser.org -> Yiddish
Emri :: RF BH1415F transmetues
Time: 06 -07-06
Funksionet: kontrolli BH1415F FM diapazonin e frekuencave transmetues (88 ~ 108Hz) MCU: ATMEGA8
Shkruani: LCJ
************************************************** ************ /
/ * ___________________________________________________
CE ___ |
| __________
________________
CK _____ | | __ | | __ | | __ | | __ | | _ ---- _ | | __ | | __ |
| __________
__________
DA____ | D0 | __ | D1 | __ | D2 | __ | D3 | __ | D4 | __
______
----- _ | PD | __ | T1 | __ | T2 | __________
* /
/ **********************************
Programi i transmetuesit dixhital FM
*********************************** /
/ / Fotografi Header
# Përfshini / / Opsionet e Modelit SCM
# Përfshini / / përkufizimet e bitit
# Përfshini / / Memoria EEPROM
/ / Frekuenca Crystal
# Define FOSC 6000000 / / 6MHZ kristal
# Define baud 9600 / / normë baud
# Përcaktoni open_radio (PINB & 0B00000100) / / boot
# Përcaktoni funksionin_hapur (PORTB | = (1 << 4)) / / boot boot
# Përcaktoni mbylljen e funksionit (PORTB & = ~ (1 << 4)) / / mbylljen e kontrollit
# Përcaktoni hapësirën e ruajtjes së hapur (PINB & 0B00000100) / / hapës të hapur
# Përcaktoni kursimin e sigurimit (PINB & 0B00000100) / / stacioni i magazinimit përcakton
# Përcaktoni stacionin e rregullimit (PINB & 0B00000100) / / rregullimi e mban mirë radion
# Përcaktoni F_ADD (PINB & 0B00001000) / / frekuencë plus
# Përcaktoni F_REDUCE (PINB & 0B00010000) / / frekuencë më pak ulje
/ / Unsigned char F_DATA_H, F_DATA_L; / / frekuenca e pak të lartë dhe të ulët
open_radio_flag unsigned char; / / boot flag
/ / Unsigned char F_flag_H; / / storage frekuenca e lartë
/ / Unsigned char F_flag_L; storage / / frekuencë të ulët
LCD_display_H unsigned char; / / LCD lartë
LCD_display_L unsigned char; / / LCD ulët
function_flag unsigned char; / / kurseni flag Taiwan
save_dais_flag unsigned char; / / depozita përcaktuar logo
# Përcaktoni ruajtjen1_H (PORTC | = (1 << 4)) / / treguesin e statusit për të mbrojtur Tajvanin
# Përcaktoni ruajtjen2_H (PORTC | = (1 << 5)) / / Stacioni Paul që tregon sukses
# Përcaktoni kursimin1_L (PORTC & = ~ (1 << 4))
# Përcaktoni kursimin2_L (PORTC & = ~ (1 << 5))
# Përcaktoni LED_H (PORTD | = (1 << 7))
# Përcaktoni CE_H (PORTB | = (1 << 0)) / / 15 CE
# Përcaktoni CE_L (PORTB & = ~ (1 << 0))
# Përcaktoni CK_H (PORTB | = (1 << 1)) / / ORA 16
# Përcaktoni CK_L (PORTB & = ~ (1 << 1))
# Përcaktoni DA_H (PORTB | = (1 << 5)) / / 17 T D DHNAT
# Përcaktoni DA_L (PORTB & = ~ (1 << 5))
/ / # Define LCD_display_OUT PORTB
/ / # Define LCD_display_control PORTC
/ / Unsigned char LCD_display_data [8] [4];
karakteri i shenjës së shënjuar i pa nënshkruar [10] = {0x3f, 0X06, 0X5B, 0X4F,
0X66, 0X6D, 0X7D, 0X07, 0X7F, 0X6F}; / / matrica 1, 2, 3, 4, 5, 6, 7, 8, 9
EEPROM_READ_DATA unsigned char; / / lexuar të dhënat e ruajtur
EEPROM_READ_NUMBER unsigned char; / / lexoni në adresën e ruajtur
/ ************************************************* ******* /
display_one unsigned char; bits / / ekranit
display_ten unsigned char; / / display dhjetë
char unsigned display_hundred; / / display njëqind
display_thousand unsigned char; / / display njëmijë
/ ************************************************* *******
Display dhënat buffer
************************************************** ****** /
temp_display_one panënshkruar char;
temp_display_ten panënshkruara char;
char panënshkruar temp_display_hundred;
temp_display_thousand panënshkruar char;
/ ************************************************* ******
Për të kontrolluar BH1415 dhënave tampon
************************************************** * /
temp_BH1415_one panënshkruar char;
temp_BH1415_ten panënshkruara char;
char panënshkruar temp_BH1415_hundred;
temp_BH1415_thousand panënshkruar char;
/ ************************************************* * /
BH1415_one unsigned char; / / bit kontrollit BH1415
BH1415_ten unsigned char; / / BH1415 kontrolli dhjetë
char unsigned BH1415_hundred; / / kontrolli BH1415 njëqind
/ ************************************************* * /
adjust_PS8889_OUT unsigned char, Numri i kontrollit / / output
adjust_PS8889_control unsigned char [9]; / / kontrolli array
/ / Adjust_station_number unsigned char; / / kontrolloni numrin e copa të vektorit
adjust_save_address unsigned char; / / kurseni adresa
adjust_save_function unsigned char; / / save funksion
/ ************************************************* ******* /
temp_BH1415_L unsigned char; / / kontrolluar 1415 ulët BH8
temp_BH1415_H unsigned char; / / kontrolli BH1415 8
/ **************************************** /
delay_ms pavlefshëm (zbrazëti);
delay_xs pavlefshëm (unsigned char x);
adjust_station_OUT void (void);
pavlefshme station_save_IN (void);
EEPROM_rite void (unsigned int uAddr, uData unsigned char);
pavlefshme EEPROM_read (unsigned int uAddr);
pavlefshme F_ADD_function (void);
pavlefshme F_REDUCE_function (void);
pavlefshme control_BH1415_and_display (void);
LCD_display void (display_data unsigned char, char panënshkruar
function_number);
pavlefshme control_BH1415 (void);
BH1415_OUT void (control_F_DATA unsigned char, char panënshkruar
control_number);
/ ************************************************* ****** /
/ / Vonesa subroutine
delay_xs pavlefshëm (unsigned char x)
{
unsigned char a;
për (a = 0; a
{
delay_ms ();
}
}
delay_ms pavlefshëm (zbrazëti)
{
aa unsigned char, bb;
për (aa = 0; aa <50; aa + +)
{
për (bb = 0; bb <100; bb + +);
}
}
/ *********************************
Në vijim është një funksion tavolinë lexim
********************************** /
adjust_station_OUT pavlefshëm (i pavlefshëm)
{/ / Ruajtur një rregullore të mirë në radio
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)
{Funksion radio / / Store
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 + +;
}
/ *********************************
EEPROM lexoni funksion
********************************** /
EEPROM_read void (unsigned int uAddr)
{/ / Funksioni Lexo EEPROM
ndërsa (EECR & (1 << EEWE));
EEAR = uAddr;
EECR | = (1 << EERE);
EEPROM_READ_DATA = EEDR;
}
/ ************************************
Këtu është frekuenca gradualisht shtoni funksion
************************************* /
F_ADD_function pavlefshëm (i pavlefshëm)
{/ / Frekuenca rritur gradualisht funksioni, / / frekuenca uljen e funksionit inicializimit F_DATA_H = 0X03, F_DATA_L = 0X66
nëse (temp_display_thousand> = 0x01)
{
nëse (temp_display_ten> = 0x08)
{/ / Kufizoni 108.0MHZ maksimale frekuencave
temp_display_one = 0x00;
temp_display_ten = 0x08;
temp_display_hundred = 0x00;
temp_display_thousand = 0x01;
}
tjetër
goto ADD;
}
tjetër
{
ADD: temp_display_one + +;
nëse (temp_display_one> = 0x0a)
{
temp_display_one = 0x00;
temp_display_ten + +;
nëse (temp_display_ten> = 0x0a)
{
temp_display_ten = 0x00;
temp_display_hundred + +;
nëse (temp_display_hundred> = 0x0a)
{
temp_display_hundred = 0x00;
temp_display_thousand + +;
nëse (temp_display_thousand> = 0x01)
{
nëse (temp_display_ten> = 0x08)
{
temp_display_one = 0x00;
temp_display_ten = 0x08;
temp_display_hundred = 0x00;
temp_display_thousand = 0x01;
}
}
}
}
}
}
control_BH1415_and_display (); / / output kontroll BH1415 Lansimi
}
/ ****************************************
Këtu është në rënie funksion frekuenca
**************************************** /
F_REDUCE_function i pavlefshëm (i pavlefshëm)
{/ / Frekuenca rritur gradualisht funksioni, / / frekuenca uljen e funksionit inicializimit F_DATA_H = 0X03, F_DATA_L = 0X66
nëse (temp_display_thousand <= 0x00)
{/ / Limit 87.0MHZ frekuenca minimale
nëse (temp_display_hundred <= 0x08)
{
nëse (temp_display_ten <= 0x07)
{
nëse (temp_display_one <= 0x00)
{
temp_display_one = 0x00;
temp_display_ten = 0x07;
temp_display_hundred = 0x08;
}
tjetër
goto Ulja;
}
tjetër
goto Ulja;
}
tjetër
goto Ulja;
}
tjetër
{
ZBRITJE: nëse (temp_display_one <= 0x00)
{/ / Ulja Fillimi
temp_display_one = 0x0a;
nëse (temp_display_ten <= 0x00)
{
temp_display_ten = 0x0a;
nëse (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 (i pavlefshëm)
{/ / Kontrolli BH1415 dhe output ekranit
char unsigned temp_one, temp_ten, temp_hundred, temp_one_L;
unsigned int temp_BH1415_data1,
temp_BH1415_data2, temp_BH1415_data3;
/ ************************************************ /
/ / Convert kontrollit BH1415 informatikë.
temp_BH1415_data1 = temp_display_thousand * 1000
+ Temp_display_hundred * 100 + temp_display_ten * 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_ qind = 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
/ **************************************** /
/ / Output 16-bit kontroll të dhëna serial BH1415
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;
}
/ *******************************************
Këtu është funksioni i prodhimit
******************************************* /
LCD_display void (display_data unsigned char, char panënshkruar
function_number)
{/ / Output LCD
delay_ms ();
PORTC = function_number;
PORTD = display_character [display_data];
}
/ ********************************************
Këtu është BH1415 kontroll ~ ~ ~ 8-bit të transmetuar funksion dhënave serial
********************************************* /
BH1415_OUT void (control_F_DATA unsigned char, char panënshkruar
control_number)
{/ / Kontrolli BH1415
char unsigned i;
për (i = 0; i <8; i + +)
{
nëse (kontrolli_F_DATA & 0x01 == 0x01)
DA_H;
tjetër
DA_L;
NOP ();
NOP ();
CK_H;
delay_ms ();
NOP ();
NOP ();
CK_L;
NOP ();
NOP ();
kontrolli_F_DATA >> = 1;
delay_ms ();
}
}
/ ***************************************
Funksioni Më poshtë është mbajtur Desk
**************************************** /
check_save_dais pavlefshëm (pavlefshëm)
{/ / Save funksion table
display_one = 0x01;
display_ten = 0x00;
display_hundred = 0x00;
display_thousand = 0x00;
adjust_save_address = 0x00; / / kujtim initialized adresa tryezë
ndërsa (ruaj_dais_flag <= 5)
{
në qoftë se (== open_radio 0)
{/ / Save stacion përcakton
delay_xs (20);
në qoftë se (== open_radio 0)
{
station_save_IN (); / / EEPRAM ruaj Tajvan dhe funksion
save_dais_flag = 6;
delay_xs (20);
}
}
tjetër në qoftë se (== F_ADD 0X00)
{/ / Ruaj stacionin plus
delay_xs (20);
në qoftë se (== F_ADD 0X00)
{
display_one + +;
adjust_save_address + = 4; / / Kurseni adresa plus katër
nëse (display_one> = 9)
{/ / Limit kujtim numër stacion 9
adjust_save_address = 36;
display_one = 9;
}
}
}
tjetër në qoftë se (== F_REDUCE 0)
{/ / Save tavolinë Less
delay_xs (20);
në qoftë se (== F_REDUCE 0)
{
display_one -;
adjust_save_address - =
4; / / temp_adjust_save_address-4; / / adresa memorie minus katër
nëse (një shfaqje <= 0x01)
{
adjust_save_address = 0x00;
display_one = 0x01;
}
}
}
/ *********************************
Output tregon vendndodhjen e stacionit të depozitave
********************************* /
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 = 0x00; table / / kujtesës për të përcaktuar flamurin është pastruar
function_flag = 0x00; / / kurseni flamur Tajvan është pastruar
}
void main (void)
{
/ / Port initialization
char unsigned i, aaw, y, x, TEMP;
DDRB = 0X00;
PORTB = 0XFF;
DDRC = 0XFF;
PORTC = 0X0F;
DDRD = 0XFF;
PORTD = 0XFF;
x = 0x00;
y = 0x9d;
PORTC = y;
CE_L;
CK_L;
DA_L;
/ / Fillimi 87.0MHZ frekuencave
temp_display_one = 0x00;
temp_display_ten = 0x07;
temp_display_hundred = 0x08;
temp_display_thousand = 0x00;
/ * Kontrolli dhënave BH1415 tampon * /
temp_BH1415_one = 0x06;
temp_BH1415_ten = 0x06;
temp_BH1415_hundred = 0x03;
temp_BH1415_thousand = 0x00;
/ / Initialization ndryshueshme
/ / F_DATA_H = 0x00;
/ / F_DATA_L = 0x00; / / Frekuenca e grimë lartë dhe të ulët
/ / F_flag_H = 0x00; / / storage lartë frekuenca
/ / F_flag_L = 0x00; / / dyqan frekuencë të ulët
/ / LCD_display_H = 0x00; / / LCD lartë
/ / LCD_display_L = 0x00; / / LCD ulët
EEPROM_READ_DATA = 0x00; / / të lexuar të dhënat e ruajtur
EEPROM_READ_NUMBER = 0x00; / / lexoni në adresën e ruajtur
/ / Adjust_PS8889_OUT = 0x00; Numri i kontrollit / / output
/ / Adjust_station_number = 0x00; / / kontrolloni numrin e copa të vektorit
adjust_save_address = 0x00; / / adresa kujtesës është pastruar
adjust_save_function = 0x00; / / kurseni funksion
/ ************************************************* ******* /
temp_BH1415_L = 0x00; / / kontrollojë 1415 ulët BH8
temp_BH1415_H = 0x00; / / kontroll BH1415 8
open_radio_flag = 0x00; / / boot shënuara pastruar
function_flag = 0x00; / / kurseni flamur Tajvan
save_dais_flag = 0; table / / kujtesës për të përcaktuar flamurin është pastruar
ndërsa (1)
{
në qoftë se (== open_radio 0)
{/ / Key boot query
delay_xs (10);
në qoftë se (== open_radio 0)
{
open_radio_flag = 1;
}
ndërsa (open_radio_flag == 1)
{/ / Query Key, stacion transferimi
në qoftë se (== open_radio 0)
{
delay_xs (10);
në qoftë se (== open_radio 0)
{
do
{/ / Gjata shtyp për të shpëtuar Tajvan dhe funksion
delay_xs (10);
function_flag + +;
nëse (funksioni_flamuri> = 50)
{
save1_L;
delay_xs (250);
save1_H;
}
}
ndërsa (radioja e hapur <= 0);
nëse (funksioni_flamuri> = 50)
{
check_save_dais (); / / Jump për të mbajtur funksione Tajvan
function_flag = 0x00; / / kurseni flamur Tajvan është pastruar
}
tjetër
{
nëse (EEPROM_READ_NUMBER> = 36)
{/ / Akorduar stacion një kufizim për numrin e prodhimit cikle Lexoni: 0 të njësive 9
EEPROM_READ_NUMBER = 0;
}
adjust_station_OUT (); / / lexoni prodhimin e stacionit të transferimit
function_flag = 0x00; / / kurseni flamur Tajvan është pastruar
}
}
}
tjetër në qoftë se (== F_ADD 0)
{/ / Frekuenca plus
delay_xs (10);
në qoftë se (== F_ADD 0X00)
F_ADD_function (); / / rritjet e frekuencave
}
tjetër në qoftë se (== F_REDUCE 0)
{/ / Reduktim Frekuenca
delay_xs (10);
në qoftë se (== F_REDUCE 0X00)
F_REDUCE_function (); / / reduktim frekuencave
}
/ / Display Output
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);
Produkti ynë të tjera:
Paketa e pajisjeve profesionale të stacionit të radios FM
|
||
|
Fut email për të marrë një surprizë
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikanisht
sq.fmuser.org -> shqip
ar.fmuser.org -> arabisht
hy.fmuser.org -> Armenisht
az.fmuser.org -> Azerbajxhanisht
eu.fmuser.org -> Baskisht
be.fmuser.org -> Bjellorusisht
bg.fmuser.org -> Bullgarisht
ca.fmuser.org -> katalanisht
zh-CN.fmuser.org -> Kinezisht (e thjeshtuar)
zh-TW.fmuser.org -> Kinezisht (Tradicionale)
hr.fmuser.org -> Kroate
cs.fmuser.org -> Çekisht
da.fmuser.org -> daneze
nl.fmuser.org -> Hollandisht
et.fmuser.org -> Estonisht
tl.fmuser.org -> Filipinase
fi.fmuser.org -> finlandisht
fr.fmuser.org -> Frëngjisht
gl.fmuser.org -> Galike
ka.fmuser.org -> gjeorgjian
de.fmuser.org -> gjermanisht
el.fmuser.org -> Greqisht
ht.fmuser.org -> Kreolishtja Haitiane
iw.fmuser.org -> Hebraisht
hi.fmuser.org -> Hindisht
hu.fmuser.org -> Hungarisht
is.fmuser.org -> Islandez
id.fmuser.org -> indonezisht
ga.fmuser.org -> Irlandez
it.fmuser.org -> Italisht
ja.fmuser.org -> Japoneze
ko.fmuser.org -> Koreane
lv.fmuser.org -> Letonisht
lt.fmuser.org -> Lituanisht
mk.fmuser.org -> maqedonas
ms.fmuser.org -> Malajzisht
mt.fmuser.org -> Maltese
no.fmuser.org -> Norvegjisht
fa.fmuser.org -> persisht
pl.fmuser.org -> polake
pt.fmuser.org -> Portugeze
ro.fmuser.org -> Rumanisht
ru.fmuser.org -> Rusisht
sr.fmuser.org -> serbisht
sk.fmuser.org -> Sllovake
sl.fmuser.org -> Sllovenisht
es.fmuser.org -> Spanjisht
sw.fmuser.org -> Suahilisht
sv.fmuser.org -> suedisht
th.fmuser.org -> Thai
tr.fmuser.org -> turqisht
uk.fmuser.org -> ukrainas
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamese
cy.fmuser.org -> Uellsit
yi.fmuser.org -> Yiddish
FMUSER Transferoni pa video dhe audio video dhe audio më lehtë!
Kontakt
Adresa:
Nr.305 Dhoma Ndërtesa HuiLan Nr.273 Huanpu Road Guangzhou Kinë 510620
Kategoritë
Gazete