久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2635|回復: 4
打印 上一主題 下一主題
收起左側

51單片機LCD12864液晶并行驅動程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:202895 發表于 2018-12-27 22:36 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. /*========================LCD12864液晶并行驅動程序==========================

  2. 程序名稱:12864液晶驅動程序(并行模式)

  3. ================================================= ===========================*/

  4. #include <at89x52.h>
  5. #define uchar unsigned char
  6. #define uint unsigned int
  7. uchar t,p;

  8. /********************************引腳定義***********************************/

  9. #define RS P1_0 //RS=0為執行指令;RS=1為執行數據; #define RW P1_1 //讀寫
  10. #define E P1_2 //使能
  11. #define PSB P1_3 //低電平(串口驅動);高電平(并口驅動)

  12. #define RST P1_4 //LCD復位

  13. /********************************定義數組***********************************/

  14. uchar code title[] = {"LCD 并行接口測試"};
  15. uchar code website[]={"qwertyuioopplkjh"};
  16. uchar code dig[]={"0123456789"};
  17. uchar code dig2[]={0,1,2,3,':'}; //

  18. /*******************************相關子程序**********************************/

  19. void Init_lcd(); //初始化液晶
  20. void lcd_busy(); //忙標志查詢
  21. void delay100us(); //100us延時程序
  22. void write(uchar x,uchar Data); //寫單字節函數
  23. void Show(uchar address,uchar L,uchar STR1[]);
  24. void Show_dig(uchar address,uint number);

  25. /*******************************延時子程序**********************************/

  26. void delay100(int n)
  27. {
  28. unsigned char i;
  29. while(n--)
  30. for(i=0;i<100;i++);
  31. }

  32. /*******************************LCD 忙標志查詢******************************/

  33. void lcd_busy(void)
  34. {
  35. uchar busy;
  36. P0=0xff;
  37. RS=0;
  38. RW=1;
  39. do{
  40.     E=1;
  41.     busy=P0;
  42.     E=0;
  43.    }
  44. while(busy>0x7f);
  45. }

  46. /*****************************寫指令或數據**********************************/

  47. void write(uchar x,uchar Data)
  48. {
  49. lcd_busy(); //忙查詢
  50. if(x==0)
  51. {
  52.   RS=0;
  53.   RW=0; //寫單字節命令字
  54. }
  55. else if(x==1)
  56. {
  57. RS=1;
  58. RW=0; //寫單字節數據
  59. }
  60. E=1;
  61. P0=Data;
  62. E=0;
  63. P0=0xff;
  64. }

  65. /*******************************初始化LCD **********************************/
  66. void Init_lcd(void)
  67. {
  68. delay100(20); //啟動等待,等LCM講入工作狀態
  69. PSB=1; //并口驅動模式
  70. RST=0;
  71. delay100(4);
  72. RST=1; // 復位LCD
  73. write(0,0x30); //8 位介面,基本指令集
  74. write(0,0x0c); //顯示打開,光標關,反白關
  75. write(0,0x01); //清屏,將DDRAM的地址計數器歸零
  76. }

  77. /*******漢字和字符顯示,參數入口:Show(地址,顯示寬度,漢字數組)************/
  78. void Show(uchar address,uchar L,uchar STR1[])
  79. {
  80. uchar i;
  81. write(0,address);
  82. for(i=0;i<L;i++)
  83. write(1,STR1[i]);
  84. }

  85. /************純阿拉伯數字顯示,參數入口:Show_dig (地址,數字)**************/

  86. void Show_dig(uchar address,uint number)
  87. {
  88. uchar shi,ge;
  89. shi=number/10;
  90. ge=number%10;
  91. write(0,address);
  92. delay100(20);
  93. write(1,dig[shi]);
  94. delay100(20);
  95. write(1,dig[ge]);
  96. }

  97. /************************************主程序**********************************/

  98. void main(void)
  99. {
  100. Init_lcd();
  101. TMOD=0X01;
  102. TH0=0xdc;
  103. TL0=0x00;
  104. ET0=1;
  105. TR0=1;
  106. EA=1;
  107. P3_6=0;
  108. delay100(30);
  109. Show(0x83,4,"梁浩"); //寫數組里的內容
  110. write(0,0x0d);
  111. delay100(30);
  112. Show(0x90,16,"電子科技協會會長");
  113. delay100(30);
  114. Show(0x88,16,"TEL 152********"); //寫英文
  115. delay100(30);
  116. while(1)
  117. {
  118.   Show_dig(0x99,p); //寫實時數組
  119. }
  120. }

  121. void exter() interrupt 1
  122. {
  123. TH0=0xdc;
  124. TL0=0x00;
  125. t++;
  126. if(t==20)
  127. {
  128.   t=0;
  129.   p++;
  130. }
  131. if(p==60)
  132. p=0;
  133. }

  134. /***************************************end****** *****************************/
復制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:524818 發表于 2019-5-2 18:44 | 只看該作者
復制代碼,編譯時出現三個錯誤:52  69 74 行
回復

使用道具 舉報

板凳
ID:524818 發表于 2019-5-5 12:40 | 只看該作者
這個程序驅動的12864是帶字庫的嗎?
回復

使用道具 舉報

地板
ID:524818 發表于 2019-5-5 16:37 | 只看該作者
在我的單片機運行正常了,仔細檢查了一下,我的單片機定義在p3口上,程序中定義為p1口,改過來好了,學習了,謝謝!
回復

使用道具 舉報

5#
ID:513419 發表于 2019-5-7 10:07 | 只看該作者
屏幕顯示不了東西呀,一片白是為什么呢?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 丁香婷婷综合激情五月色 | 中文av网站 | 日韩av电影在线观看 | 一区二区在线免费播放 | 国产精品久久久久久久久久久久久 | 久久久久久国产 | 成人精品视频在线观看 | 最新超碰| 精品在线一区 | 五月婷婷婷 | 美女天堂在线 | 亚洲一二三区在线观看 | 欧美一级片在线播放 | 尤物视频在线免费观看 | 国产精品视频入口 | 国产九九av | 日一区二区三区 | 欧美一级二级在线观看 | 激情国产 | 区一区二区三在线观看 | 日韩成年人视频在线 | 婷婷久久网 | 国产成人在线视频播放 | 日韩福利片 | 偷拍自拍第一页 | 欧美福利 | 一区二区三区亚洲精品国 | 日本午夜免费福利视频 | 欧美久久久久久 | 草草视频在线播放 | 日韩国产一区二区三区 | 久久久成人精品 | 亚洲狠狠| 欧美日韩国产精品激情在线播放 | 国产97碰免费视频 | 中文字幕亚洲一区二区三区 | 婷婷91| 不卡一二三区 | 欧美日本一区二区 | 国产成人一区二区三区久久久 | 成人激情视频网 |