صفحهها: 1 2 3 4 5 6 7 8 9
شما نبايد از pin به جاي port و يا بلعكس ، استفاده كنيد.
در اينجا pin معني خواندن مي ده و Port معني نوشتن.
تمام دستورهاي بالا اشتباه هستن !
اين رو امتحان كنيد.
نقل قول: PORTA.0 = PINB.0
مقدار B.0 رو مي خونيم و به A.0 اعمال مي كنيم.
موفق باشيد.
(۰۹-مرداد-۱۳۹۱, ۲۲:۴۰:۵۶)sharin نوشته است: [ -> ]شما نبايد از pin به جاي port و يا بلعكس ، استفاده كنيد.
در اينجا pin معني خواندن مي ده و Port معني نوشتن.
تمام دستورهاي بالا اشتباه هستن !
اين رو امتحان كنيد.
نقل قول: PORTA.0 = PINB.0
مقدار B.0 رو مي خونيم و به A.0 اعمال مي كنيم.
موفق باشيد.
و مشکل حل نمی شود ...!
حتی این رو هم آزمایش کردم
PORTB=PINA
ولی اصلا نتیجه هیچ مربوط نبود همه یه پین ها صفراند ولی خروجی یسری مثبت دارد!
کلیک!
اینم قسمت هایی از برنامه ترتیب رو رعایت کردم ها!
كدهاتون رو كامل بذاريد !
البته يه نكته ديگه هم بگم ، وقتي ما يه مقداري رو با دستور PORT روي پايه ها مي نويسيم ، خوب يك مقداري هست كه در يك متغيير ذخيرهه شده كه بعد اون رو برابر PORTX قرار مي ديم درسته ؟
خوب شما همون متغيير رو روي يه PORT ديگه مي تونيد بنويسيد !!
مي دونيد براي خواندن وضعيت پورت ، PORT بايد به صورت ورودي تعريف بشه ، يعني كارايي كه شما كردي و چيزي رو كه من در بالا گفتم اشتباه هست.
اصلا هيچ وقت پيش نمي ياد كه همچين چيزي نياز بشه ، شما براي چه كاري به اين نياز پيدا كرديد ؟
=================================
==============================
==========================
اوكي الان ديدم.
شما پايه هاي ورودي تون رو ( High-Impedance ) تعريف كرديد !!
مقدار ورودي رو 1 درنظر بگيريد نه 0
(۰۹-مرداد-۱۳۹۱, ۲۲:۵۲:۰۵)sharin نوشته است: [ -> ]كدهاتون رو كامل بذاريد !
البته يه نكته ديگه هم بگم ، وقتي ما يه مقداري رو با دستور PORT روي پايه ها مي نويسيم ، خوب يك مقداري هست كه در يك متغيير ذخيرهه شده كه بعد اون رو برابر PORTX قرار مي ديم درسته ؟
خوب شما همون متغيير رو روي يه PORT ديگه مي تونيد بنويسيد !!
مي دونيد براي خواندن وضعيت پورت ، PORT بايد به صورت ورودي تعريف بشه ، يعني كارايي كه شما كردي و چيزي رو كه من در بالا گفتم اشتباه هست.
اصلا هيچ وقت پيش نمي ياد كه همچين چيزي نياز بشه ، شما براي چه كاري به اين نياز پيدا كرديد ؟
=================================
==============================
==========================
اوكي الان ديدم.
شما پايه هاي ورودي تون رو ( High-Impedance ) تعريف كرديد !!
مقدار ورودي رو 1 درنظر بگيريد نه 0
اینم برنامه کامل!
جدید ساختم که کلشو بزارم
کد:
/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.0 Advanced
Automatic Program Generator
Program type : Application
AVR Core Clock frequency: 8.000000 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 512
*****************************************************/
#include <mega32.h>
// Declare your global variables here
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;
// Port B initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTB=0x00;
DDRB=0xFF;
// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;
// USART initialization
// USART disabled
UCSRB=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
// ADC initialization
// ADC disabled
ADCSRA=0x00;
// SPI initialization
// SPI disabled
SPCR=0x00;
// TWI initialization
// TWI disabled
TWCR=0x00;
while (1)
{
// Place your code here
PORTB=PINA;
}
}
نقل قول: شما پايه هاي ورودي تون رو ( High-Impedance ) تعريف كرديد !!
مقدار ورودي رو 1 درنظر بگيريد نه 0
چه فرقی داره خوب خروجی باید معقول باشه یا نه!
نقل قول: چه فرقی داره خوب خروجی باید معقول باشه یا نه!
فكر مي كنم فرق داشته باشه !
اين رو امتحان كنيد.
PORTA=0xFF;
DDRA=0x00;
(۰۹-مرداد-۱۳۹۱, ۲۳:۱۱:۰۷)sharin نوشته است: [ -> ]نقل قول: چه فرقی داره خوب خروجی باید معقول باشه یا نه!
فكر مي كنم فرق داشته باشه !
اين رو امتحان كنيد.
PORTA=0xFF;
DDRA=0x00;
اینکه پورت رو پول اپ میکه!
در هر حال کار نکرد
مشکل از پورت a هست که مقدار از اون خونده نمیشه برای بقیه پورت ها بدون اشکال برنامه کار می کنه ولی اخه چرا پورت a رو نمی شه خواند؟ مشکل کجاست؟
من تست كردم و جواب داد !! ( پورت A ورودي و B خروجي )
(حق با شماست ، ورودي 0 يا 1 باشه مهم نيست )
اين هم برنامه
کد php:
#include <mega32.h>
void main(void)
{
PORTA=0x00;
DDRA=0x00;
PORTB=0x00;
DDRB=0xFF;
PORTC=0x00;
DDRC=0x00;
PORTD=0x00;
DDRD=0x00;
while (1)
{
PORTB=PINA;
}
}
موفق باشيد.
(۱۰-مرداد-۱۳۹۱, ۰۰:۰۹:۳۳)sharin نوشته است: [ -> ]من تست كردم و جواب داد !! ( پورت A ورودي و B خروجي )
(حق با شماست ، ورودي 0 يا 1 باشه مهم نيست )
اين هم برنامه
کد php:
#include <mega32.h>
void main(void)
{
PORTA=0x00;
DDRA=0x00;
PORTB=0x00;
DDRB=0xFF;
PORTC=0x00;
DDRC=0x00;
PORTD=0x00;
DDRD=0x00;
while (1)
{
PORTB=PINA;
}
}
موفق باشيد.
و لعنت بر شیطان رانده شده!
پس چرا مال من کار نکرد با کد شما باز هم مشکل داره با پورت a!
با atmega16 به درستی کار کرد باتشکر از زحمات شما!
فکر کنم مشکل از پروتیوس هست برنامه مشکلی نداره
سلام من چندتا سوال داشتم.اگه ممکنه که جوابمو بدین.
1.خفن ترین میکرو تو جهان چی هستش؟
2.خفن ترین میکرو موجود در ایران چی هستش؟
3.تو لب تاب و کامپیوتر و گوشی و... از چه میکرویی استفاده میشه؟
4.یه اطلاعاتی در مورد آی سی قیری اگه میشه بدین...
با تشکر از شما.
(۱۰-مرداد-۱۳۹۱, ۱۹:۰۵:۰۳)h.bagherii نوشته است: [ -> ]سلام من چندتا سوال داشتم.اگه ممکنه که جوابمو بدین.
1.خفن ترین میکرو تو جهان چی هستش؟
2.خفن ترین میکرو موجود در ایران چی هستش؟
3.تو لب تاب و کامپیوتر و گوشی و... از چه میکرویی استفاده میشه؟
4.یه اطلاعاتی در مورد آی سی قیری اگه میشه بدین...
با تشکر از شما.
1- فکر نکنم بشه گفت خفن ترین کدومه هرچی کاربرد خودشو داره و سلیقه ای هست!
2- همون 1
3- فکر نکنم میکرو استفاده بشه پردازنده وجود دارد!
4- پیدا کردی به ما هم بگو!
با تشکر از شما.
خفن ترین از این نظر میگم که واسه کارای صنعتی بشه استفاده کرد.
بعد پردازنده فرقش با میکرو چیه؟اگه میشه یه توضیح بدین....
صفحهها: 1 2 3 4 5 6 7 8 9