ّرنامه نوشتم برای اینکه یک عدد را از پورت سریال دریافت کنه و در ال سی دی نمایش بده. ولی چیزی که نمایش میده ، کاراکتر داغون و ناخواناست . باید چکارش کنم ؟
این فایل پروتئوس :
این هم کدش :
این فایل پروتئوس :
این هم کدش :
کد:
#include <mega32a.h> #include <stdio.h> #include <alcd.h> #include <delay.h> char a[5]; char x; interrupt [USART_RXC] void usart_rx_isr(void) { x=UDR; } void main(void) { UCSRB=0x90; //Enable Receive Interrupt UCSRC=0x86; //Active USART UBRRH=0x00; //baud=9600 UBRRL=0x19; //baud=9600 #asm("sei") //Enable All Interrupts // Alphanumeric LCD initialization // Connections are specified in the // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu: // RS - PORTA Bit 0 // RD - PORTA Bit 1 // EN - PORTA Bit 2 // D4 - PORTA Bit 4 // D5 - PORTA Bit 5 // D6 - PORTA Bit 6 // D7 - PORTA Bit 7 // Characters/line: 16 lcd_init(16); while (1) { lcd_clear(); sprintf(a,"adad= %c",x); lcd_gotoxy(0,0); lcd_puts(a); delay_ms(2000); } }
دیدگاه