, 87,5108 . ,   , 17434 (. .1)

.1 -

:
- 17 0,01 ;
- () 14 DA2;
- Ѡ , R24, C22 R7, 14 DA4 (TDA7040T), .

TDA7040T Ѡ CCIR ( ), . DA4 40 0,1 0,3%. Ѡ 8 . 5 ( ) 6 ( ) R22 R23, , () DA5, DA6.
נ . 17414 ( TDA2003). נ .

, R22 R23 RK-1233G1.
L1, L2 , :
L1 , 3 4,5 -2 젠 0,47 . , 帠 1 젠 ( - 45 ). L2 7,5 , .

, DD1 - ATmega16 ( 8 ), RS-232 ( DB9-F, DD2 MAX3232), - (LCD 16x2) MT-16S2H ( ), 8 () DD3 PCF8591 DA7 LM358N. ໠ . VT1 R4, R5, R2 CD4011B DD4.1, DD4.4. R1, C1 DD4.2, DD4.3.

().
VD1 () RS-232 UART . BASCOM, 蠠 , ʠ INPUT.

I2C Ϡ (DD3), AVR (ATtiny, ATmega) , , . R12, C29 DA7, VD1 R13. DA7 DD1 ADC0 (PA0), .

Ϡ ( ) , . , , , I2C Ϡ .... , , .

, ( ) ʠ ( ), ENTER. : Enter: READeeprom (0), > - (1), <- (2), WRITeeprom (3):. , 0, (EEPROM). 1, 5. 2 5. 3 , , .

() , .

9 DA 2 (2,53), HL1, VT1, INT0 DD1 , .   Ƞ ( ) Radio Sѻ. Radio SCAN ,  廠 (. .2).

. 2

12, 78L05 (5B), 78L03 (3B). , DA2, DA3 -Vref LC .

   :
- 렠 DOLOOP;
- RxD;
- Send;
- I2C Ϡ Sub Upr.

  , 頠 . Ϡ , Bascom , .

:
Config Adc = Free|Single, Preskaler=Auto|. ,
Reference=OFF|AVCC|Internal
:
- Free ;
- Single ( );
- Auto ;
- =2|4|8|16|32|64|128. = /..=50200 ;
- off ;
- AVCC ;
- Internal 2,56 .

: w=Getadc ( ). w , as Byte as Word .
Start Adc, Stop Adc, , .
Ϡ IFTHEN, , ( ) (Cll Sub Upr) .

  . .   , FORNEXT . ( AVR Ƞ 6, 18 Bascom ).

, , Bascom  RS-232: 0 - EEPROM, 1 - 5, 2 - 5, 3 - EEPROM. , , 255 0. (Stop Adc).

Send Ƞ Locate 1, 7 , , Radio SK, RADIO SKAN .
Sub Upr Ϡ I2C. AVR c 7, 8, 9 . Bascom .

:

$regfile = "m16def.dat"
$crystal = 8000000
$hwstack = 40
$swstack = 16
$framesize = 32

Config Adc = Single , Prescaler = 64 , Reference = Off ' . . ,=64, Vref-
Config Pina.0 = Input '
Config Int0 = Falling '
Config Pind.2 = Input ' INT0
Config Sda = Portc.1 ' I2C
Config Scl = Portc.0
Config I2cdelay = 10 ' - 100
Config Pind.0 = Input 'UART-RXD
Config Portd.1 = Output 'UART-TXD
Config Debounce = 100 ' 100 .

Dim W As Byte ' . / .
Dim N As Byte '.
Dim L As Byte '.
Dim X As Byte '., EEPROM
Dim Dn As Byte '
Dim V As Single ' .
Dim Z As Byte '.
Dim I As Byte
Dim K As Byte '
Dim Vstring As String * 4 '. ..

Const Pcf8591write = &H91 ' - PCF8591
Const Pcf8591config = &B01000000 ' -
Const Channel = 0 ' - ADC0

$eeprom '
Number:
Data 10%

On Urxc Rxd ' . .
On Int0 Send '

Declare Sub Upr '

Enable Interrupts '
Enable Urxc
Enable Int0


I2cstart ' - PCF8591
I2cwbyte Pcf8591write
I2cwbyte Pcf8591config
I2cstop

Deflcdchar 0 , 32 , 31 , 31 , 31 , 31 , 31 , 31 , 32 '.
N = 5
Portc = N

Do '

Start Adc ' /
W = Getadc(channel)

If W < N Then '
L = N
Dn = L - W
L = L + Dn '
Call Upr '
End If
If W > N Then '
L = N
Dn = W L
If Dn >L Then
L=N
Else
L = L - Dn '
End If
Call Upr
End If

V = N / 85 '
Z = V * 5 '
Vstring = Fusing(v , "0.00") ' .
Cls '
Lcd ; Vstring ; "V" '
For I = 1 To Z Step 1 '
Locate 2 , I '2- I-e
Lcd Chr(0) ' ()
Next I
Loop

Rxd: '
Stop Adc ' /
Do
Input "Enter: READeeprom-(0),>-(1), <-(2), WRITeeprom-(3) :" , K '

If K = 0 Then ' EEPROM
Readeeprom X , Number
N = X
Exit Do
End If

If K = 1 Then '
N = N + 5
If N => 255 Then '
N = N - 5
End If
Exit Do
End If

If K = 2 Then '
N = N - 5
If N = 0 Then ' .
N = N + 5
End If
Exit Do
End If

If K = 3 Then ' EEPROM
X = N
Writeeeprom X , Number
Exit Do
End If
Loop
Return

Send:
Print "RADIO SCAN." '
Locate 1 , 7
Lcd "RADIO SC" '
Wait 2 ' 2
Return

Sub Upr
I2cstart '
I2cwbyte Pcf8591write
I2cwbyte L
I2cstop
End Sub

End 'end program

  , , , Ϡ , PORT. 32 , .

.3. R25R32 2-29  2-36  , 0,1%. DA7 (LM358N). 29 .   .

.3 -

, , , 󠠠 , .
  1 .   I2C .   PORT.
:

$regfile = "m16def.dat"
$crystal = 8000000
$hwstack = 40
$swstack = 16
$framesize = 32

Config Adc = Single , Prescaler = 64 , Reference = Off ' ..,=64,Vref-=3
Config Pina.0 = Input '
Config Int0 = Falling '
Config Pind.2 = Input ' INT0
Config Pind.0 = Input 'UART-RXD
Config Portd.1 = Output 'UART-TXD
Config Debounce = 100 ' 100 .
onfig Portc = Output

Dim W As Byte ' . / .
Dim N As Byte '.
Dim L As Byte '. PORTC
Dim X As Byte '., EEPROM
Dim Dn As Byte '
Dim V As Single '
Dim Z As Byte '.
Dim I As Byte
Dim K As Byte '
Dim Vstring As String * 4 '. ..

Const Channel = 0 ' - ADC0

$eeprom '
Number:
Data 10%

On Urxc Rxd ' . .
On Int0 Send '

Enable Interrupts '
Enable Urxc
Enable Int0

Deflcdchar 0 , 32 , 31 , 31 , 31 , 31 , 31 , 31 , 32 '.
N =5
Portc = N
Do '

Start Adc ' /
W = Getadc(channel)

If W < N Then '
L = N
Dn = L - W
L = L + Dn '
Portc = L ' PORTC
End If
If W > N Then '
L = N
Dn = W L
If Dn > L Then
L = N
Else
L = L - Dn '
End If
Portc = L PORTC
End If

V = N / 85 '
Z = V * 5 '
Vstring = Fusing(v , "0.00") ' .
Cls '
Lcd ; Vstring ; "V" '
For I = 1 To Z Step 1 '
Locate 2 , I '2- I-e
Lcd Chr(0) ' ()
Next I
Loop

Rxd: '
Stop Adc ' /
Do
Input "Enter: READeeprom-(0),>-(1), <-(2), WRITeeprom-(3) :" , K '

If K = 0 Then ' EEPROM
Readeeprom X , Number
N = X
Exit Do
End If

If K = 1 Then '
N = N + 5
If N => 255 Then '
N = N - 5
End If
Exit Do
End If

If K = 2 Then '
N = N - 5
If N = 0 Then ' .
N = N + 5
End If
Exit Do
End If

If K = 3 Then ' EEPROM
X = N
Writeeeprom X , Number
Exit Do
End If
Loop
Return

Send:
Print "RADIO SCAN." '
Locate 1 , 7
Lcd "RADIO SC" '
Wait 2 ' 2
Return

End 'end program


.

andre