ّرنامه نوشتم برای اینکه یک عدد را از پورت سریال دریافت کنه و در ال سی دی نمایش بده. ولی چیزی که نمایش میده ، کاراکتر داغون و ناخواناست . باید چکارش کنم ؟
این فایل پروتئوس :
این هم کدش :
این فایل پروتئوس :
این هم کدش :
کد:
#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);
}
}




دیدگاه