ايران ويج

نسخه‌ی کامل: دفترچه تلفن با AVR و تحت Bascom
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
با یه کیبورد 4*4 و یه LCD 2*16 و یه ATmega 8 یک دفترچه تلفن با قابلیت جستجو درست کنید . بهمراه فلوچارت و توضیح کامل برنامه و تست مدار در PROTEUS 6.9 اگه دوست دارید یه دفترچه تلفن کوچولو درست کنید !

توضیحات برنامه و اصل برنامه بهمراه فایل HEX و شماتیک مدار و فایل شبیه سازی در PROTEUS و فلوچارتهای برنامه را با حجم فقط 470 KB بگیرید .
در ضمن اصل پروژه مربوط به یکی از دوستانم بنام هاشم هستش .


با تشکر

ANT
با سلام
با اجازه اساتید من خواستم یه تغییری تو دفترچه بدم یعنی کاری کنم که شماره مورد نظر نیز بتونه شماره گیری کنه
اما وقتی نوشتمDTMFOUT دیگه برنامه توقسمت وارد کردن نام و شماره ، کار نمیکه که احتمالا بخاطر اینه که تایمر و اینتراپ و DTMF همه روی یک پایه است
من قسمتی که تغییر دادم تو لیبل View هستش به صورت زیر
کد php:
'................................Viwe........................................

 Halat1:
 Cls : Lcd "IS View!"
 Ab = A
 Wait 1
 U = 0
 View:
 If A = 0 Then : A = Ab : Cls : Lcd "End View ..." : Wait 1 : Goto Main : End If
 Cls '
ghesmat namayesh
 Xx 
1
 Clumn 
1
 
' desigend by A.N.T & HASHEM
 Do

 Readeeprom Key , U
 If Key = 1 Then : Xx = 2 : Clumn = 1 : Incr X : Readeeprom Key , U : End If
 If Key = 4 Then : Wait 1 : Incr U : Decr A : Goto View : End If
 Y = Chr(key)
 Locate Xx , Clumn
 Lcd Y
 [color=#FF0000]If Xx = 2 Then
 Dtmfout Y , 50
 End If[/color]
 Incr Clumn
 Incr U
 Loop

 '
..................................halat0................................... 



لطفا کمک کنید که هم بشه DTMF داشت و هم بتوان اسم وارد کرد
قبلا تشکر میکنم
راستی سال نوتون هم مبارکClapClapHeart
کسی نمیدونه

کد:
'................................Viwe........................................

Halat1:
Cls : Lcd "IS View!"
Ab = A
Wait 1
U = 0
View:
If A = 0 Then : A = Ab : Cls : Lcd "End View ..." : Wait 1 : Goto Main : End If
Cls 'ghesmat namayesh
Xx = 1
Clumn = 1
' desigend by A.N.T & HASHEM
Do

Readeeprom Key , U
If Key = 1 Then : Xx = 2 : Clumn = 1 : Incr X : Readeeprom Key , U : End If
If Key = 4 Then : Wait 1 : Incr U : Decr A : Goto View : End If
Y = Chr(key)
Locate Xx , Clumn
Lcd Y
If Xx = 2 Then
Dtmfout Y , 50
End If
Incr Clumn
Incr U
Loop

'..................................halat0...................................
ممنون فقط باید بگم وقتی DTMFOUT استفاده میکنیم،
تو قسمت وارد کردن نام و شماره، نمیشه نامی وارد کرد اما وقتی تایمر را بجای اینکه TIMERرو که در ابتدای برنامه و در طول برنامه استفاده شده یه تایمر دیگه ای استفاده میکنیم فقط حرف اول اسم تایپ میشه و همونجا می مونه مثلا اگر تایمر 1 هست به تایمر 0 تغییر بدیم
سلام با تشکر از برنامتون /اما برنامه موقع تست کردن به خط 369خطا میده ممنون میشم اگه مشکلمو سریع حل کنین
(۲۶-فروردین-۱۳۹۲, ۱۹:۳۶:۲۰)siamak92 نوشته است: [ -> ]سلام با تشکر از برنامتون /اما برنامه موقع تست کردن به خط 369خطا میده ممنون میشم اگه مشکلمو سریع حل کنین

سلام

شما درست میگین منم امتحانش کردم و در همون خط به S ارور میداد

اما این برای اینه که شما این برنامه رو در ورژن جدید بیسکام امتحان کردین

بهتره در یک ورژن قدیمی تر هم امتحان کنین حتما درست میشه ... چون خود این برنامه در ورژن قدیمی تری نوشته شده !!
برای شماره گیری میتونید از ایسی های مربوطه که تون عدد مذکور رو تولید میکنه استفاده کنید. البته میتونید از سیستم پالس استفاده کنید یعنی برای عدد 6 شش پالس مربعی البته ن خیلی سریع یا تند در حد چرخش تلفن قدیمی که دیگه نیازی به ایسی خاصی نیست ولی فکر نکنم بشه میکرو رو به برق تلفن وصل کرد و باید از یه درایور یا یه ایزوله گر استفاده کنید.
(۲۶-فروردین-۱۳۹۲, ۲۳:۳۶:۱۴)pouya6771 نوشته است: [ -> ]البته میتونید از سیستم پالس استفاده کنید یعنی برای عدد 6 شش پالس مربعی البته ن خیلی سریع یا تند در حد چرخش تلفن قدیمی که دیگه نیازی به ایسی خاصی نیست

لطفا کمی بیشتر توضیح دهید ... خودتون اینکار رو کردین؟