با عرض سلام خدمت شما دوستان گرامی
اینجانب فردی مبتدی در زمینه avr هستم ....
برای کنترل 1 ال ای دی به وسیله 1 کلید یک جا برنامه ای به این صورت نوشته بود:
DDRC=0xff
را از برنامه پاک کردم و آنرا در برنامه پروتئوس اجرا کردم برنامه به درستی کار میکرد اما ال ای دی روشن نمیشد....با ولتمتر ولتاژ ال ای دی را چک کردم....ولتاژ خروجی کمتر از ولتاژکاری ال ای دی بود به همین دلیل روشن نمیشد..
ولی وقتی مجدد این دوسطر را به برنامه اضافه کردم ال ای دی در برنامه پروتئوس روشن شد....آخه دلیلش چیه که ما باید دوباره بصورت دستی بنویسیم پورت C خروجی است؟؟؟مگه توی قسمت codewizarde ;که معرفی میکنیم کفایت نمیکنه؟؟؟
خواهش میکنم هر کس سوال منو جواب میده خیلی واضح و در حد فهم من جواب بده.......ممنون از شما دوستان گرامی
اینجانب فردی مبتدی در زمینه avr هستم ....
برای کنترل 1 ال ای دی به وسیله 1 کلید یک جا برنامه ای به این صورت نوشته بود:
#include <mega8.h>
#define led PORTC
#define swich PINB
void main(void)
{
PORTC=0X00;
DDRC=0xff;
while (1)
{
led=swich;
}
}
1سوال داشتم .....با وجود اینکه در قسمت CODEWIZARDE پورت C را به عنوان خروجی تعریف کرده چرا مجددا در برنامه آنرا تکرار کرده است؟؟؟من خودم یک بار این قسمت (PORTC=0X00;#define led PORTC
#define swich PINB
void main(void)
{
PORTC=0X00;
DDRC=0xff;
while (1)
{
led=swich;
}
}
DDRC=0xff

ولی وقتی مجدد این دوسطر را به برنامه اضافه کردم ال ای دی در برنامه پروتئوس روشن شد....آخه دلیلش چیه که ما باید دوباره بصورت دستی بنویسیم پورت C خروجی است؟؟؟مگه توی قسمت codewizarde ;که معرفی میکنیم کفایت نمیکنه؟؟؟
خواهش میکنم هر کس سوال منو جواب میده خیلی واضح و در حد فهم من جواب بده.......ممنون از شما دوستان گرامی
دیدگاه