سلام
من میخوام پروژه سیستمی با atmega8 و با بیسکام طراحی کنم که در خط تولید لوله استفاده میشه به این صورت که:
در زمانی که لوله در حال عبور کردنه و داخل آن با چسب داره پر میشه - یکی از پایه های میکرو وظیفه نشان دادن این چسبکاری را بر عهده داره - ( یعنی وقتی داره چسب می خوره صفره و وقتی چسب خوردن قطع بشه روی پایه یک پالس می فرسته ) ناگهان چسبکاری لوله قطع بشه ، بعد از گذشت 10 ثانیه یکی دیگه از پایه های میکرو را ست کنه .
نکته پروژه اینه که اون پایه میکرو که نشانگر چسب است اگه یک بشه (یعنی چسبکاری قطع شده) ولی تا قبل از 10 ثانیه دوباره صفر بشه ( یعنی چسبکاری دوباره شروع بشه) میکرو باید منتظر بشه تا پایه مورد نظر دوباره یک بشه و زمان را از اول دوباره بشماره( منتظر بشه تا دوباره چسبکاری قطع بشه و بعد از گذشت 10ثانیه پایه را ست کنه)
من این برنامه را نوشتم ولی یه جای کار اشکال داره یعنی 10 ثانیه زمان را داریم ولی اگه وسط 10 ثانیه پایه یکبار قطع و وصل بشه کار نمی کنه
لطفا راهنمایی کنید، ممنون از همه
$regfile = "m8def.dat"
$crystal = 8000000
Config Timer1 = Timer , Prescale = 1024
Config Int1 = Falling
Config Portb = Output
Enable Interrupts
Enable Int1
On Int1 Test2
Enable Ovf1
On Ovf1 Test3
Do
If Pind.2 = 1 Then Start Timer1
Loop
End
Test2:
Stop Timer1
Return
Test3:
Portb = &B00000001
Return
من میخوام پروژه سیستمی با atmega8 و با بیسکام طراحی کنم که در خط تولید لوله استفاده میشه به این صورت که:
در زمانی که لوله در حال عبور کردنه و داخل آن با چسب داره پر میشه - یکی از پایه های میکرو وظیفه نشان دادن این چسبکاری را بر عهده داره - ( یعنی وقتی داره چسب می خوره صفره و وقتی چسب خوردن قطع بشه روی پایه یک پالس می فرسته ) ناگهان چسبکاری لوله قطع بشه ، بعد از گذشت 10 ثانیه یکی دیگه از پایه های میکرو را ست کنه .
نکته پروژه اینه که اون پایه میکرو که نشانگر چسب است اگه یک بشه (یعنی چسبکاری قطع شده) ولی تا قبل از 10 ثانیه دوباره صفر بشه ( یعنی چسبکاری دوباره شروع بشه) میکرو باید منتظر بشه تا پایه مورد نظر دوباره یک بشه و زمان را از اول دوباره بشماره( منتظر بشه تا دوباره چسبکاری قطع بشه و بعد از گذشت 10ثانیه پایه را ست کنه)
من این برنامه را نوشتم ولی یه جای کار اشکال داره یعنی 10 ثانیه زمان را داریم ولی اگه وسط 10 ثانیه پایه یکبار قطع و وصل بشه کار نمی کنه
لطفا راهنمایی کنید، ممنون از همه
$regfile = "m8def.dat"
$crystal = 8000000
Config Timer1 = Timer , Prescale = 1024
Config Int1 = Falling
Config Portb = Output
Enable Interrupts
Enable Int1
On Int1 Test2
Enable Ovf1
On Ovf1 Test3
Do
If Pind.2 = 1 Then Start Timer1
Loop
End
Test2:
Stop Timer1
Return
Test3:
Portb = &B00000001
Return
دیدگاه