ايران ويج

نسخه‌ی کامل: کمک فوری در مورد یه مدار usart
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
سلام
من تو lcd, code wizard رو روی portb تنظیم کردم تو پروتئوس هم همه پایه ها رو درست وصل کردم من میخوام یه ولتاژی رو که به پورت adc0 میدم رو lcd نشون بده که نمیده!
از یهmax232 هم استفاده کردم که به d9f(پرت سریال )وصله

این تنظیمات رو هم انجام دادم:
[attachment=4382]
[attachment=4383]
اگه کسی میدونه مشکل چیه لطفا بگه مهمه!
نقل قول: من تو lcd, code wizard رو روی portb تنظیم کردم تو پروتئوس هم همه پایه ها رو درست وصل کردم من میخوام یه ولتاژی رو که به پورت adc0 میدم رو lcd نشون بده که نمیده!

اینا درست

نقل قول: از یهmax232 هم استفاده کردم که به d9f(پرت سریال )وصله

با این دیگه چیکار داری؟؟؟؟؟؟؟


مشکلت کجا هست اصلا؟
برای ارتباط usart
اونو واسه این میخوام که یه هر لحظه ولتاژ ورودی روی اسیلسکوپ بره و یه موج سینوسی بسازه من تا همین حد فهمیدم اگه راه حلی دارین بگید ممنون
در واقع من ولتاژ 0تا5 ولت میدم که به کانکتور بره lcd هم برای اینه که مقدار ولتاژ از 0 تا 1023 رو نشون بده
آخه چرا نباید هیچ داده ای نره رو پرت B؟
[attachment=4384]
اینم شماتیک
کسی نیست کمک کنه!!!!
خوب مهندس برو سراغ بسکام !

قول می دم اونجا هیچ مشکلی نداشته باشی !!!
مدارت درسته

برنامه ای که نوشتی را بذار تا بفهمیم چه نوشتی
من مشکلم تو lcd هست اومدم مدار رو با lcd خالی بستم کار نمیکنه!
کریستال تو پروتئوسم 8 مگه
این شماتیک
[attachment=4399]
اینم سورسش
کد php:
Chip type           ATmega32
Program type        
Application
Clock frequency     
8.000000 MHz
Memory model        
Small
External SRAM size  
0
Data Stack size     
512
*****************************************************/

#include <mega32.h>
#include<delay.h>


// Alphanumeric LCD Module functions
#asm
   
.equ __lcd_port=0x18 ;PORTB
#endasm
#include <lcd.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=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 
PORTB=0x00;
DDRB=0x00;

// 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=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 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: Timer 2 Stopped
// Mode: Normal top=FFh
// 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;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// LCD module initialization
lcd_init(16);
lcd_clear();

while (
1)
      {
          
  
lcd_gotoxy(0,0);
 
lcd_putsf("Hello");  
 
delay_ms(1000);
 
lcd_clear( );
delay_ms(1000);

      };

تورو خدا کمک کنید!
من lcd رو تو بسکام جواب گرفتم ولی با code wizard میخوام!
چرا کسی جواب نمیده! یه ساعت ونیمه منتظرم!!!
کد که مشکلی نداره! ال سی دی رو به پورت a ببند ببین چی میشه. خیلی وقت ها شده من ال سی دی رو نتونستم رو پوردت b جواب بگیرم به a که وصل کردم درست شده!! نمی دونم چرا!!

راستی مطمئنی کریستال 8 ؟؟! کریستال داخلی میکرو اگه تغییر ندادی باید 1 باشه.
پورت a رو واسه adc ش میخوام فقط پورت c خالیه!
فرکانس هم هر چی میذارم فرقی نمیکنه
اصلا مطمئنی میکرو پروگرام می شه !!!!
سلام. توی شماتیک پروتوس پایه aref رو وصل نکرده بودی..
پایه rw رو باید به گروند بدی.لازم نیست p0 تا p3 رو زمین کنی.
صفحه‌ها: 1 2