ايران ويج

نسخه‌ی کامل: مشکل با برنامه کانتر میکرو
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3
سلام
ببخشید این برنامه چه مشکلی داره ؟Shy
می دونم اشکال زیاد دارهSad
کد:
$regfile "m16def.dat"
$crystal = 1000000
Config Portb = Input
Config Timer1 = Counter , Edge = Rising
Start Counter1
Dim A As Byte
Dim B As Word
Counter1 = b
a = 5
Do
If A = B Then
Portb.0 = 1
End If
Loop
End
سلام
لطفا اسم مناسبی واسه تاپیک ها انتخاب کنید
ویرایش شد.

یه اشتباه کوچیک دارید فقط
کد:
Counter1 = b
دستور بالا مقدار متغیر b رو داخل کانتر ذخیره میکنه!

که شما باید مقدار کانتر رو داخل متغیر b ذخیره کنید
کد:
b = Counter1
سلام.

اولا اون کد :
کد:
Start Counter1
اضافیه و باید حذف شه.

دوماً :
متغیر A رو بیخودی تعریف کردی،بود و نبودش تفاوتی نمیکنه .

سوماً کد :
کد:
Counter1 = b
اشتباس ، چون مقدار B رو میریزه تو Counter1.
درستش اینه :
کد:
b=Counter1

رابعاً دستور:
کد:
b=Counter1
باید تو حلقه باشه !

پنجماً PORTB رو ورودی تعریف کردی که باید خروجی تعریف میکردی ، یعنی :
کد:
Config Portb = Output

و در نهایت برنامه میشه :
کد:
$regfile "m16def.dat"
$crystal = 1000000

Config Portb = Output

Config Timer1 = Counter , Edge = Rising

Dim B As Word

Do

b=Counter1

If B=5 Then
Portb.0 = 1
End If

Loop

End

موفق باشید.
سلام
از کمکتون ممنونم ولی وقتی پایه t1 رو 5 بار با button صفر و یک می کنم portb.0 یک نمیشه .(کمکم کنید)
با سپاس
کدی که من دادم رو تست کن
سلام
ببخشید واسه برنامه نویسی التراسونیک هم باید از چی استفاده کنم مثل تایمر یا کانتر یا ...
با تشکر
PWM و کانتر
(۰۸-مهر-۱۳۹۳, ۱۳:۱۵:۳۸)h.unique نوشته است: [ -> ]PWM و کانتر

سلام
میتونید یکم بیشتر توضیح بدین ؟
با سپاس .
این فایلی که پیوست کردم خیلی چیز خوبیه !
سورس ( بیسیک + سی ) + پی سی بی + عکس + پروتئوس + آموزش ( 3 تا مقاله )
سلام
عالی بود .
میتونید این دستورارو توضیح بدین .
کد:
Declare Sub Lcd_show(byval Hex_val As Integer)
کد:
Enable Interrupts
Disable Int0
Enable Ovf1
On Int0 Ex0_rut
On Ovf1 T1_rut
کد:
Declare Sub Lcd_show(byval Hex_val As Integer)
این دستور یه زیر برنامه به نام lcd_show تعریف کرده ، که یه ورودی به نام hex_val داره .

کد:
Enable Interrupts
وقفه سراسری فعال شده .

کد:
Disable Int0
وقفه خارجی شماره 0 غیر فعال شده .

کد:
Enable Ovf1
وقفه تایمر 1 فعال شده .

کد:
On Int0 Ex0_rut
اگه که وقفه خارجی 0 اتفاق بیوفته میکرو دستورات داخل زیر برنامه ex0_rut رو اجرا میکنه .

کد:
On Ovf1 T1_rut
اگه که وقفه تایمر 1 اتفاق بیوفته میکرو دستورات داخل زیر برنامه t1_rut رو تجرا میکنه.

** من مختصر جواب دادم اگه جایینیاز به توضیح بیشتر بود حتماً بم بگو تا برات بیشتر توضیح بدم.
صفحه‌ها: 1 2 3