国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee

ELEOK

標題: 51單片機+LCD12864串行顯示程序 [打印本頁]

作者: eng    時間: 2021-6-13 00:34
標題: 51單片機+LCD12864串行顯示程序
部分程序源碼:完整請下載本文尾部的附件
  1. /********************************************************************
  2. * 名稱 : delay()
  3. * 功能 : 延時,延時時間為 100us * t。這是通過軟件延時,有一定誤差。
  4. * 輸入 : t
  5. * 輸出 : 無
  6. ***********************************************************************/
  7. void delay(unsigned int t)
  8. {
  9.     unsigned int i,j;
  10.     for(i=0; i<t;  i++)
  11.     for(j=0; j<10; j++);
  12. }

  13. /********************************************************************
  14. * 名稱 : sendbyte()
  15. * 功能 : 按照液晶的串口通信協議,發送數據
  16. * 輸入 : zdata
  17. * 輸出 : 無
  18. ***********************************************************************/
  19. void sendbyte(unsigned char zdata)
  20. {
  21.     unsigned int i;
  22.     for(i=0; i<8; i++)
  23.     {
  24.         if((zdata << i) & 0x80)
  25.         {
  26.             SID = 1;
  27.         }
  28.         else
  29.         {
  30.             SID = 0;
  31.         }
  32.         SCLK = 0;
  33.         SCLK = 1;
  34.     }
  35. }

  36. /********************************************************************
  37. * 名稱 : write_com()
  38. * 功能 : 寫串口指令
  39. * 輸入 : cmdcode
  40. * 輸出 : 無
  41. ***********************************************************************/
  42. void write_com(unsigned char cmdcode)
  43. {
  44.     CS = 1;
  45.     sendbyte(0xf8);
  46.     sendbyte(cmdcode & 0xf0);
  47.     sendbyte((cmdcode << 4) & 0xf0);
  48.     delay(2);
  49. }

  50. /********************************************************************
  51. * 名稱 : write_data()
  52. * 功能 : 寫串口指令
  53. * 輸入 : cmdcode
  54. * 輸出 : 無
  55. ***********************************************************************/
  56. void write_data(unsigned char Dispdata)
  57. {
  58.     CS = 1;
  59.     sendbyte(0xfa);
  60.     sendbyte(Dispdata & 0xf0);
  61.     sendbyte((Dispdata << 4) & 0xf0);
  62.     delay(2);
  63. }

  64. /********************************************************************
  65. * 名稱 : lcdinit()
  66. * 功能 : 初始化函數
  67. * 輸入 : cmdcode
  68. * 輸出 : 無
  69. ***********************************************************************/
  70. void lcdinit()
  71. {  
  72. //    RST = 0;
  73. //    delay(100);
  74. //    RST = 1;
  75. //    delay(20000);
  76.     write_com(0x30);
  77.     delay(50);
  78.     write_com(0x0c);
  79.     delay(50);
  80. }
復制代碼
完整代碼: 串行12864.zip (26 KB, 售價: 2 E幣)





歡迎光臨 ELEOK (http://www.afoofa.cn/) Powered by Discuz! X5.0