ايران ويج

نسخه‌ی کامل: برنامه ای که با فشردن کلید اول اعداد زوج و با فشردن کلید دوم اعداد فرد روی سون سگمنت؟
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام;
برنامه ای میخوام که با فشردن کلید اول اعداد زوج 0تا100 و با فشردن کلید دوم اعداد فرد 0تا100 را روی 7segment نمایش دهد
مشخصات پروژه:
میکرو کنترل:Atmega32
فرکانس:8.000.000
زبان برنامه:Basic(bascom)
با تشکر.
(۱۸-آبان-۱۳۹۱, ۲۰:۱۴:۰۱)mojbili نوشته است: [ -> ]سلام;
برنامه ای میخوام که با فشردن کلید اول اعداد زوج 0تا100 و با فشردن کلید دوم اعداد فرد 0تا100 را روی 7segment نمایش دهد
مشخصات پروژه:
میکرو کنترل:Atmega32
فرکانس:8.000.000
زبان برنامه:Basic(bascom)
با تشکر.

سلام دوست گرامی
راهنماییت میکنم
ولی زیاد وقت ندارم برات انجتم بدم ، آخه دیر وقته
میتونی از دو تا زیر تابع و داخل زیر تابع اولی for a = 0 to 100 step 2 --- next قرار میدی و
در زیر تابع دومی for a = 1 to 99 step 2 قرار میدی
بعد خیلی راحت داخل حلقه for ----- next ها 7segment رو هم نشون میدی

موفق باشی ....
سلام.
من این برنامه رو واست نوشتم.
سورس و شبیه ساز رو واست پیوست کردم.

اینم برنامه:
کد:
$regfile = "m32def.dat" : $crystal = 8000000

Config Portc = Output : Config Portb = Output
Config Timer1 = Timer , Prescale = 64

Segment Alias Portb

Defbyte S2 , S3 , S4 , S5 , S6 , S7 , S8
Dim K As Byte

Enable Timer1

On Timer1 Tim

Main:
Do
Debounce Pind.2 , 1 , Zooj , Sub
Debounce Pind.3 , 1 , Fard , Sub

Portc = &H01
Segment = Lookup(s1 , Segmentdata)
Waitus 100
Portc = &H02
Segment = Lookup(s2 , Segmentdata)
Waitus 100
Portc = &H04
Segment = Lookup(s3 , Segmentdata)
Waitus 100

Loop
End

Segmentdata:
Data &H3F , &H06 , &H5B , &H4F , &H66 , &H6D , &H7D , &H07 , &H7F , &H6F

Zooj:
K = 1 : S1 = 0 : S2 = 0 : S3 = 0 : Enable Interrupts
jmp main

Fard:
K = 2 : S1 = 0 :S2 = 0 :S3 = 0 : Enable Interrupts
jmp main

Tim:
If K = 1 Then : S1 = S1 + 2
If S1 > 9 Then : S1 = 0 : Incr S2 : End If
If S2 > 9 Then : S1 = 0 : S2 = 0 : Incr S3 : End If
If S3 = 1 Then : S1 = 0 : S2 = 0 : S3 = 1 : K = 0 : Disable Interrupts : End If
End If

If K = 2 Then
If S1 > 1 Then : S1 = S1 + 1 : S1 = S1 / 2 : End If
Incr S1 : S1 = S1 * 2 : S1 = S1 - 1
If S1 > 9 Then : S1 = 1 : Incr S2 : End If
If S2 > 9 Then : S1 = 9 : S2 = 9 : Disable Interrupts : K = 0 : End If
End If

Return

اینم شبیه ساز:
[تصویر:  7segmentzojofard.jpg]

موفق باشی...HeartHeartHeart