Diğer diller ve Derleyiciler => Proton Basic => Konuyu başlatan: onurinci - 30 Eylül 2023, 22:58:16
Başlık: Radyo Alıcısı Thumbwheel switch
Gönderen: onurinci - 30 Eylül 2023, 22:58:16
arkadaşlar merhabalar ,Forumda Proton yazıtlarının canlandığını farkettim.şansımı deneyeyim dedim. Proton bana bayağı bir uzak.PB'de hafızaya alma işlemlerinde pek kötü değilim.ama proton gözümde hiç canlanmadı. elimde 45 yıllık bir HF alıcı var 10KHz 30MHz arası.çok eski bir derginin arşiv sayfasında bana yardımcı olabilecek bir program buldum.Proton'un emekleme döneminde yazılmış, üzerinde baya bir değişiklik yapıp derlemeyi başardım. 7 adet Thumbwheel switch kötü kullanımdan kırılmış ve bulunması mümkün değil.PLL devresinde Frekansları ayar edebilmek için 7 adet 0...9'a BCD kod üretiyorlar.buraya kadar devreyi kurdum ve alıcıyı kusursuz çalıştırdım fakat.program ayar edipte en son bıraktığım yeri saklama yada kaydetme olanağına sahip değil .tek eksik yanı bu gibi. program satırlarının en dibinde bir kaç satırlık yer 7.092.000 yazar yer bu default frekanstan açılıyor.program 100Hz'lik adımlar ile ilerleyebiliyor .10Hz'lik kısmı yazılmamış koma durumunda.sıkıcı bir durum benim .için en en önemli aradığım özellik.akşam dinlediğim frekansı öbür akşam açtığımda bir ayar yapmadan orada durması.görüşlerinize açığım.simulasyon dosyası ve yazılım ektedir.
Device 16F628A
Config CPD_OFF,CP_OFF,BODEN_OFF,MCLRE_OFF,PWRTE_ON,WDT_OFF,INTRC_OSC_NOCLKOUT,LVP_OFF
Xtal=4
All_Digital = TRUE
;Declare Optimiser_Level = 3
Declare LCD_RSPin = PORTB.0
Declare LCD_ENPin = PORTB.3
Declare LCD_DTPin = PORTB.4
Declare LCD_Interface = 4 '4-bit Interface
Declare LCD_Lines = 2 'in this case 2 lots of 2 lines
Declare LCD_Type = 0
Declare PORTB_Pullups = TRUE
Dim Tmp As Byte
Dim TmpOld [8] As Byte
Dim Frq As Dword
Dim Frq704C As Dword
Dim KeyN As Byte
Dim Ypos As Byte
Dim Xpos As Byte
Dim XposM As Byte
Dim FrqD [8] As Byte
Dim Pw As Dword
Dim T As Byte
Dim I As Byte
Dim ErrorCF As Bit
Dim DataBit As Bit
Dim Nu As Float
Dim old As Byte
Dim new As Byte
Dim var1 As Byte
;---------------------
Dim Onr As Byte
;---------------------
Declare SDA_Pin PORTB.1
Declare SCL_Pin PORTB.2
Symbol SDA=PORTB.1
Symbol SCL=PORTB.2
Main:
TRISA= %00000111 : PORTA= 0
TRISB= %00000000 : PORTB= 0
DelayMS 500
Cls
Print At 1, 1, "ITT MACKAY 3030A"
Print At 2, 1, " Marin Receiver "
DelayMS 1500
Cls
GoSub DefaultFrq
ErrorCF =0
GoSub CalculateFrq
GoSub PrintFrq
GoSub InvFrq
While 1 = 1
KeyN = 0
KeyN = KeyN + PORTA.0
KeyN = KeyN + PORTA.1 * 2
KeyN = KeyN + PORTA.2 * 4
KeyN = 7 - KeyN
DelayMS 200
Select KeyN
Case 1
GoSub UpKey
Case 2
GoSub DownKey
Case 3
GoSub RightKey
Case 4
GoSub LeftKey
EndSelect
Wend
End
LeftKey:
If XposM < 6 Then
Inc XposM
Else
XposM = 0
EndIf
GoSub Cursors
Return
RightKey:
If XposM > 0 Then
Dec XposM
Else
XposM = 6
EndIf
GoSub Cursors
Return
UpKey:
GoSub OldFrqD
I = XposM + 1
Repeat
If FrqD [I-1] = 9 Then
FrqD [I-1] = 0
Dec I
Else
;-------------------------------
Onr=FrqD[I-1]
Inc Onr
FrqD[I-1]=Onr
;--------------------------------
;; Inc FrqD [I-1] ; ?????
I = 0
EndIf
Until I = 0
GoSub CalculateFrq
If ErrorCF = 1 Then
GoSub FrqDOld
ErrorCF = 0
Return
EndIf
GoSub PrintFrq
GoSub InvFrq
Return
DownKey:
GoSub OldFrqD
I = XposM + 1
Repeat
If FrqD [I-1] = 0 Then
FrqD [I-1] = 9
Dec I
Else
;------------------------
Onr=FrqD[I-1]
Dec Onr
FrqD[I-1]=Onr
;------------------------
;; Dec FrqD [I-1] ; ?????
I = 0
EndIf
Until I = 0
GoSub CalculateFrq
If ErrorCF = 1 Then
GoSub FrqDOld
ErrorCF = 0
Return
EndIf
GoSub PrintFrq
GoSub InvFrq
Return
CalculateFrq:
Pw = 1
Frq = 0
For T = 0 To 7
Frq = Frq + FrqD [7-T] *Pw
Pw = Pw * 10
Next T
If Frq < 10000 Then
ErrorCF = 1
Print $FE ,$0C
Print At 2, 2, "Limit's Min Freq"
DelayMS 1000
Print At 2, 1, " "
GoSub Cursors
EndIf
If Frq > 30000000 Then
ErrorCF = 1
Print $FE ,$0C
Print At 2, 2, "Limit's Max Freq"
DelayMS 1000
Print At 2, 1, " "
GoSub Cursors
EndIf
' If Frq > 600000 and < 1500000 Then
Return
PrintFrq:
Print $FE ,$0C
Xpos = 6
Print At 1, 2, "MHz "
For T = 0 To 7 Then
If T = 2 Or T = 5 Then
Cursor 1, Xpos
Print "." , @FrqD[T]
Inc Xpos
Inc Xpos
Else
Cursor 1, Xpos
Print @FrqD[T]
Inc Xpos
EndIf
Next T
GoSub Cursors
Return
Cursors:
Select XposM
Case 0
Xpos = 6
Case 1
Xpos = 7
Case 2
Xpos = 9
Case 3
Xpos = 10
Case 4
Xpos = 11
Case 5
Xpos = 13
Case 6
Xpos = 14
Case 7
Xpos = 15
EndSelect
Print $FE ,$0E
Cursor 1, Xpos
Return
InvFrq:
var1 = 0 + (FrqD [0] + FrqD [1] * 16)
I2COut SDA ,SCL , %01110000 , [var1]
var1 = 0 + (FrqD [2] + FrqD [3] * 16)
I2COut SDA ,SCL , %01110010 , [var1]
var1 = 0 + (FrqD [4] + FrqD [5] * 16)
I2COut SDA ,SCL , %01110100 , [var1]
var1 = 0 + (FrqD [6] + FrqD [7] * 16)
I2COut SDA ,SCL , %01110110 , [var1]
Return
OldFrqD:
T = 8
Repeat
Dec T
TmpOld [T-1] = FrqD [T-1]
Until T = 0
Return
FrqDOld:
T = 8
Repeat
Dec T
FrqD [T-1] = TmpOld [T-1]
Until T = 0
Return
DefaultFrq:
FrqD [0] = 0
FrqD [1] = 7
FrqD [2] = 0
FrqD [3] = 9
FrqD [4] = 2
FrqD [5] = 0
FrqD [6] = 0
FrqD [7] = 0
Return
Başlık: Ynt: Radyo Alıcısı Thumbwheel switch
Gönderen: Pepe - 01 Ekim 2023, 00:11:53
.
Başlık: Ynt: Radyo Alıcısı Thumbwheel switch
Gönderen: onurinci - 01 Ekim 2023, 00:43:13
@Pepe Eres grande, si tienes la oportunidad, me gustaría que el último dígito fuera 10 Hz.
Başlık: Ynt: Radyo Alıcısı Thumbwheel switch
Gönderen: Pepe - 01 Ekim 2023, 01:29:47
no entiendo la pregunta, muestre una imagen de lo que desea
Başlık: Ynt: Radyo Alıcısı Thumbwheel switch
Gönderen: onurinci - 01 Ekim 2023, 01:46:13
LSB Readout Last Digit 10Hertz Resolution not working. display'in en sağ 10Hz gösterme kısmı programda yok.çalışmıyor PCF8574'de çıkış yok , o bölüm için. olsa güzel olurdu.
Başlık: Ynt: Radyo Alıcısı Thumbwheel switch
Gönderen: Pepe - 01 Ekim 2023, 02:14:39
.
Başlık: Ynt: Radyo Alıcısı Thumbwheel switch
Gönderen: onurinci - 01 Ekim 2023, 02:40:00
Vaya, eso es perfecto, genial. ¿Puedes reemplazar el signo que marqué con una coma?
Başlık: Ynt: Radyo Alıcısı Thumbwheel switch
Gönderen: Pepe - 01 Ekim 2023, 03:55:11
.
Başlık: Ynt: Radyo Alıcısı Thumbwheel switch
Gönderen: onurinci - 01 Ekim 2023, 10:17:47
Va genial, estamos por llegar al final ¿Puede el cursor empezar desde la casa que marqué en cada inicio?
Başlık: Ynt: Radyo Alıcısı Thumbwheel switch
Gönderen: elektro77 - 01 Ekim 2023, 12:23:16
Devre şeması da olsaydı, belki ben bağış yapabilirdim.
Başlık: Ynt: Radyo Alıcısı Thumbwheel switch
Gönderen: onurinci - 01 Ekim 2023, 18:09:27
@
Başlık: Ynt: Radyo Alıcısı Thumbwheel switch
Gönderen: Pepe - 01 Ekim 2023, 19:46:18
Ver #18
Başlık: Ynt: Radyo Alıcısı Thumbwheel switch
Gönderen: onurinci - 01 Ekim 2023, 20:30:02
La opción anterior de Autoguardado era muy buena, pero se ha vuelto muy complicada y difícil. Si no grabas manualmente el lugar que escuchaste, tendrás que recordarlo mañana. De hecho, sería fantástico si existiera la posibilidad de guardar un cursor en la versión anterior. Por ejemplo, el cursor de esta última versión. Se abre desde el lugar correcto. Saludos cordiales.
Başlık: Ynt: Radyo Alıcısı Thumbwheel switch
Gönderen: rexo - 01 Ekim 2023, 20:40:16
Hola Pepe,
Te envié un mensaje privado, te agradecería que le echaras un vistazo y me respondieras.
Başlık: Ynt: Radyo Alıcısı Thumbwheel switch
Gönderen: Pepe - 01 Ekim 2023, 21:03:09
Ver #18
Başlık: Ynt: Radyo Alıcısı Thumbwheel switch
Gönderen: onurinci - 01 Ekim 2023, 21:20:54
Estoy agradecido por tu ayuda. Lo de la memoria es una muy linda oportunidad, pero el problema es que escuchaste 07.050.000MHz y te gustó, dijiste que lo volverías a escuchar mañana y apagaste el receptor. Por cierto, no te acuerdas. la frecuencia que escuchaste. En este caso comienza el caos. Sin embargo, en las versiones anteriores esta situación era muy buena, dijiste que la volverías a escuchar. El dispositivo lo hizo automáticamente sin esperar a que hicieras nada. En este En este caso, siempre existía el requisito de grabar manualmente. Esto era lo que quería decir.
Başlık: Ynt: Radyo Alıcısı Thumbwheel switch
Gönderen: Pepe - 02 Ekim 2023, 05:10:52
.
Başlık: Ynt: Radyo Alıcısı Thumbwheel switch
Gönderen: onurinci - 02 Ekim 2023, 09:58:23
Gracias por el teclado, es muy útil. Solo me queda un pedido. Vi que en mis cajas solo hay PCF8574, quería evaluarlos. pero sus direcciones son diferentes. Encontré una solución a la dirección, ¿puedes adaptarla al programa final? ..Con amor...