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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

LCD12864液晶顯示PPT課件與單片機源碼下載

[復制鏈接]
跳轉到指定樓層
樓主
LCD12864液晶顯示以51單片機為核心設計一個LCD12864液晶顯示器。具有簡單的文字和圖案花樣顯示功能。

系統主要由51單片機進行控制各個電路的配合,從而完成簡單的花樣顯示文字和圖案的功能。
電路主要包括:
單片機最小系統電路,ST7920控制電路,LCD12864液晶顯示等電路。

點陣圖形液晶
字庫:帶中文字庫、不帶中文字庫
數據接口:串口、并口
LCD12864:指128列,64行點陣的液晶屏,可以顯示32個漢字(16*16的點陣),4行,每行8個漢字)

PPT課件內容預覽:


仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


數字0亮 ,數字1滅
cs1 打開顯示
RW:讀/寫
RS數據/指令
E:使能,下降沿數據寫入控制器內寄存器
cs1=0.,左半屏;cs2=0,右半屏

e(sclk時鐘引腳);RS(cs,打開顯示);rw(sid數據引腳),括號中為串行含義

單片機源程序如下:
  1. /*
  2. 液晶12864字符顯示,DDRAM編碼書寫,
  3. 就是先寫頁地址,頁地址共8頁,例如第2頁
  4. write_comm(0xba); //,頁地址格式1011 1???
  5. 然后列地址,列地址共64列,例如第5頁
  6.   write_comm(0x40); //DDRAM的列地址01??????
  7. */
  8.   #include "reg51.h"
  9.   sbit cs1_zuo=P3^3;
  10.   sbit cs2_you=P3^4;
  11.   sbit enable_12864=P3^5;         //允許
  12.   sbit  read_write=P3^6;          //數據引腳
  13.   sbit command_date=P3^7;//

  14.   void delayms(int t)
  15.   {int i,j;
  16.   for(i=0;i<t;i++)
  17.    for(j=0;j<120;j++);
  18.   
  19.   }
  20.   void chech_busy()
  21.   {           //unsigned char timeout=200;
  22.         unsigned char busy;
  23.              enable_12864=0;
  24.           read_write=1;          // 讀寫引腳  1/0
  25.           command_date=0;  //命令/數據引腳 1/0
  26.           P2=0xff;//讀入前先置1
  27.                    enable_12864=1;
  28.                    while(0x80&busy);  //最高位為1就忙,不能接收,等待
  29.            enable_12864=0;
  30.   }
  31.   
  32.   unsigned char read_date()//實際讀狀態寄存器
  33.   {unsigned char dat;
  34.    chech_busy();//每次讀寫之前進行忙檢測
  35.         enable_12864=0;
  36.         command_date=1;       
  37.         read_write=1;
  38.         P2=0xff;//準備讀入       
  39.         enable_12864=1;   //enable_12864的高電平讀數據
  40.         dat=P2;
  41.         delayms(2);//延時
  42.         enable_12864=0;
  43.     return dat;
  44.   }
  45. void write_date(unsigned char dat)
  46.   {          chech_busy();//每次讀寫之前進行忙檢測
  47.         command_date=1;        //寫數據RS引腳高電平
  48.          read_write=0;
  49.         P2=dat;
  50.          delayms(2);        //延時50us
  51.         enable_12864=1;  //e的下降沿寫入
  52.         delayms(2);        //延時50us
  53.         enable_12864=0;
  54.   
  55.   }
  56.   //
  57.   void write_comm(unsigned char comm)
  58.   {        chech_busy();//每次讀寫之前進行忙檢測
  59.      command_date=0;  //寫命令RS引腳低電平
  60.         read_write=0;
  61.            P2=comm;
  62.                   delayms(2);
  63.                 enable_12864=1;  //e的下降沿寫入
  64.                 delayms(2);
  65.                 enable_12864=0;
  66.   }
  67.   /*******初始化**************/
  68.   void init_lcd()
  69.   {         delayms(100);
  70.              write_comm(0x30);//8位數據,基本指令集
  71.            write_comm(0x0c);//顯示打開,光標關、反白關
  72.            write_comm(0x01);//清屏,DDRAM填滿0x20,且地址計數器清0
  73.          
  74.            delayms(100);
  75.   }


  76. void main()

  77. {unsigned char code  tuan[]=
  78.           //陽碼(0點亮)逐列,逆向
  79.         {
  80. //        0xFF,0xF7,0xFD,0xF7,0xFD,0xF7,0x0D,0xF7, //馬
  81. //        0x7D,0xF7,0x7D,0xF7,0x7D,0xF7,0x7D,0xF7,
  82. //        0x7D,0xF7,0x7D,0xF7,0x01,0xB7,0x7F,0x7F,
  83. //        0x7F,0xBF,0x7F,0xC0,0xFF,0xFF,0xFF,0xFF
  84. 0xDF,0xDD,0xCF,0x98,0x53,0xDD,0x9C,0xED,0xDF,0xED,0xE7,0x6D,0xF7,0xBF,0xF7,0xCF,
  85. 0x07,0xF0,0x76,0xFF,0x71,0xBF,0x77,0x7F,0x77,0xBF,0x77,0xC0,0xF7,0xFF,0xFF,0xFF,/*"紡",0*/

  86. 0xDF,0xDD,0xCF,0x98,0x53,0xDD,0x9C,0xED,0xDF,0xED,0xE7,0x6D,0xFF,0xBF,0x03,0xDC,
  87. 0xFB,0xE6,0xFB,0xFE,0xFB,0xFE,0xFB,0xF6,0xFB,0xEE,0x03,0xDC,0xFF,0x3F,0xFF,0xFF,/*"織",1*/

  88. 0xFD,0xF7,0xFD,0xE7,0x01,0xF0,0x6D,0xF7,0x6D,0xFB,0x01,0x00,0xFD,0xFB,0xFD,0x7F,
  89. 0x03,0x9C,0xFB,0xE6,0xFB,0xFE,0xFB,0xFE,0xFB,0xF6,0x03,0xCC,0xFF,0x3F,0xFF,0xFF,/*"職",2*/

  90. 0xFF,0xBF,0xEF,0xBF,0x9F,0xBF,0x7F,0xBC,0xFF,0xBF,0x00,0x80,0xFF,0xBF,0xFF,0xBF,
  91. 0xFF,0xBF,0x00,0x80,0xFF,0xBD,0xFF,0xBE,0x3F,0xBF,0xCF,0xBF,0xFF,0xBF,0xFF,0xFF,
  92. 0xFF,0xFF,0x8F,0xCF,0xF7,0xD7,0xF7,0xDB,0xF7,0xDD,0x77,0xDE,0x8F,0xCF,0xFF,0xFF,/*"2",0*/

  93. 0xFF,0xFF,0x1F,0xF0,0xEF,0xEF,0xF7,0xDF,0xF7,0xDF,0xEF,0xEF,0x1F,0xF0,0xFF,0xFF,/*"0",1*/

  94. 0xFF,0xFF,0xEF,0xDF,0xEF,0xDF,0x07,0xC0,0xFF,0xDF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,/*"1",2*/

  95. 0xFF,0xFF,0x8F,0xE3,0x77,0xDD,0xF7,0xDE,0xF7,0xDE,0x77,0xDD,0x8F,0xE3,0xFF,0xFF/*"8",3*/
  96.     };


  97. int i,j,t,x=0x80,y=0x80; //x,y為點陣的坐標0x80
  98. delayms(20);
  99.   init_lcd();
  100. //硬件上左屏開了顯示了
  101.   write_comm(0x01);//清屏
  102.   delayms(40);
  103.    cs1_zuo=0; //寫左屏
  104.    cs2_you=1;
  105.    write_comm(0xb8+0); //頁地址0頁1011 1???
  106.    write_comm(0x40); //DDRAM的列地址40~7f,64列
  107.   
  108.             for(i=0;i<64;i++)
  109.                    write_date(tuan[2*i]);
  110.       
  111.         write_comm(0xb8+1);//頁地址1頁1011 1???
  112.     write_comm(0x40);//DDRAM的列地址40~7f,64列
  113.                            //列地址設定后,列地址自動加1
  114.                            //頁地址重設起作用,設定后保持
  115.      for(i=0;i<64;i++)
  116.           write_date(tuan[2*i+1]);
  117.       cs1_zuo=1; //寫右屏
  118.    cs2_you=0;
  119.          write_comm(0xb8+2); //頁地址3頁1011 1???
  120.    write_comm(0x40+32); //DDRAM的列地址40~7f,64列
  121.   
  122.             for(i=64;i<96;i++)
  123.                    write_date(tuan[2*i]);

  124.          write_comm(0xb8+3); //頁地址4頁1011 1???
  125.    write_comm(0x40+32); //DDRAM的列地址40~7f,64列
  126.   
  127.             for(i=64;i<96;i++)
  128.                    write_date(tuan[2*i+1]);
  129.    while(1);
  130. }
復制代碼

所有資料51hei提供下載:
參考資料.zip (8.98 MB, 下載次數: 42)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日日干日日操 | japanhd美女动 | 亚洲黄色av | 在线观看国产三级 | 我我色综合| 天天干 夜夜操 | 欧美在线小视频 | 全免费a级毛片免费看视频免 | www.久| 高清国产一区二区 | 极品电影院 | 日本在线一区二区三区 | 最近日韩中文字幕 | 日韩一区中文字幕 | 天天看夜夜 | 日韩成人中文字幕 | www.久久| 欧美三区在线观看 | 大陆一级毛片免费视频观看 | 国产玖玖 | 香蕉视频1024 | 一级毛片免费完整视频 | 九一视频在线播放 | 国产一区二区在线视频 | 小早川怜子xxxxaⅴ在线 | 91日b| 一区二区三区在线 | 欧 | 精品久久香蕉国产线看观看亚洲 | 999热精品视频 | 国产精品福利在线观看 | 国产精品久久久久久久久久久新郎 | 天堂免费看片 | 国产在线一区二区三区 | 久久亚洲欧美日韩精品专区 | 欧美在线网站 | 亚洲成av人片在线观看无码 | 999久久久久久久久6666 | 91精品国产一区二区三区 | 一区二区三区在线观看视频 | 天天射中文 | 国产我和子的乱视频网站 |