صفحهها: 1 2 3 4 5 6 7 8 9 10
نقل قول: با تشکر از اقا حسین و امید
دست گلتون درد نکنه
برنامه رو دیدم
فقط دوستان یک سوال؟
مگر ما نباید مشخص کنیم چی به میکرو متصل هست
مثلا اگر ال سی دی یا کی پد وصل میکنیم یک دستور واسش مینویسیم
اما واسه سون سگمت چیزی نمینویسیم.چرا؟؟
7segمثله کیپد یا lcdبا پروتکل خاصی ارتباط برقرار نمیکنه که بخواید معرفیش کنید
7 تا دونه ledهست که روشن خاموش میشن
سلام
خسته نباشید
اگه امکانش هست میشه درباره کد پروژه ساعت به زبان سی توضیح بدید
خیلی خیلی به فهم این کد احتیاج دارم
کد:
interrupt [TIM2_OVF] void timer2_ovf_isr(void){
s++;
TCNT2=51;
}
void main(){
lcd_init(20);
ASSR=0x08;
TCCR2=0x05;
TIMSK=0x40;
#asm("sei")
در حد یک توضیح کوتاه هم باشه ممنون میشم
سلام داداشی عزیزم.
به ایران ویج خوش اومدی.
چرا نشه.
شما دقیقا مشکلت کجاشه؟
مرسی از لطف شما
.
این کدها چیکار میکنن؟
عددهایی که به رجیسترها داده شده روی چه حسابی هست
اگه میشه لطف کنید به صورت توضیح کوتاه بگید دقیقا هر خط از کد چه کاری را انجام میده
ممنون
داداشی شرمنده اگه طول کشید جواب دادم ، شرمنده ویندوزم خراب شده بود.
کد:
interrupt [TIM2_OVF] void timer2_ovf_isr(void){
s++;
TCNT2=51;
}
این دستور موقعه ای که 1 ثانیه زمان توسط تایمر 2 شمرده شد ، یک واحد به مقدار متقر s اضافه میکنه و با دستور TCNT2 مقدار تایمر 2 رو مقدار دهی میکنیم ( این 52 هم تجربه ی خودم بود واسه دقیق تر شدن زمان ).
با این دستور تعداد کارکتر های ال سی دی در یک سطر رو میعین میکنیم.
کد:
ASSR=0x08;
TCCR2=0x05;
TIMSK=0x40;
این دستورات واسه تنظیم ریجستر های تایمر 2 هست و مقدارشونو میتونی با کدویزارد بدست بیاری یا به کتاب مرجع کامل میکرو کنترل های AVR مراجعه کنی و نحوه ی تنظیم کردنش رو یاد بگیری.
این دستور هم وقفه ی سراسری رو فعال میکنه.
حله؟
خیلی خیلی ممنون از زحمات شما
سلام دوستان
اول از همه عذرخواهی میکنم به خاطر نوشتن سوالم در این تایپیک(شرمنده من تازه واردم بلد نیستم کجا باید سوالمو مطرح کنم)
میخواستم با میکرو atmega16 و 7 سگمنت یک شمارنده 0 تا 9 بصورت loop بسازم
یعنی از 0 تا 9 بشمارد و به 9 که رسید دوباره از اول شمارش آغاز شود
------------
سوال دوم هم به این صورت است که به همین شمارنده بالایی 2تا کلید up و down اضافه بشه به این صورت که اگه کلید up را زدیم از 0 تا 9 بصورت loop بشماره و اگه کلید down را زدیم از 9 تا 0 بشماره (در واقع یکبار با حالت صعودی و با دیگر نزولی)
------------
اگه از دوستان کسی میتونه کمک کنه این 2تا تمرین حل بشه ممنون میشم( سورس و شبیه سازی پروتئوس لازم دارم متاسفانه هیچ آشنایی با حل این جور مسائل ندارم)
مرسی
سلام داداش.
شما هم اینجا مطرح میکینی ، هم پیام خصوصی میدی.
خب گلم پیام خصوصیت رو چرا غیر فعال کردی؟نمیشه بت پیام داد.
یه چیز دیگه تو همین تاپیک بگردی هر دو مطلب که درخواست کردی پیدا میشه.
(۰۸-خرداد-۱۳۹۲, ۱۲:۵۱:۴۱)h.unique نوشته است: [ -> ]سلام داداش.
شما هم اینجا مطرح میکینی ، هم پیام خصوصی میدی.
خب گلم پیام خصوصیت رو چرا غیر فعال کردی؟نمیشه بت پیام داد.
یه چیز دیگه تو همین تاپیک بگردی هر دو مطلب که درخواست کردی پیدا میشه.
شرمنده داداش
والا من گشتم ولی فقط شبیه سازی هست نه با سورس
اوناییکه سورس هم داره به زبان C نیست با Bascome فکر کنم نوشتن!
اگه شما می دونید چطوری حل میشه خیلی ممنون میشم...
داداش عزیزم ، من خودم اینارو نوشتم ، شما اصلا نگشتی.
اینم لینک (
لینک )
اینم یه پرژه دیگه (
لینک )
وقتی نگشتی ، نگو که نبود :|
باسلام و وقت بخیر
من یک برنامه نوشتم که با یک میکروسوییچ به ترتیب 12 تا led
رو روشن کنم.و با میکروسوییچ دیگه همین 12 تا رو به تریب خاموشش کنم.
برنامه رو خودم نوشتم
شبیه سازی هم کردم
مشکلم به نظرم توی wait باید باشه.
میشه یک راهنماییم کنین.
باتشکر
کد:
$regfile = "m32def.dat"
$crystal = 4000000
Config Pinb.0 = Input : K1 Alias Pinb.0
Config Pinb.1 = Input : K2 Alias Pinb.1
Config Pinb.2 = Input : K3 Alias Pinb.2
Config Porta.0 = Output : L1 Alias Porta.0
Config Porta.1 = Output : L2 Alias Porta.1
Config Porta.2 = Output : L3 Alias Porta.2
Config Porta.3 = Output : L4 Alias Porta.3
Config Porta.4 = Output : L5 Alias Porta.4
Config Porta.5 = Output : L6 Alias Porta.5
Config Porta.6 = Output : L7 Alias Porta.6
Config Porta.7 = Output : L8 Alias Porta.7
Config Portd.0 = Output : L9 Alias Portd.0
Config Portd.1 = Output : L10 Alias Portd.1
Config Portd.2 = Output : L11 Alias Portd.2
Config Portd.3 = Output : L12 Alias Portd.3
Dim Key As Byte
Key = 0
Do
If K1 = 0 Then
Key = Key + 1
End If
If K3 = 0 Then
Key = Key - 1
End If
If Key = 0 Then
L1 = 0 : L2 = 0 : L3 = 0 : L4 = 0 : L5 = 0 : L6 = 0 : L7 = 0 : L8 = 0 : L9 = 0 : L10 = 0 : L11 = 0 : L12 = 0
End If
If Key = 1 Then
L1 = 1 : L2 = 0 : L3 = 0 : L4 = 0 : L5 = 0 : L6 = 0 : L7 = 0 : L8 = 0 : L9 = 0 : L10 = 0 : L11 = 0 : L12 = 0
End If
If Key = 2 Then
L1 = 1 : L2 = 1 : L3 = 0 : L4 = 0 : L5 = 0 : L6 = 0 : L7 = 0 : L8 = 0 : L9 = 0 : L10 = 0 : L11 = 0 : L12 = 0
End If
If Key = 3 Then
L1 = 1 : L2 = 1 : L3 = 1 : L4 = 0 : L5 = 0 : L6 = 0 : L7 = 0 : L8 = 0 : L9 = 0 : L10 = 0 : L11 = 0 : L12 = 0
End If
If Key = 4 Then
L1 = 1 : L2 = 1 : L3 = 1 : L4 = 1 : L5 = 0 : L6 = 0 : L7 = 0 : L8 = 0 : L9 = 0 : L10 = 0 : L11 = 0 : L12 = 0
End If
If Key = 5 Then
L1 = 1 : L2 = 1 : L3 = 1 : L4 = 1 : L5 = 1 : L6 = 0 : L7 = 0 : L8 = 0 : L9 = 0 : L10 = 0 : L11 = 0 : L12 = 0
End If
If Key = 6 Then
L1 = 1 : L2 = 1 : L3 = 1 : L4 = 1 : L5 = 1 : L6 = 1 : L7 = 0 : L8 = 0 : L9 = 0 : L10 = 0 : L11 = 0 : L12 = 0
End If
If Key = 7 Then
L1 = 1 : L2 = 1 : L3 = 1 : L4 = 1 : L5 = 1 : L6 = 1 : L7 = 1 : L8 = 0 : L9 = 0 : L10 = 0 : L11 = 0 : L12 = 0
End If
If Key = 8 Then
L1 = 1 : L2 = 1 : L3 = 1 : L4 = 1 : L5 = 1 : L6 = 1 : L7 = 1 : L8 = 1 : L9 = 0 : L10 = 0 : L11 = 0 : L12 = 0
End If
If Key = 9 Then
L1 = 1 : L2 = 1 : L3 = 1 : L4 = 1 : L5 = 1 : L6 = 1 : L7 = 1 : L8 = 1 : L9 = 1 : L10 = 0 : L11 = 0 : L12 = 0
End If
If Key = 10 Then
L1 = 1 : L2 = 1 : L3 = 1 : L4 = 1 : L5 = 1 : L6 = 1 : L7 = 1 : L8 = 1 : L9 = 1 : L10 = 1 : L11 = 0 : L12 = 0
End If
If Key = 11 Then
L1 = 1 : L2 = 1 : L3 = 1 : L4 = 1 : L5 = 1 : L6 = 1 : L7 = 1 : L8 = 1 : L9 = 1 : L10 = 1 : L11 = 1 : L12 = 0
End If
If Key = 12 Then
L1 = 1 : L2 = 1 : L3 = 1 : L4 = 1 : L5 = 1 : L6 = 1 : L7 = 1 : L8 = 1 : L9 = 1 : L10 = 1 : L11 = 1 : L12 = 1
End If
Loop
Waitms 300
End
صفحهها: 1 2 3 4 5 6 7 8 9 10