پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی
لطفا آموزش کار با LCD گرافیکی را در محیط نرم افزاری CodeVision را یاد بدهید :read:
لطفا آموزش کار با LCD گرافیکی را در محیط نرم افزاری CodeVision را یاد بدهید :read:
َAVR

$regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2 Cursor Off Cls Locate 1 , 1 Deflcdchar 0 , 3 , 7 , 15 , 31 , 31 , 15 , 7 , 3 ' replace ? with number (0-7) Locate 1 , 3 Lcd "Hello World" Locate 1 , 16 Deflcdchar 1 , 24 , 28 , 30 , 31 , 31 , 30 , 28 , 24 ' replace ? with number (0-7) End 'end program

17 // USART0 Receiver interrupt service routine
interrupt [USART0_RXC] void usart0_rx_isr(void)
{
char status,data;
status=UCSR0A;
data=UDR0;
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
{
rx_buffer0[rx_wr_index0]=data;
if (++rx_wr_index0 == RX_BUFFER_SIZE0) rx_wr_index0=0;
if (++rx_counter0 == RX_BUFFER_SIZE0)
{
rx_counter0=0;
rx_buffer_overflow0=1;
};
};
}
lcd_clear(); lcd_gotoxy(0,0); lcd_putsf( rx_buffer0);
17 // USART0 Receiver interrupt service routine
interrupt [USART0_RXC] void usart0_rx_isr(void)
{
char status,data;
status=UCSR0A;
data=UDR0;
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
{
rx_buffer0[rx_wr_index0]=data;
if (++rx_wr_index0 == RX_BUFFER_SIZE0) rx_wr_index0=0;
if (++rx_counter0 == RX_BUFFER_SIZE0)
{
rx_counter0=0;
rx_buffer_overflow0=1;
};
};
}
lcd_clear(); lcd_gotoxy(0,0); lcd_putsf( rx_buffer0);
دیدگاه