۲۹-شهریور-۱۳۹۰, ۱۹:۵۶:۰۹
سلام به همه
بچه من یه اسیلوسکو طراحی کردم (البته با یه مقدار کپی برداری)ولی یک سر مشکلات داشتم هم توی برنامه نویسی هم تو مدارش .
اولین مشکلام اینکه خیلی نویز دارم
دومی اینکه مدار برای بالا پایین کردن دامنه سیگنال لازم دارم البته چندتایی پیدا کردم ولی دقیق نیستن (می خوام این پروژه عملی کنم)
سومی چرا توی پرتئوس نمی تونم این مدار هارو اجرا کنم فکر کنم از این باشه که از متن توی lcd استفاده می کنم وقتی کد
البته کامل نیست هنوز فرکانس مترو ننوشتم (درمورد اونم مشکل دارم)
video
http://www.injairane.ir/uplodfile/IMAG0017.jpg
بچه من یه اسیلوسکو طراحی کردم (البته با یه مقدار کپی برداری)ولی یک سر مشکلات داشتم هم توی برنامه نویسی هم تو مدارش .
اولین مشکلام اینکه خیلی نویز دارم
دومی اینکه مدار برای بالا پایین کردن دامنه سیگنال لازم دارم البته چندتایی پیدا کردم ولی دقیق نیستن (می خوام این پروژه عملی کنم)
سومی چرا توی پرتئوس نمی تونم این مدار هارو اجرا کنم فکر کنم از این باشه که از متن توی lcd استفاده می کنم وقتی کد
کد:
$regfile = "M32def.dat"
$crystal = 8000000
$lib "glcdKS108.LBX"
$include "my6_8.font"
$include "Font5x5.font"
$hwstack = 64
$swstack = 64
$framesize = 64
Config Graphlcd = 128 * 64sed , Dataport = Portb , Controlport = Portc , _
Ce = 0 , Ce2 = 1 , Cd = 2 , Rd = 3 , Reset = 4 , Enable = 5 , Mode = 8
Config Adc = Single , Prescaler = Auto , Reference = Internal
Config Portd = Input
'*******************************************************************************
Dim A As Word , B As Word , C As Word , D As Bit , E As Bit , Fr1 As Single
Dim Fr2 As Single , V1 As Single , V2 As Single , Speed As Word , F As Word
Dim Wiat As Word
Dim Aa As Long , Bb As Byte , Ii As Long
Config Single = Scientific , Digits = 1
'********************************timer *****************************************
Config Timer1 = Counter , Edge = Rising
Ddra.1 = 0
Porta.1 = 1
Config Timer1 = Timer , Prescale = 1024
Enable Timer1
Enable Timer0
Enable Interrupts
'*******************************************************************************
Bb = 0
D = 0
E = 0
Speed = 1
Setfont Font5x5
Cls Graph
Cls
Do
Cls
Showpic 0 , 0 , Pic0
Wait 4
Exit Do
Loop
'surc
Cls Graph
Do
'*******************control****************************
Showpic 0 , 0 , Pic1
If Pind.2 = 1 And Speed < 1000 Then
Incr Speed
Lcdat 32 , 50 , "speed :" ; Speed , 1
End If
If Pind.3 = 1 And Speed > 0 Then
Decr Speed
Lcdat 32 , 50 , "speed :" ; Speed , 1
End If
If Pind.4 = 1 And Wiat < 2000 Then
Incr Wiat
Lcdat 32 , 50 , "time :" ; Wiat , 1
End If
If Pind.5 = 1 And Wiat > 0 Then
Decr Wiat
Lcdat 32 , 50 , "time :" ; Wiat , 1
End If
'*********************select ch1/ch2*******************
If Pind.0 = 1 And D = 0 Then
D = 1
Showpic 97 , 1 , Ch1 , 1
While Pind.0 = 1
Wend
Elseif Pind.0 = 1 And D = 1 Then
D = 0
Showpic 97 , 1 , Ch1
While Pind.0 = 1
Wend
Elseif D = 0 Then
Showpic 97 , 1 , Ch1
End If
If Pind.1 = 1 And E = 0 Then
E = 1
Showpic 112 , 1 , Ch2 , 1
While Pind.1 = 1
Wend
Elseif Pind.1 = 1 And E = 1 Then
E = 0
Showpic 112 , 1 , Ch2
While Pind.1 = 1
Wend
Elseif E = 0 Then
Showpic 112 , 1 , Ch2
End If
'*********************show signal**********************
'---------------------------line 1----------------------
If D = 1 Then
For A = 0 To 96
F = Getadc(0)
B = F / 16
B = 64 - B
V1 = F / 204.6
Pset A , B , 255
For C = 1 To Speed
Waitus 1
Next C
Next A
End If
'-----------------------line 2---------------------
If E = 1 Then
For A = 0 To 96
F = Getadc(4)
B = F / 16
B = 64 - B
V2 = F / 204.6
Pset A , B , 255
For C = 1 To Speed
Waitus 1
Next C
Next A
End If
'********************show other objct******************
Line(96 , 12) -(128 , 12) , 255
Lcdat 3 , 97 , "F1:"
Lcdat 4 , 97 , Fr1 ; "Hz"
Lcdat 5 , 97 , "F2:"
Lcdat 6 , 97 , Fr2 ; "Hz"
Lcdat 7 , 97 , "V1:" ; V1
Lcdat 8 , 97 , "V2:" ; V2
Waitms Wiat
Loop
Pic0:
$bgf "arm.bgf"
Pic1:
$bgf "as.bgf"
Ch1:
$bgf "Ch1.bgf"
Ch2:
$bgf "ch2.bgf"
البته کامل نیست هنوز فرکانس مترو ننوشتم (درمورد اونم مشکل دارم)
video
http://www.injairane.ir/uplodfile/IMAG0017.jpg