找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

LCD1602的簡單顯示

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:160533 發(fā)表于 2017-1-7 00:56 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
閑來無事,做幾塊板,就想做一下LCD1602的顯示板
自己從寫程序到仿真,從原理圖設計,畫PCB圖,腐蝕鉆孔,再到焊接,終于完成。





  1.   /********************LCD1602 雙行顯示*****************************/


  2. #include <reg51.h>
  3. #define uint unsigned int
  4. #define uchar unsigned char

  5. /***************************第一行顯示********************************/
  6. uchar code table0[]="Xiao Qi ^_^ ";
  7. /***************第二行顯示****************************************/
  8. uchar code table1[]="I LOVE YOU 1314";
  9. uchar num;
  10. /**************1602的各端口與單片機銜接*/
  11. #define DB P0                //P0口為LCD數(shù)據(jù)線
  12. sbit RS=P2^7;                //P3.4為LCD的RS端口
  13. sbit RW=P2^6;                //P3.5為LCD的RW端口
  14. sbit E=P2^5 ;                 //P3.6為LCD的E端口

  15. /***************毫秒級************延時函數(shù)**************************************/
  16. void delay(uint z)
  17. {
  18.         uint x,y;
  19.         for(x=z;x>0;x--);
  20.         for(y=1100;y>0;y--);
  21. }

  22. /***********************向LCD寫命令函數(shù)**************************************/

  23. void write_com(uchar dat)
  24. {
  25.         delay(5);
  26.         RS=0;
  27.         RW=0;
  28.         DB=dat;
  29.         delay(5);
  30.         E=1;
  31.         delay(5);
  32.         E=0;
  33. }

  34. /***************向LCD寫數(shù)據(jù)函數(shù)*/

  35. void write_data(uchar dat)
  36. {
  37.         delay(5);
  38.         RS=1;
  39.         RW=0;
  40.         DB=dat;
  41.         delay(5);
  42.         E=1;
  43.         delay(5);
  44.         E=0;
  45. }

  46. /*LCD初始化函數(shù)*/
  47. void init()
  48. {
  49.         delay(1);
  50.         E=1;
  51.         write_com(0x38);                //功能設置***********設置8位格式,2行,5x10
  52.         delay(1);
  53.         write_com(0x0c);                 //顯示開關控制*******設置整體顯示  開光標 光標反白顯示
  54.         delay(1);                               
  55.         write_com(0x06);                //進入模式設置指令***向右移 AC(地址計數(shù)器)增加1  整個顯示移動
  56.         delay(1);
  57.         write_com(0x01);                //清顯示*************清除屏幕顯示
  58.         delay(10);
  59.         write_com(0x10);                //歸位***************將游標歸位 移到開始位置
  60. }

  61. /*LCD顯示位置設置*/
  62. void set_xy(uchar x,uchar y)
  63. {}



  64. /*主函數(shù)*/                          

  65. void main()
  66. {
  67.                  init();                                                        //初始化



  68.         /********第一行顯示******************************************************/
  69.         write_com(0x80);                                //開始指定第一行第一個字符位置0x80
  70.         for(num=0;num<12;num++)                        //向1602寫入第一行內(nèi)容
  71.         {                                                                //
  72.         delay(500);                                                //
  73.                 write_data(table0[num]);        //
  74.                                                                         //
  75.         }
  76.        

  77. /*************888****第二行顯示***********************/
  78.         delay(10000);
  79.         write_com(0x80+0x40);                        //開始指定第二行第一個字符位置0x80+0x40(第一行+0x40)
  80.         for(num=0;num<15 ;num++)                        //向1602寫入第二行內(nèi)容
  81.         {                                                                //
  82.                 delay(500);                                        //
  83.                 write_data(table1[num]);    //
  84.                                                                           //
  85.         }
  86.         delay(50000);
  87.         delay(65535);
  88.         delay(65535);
  89.         delay(65535);

  90.         delay(65535);
  91.     delay(65535);
  92.         delay(65535);
  93.         delay(50000);
  94.         delay(65535);
  95.         delay(65535);
  96.                                
  97. }         
復制代碼


lcd 1602程序 注釋.zip

1.05 KB, 下載次數(shù): 21, 下載積分: 黑幣 -5

評分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:160589 發(fā)表于 2017-1-7 14:26 | 只看該作者
不錯的基礎解析
回復

使用道具 舉報

板凳
ID:97554 發(fā)表于 2017-1-7 19:30 | 只看該作者
確實有所幫助,感謝。
回復

使用道具 舉報

地板
ID:197805 發(fā)表于 2017-5-14 19:56 | 只看該作者
為什么我仿真可以,但是實物顯示屏只有一排白框啊
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表