|
Snipaste_2023-03-29_23-37-59.jpg (171.12 KB, 下載次數(shù): 19)
下載附件
2023-3-29 23:41 上傳
51hei圖片_20230329233552.jpg (113.18 KB, 下載次數(shù): 20)
下載附件
2023-3-29 23:41 上傳
#1:同樣的代碼,仿真顯示正常
#2:只要首地址寫入數(shù)字,就顯示不對;比如首地址寫入1,那么硬件上顯示的為q;若首地址寫入0,那么硬件上顯示的為p;
#3:請大哥們幫忙分析一下,抱拳謝過!
- --發(fā)送數(shù)據(jù)
- void LCD_dis_char(uchar x, uchar y, uchar dat)
- {
- uchar address;
- if (y == 1)
- {
- address = 0x80 + x;
- }
- else
- {
- address = 0xc0 + x;
- }
- LCD_Write_command(address);
- Lcd1602_Delay1ms(1);
- LCD_Write_data(dat);
- }
- ------------------初始化---------------------------
- void LCD_Init()
- { //LCD_Write_command(0x33);
-
- //LCD_Write_command(0x32);//復(fù)位后LCD默認(rèn)是8線的;需將最后四位改成0010;也就是說低字節(jié)只要是0010就能改為4線
-
- LCD_Write_command(0x02);//同上;只要最后4位是0010即可;這一行和上一行任選其一即可;
- LCD_Write_command(0x28);//在四位線下的初始化
- LCD_Write_command(0x0C);//開顯示,不顯示光標(biāo)
- LCD_Write_command(0x06); //寫一個指針加1
- LCD_Write_command(0x01); //清屏
- Lcd1602_Delay1ms(5);
- LCD_Write_command(0x80); //設(shè)置數(shù)據(jù)指針起點
-
-
- }
- -----------main--------------
- void main()
- {
-
- uchar i = 0;
- //n = n + 0x30; //轉(zhuǎn)為ASCII
- Lcd1602_Delay1ms(15);
- LCD_Init();
- for (i = 0; i < sizeof(dis_a)-1; i++)
- {
- LCD_dis_char(i, 1, dis_a[i]);Lcd1602_Delay1ms(1);
- }
- for (i = 0; i < sizeof(dis_b)-1; i++)
- {
- LCD_dis_char(i, 2, dis_b[i]);Lcd1602_Delay1ms(1);
- }
- while (1);
- }
復(fù)制代碼
|
|