سوالات ، مشکلات و درخواست های در رابطه با میکروکنترلر ها

sh85

مدیر بازنشسته
کاربر ممتاز
مرسی این مشکلم حل شد.
ولی یه مشکل دیگه دارم !
می خوام یک برنامه بنویسم که لامپ های راه پله از ساعت 9 صبح تا 9 شب با زدن کلید، 6 لامپ روشن بشه به مدت 3دقیقه و از ساعت 9 شب به بعد
3 تا لامپ روشن بشه اگه میشه لطفا راهنماییم کنید.
سلام
ببنید برای ین کار هم بر می گرده به حس برنامه نویسی شما
مثلا من الان این راه به ذهنم رسید که زمان را دوتا 12 ساعت تقسیم کنید و یه متغیر تعریف کنید که بعد از هر 12 ساعت یک واحد به اون اضاف بشه
به طور فرض از 9 صبح شروع می کنه به شمارش تا 9 شب 12 سعت می گذره متغیرمون =1 می شه و تعریف کنیم وقتی متغیر فرد شد (غیر قابل قسمت بر2 ) 3تا از خروجی ها یک بشه و وقتی زوج شد 6 تا از خروجی ها یک بشه به این ترتیب بعد از رسیدن 9 صبح یه واحد به متغیر اضافه می شه و متغیر برابر 2 می شه و ...
یا مثلا راه دیگه کلا یه ساعت بسازید و بگید وقتی h=21 شد 3تا خروجی روشن بشه تا زمانی که h =9 بشه
فکر کنم راه دوم ساده تره !
و بازهم هزاران برنامه و مدل دیگه ...
موفق باشید
 

somayeh atlasbaf

عضو جدید
ماژول ای دی سی

ماژول ای دی سی

سلام
میخواستم در مورد ماژول ای دی سی راهنماییم کنین و1برنامه برای میکروکنترلرATMEGA32که توش از ماژول ای دی سی استفاده کنیم(با بسکام)
 

sh85

مدیر بازنشسته
کاربر ممتاز
سلام
میخواستم در مورد ماژول ای دی سی راهنماییم کنین و1برنامه برای میکروکنترلرATMEGA32که توش از ماژول ای دی سی استفاده کنیم(با بسکام)

سلام
اینجا کسی پروژه آماده نداره بلکه دوستان در حین انجام پروژه اگر به مشکلی برخورد کنن می پرسن و اگر کسی بلد بود پاسخ می ده
شما هم اگر سوالی دارید می تونید بپرسید
موفق باشید
 

somayeh atlasbaf

عضو جدید
من منظورم بروژه آماده نبود میخواستم بدونم تو چه برنامه ای میشه از ای دی سی استفاده کرد(موضوع برنامه)
ممنون از راهنماییتون اما لحن جوابتون اصلا خوب نبود
 

alireza9707

عضو جدید
salam
agha toro khoda komak ....
ye barname hast male atmel
mishe dakhelesh be zaban basic barname benevisi bad compile mikone be formate .hex
bad mishe berizi ro ic 8051
shadidan niaz daram
mamnon
 

mirmorady

عضو جدید
مشکل در ارتبات کیپد به میکرو و ال سی دی 4*4

مشکل در ارتبات کیپد به میکرو و ال سی دی 4*4

با سلام - میکرو اتمگا32 - ال سی دی و کیپد را با بسکام برنامه نویسی و در پروتوس شبیه سازی کردم - هر سطر فقط یک عدد را نمایش میدهد . اعداد 0 - 4 - 8 - 12 یعنی در هر حالت کیپد فقط این 4 عدد را نمایش میدهد . هر راهنمایی که دیگران در بستن اتصالات کردن و یا مطالعه کردم انجام دادم ولی بی نتیجه بود . خواهشمند است هرکسی میتونه کمک کنه . ممنون میشم .
 

sh85

مدیر بازنشسته
کاربر ممتاز
من منظورم بروژه آماده نبود میخواستم بدونم تو چه برنامه ای میشه از ای دی سی استفاده کرد(موضوع برنامه)
ممنون از راهنماییتون اما لحن جوابتون اصلا خوب نبود
سلام
در هر جا که نیاز به تبدیل دیجیتال به آنالوگ و بلعکس باشه
مثل اندازه گیری درجه حرارت محیط با سنسور و نمایش عددی اون
این برنامه به زبان بیسیک در کتاب علی کاهه هست در همین تالار هم لینک یه سری پروژه ها هست که این موضوع فکر کنم در اون ها موجود باشه
اینجا چون تنها از نوشته می شه برداشت کرد پس گاها ممکنه حرف ها چور دیگه ای برداشت بشه همون طور که از پست اول ما چیز دیگه ای برداشت شد
به هر حال موفق باشید
salam
agha toro khoda komak ....
ye barname hast male atmel
mishe dakhelesh be zaban basic barname benevisi bad compile mikone be formate .hex
bad mishe berizi ro ic 8051
shadidan niaz daram
mamnon
سلام
منظورتون برنامه AVR studio هست ؟
با سلام - میکرو اتمگا32 - ال سی دی و کیپد را با بسکام برنامه نویسی و در پروتوس شبیه سازی کردم - هر سطر فقط یک عدد را نمایش میدهد . اعداد 0 - 4 - 8 - 12 یعنی در هر حالت کیپد فقط این 4 عدد را نمایش میدهد . هر راهنمایی که دیگران در بستن اتصالات کردن و یا مطالعه کردم انجام دادم ولی بی نتیجه بود . خواهشمند است هرکسی میتونه کمک کنه . ممنون میشم .

سلام
بلوک دیاگرام و برنامتون را اگر قرار بدید بهتر می شه راهنمایی کرد
 

mirmorady

عضو جدید
باسلام و تشکر
شمای مدار به این صورته - بطور مثال کلید های سطر پایین عدد 12 و سطر دوم عدد 8 و سطر سوم عدد 4 و سطر چهارم عدد 8 را نشون میده - با حابحا کردن اتصالات فقط اعدادی که هر سطر یا سطون نشون میده عوض میشه و در حالتی ممکنه اینبار کلید های هر ستون یک عدد مثلا" 4 را نشون بده .
untitled.jpg
 

sh85

مدیر بازنشسته
کاربر ممتاز
باسلام و تشکر
شمای مدار به این صورته - بطور مثال کلید های سطر پایین عدد 12 و سطر دوم عدد 8 و سطر سوم عدد 4 و سطر چهارم عدد 8 را نشون میده - با حابحا کردن اتصالات فقط اعدادی که هر سطر یا سطون نشون میده عوض میشه و در حالتی ممکنه اینبار کلید های هر ستون یک عدد مثلا" 4 را نشون بده .
مشاهده پیوست 40376
سلام
فایل برنامه را هم قرار بدید بهتره و بگید برنامه را برچه اساس نوشتین
حتی متن برنامه را هم کپی پیست کتید اینجا هم مشکلی نیست
 

taksun

عضو جدید
salam
man ba 1 compiler kar mikardam ke editoresh abii bood menosham taghriiban shabihe hamin bood
ma be esme compilere shahed mishnakhtim
 

ELNAZ02

عضو جدید
سلام
خسته نباشید
میشه یه برنامه که سنکرون باشه با شماتیکش و...بذارین
برنامه شم basecomباشه
ممنون
 

mirmorady

عضو جدید
مشکل در ارتبات کیپد با میکرو

مشکل در ارتبات کیپد با میکرو

مشکل در ارتباط یپد با میکرو
سلام
ابتدا برنامه را با بسکام نوشته و پس از ذخیره آن را کمپایل کردم سپس با پروتوس برنامه را شبیه سازی و با دبل کلیک روی میکرو فایل برنامه را به آن معرفی کردم . ولی با اجرای برنامه کیپد 4 رقم بیشتر را نشان نمی دهد . برنامه در شبیه ساز بسگام خوب کار میکند . دوستان دیگری هم این مشکل را دارند . یکی از دوستان میگوید این مشکل پس از مدتی بدون دلیل خاصی حل شد . متن برنامه : ( البته ابتدای regfile و crystal باید علامت $ گذاشته شود )
"regfile = "m32def.dat
crystal = 8000000
Config Kbd = Portd , Debounce = 20
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Porta.5 , Db5 = Porta.4 , Db6 = Porta.3 , Db7 = Porta.2 , E = Porta.0 , Rs = Porta.1
Dim A As Byte , B As Byte
Cls
:Q
()A = Getkbd
If A > 15 Then
Goto Q
End If
Locate 1 , 1
Lcd A
Goto Q
End
 

sh85

مدیر بازنشسته
کاربر ممتاز
مشکل در ارتباط یپد با میکرو
سلام
ابتدا برنامه را با بسکام نوشته و پس از ذخیره آن را کمپایل کردم سپس با پروتوس برنامه را شبیه سازی و با دبل کلیک روی میکرو فایل برنامه را به آن معرفی کردم . ولی با اجرای برنامه کیپد 4 رقم بیشتر را نشان نمی دهد . برنامه در شبیه ساز بسگام خوب کار میکند . دوستان دیگری هم این مشکل را دارند . یکی از دوستان میگوید این مشکل پس از مدتی بدون دلیل خاصی حل شد . متن برنامه : ( البته ابتدای regfile و crystal باید علامت $ گذاشته شود )
"regfile = "m32def.dat
crystal = 8000000
Config Kbd = Portd , Debounce = 20
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Porta.5 , Db5 = Porta.4 , Db6 = Porta.3 , Db7 = Porta.2 , E = Porta.0 , Rs = Porta.1
Dim A As Byte , B As Byte
Cls
:Q
()A = Getkbd
If A > 15 Then
Goto Q
End If
Locate 1 , 1
Lcd A
Goto Q
End
سلام
ممنون
یک مشکل که در اولین نگاه به نظرم رسید این که شما وقتی از دستور getkbd استفاده می کنید باید جدول درستی براش تعریف کنید
من خوم از شیوه 0و 1 دهی استفاده می کردم برای خواندن صفحه کلید
به این نحو که یک بار همه سطر ها را یک می دین و کلید به زمین وصله وقتی دکمه زده بشه یکی از یک ها صفر می شه و شما متوجه می شید کلید کدوم ستون فشار داده شده و به همین نحو برای پیدا کردن ستون مثل این برنامه که برای مگا 16 نوشته شده


#include <mega16.h>
#include <delay.h>

#define maxkeys 16

unsigned char key, butnum;

//key pad scan table
flash unsigned char keytbl[16]={0xee, 0xed, 0xeb, 0xe7, 0xde, 0xdd, 0xdb, 0xd7, 0xbe, 0xbd, 0xbb, 0xb7, 0x7e, 0x7d, 0x7b, 0x77};

void main(void)
{
//Init port B to show keyboard result
DDRB = 0xff;
PORTB = 0xff;

//endless loop to read keyboard
while(1)
{
//get lower nibble
DDRC = 0x0f;
PORTC = 0xf0;
delay_us(5);
key = PINC;

//get upper nibble
DDRC = 0xf0;
PORTC = 0x0f;
delay_us(5);
key = key | PINC;

//find matching keycode in keytbl
if (key != 0xff)
{
for (butnum=0; butnum<maxkeys; butnum++)
{
if (keytbl[butnum]==key) break;
}
if (butnum==maxkeys) butnum=0;
else butnum++; //to make range 1-16
}
else butnum=0;

PORTB = ~ butnum ;

} // end while
} //end main
شبیه ساز پروتئوس
اگر هم می خواید با همون دستور خودتون کار کنید باید جدول درستی تشکیل بدید برای اطلاعات بیشتر در هلپ برنامه سرچ کنید getkbd اطلاعات لازم را بهتون می ده
موفق باشید
 

mykel

عضو جدید
سلام
من یه بردتشخیص رنگ NCS450 خریدم که بلرنامش کار نمی کنه.لطفا اگه می تونید کمکم کنید.
 

sh85

مدیر بازنشسته
کاربر ممتاز
میشه جوابه سواله منم بدین یه کمک کنین:redface:
سلام دوست عزیز
اینجا پروژه آماده به کسی داده نمی شه
اگر در زمنیه برنامه نویسی و یا رسم شماتیک مشکلی داشتید می تونید اینجا مطرح کنید
مثل سایر دوستان
موفق باشید
 

mahsa_1530

عضو جدید
سلام به تمام دوستان
من برنامه ماشین حساب به زبان bascom رو می خوام. البته به همراه شبیه سازیش با proteus.
خودم می توانم با c بنویسمش اما bascom یکم گنگه.
این درخواست خیلی خیلی فوریه!!!!!
پیشاپیش سپاس
 

parsimard

عضو جدید
با سلام.
من یه مشکل با atttiny2313 دارم.:(
اونم اینه که عملیات ریاضی رو انجام نمیده.مثلا تقسیم دو متغیر بر هم.یا حتی ضرب و ....:surprised:
ممنون می شم اگه راهنمایی کنید.:smile:
 

Amarok

عضو جدید
سلام
ممنون
یک مشکل که در اولین نگاه به نظرم رسید این که شما وقتی از دستور getkbd استفاده می کنید باید جدول درستی براش تعریف کنید
من خوم از شیوه 0و 1 دهی استفاده می کردم برای خواندن صفحه کلید
به این نحو که یک بار همه سطر ها را یک می دین و کلید به زمین وصله وقتی دکمه زده بشه یکی از یک ها صفر می شه و شما متوجه می شید کلید کدوم ستون فشار داده شده و به همین نحو برای پیدا کردن ستون مثل این برنامه که برای مگا 16 نوشته شده


#include <mega16.h>
#include <delay.h>

#define maxkeys 16

unsigned char key, butnum;

//key pad scan table
flash unsigned char keytbl[16]={0xee, 0xed, 0xeb, 0xe7, 0xde, 0xdd, 0xdb, 0xd7, 0xbe, 0xbd, 0xbb, 0xb7, 0x7e, 0x7d, 0x7b, 0x77};

void main(void)
{
//Init port B to show keyboard result
DDRB = 0xff;
PORTB = 0xff;

//endless loop to read keyboard
while(1)
{
//get lower nibble
DDRC = 0x0f;
PORTC = 0xf0;
delay_us(5);
key = PINC;

//get upper nibble
DDRC = 0xf0;
PORTC = 0x0f;
delay_us(5);
key = key | PINC;

//find matching keycode in keytbl
if (key != 0xff)
{
for (butnum=0; butnum<maxkeys; butnum++)
{
if (keytbl[butnum]==key) break;
}
if (butnum==maxkeys) butnum=0;
else butnum++; //to make range 1-16
}
else butnum=0;

PORTB = ~ butnum ;

} // end while
} //end main
شبیه ساز پروتئوس
اگر هم می خواید با همون دستور خودتون کار کنید باید جدول درستی تشکیل بدید برای اطلاعات بیشتر در هلپ برنامه سرچ کنید getkbd اطلاعات لازم را بهتون می ده
موفق باشید

مشکل در ارتباط یپد با میکرو
سلام
ابتدا برنامه را با بسکام نوشته و پس از ذخیره آن را کمپایل کردم سپس با پروتوس برنامه را شبیه سازی و با دبل کلیک روی میکرو فایل برنامه را به آن معرفی کردم . ولی با اجرای برنامه کیپد 4 رقم بیشتر را نشان نمی دهد . برنامه در شبیه ساز بسگام خوب کار میکند . دوستان دیگری هم این مشکل را دارند . یکی از دوستان میگوید این مشکل پس از مدتی بدون دلیل خاصی حل شد . متن برنامه : ( البته ابتدای regfile و crystal باید علامت $ گذاشته شود )
"regfile = "m32def.dat
crystal = 8000000
Config Kbd = Portd , Debounce = 20
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Porta.5 , Db5 = Porta.4 , Db6 = Porta.3 , Db7 = Porta.2 , E = Porta.0 , Rs = Porta.1
Dim A As Byte , B As Byte
Cls
:Q
()A = Getkbd
If A > 15 Then
Goto Q
End If
Locate 1 , 1
Lcd A
Goto Q
End

با سلام

من برنامه ها رو به طور دقیق نخوندم

ولی ما معمولا در بسکام از همین روش اسکن کردن صفحه کلید(فکر کنم توی کتاب مهندس کاهه هم همین باشه) استفاده می کنیم و در برنامه نویسی سی از همین الگوریتم به ترتیب 0 و1 کردن سطر یا ستو ن و خواندن دیگری استفاده می کنیم

ولی یه چیزی که هست منم تجربه شخصی این مشکل رو با شبیهساز پروتئوس داشتم(حتی گاهی تو شبیهسازی های خیلی ساده!)

به احتمال قوی نسخه ای که شما استفاده می کنید نسخه کرک هست؟ این مربوط به مشکلی یه که نسخه های کرک دارن!احتمالا دیتاشیت آیسی به طور کامل لود نمیشه یا چیزی شبیه این

اگه باز هم به این مشکل برخوردید می تونید این راه رو امتحان کنید

به آرشیو خود پروتئوس مراجعه کنید(همون مدارات نمومه ای که تو همون پک نرم افزارش هست)

سخت افزاری رو انتخاب کنید که با کنترلر مورد نظرتون بسته شده باشه

بعد تمام دیوایس های متصل به اون رو پاک کنید

در واقع صفحه رو به نحوی پاک کنید که تنها کنترلر باقی بمونه

حال سخت افزارتون رو روی این میکرو ببندید و برنامتون رو روش لود کنید

به احتمال خیلی زیاد بدون هیچ مشکلی کار خواهد کرد;)

توضیح:راه کار من از لحاظ دانش سخت افزار کاملا غیر علمی :surprised: ونتیجه تجربه اینجانب و چندی از دوستانمه:D

سربلند و پیروز باشید
 

mahsa_1530

عضو جدید
سلام
خانومها و اقایان باور کنید موضوع حیاتیه..من به این ماشین حساب با bascom خیلی خیلی خیلی نیاز دارم.
خلاصه هر کس کاری از دستش برمیاد دریغ نکنه.
سپاس فراوان
یاذتون نره ها!!!!!!!!!!!!!!!!!!!!!!!!
یه کلاس دعاتون میکنن
 

Amarok

عضو جدید
سلام
خانومها و اقایان باور کنید موضوع حیاتیه..من به این ماشین حساب با bascom خیلی خیلی خیلی نیاز دارم.
خلاصه هر کس کاری از دستش برمیاد دریغ نکنه.
سپاس فراوان
یاذتون نره ها!!!!!!!!!!!!!!!!!!!!!!!!
یه کلاس دعاتون میکنن


الآن وقت خیلی نا مناسبی رو برای در خواست پروژه انتخاب کردید

:D

ولی اگه خیلی عجله دارید یه گشتی تو نت بزنید یه چیزایی دستگیرتون خواهد شد

فکر کنم پروژه آمادشم هست

راستش من اینو پیدا کردم:

کد:
$crystal = 1000000


Config Lcd = 16 * 2
 Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.3 , Db6 = Porta.2 , Db7 = Porta.1 , Rs = Porta.5 , E = Porta.6
Config Kbd = Portb , Debounce = 50 , Delay = 200

 Do
  H:
  Cls
   Cursor On
  Locate 1 , 1
  Lcd "0"
 Dim Shiftt As Byte
 Dim A As Byte
 Dim S As Integer
 Dim C As Integer
 Dim S1 As Single
 Dim Amal As String * 1
 Dim F As Integer
 Dim G As Integer
 Dim D As Byte
 Dim G1 As Long
 Dim K As Single
 S1 = 0
 C = 1
 F = 1
 G1 = 0


 Mm:


 Do

   A = Getkbd()
           Select Case A

                 Case 0
                        Locate 1 , C
                         Lcd "1"
                        C = C + 1
                       S = 1
                    S1 = S1 * 10


                 Case 1
                        Locate 1 , C
                        Lcd "4"
                        C = C + 1
                        S = 4
                        S1 = S1 * 10
                        S1 = S1 + S


                 Case 2
                        Locate 1 , C
                         Lcd "7"
                        C = C + 1
                       S = 7

                            S1 = S1 * 10
                           S1 = S1 + S


                 Case 3


                         C = C - 1
                        Locate 1 , C
                        Lcd " "
                        S1 = S1 \ 10
                         If C = 1 Then
                         Locate 1 , 1
                         Lcd "0"
                         End If


                 Case 4
                        Locate 1 , C
                         Lcd "2"
                        C = C + 1
                       S = 2
                       S1 = S1 * 10
                       S1 = S1 + S


                 Case 5
                        Locate 1 , C
                         Lcd "5"
                        C = C + 1
                       S = 5
                          S1 = S1 * 10
                           S1 = S1 + S


                 Case 6
                        Locate 1 , C
                          Lcd "8"
                        C = C + 1
                        S = 8

                        S1 = S1 * 10
                       S1 = S1 + S

                 Case 7
                        If C = 1 Then
                         Goto H

                        End If
                        Locate 1 , C
                          Lcd "0"
                        C = C + 1
                       S = 0
                       S1 = S1 * 10
                       S1 = S1 + S


                 Case 8
                        Locate 1 , C
                         Lcd "3"
                        C = C + 1
                        S = 3
                       S1 = S1 * 10
                       S1 = S1 + S


                 Case 9
                        Locate 1 , C
                           Lcd "6"
                        C = C + 1
                        S = 6

                        S1 = S1 * 10
                       S1 = S1 + S


                 Case 10
                        Locate 1 , C
                           Lcd "9"
                        C = C + 1
                       S = 9
                         S1 = S1 * 10
                        S1 = S1 + S



                 Case 11
                        If C > 1 Then
                        Locate 1 , C
                        Lcd "+"
                        C = C + 1
                        Amal = "+"
                        Exit Do
                        End If
                        Goto H

                 Case 12
                        If C > 1 Then
                        Locate 1 , C
                        Lcd "-"
                        Amal = "-"
                        C = C + 1
                        Exit Do
                        End If
                        Goto H
                 Case 13
                        If C > 1 Then
                        Locate 1 , C
                        Lcd "*"
                        Amal = "*"
                        C = C + 1
                        Exit Do
                        End If
                        Goto H
                 Case 14
                        If C > 1 Then
                        Locate 1 , C
                        Lcd "/"
                        C = C + 1
                        Amal = "/"
                        Exit Do

                        End If
                        Goto H

                   Case 15
                          Do
                            Shiftt = Getkbd()
                            Select Case Shiftt
                                          Case 0
                                             K = Sin(s1)
                                             Locate 1 , 13
                                             Lcd "sin"
                                             Locate 2 , 1
                                             Lcd K
                                          Case 1
                                             K = Cos(s1)
                                             Locate 1 , 13
                                             Lcd "cos"
                                             Locate 2 , 1
                                             Lcd K

                                          Case 2
                                              K = Tan(s1)
                                              Locate 1 , 13
                                              Lcd "tan"
                                              Locate 2 , 1
                                              Lcd K
                                          Case 4
                                              K = Atn(s1)
                                              Locate 1 , 13
                                              Lcd "atn"
                                              Locate 2 , 1
                                              Lcd K
                                          Case 5
                                              K = Log(s1)
                                              Locate 1 , 13
                                              Lcd "log"
                                              Locate 2 , 1
                                              Lcd K
                                          Case 6
                                               K = Exp(s1)
                                               Locate 1 , 13
                                               Lcd "exp"
                                               Locate 2 , 1
                                               Lcd K
                                          Case 8
                                               K = Hex(s1)
                                               Locate 1 , 13
                                               Lcd "hex"
                                               Locate 2 , 1
                                               Lcd K
                                          Case 9
                                                Locate 1 , 13
                                                Lcd "sqr"
                                                Locate 2 , 1
                                                Lcd K

                                            Case 11
                                            Goto H





                                   End Select
                               Loop


           End Select





 Loop

 Nn:
 Do
 D = Getkbd()
       Select Case D
                  Case 0
                           Locate 2 , F
                           Lcd "1"
                           G = 1
                           F = F + 1
                            G1 = G1 * 10
                            G1 = G1 + G
                   Case 1
                           Locate 2 , F
                           Lcd "4"
                           G = 4
                           F = F + 1
                            G1 = G1 * 10
                            G1 = G1 + G

                   Case 2
                           Locate 2 , F
                           Lcd "7"
                           G = 7
                           F = F + 1
                           G1 = G1 * 10
                           G1 = G1 + G

                   Case 3



                         F = F - 1
                        Locate 2 , F
                        Lcd " "
                        G1 = G1 \ 10
                        If F = 1 Then
                        Locate 2 , 1
                          Lcd "0"
                          End If


                    Case 4
                           Locate 2 , F
                           Lcd "2"
                           G = 2
                           F = F + 1

                           G1 = G1 * 10
                           G1 = G1 + G

                    Case 5
                           Locate 2 , F
                           Lcd "5"
                           G = 5
                           F = F + 1

                            G1 = G1 * 10
                             G1 = G1 + G
                    Case 6
                           Locate 2 , F
                           Lcd "8"
                           G = 8
                           F = F + 1

                           G1 = G1 * 10
                            G1 = G1 + G

                    Case 7
                            If F = 1 Then
                            Goto Nn
                            End If
                            Locate 2 , F
                            Lcd "0"
                            G = 0
                            F = F + 1

                              G1 = G1 * 10
                               G1 = G1 + G

                    Case 8
                            Locate 2 , F
                             Lcd "3"
                             G = 3
                             F = F + 1

                              G1 = G1 * 10
                              G1 = G1 + G
                    Case 9
                             Locate 2 , F
                             Lcd "6"
                             G = 6
                             F = F + 1

                              G1 = G1 * 10
                              G1 = G1 + G
                    Case 10
                             Locate 2 , F
                             Lcd "9"
                             G = 9
                             F = F + 1

                              G1 = G1 * 10
                               G1 = G1 + G
                    Case 15

                                               Select Case Amal
                                              Case "+"
                                                  K = S1 + G1
                                                  K = Int(k)
                                                  Cls
                                                  Lcd K
                                               Case "-"
                                                  K = S1 - G1
                                                     K = Int(k)
                                                  Cls
                                                  Lcd K
                                               Case "*"
                                                  K = S1 * G1
                                                   K = Int(k)
                                                  Cls
                                                  Lcd K
                                               Case "/"
                                                  K = S1 / G1
                                                  Cls
                                                  Lcd K
                                                  End Select

                    Case 11
                              Exit Do






    End Select



    Loop
    Loop

توضیح: برنامه به نظر درست میاد ولی اصلا تست نشده فکر کنم اون قدر گویا باشه که سخت افزارش رو هم خودتون از روی نرم افزارش بسازید
از اینجا کپی پیست شده
 

Amarok

عضو جدید
سلام
خانومها و اقایان باور کنید موضوع حیاتیه..من به این ماشین حساب با bascom خیلی خیلی خیلی نیاز دارم.
خلاصه هر کس کاری از دستش برمیاد دریغ نکنه.
سپاس فراوان
یاذتون نره ها!!!!!!!!!!!!!!!!!!!!!!!!
یه کلاس دعاتون میکنن

اینم یه دونه با سری 51

http://www.mcselec.com/index.php?option=com_content&task=view&id=206&Itemid=57

با توضیحات و برنامه و نقشه مدار و شبیه سازی در اورکد (چشمک)

البته اینگلیسی یه ولی کاملا گویاست

سربلند و پیروز باشید
 

hamedcoupe

عضو جدید
سلام دوستان یک مشکلی دارم کی میتونه برام مدار سنکرون ساز یا همون داریور رو طراحی کنه که از شکل موج سینوسی نمونه برداری کنه بعد از این شکل موج یک شکل موج دندان اره ای دراورد تا برای تنظیم زاویه اتش به کار برد اگه کسی توی مطلب بلد هست شکل هاشو بذاره ممنون میشم ولی اگه توی نرم افزار های دیگه هام باشه اشکال نداره .
 

ngr_eghbali

عضو جدید
سلام
من به برنامه avr برای پروژه : شناسایی R و L ذر یک مدار سری از اعمال موج پله و اندازه گیری جریان با معلوم بودن معادله جریان بر حسب زمان
خیلی فوری نیاز دارم
لطفا اگه کسی میتونه کمک کنه
 

alireza9707

عضو جدید
salam doostan
in barname ro chek konid plz
mikham har zaman ke vaghfeye kharejie 1 ro midam be moddate 10 sanie led ke be payeye p2.0
vasl shode roshan bemone
org 0000h
jmp main
org 0003h
jmp int
main:mov ie,#81h
start:clr p2.0
waith:jmp waith
int:setb p2.0
call delay
jmp start
reti
delay:mov tmod,#01h
mov r0,#20h
mov r1,#20h
mov r2,#20h
mov r3,#20h
mov r4,#20h
again:mov th0,#high(-50000)
mov tl0,#low(-50000)
setb tr0
wait:jnb tf0,wait
setb tr0
clr tf0
djnz r0,again
djnz r1,again
djnz r2,again
djnz r3,again
djnz r4,again
ret
end


age iradi dasht plz begid
 

Amarok

عضو جدید
سلام
من به برنامه avr برای پروژه : شناسایی R و L ذر یک مدار سری از اعمال موج پله و اندازه گیری جریان با معلوم بودن معادله جریان بر حسب زمان
خیلی فوری نیاز دارم
لطفا اگه کسی میتونه کمک کنه

منظورتون اینه که سلف رو از خارن تشخیص بده؟

میشه بیشتر توضیح بدید؟

تشکر
 

ngr_eghbali

عضو جدید
منظورتون اینه که سلف رو از خارن تشخیص بده؟

میشه بیشتر توضیح بدید؟

تشکر

یعنی موج پله ورودی و شکل موج خروجی (چون ***** پایین گذر خروجی پله به شکل نمایی میشه) رو داریم ، معادله جریان بر حسب زمان هم هست، با توجه به اینا باید مقدار سلف و مقاومت قرار گرفته شده تو مدار رو بدست بیاریم
 

Black Storm

عضو جدید
salam doostan
in barname ro chek konid plz
mikham har zaman ke vaghfeye kharejie 1 ro midam be moddate 10 sanie led ke be payeye p2.0
vasl shode roshan bemone
org 0000h
jmp main
org 0003h
jmp int
main:mov ie,#81h
start:clr p2.0
waith:jmp waith
int:setb p2.0
call delay
jmp start
reti
delay:mov tmod,#01h
mov r0,#20h
mov r1,#20h
mov r2,#20h
mov r3,#20h
mov r4,#20h
again:mov th0,#high(-50000)
mov tl0,#low(-50000)
setb tr0
wait:jnb tf0,wait
setb tr0
clr tf0
djnz r0,again
djnz r1,again
djnz r2,again
djnz r3,again
djnz r4,again
ret
end


age iradi dasht plz begid

دوست عزیز برنامه شما اصلا از وقفه خارج نمیشه در نتیجه ابتدا LED خاموش است ولی پس از صدا زدن وقفه مادامی که برنامه در حال اجراست چراغ LED روشن خواهد بود
شما بهتر است دستور SJMP START را حذف وبه جای آن از دستور CLR P2.0 استفاده کنید
همچنین بعد از دستور wait:jnb tf0,wait شما باید تایمر برنامه را خاموش کنید
البته میزان تاخیر زمانی رو من حساب نکردم تا صحتش رو بهتون بگم امیدوارم مشکلی نداشته باشه
 
آخرین ویرایش:
Similar threads
Thread starter عنوان تالار پاسخ ها تاریخ
omidvarshoei سوالات و مشکلات رباتیک طراحی دیجیتال و برنامه نویسی 29

Similar threads

بالا