با سلام و معذت بسیار از شما
من برنامه سنسور را نوشته ام
و سخت افزار آن را هم بسته ام با 8051 من در نقشه زیرهمان طور که گفتم به جایpic 8051 گذاشتم و نمی دانم پا یه های ccpi که در pic است با چه پا یه ای از 8051 وصل کنم و البته من شنیده ام که 8051 قابلیت ccpi ندارد ولی نمی توان از یک ای سی ویا هر چیز دیگری که همان کارپایه ی ccpi در pic را می کند استفاد کرد . به 8051 وصل کر
د
(شکل مدار با pic
http://i12.tinypic.com/4hkvyfq.gif
$sim
$large
'IN THE NAME OF GOD
'--------------------------
'CONFIGURE STATEMENT-------
$regfile = "reg51.dat"
$crystal = 12000000
Enable Timer0
Enable Timer1
Config Lcd = 16 * 2
Config Lcdbus = 4
Config Timer0 = Counter , Mode = 1 , Gate = Internal
Config Timer1 = Counter , Mode = 1 , Gate = Internal
On Timer0 F_time0 'for wave 40 khz 'f
On Timer1 F_time1
Dim T_resault As Word
Dim X As Word
'SAVEs time of timer0 and 1
Dim Ix_t0 As Word
Dim Ix_t1 As Word
Dim T0 As Word
Dim T1 As Word
Dim T0_timer As Word 'save time timer0
Dim T1_timer As Word 'save time timer1
'SETINGs and load OF TIMER----------
Th0 = &HF4 'for create wave 40 khz
Tl0 = &H43
Th1 = &HB8
Tl1 = &HFA
'SETTING OF LCD-------------
Cls
Cursor Off
Lcd "HI"
Wait 1
Cls
Lcd "PROJECT RANGE"
Lowerline
Lcd "METER WITH 8051"
Wait 2
Cls
'MAIN PROGRAM--------------
Do
Gosub F_recive
Delay
T_resault = T0 - T1
X = T_resault * 330
Cls
Lcd "RANGE:" ; X
Wait 1
Loop
F_recive:
T0 = Counter0
Stop Counter0
Waitms 10
If P2.6 = 1 Then
T1 = Counter1
Stop Counter1
Start Counter1
Start Counter0
Else
nop
End If
Return
'ROUTINEs TIMERS------------------
F_time0:
$asm 'send pules to sensor transmiter
cpl p2.7
$end Asm
Return
F_time1:
Incr Ix_t1
T1_timer = Ix_t1
If Ix_t1 = 47354 Then
Ix_t1 = 0
End If
Return
End
راستی در مداری که من فرستادم برای وصل سنسور به 8051 نمی خواد هی سی های 833 و 358و ...
رو بردارم و ای سی دیگه بزارم