找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5353|回復(fù): 3
收起左側(cè)

字庫LCD12864 指定位置顯示一個(gè)數(shù)字,但占據(jù)的是半個(gè)漢字位置,剩下的亂碼

[復(fù)制鏈接]
ID:310624 發(fā)表于 2018-5-9 18:18 | 顯示全部樓層 |閱讀模式

IMG_20180509_180919.jpg

這是主要程序:

按指定位置顯示一個(gè)字符,怎樣修改才能 顯示正常數(shù)字

  1. //寫數(shù)據(jù)

  2. void WriteDataLCD(unsigned char WDLCD)

  3. {

  4. ReadStatusLCD(); //檢測忙

  5. LCD_RS = 1;

  6. LCD_RW = 0;

  7. LCD_Data = WDLCD;

  8. LCD_E = 1;

  9. LCD_E = 1;

  10. LCD_E = 1;

  11. LCD_E = 0;

  12. }

  13. //寫指令

  14. void WriteCommandLCD(unsigned char WCLCD,BuysC) //BuysC為0時(shí)忽略忙檢測

  15. {

  16. if (BuysC) ReadStatusLCD(); //根據(jù)需要檢測忙

  17. LCD_RS = 0;

  18. LCD_RW = 0;

  19. LCD_Data = WCLCD;

  20. LCD_E = 1;

  21. LCD_E = 1;

  22. LCD_E = 1;

  23. LCD_E = 0;  

  24. }

  25. //讀數(shù)據(jù)

  26. unsigned char ReadDataLCD(void)

  27. {

  28. LCD_RS = 1;

  29. LCD_RW = 1;

  30. LCD_E = 0;

  31. LCD_E = 0;

  32. LCD_E = 1;

  33. return(LCD_Data);

  34. }

  35. //讀狀態(tài)

  36. unsigned char ReadStatusLCD(void)

  37. {

  38. LCD_Data = 0xFF;

  39. LCD_RS = 0;

  40. LCD_RW = 1;

  41. LCD_E = 1;

  42. while (LCD_Data & Busy); //檢測忙信號

  43. LCD_E = 0;

  44. return(LCD_Data);

  45. }

  46. void LCDInit(void) //LCM初始化

  47. {

  48. WriteCommandLCD(0x30,1); //顯示模式設(shè)置,開始要求每次檢測忙信號

  49. WriteCommandLCD(0x01,1); //顯示清屏

  50. WriteCommandLCD(0x06,1); // 顯示光標(biāo)移動(dòng)設(shè)置

  51. WriteCommandLCD(0x0C,1); // 顯示開及光標(biāo)設(shè)置

  52. }

  53. void LCDClear(void) //清屏

  54. {

  55. WriteCommandLCD(0x01,1); //顯示清屏

  56. WriteCommandLCD(0x34,1); // 顯示光標(biāo)移動(dòng)設(shè)置

  57. WriteCommandLCD(0x30,1); // 顯示開及光標(biāo)設(shè)置

  58. }

  59. //按指定位置顯示一個(gè)字符

  60. void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)

  61. {

  62. if(Y<1)

  63.         Y=1;

  64. if(Y>4)

  65.         Y=4;

  66. X &= 0x0F; //限制X不能大于16,Y不能大于1

  67. switch(Y){

  68.         case 1:X|=0X80;break;

  69.         case 2:X|=0X90;break;

  70.         case 3:X|=0X88;break;

  71.         case 4:X|=0X98;break;

  72.         }

  73. WriteCommandLCD(X, 0); //這里不檢測忙信號,發(fā)送地址碼

  74. WriteDataLCD(DData);

  75. }
復(fù)制代碼


回復(fù)

使用道具 舉報(bào)

ID:688062 發(fā)表于 2020-2-27 20:51 | 顯示全部樓層
遇到同樣的問題
回復(fù)

使用道具 舉報(bào)

ID:409095 發(fā)表于 2021-4-20 14:26 | 顯示全部樓層
這個(gè)屏不好用坐標(biāo)只能控制1-4行1-8列,每個(gè)坐標(biāo)都是以一個(gè)漢字大小,字符和數(shù)字沒法任意位置
回復(fù)

使用道具 舉報(bào)

ID:91732 發(fā)表于 2022-4-7 18:27 | 顯示全部樓層
//unsigned char code data[10]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};//"0123456789"
unsigned char data[10] = {'0','1','2','3','4','5','6','7','8','9'};
使用這兩個(gè)都可以
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表