[英]Proteus show characters on LCD ( LM015L )
我一直試圖在LCD ( LM015L )
上顯示一些字符,但我無法做到。
我在c中編寫了以下代碼:
// LCD module connections
sbit LCD_RS at LATD0_bit;
sbit LCD_EN at LATD1_bit;
sbit LCD_D4 at LATD2_bit;
sbit LCD_D5 at LATD3_bit;
sbit LCD_D6 at LATD4_bit;
sbit LCD_D7 at LATD5_bit;
sbit LCD_RS_Direction at TRISD0_bit;
sbit LCD_EN_Direction at TRISD1_bit;
sbit LCD_D4_Direction at TRISD2_bit;
sbit LCD_D5_Direction at TRISD3_bit;
sbit LCD_D6_Direction at TRISD4_bit;
sbit LCD_D7_Direction at TRISD5_bit;
// End LCD module connections
void main() {
Lcd_Init(); // Initialize LCD
Lcd_Cmd(_LCD_CLEAR); // Clear display
Lcd_Cmd(_LCD_CURSOR_OFF); // Cursor off
Lcd_Out(1, 1, "microcontrollers"); // Display "StudentCompanion"
Lcd_Out(2, 1, "lab.com"); // Display "Thermometer"
}
我在proteus中設計了以下方案
運行模擬后,液晶顯示屏打開,但沒有顯示任何內容
由於 PORTD 引腳與模擬硬件復用,您應該手動禁用模擬輸入。 這是您的代碼中缺少的內容。 請注意,每次 PIC 發生復位時,PORTS 的默認輸入功能是模擬輸入。
/ LCD module connections
sbit LCD_RS at LATD0_bit;
sbit LCD_EN at LATD1_bit;
sbit LCD_D4 at LATD2_bit;
sbit LCD_D5 at LATD3_bit;
sbit LCD_D6 at LATD4_bit;
sbit LCD_D7 at LATD5_bit;
sbit LCD_RS_Direction at TRISD0_bit;
sbit LCD_EN_Direction at TRISD1_bit;
sbit LCD_D4_Direction at TRISD2_bit;
sbit LCD_D5_Direction at TRISD3_bit;
sbit LCD_D6_Direction at TRISD4_bit;
sbit LCD_D7_Direction at TRISD5_bit;
// End LCD module connections
void main() {
// The library only configures the direction of pins but not the analog functions. So you must do it before initializing the LCD module.
ANSELD = 0; // Disable analog functions on PORTD
Lcd_Init(); // Initialize LCD
Lcd_Cmd(_LCD_CLEAR); // Clear display
Lcd_Cmd(_LCD_CURSOR_OFF); // Cursor off
Lcd_Out(1, 1, "microcontrollers"); // Display "StudentCompanion"
Lcd_Out(2, 1, "lab.com"); // Display "Thermometer"
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.