شمارنده 0 تا 99
در این بخش تیم الکترونیک و برنامه نویسی الکترونیک ۹۸, اقدام به طراحی و انتشار پروژه ای کاربردی با عنوان, ساخت شمارنده 0 تا 99 بر روی سون سگمنت مالتی پلکس, برای شما علاقه مندان به پروژه های میکروکنترلر AVR کرده است. در این پروژه با استفاده از میکروکنترلر ATMEGA8 از خانواده میکروکنترلرهای AVR پالس های ورودی شمارش می شود که می تواند خروجی هر نوع سنسوری باشد. مثلا سنسورهایی که تعداد قطعات تولیدی را در یک خط تولیدی کارخانه می شمارند.
نقشه شماتیک پروژه
برای نمایش اعداد از سون سگمنت مالتی پلکس آند مشترک استفاده شده است. در این پروژه مقدار شمارنده در حافظه داخلی EEPROM ذخیره می شود تا تحت هر شرایط محفوظ بماند. برای صفر کردن شمارنده باید از کلیدی که برای این کار تعریف شده است استفاده شود.
برنامه میکروکنترلر به زبان بیسیک BASIC در نرم افزار Bascom-AVR
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
$regfile = “M8def.dat” $crystal = 1000000 ‘———————————- Config Portb = Output Config Pind.0 = Output Config Pind.1 = Output ‘———————————- Config Debounce = 20 Config Portc.0 = Input : Portc.0 = 1 Key_counter Alias Pinc.0 Config Portc.5 = Input : Portc.5 = 1 Key_reset Alias Pinc.5 S1 Alias Portd.1 S2 Alias Portd.0 ‘———————————- Portb = 255 Set S1 : Set S2 ‘———————————- Dim A As Byte : A = 0 Dim T As Byte : T = 0 Dim I As Byte : I = 0 Dim K As Byte Dim K_eeprom As Eram Byte ‘———————————- Declare Sub Show(byval A As Byte) K = K_eeprom Do Call Show(k) Debounce Key_counter , 0 , T1 , Sub Debounce Key_reset , 0 , T2 , Sub Loop End ‘———————————- T1: Incr K : If K > 99 Then K = 0 K_eeprom = K Return ‘———————————- T2: K = 0 K_eeprom = K Return ‘———————————- Sub Show(a As Byte) Do Incr I T = A Mod 10 Portb = Lookup(t , Annode_display) Select Case I Case 1: Reset S1 : Set S2 Waitms 1 Case 2: Set S1 : Reset S2 Waitms 1 End Select Set S1 : Set S2 A = A \ 10 If A = 0 Then I = 0 Exit Sub End If Loop End Sub ‘———————————- Annode_display: Data 192 , 249 , 164 , 176 , 153 , 146 , 130 , 248 , 128 , 144 , 191 , 127 , 199 ‘ 0 1 2 3 4 5 6 7 8 9 – dp L |
همچنین فایل شبیه ساز این پروژه نیز که با نرم افزار Proteus 8 Professional طراحی شده، پیوست فایل پروژه جهت دانلود قرار داده شده است، که می تواند شما را در یادگیری هر چه بهتر مدار و نحوه عملکرد آن یاری نماید.
عالی
خوب
خوب.مرسی از سایتتون
سلام
اصلا کار نکرد
برای چی ؟؟؟؟؟
سلام دوست عزیز
بعد از راه اندازی مدار عملکرد مدار به چه صورتی بود؟
سلام سایتتون عالیه
من ترم اخر رشته ict هستم این ترم پروژه باید ارائه بدم
میخواستم بدونم اموزش 0تا100 رو برای بسکام از کجا میتونم پیدا کنم
ممنون میشم راهنمایی کنید
سلام دوست عزیز
لطفا لینک زیر را مشاهده کنید:
مجموعه آموزشی برنامه نویسی به زبان Basic برای میکروکنترلرهای AVR
سلام خسته نباشید من شمارنده دورقمی که با اتمگا8 گذاشتید روی برد بورد گذاشتم ولی افزایش اعداد به صورت دهتایی هست
11
22
33….
مشکل از کجاست؟