微波EDA网,见证研发工程师的成长! 2025婵犵數濮撮惀澶愬级鎼存挸浜炬俊銈勭劍閸欏繘鏌i幋锝嗩棄缁炬儳娼¢弻鐔告綇閸撗呮殸缂備胶濯崹鍫曞蓟閵娾晜鍋嗛柛灞剧☉椤忥拷04闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偞鐗犻、鏇㈡晜閽樺缃曢梻浣虹帛閸旀洟骞栭銈囦笉妞ゆ牜鍋為悡銉╂煟閺囩偛鈧湱鈧熬鎷�25闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偞鐗犻、鏇㈡晝閳ь剛绮eΔ浣虹闁瑰瓨鐟ラ悘鈺冪磼閻欌偓閸ㄥ爼寮婚妸鈺傚亞闁稿本绋戦锟� 闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偞鐗犻、鏇㈠Χ閸屾矮澹曞┑顔结缚閸樠冣枍瀹ュ洠鍋撶憴鍕;闁告濞婇悰顕€宕堕澶嬫櫌婵犵數濮撮幊澶愬磻閹捐閿ゆ俊銈勮兌閸欏棝姊虹紒妯荤闁稿﹤婀遍埀顒佺啲閹凤拷濠电姷鏁告慨鐑藉极閹间礁纾绘繛鎴欏灪閸嬨倝鏌曟繛褍鍟悘濠囨⒑閹稿海绠撴い锔诲灣缁顢涢悙瀵稿弳闂佺粯娲栭崐鍦偓姘炬嫹
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 请教51单片机的12864液晶显示问题

请教51单片机的12864液晶显示问题

时间:10-02 整理:3721RD 点击:
请教51单片机的12864液晶显示问题

麻烦高手帮忙解释fyd12864液晶的这个程序,我就是搞不懂,先谢谢了

  1. #include<reg52.h>
  2. #define uchar unsigned char  

  3. #define uint unsigned int
  4. uchar code HZ12[]={"欢迎您!"};

  5. uchar code HZ16[]={"学习单片机!"};
  6. /*void init()
  7. {
  8. TMOD=0x20;
  9. //设置定时器1为工作方式2
  10. TH1=0xfd;     //装入初值
  11. TL1=0xfd;
  12. TR1=1; //启动定时器1

  13. SCON=0x50; //选择串行口为工作方式2
  14. EA=1;
  15. ES=1;
  16. }*/

  17. void send_char(uchar sendc)
  18. {
  19. SBUF=sendc;
  20. while(TI==0);

  21. TI=0;
  22. }
  23. void delay(uchar x)
  24. {
  25. int i,j;

  26. for(i=0;i<=x;i++)
  27. for(j=110;j>0;j--);
  28. }

  29. void display(uchar a,uchar x,uchar y,uchar *p)
  30. {
  31.   send_char(a);

  32. send_char(x);
  33. send_char(y);
  34. while(*p!='\0')
  35. {
  36. send_char(*p);

  37. p++;
  38. }
  39. send_char(0x0d);
  40. send_char(0x0a);

  41. }


  42. void main()
  43. {
  44. TMOD=0x20;
  45. TL1=0xfd;
  46. TH1=0xfd;

  47. SCON=0x58;
  48. PCON=0x00;
  49. TR1=1;
  50. EA=1;
  51. ES=1;
  52. display(HZ12);

  53. delay(100);
  54. send_char(0x12);
  55. send_char(0);
  56. delay(100);

  57. display(HZ16);
  58. delay(100);
  59. while(1);
  60. }

复制代码


要想弄懂程序,还要看它的硬件。光从程序来看,LCD是串口的,直接连接单片机RXD和TXD两个脚就可以了。但是你最好去查看它的LCD文档资料是怎么说的,怎么写数据,命令等。

不懂!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top