انجمن های گفتگوی روبوایکیو

لطفا به سیستم وارد یا ثبت‌نام کنید.

لطفا برای ورود نام کاربری و رمز عبورتان را وارد نمایید

لطفا برای استفاده بهتر از انجمن، ثبت نام کنید!

نویسنده موضوع: برنامه نویسی ثانیه شمار با اتمگا 8  (دفعات بازدید: 761 بار)

0 کاربر و 1 مهمان درحال دیدن موضوع.

آفلاین Deleted

  • کاربر فعال
  • ***
  • ارسال: 195
  • امتیاز: 52
    • ديدن مشخصات
سلام ببخشید من الان تازه برنامه نویسی رو شروع کردم و یکم به مشکل بر خوردم /
من الان میخوام با یک میکروی اتمگا 8 و دو تا سون سگمنت ( اند مشترک و کاتد مشترک ) یعنی از هر دو نوعش دام و فرقی نداره //
میخوام یه سانیه شمار درست کنم از 1 تا 99 ///
میشه یکم کمکم کنید یا اگر میشه یه نمونه که تا 11 ثانیه بره رو برام برنامه نویسی کنید ؟
اگر میشه یک برنامه با کد ویژن برام بنویسید که اگر تا 10 ثانیه هم باشه مشکلی نداره /
برام همینجا بفرستید یا به ایمیلم بفرستید . mehdipmx@gmail.com
mehdipmx@

آفلاین armcore11

  • کاربر فعال
  • ***
  • ارسال: 113
  • امتیاز: 36
    • ديدن مشخصات
پاسخ : برنامه نویسی ثانیه شمار با اتمگا 8
« پاسخ #1 : 07 تیر, 1395, 06:52:21 »
سلام به شما دوست تازه وارد و گرامی

اینم از برنامه به زبان c
سعی کردم تا جایی که میتونم ساده بنویسمش
البته این برنامه برای یه سون سگمنت هست که میتونی برای دوتا یا هر چند تا که میخوای تغیرات لازم رو بدی . . .

باید پین 0 از پورت d رو به a
   پین 1 از پورت d رو به b
           .
           .
           .
,  پین 6 از پورت d رو به g   وصل کنی البته با مقاومت که میتونی 330 اهم رو بزای

به شکل دقت کن

/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.3 Standard
Automatic Program Generator
© Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project :
Version :
Date    : 06/27/2016
Author  : YA HUSSAIN
Company : farshad
Comments:


Chip type               : ATmega8
Program type            : Application
AVR Core Clock frequency: 8.000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 256
*****************************************************/

#include <mega8.h>
#include <delay.h>
// Declare your global variables here

void main(void)
{
unsigned char count = 0;
 
PORTD=0x00;
DDRD=0xFF;

while (1)
      {   
         
        if ( count == 10 )
          count = 0; 
        delay_ms(1000);
        switch ( count )
          {
            case 0:
            PORTD.0 = 1;
            PORTD.1 = 1;
            PORTD.2 = 1;
            PORTD.3 = 1;
            PORTD.4 = 1;
            PORTD.5 = 1;
            PORTD.6 = 0;
            break;
            case 1:
            PORTD.0 = 0;
            PORTD.1 = 1;
            PORTD.2 = 1;
            PORTD.3 = 0;
            PORTD.4 = 0;
            PORTD.5 = 0;
            PORTD.6 = 0;
            break;
            case 2:
            PORTD.0 = 1;
            PORTD.1 = 1;
            PORTD.2 = 0;
            PORTD.3 = 1;
            PORTD.4 = 1;
            PORTD.5 = 0;
            PORTD.6 = 1; 
            break;
            case 3:
            PORTD.0 = 1;
            PORTD.1 = 1;
            PORTD.2 = 1;
            PORTD.3 = 1;
            PORTD.4 = 0;
            PORTD.5 = 0;
            PORTD.6 = 1;
            break;
            case 4:
            PORTD.0 = 0;
            PORTD.1 = 1;
            PORTD.2 = 1;
            PORTD.3 = 0;
            PORTD.4 = 0;
            PORTD.5 = 1;
            PORTD.6 = 1;
            break; 
            case 5:
            PORTD.0 = 1;
            PORTD.1 = 0;
            PORTD.2 = 1;
            PORTD.3 = 1;
            PORTD.4 = 0;
            PORTD.5 = 1;
            PORTD.6 = 1;
            break;   
            case 6:
            PORTD.0 = 1;
            PORTD.1 = 0;
            PORTD.2 = 1;
            PORTD.3 = 1;
            PORTD.4 = 1;
            PORTD.5 = 1;
            PORTD.6 = 0; 
            break;
            case 7:
            PORTD.0 = 1;
            PORTD.1 = 1;
            PORTD.2 = 1;
            PORTD.3 = 0;
            PORTD.4 = 0;
            PORTD.5 = 0;
            PORTD.6 = 0;
            break;
            case 8:
            PORTD.0 = 1;
            PORTD.1 = 1;
            PORTD.2 = 1;
            PORTD.3 = 1;
            PORTD.4 = 1;
            PORTD.5 = 1;
            PORTD.6 = 1;
            break;
            case 9:
            PORTD.0 = 1;
            PORTD.1 = 1;
            PORTD.2 = 1;
            PORTD.3 = 1;
            PORTD.4 = 0;
            PORTD.5 = 1;
            PORTD.6 = 0;
            break;
          }
        count++; 
         
      }
}

« آخرين ويرايش: 07 تیر, 1395, 06:54:45 توسط armcore11 »

آفلاین Deleted

  • کاربر فعال
  • ***
  • ارسال: 195
  • امتیاز: 52
    • ديدن مشخصات
پاسخ : برنامه نویسی ثانیه شمار با اتمگا 8
« پاسخ #2 : 07 تیر, 1395, 07:03:42 »
خیلی ممنونم از لطفتون ...
« آخرين ويرايش: 19 امرداد, 1395, 10:56:54 توسط mehdipmx »
mehdipmx@