سلام دوستان
من از این برنامه برای اندازه گیری فی استفاده کردم ولی نمیدونم مشکلش چیه درست کار نمیکنه
مشکلش اینه که وقتی مقدار تایمر 1 رو توی یک متغییر از نوع Single میریزم مقدارش عوض میشه مثلا اگه مقدار تایمر 1 برابر با 5000 باشه وقتی میریزمش توی متغییر phi مقدارش بین 12 و 120 عوض میشه یعنی یه لحظه 12 هست یه لحظه 120 !!!!! ممنون میشم اگه کمکم کنید
تایمر 1 از نوع word هست یعنی به خاطر اینه که موقعی ریخته میشه توی یک متغییر Single مقدارش عوض میشه ؟
من از این برنامه برای اندازه گیری فی استفاده کردم ولی نمیدونم مشکلش چیه درست کار نمیکنه
مشکلش اینه که وقتی مقدار تایمر 1 رو توی یک متغییر از نوع Single میریزم مقدارش عوض میشه مثلا اگه مقدار تایمر 1 برابر با 5000 باشه وقتی میریزمش توی متغییر phi مقدارش بین 12 و 120 عوض میشه یعنی یه لحظه 12 هست یه لحظه 120 !!!!! ممنون میشم اگه کمکم کنید
تایمر 1 از نوع word هست یعنی به خاطر اینه که موقعی ریخته میشه توی یک متغییر Single مقدارش عوض میشه ؟
$regfile = "M16DEF.DAT"
$crystal = 1000000
Config Lcdpin = Pin , Db4 = Pinc.3 , Db5 = Pinc.2 , Db6 = Pinc.1 , Db7 = Pinc.0 , E = Pinc.4 , Rs = Pinc.5
Config Lcd = 20 * 4
Enable Interrupts
Config Timer1 = Timer , Prescale = 1
Enable Timer1
Cursor Off
Config Int0 = Rising
Config Int1 = Rising
Enable Int0
Enable Int1
On Int0 A
On Int1 B
Dim Phi As Single
Do
Loop
End
A:
Timer1 = 0
Start Timer1
Return
B:
Stop Timer1
Phi = Timer1
Phi = Phi * 18
Phi = Phi * 0.001
Cls
Lcd Phi
Return
$crystal = 1000000
Config Lcdpin = Pin , Db4 = Pinc.3 , Db5 = Pinc.2 , Db6 = Pinc.1 , Db7 = Pinc.0 , E = Pinc.4 , Rs = Pinc.5
Config Lcd = 20 * 4
Enable Interrupts
Config Timer1 = Timer , Prescale = 1
Enable Timer1
Cursor Off
Config Int0 = Rising
Config Int1 = Rising
Enable Int0
Enable Int1
On Int0 A
On Int1 B
Dim Phi As Single
Do
Loop
End
A:
Timer1 = 0
Start Timer1
Return
B:
Stop Timer1
Phi = Timer1
Phi = Phi * 18
Phi = Phi * 0.001
Cls
Lcd Phi
Return
دیدگاه