پاسخ : سوالات مربوط به 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
// 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);
// 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);
دیدگاه