找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2155|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

LCD19264程序_STC12單片機主控

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:474417 發(fā)表于 2022-10-5 14:57 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
分享剛剛寫好的19264屏程序,換點黑幣用用


單片機源程序如下:
  1. #include "Delay.h"
  2. #include <math.h>
  3. #include "LCD19264.H"
  4. #include "Self_Encoding.H"
  5. #include "ADC.H"

  6. uint  number;          //數(shù)字傳遞全局變量
  7. uchar code *Char_Data;  //指向程序儲存器的指針

  8. uchar data temp[14]={2,0,2,2,1,0,0,1,2,3,2,5,4,8};        //為時鐘數(shù)字number傳遞臨存數(shù)組
  9. char K = 0,DP;    //顯示標題時,因分三段顯示,而保存已顯示過的位置
  10. uchar Additional_Inputs;//其他字符或數(shù)字輸入值



  11. void STC15_Initialization() //STC15初始化
  12.         {
  13.                  P0M0 = 0X00;
  14.                  P0M1 = 0X00;
  15.                
  16.                  P1M0 = 0X00;
  17.                  P1M1 = 0X00;
  18.                
  19.                  P2M0 = 0X00;
  20.                  P2M1 = 0X00;
  21.                
  22.                  P3M0 = 0X00;
  23.                  P3M1 = 0X00;
  24.                
  25.                  P4M0 = 0X04;
  26.                  P4M1 = 0X00;
  27.                
  28.                  P5M0 = 0X00;
  29.                  P5M1 = 0X00;

  30.                 LDE_DATA = 1;
  31.         }
  32.                
  33.         


  34. /**********************LCD檢測是否忙*************************/
  35. bit Read_Status()   //屏幕忙檢測
  36. {
  37.          bit Temp;
  38.         Por_Data_Out = 0x00;                  //數(shù)據(jù)口先全部置位
  39.         LCD19264_RS  = 0;                                                                                        //0 = 寫指令      1 = 寫數(shù)據(jù)
  40.         LCD19264_RW  = 1;                                                                                        //低電平為 => 寫    高電平為 => 讀

  41.         LCD19264_RE  = 1;
  42.         Delay_uS(1);
  43.   Temp  =(bit)(Por_Data_Out& 0x00) ;   //取最高位,1為忙
  44.          LCD19264_RE  = 0;
  45.          return Temp ;
  46. }

  47. void LCD19264_WriteByte(uchar Designated_Area,uchar Num,uchar COM_DATA)  //Designated_Area指定區(qū) Num = 0 寫指令   Num = 1 寫數(shù)據(jù)
  48. {

  49.          switch(Designated_Area)//【Num為屏幕的左,中,右顯示選擇項】
  50.                 {
  51.                         case 1:
  52.                                 LCD19264_CS1 = 0;  LCD19264_CS2 = 1; LCD19264_CS3 = 1;  //【Num為屏幕的左顯示選擇項】
  53.                                 break;
  54.                         case 2:
  55.                                 LCD19264_CS1 = 1;  LCD19264_CS2 = 0; LCD19264_CS3 = 1;  //【Num為屏幕的中顯示選擇項】
  56.                                 break;
  57.                         case 3:
  58.                                 LCD19264_CS1 = 1;  LCD19264_CS2 = 1;  LCD19264_CS3 = 0;  //【 Num為屏幕的右顯示選擇項】
  59.                                 break;
  60.                 }

  61.         LCD19264_RS     =  Num;        //  Num = 0 寫指令   Num = 1 寫數(shù)據(jù)
  62.         LCD19264_RW     =  0;          //  低電平為 寫,     高電平為讀
  63.         LCD19264_RE     =  1;
  64.          
  65.         Delay_uS(1);
  66.         Por_Data_Out    =  COM_DATA;
  67.         LCD19264_RE     =  0;
  68.         while(Read_Status());  //屏幕忙檢測,= 1 表示模塊在內(nèi)部操作,此時模塊不接受外部指令和數(shù)據(jù)
  69. }

  70. /*
  71. void Display_Start_Line(uchar Designated_Area,uchar X) //顯示起始設(shè)置【指定區(qū)域 Designated_Area】 {1 , 1 ,(0~63) }
  72. {
  73.          LCD19264_WriteByte(Designated_Area,0,0XC0|X);        //【0 = 寫指令】
  74.         
  75. }         */
  76.          
  77. void Set_Address_Y(uchar Designated_Area,uchar Address_Y) //設(shè)置列地址    {0 , 1,(0~63)}
  78. {
  79.                   LCD19264_WriteByte(Designated_Area,0,0X40|Address_Y); //【0 = 寫指令】
  80. }

  81.         
  82.    
  83. void Set_Page(uchar Designated_Area,uchar Page_Address)  //設(shè)置頁地址  
  84. {
  85.   LCD19264_WriteByte(Designated_Area,0,0XB8|Page_Address);//【0 = 寫指令】  
  86. }         
  87.   

  88. void LCD19264_Initialization() //LCD19264初始化
  89. {
  90.   

  91.         LCD19264_WriteByte(1,0,0X3e);//關(guān)閉顯示
  92.         LCD19264_WriteByte(1,0,0X02);
  93.         LCD19264_WriteByte(1,0,0X40);//設(shè)置 Y 地址
  94.          LCD19264_WriteByte(1,0,0XB8);//設(shè)置頁地址
  95.   LCD19264_WriteByte(1,0,0XC0);//設(shè)置顯示起始行
  96.          
  97.   LCD19264_WriteByte(2,0,0X3e);//關(guān)閉顯示
  98.         LCD19264_WriteByte(2,0,0X02);//
  99.   LCD19264_WriteByte(2,0,0X40);//設(shè)置 Y 地址
  100.         LCD19264_WriteByte(2,0,0XB8);//設(shè)置頁地址
  101.         LCD19264_WriteByte(2,0,0XC0);//設(shè)置顯示起始行

  102.   
  103.         LCD19264_WriteByte(3,0,0X3e);//關(guān)閉顯示
  104.         LCD19264_WriteByte(3,0,0X02);
  105.          LCD19264_WriteByte(3,0,0X40);//設(shè)置 Y 地址
  106.         LCD19264_WriteByte(3,0,0XB8);//設(shè)置頁地址
  107.         LCD19264_WriteByte(3,0,0XC0);//設(shè)置顯示起始行
  108.   
  109.   
  110. }



  111. /******************************************************************************************
  112. *函數(shù)名稱: Disp_Dots
  113. *功能描述: 顯示點、 橫、 豎
  114. ******************************************************************************************/

  115. void Disp_Dots(uchar Data1, uchar Data2)//顯示點,橫,豎
  116. {
  117.         uchar i, j;
  118.         
  119.         for(j = 0; j < 8; j++)
  120.         {
  121.                 for(i = 0; i < 32; i++)
  122.                 {
  123.                   // 【Num為屏幕的左顯示選擇項】
  124.                   LCD19264_WriteByte(1,0,0XB8+j);      //設(shè)置頁地址
  125.                          LCD19264_WriteByte(1,0,0X40+i*2);    //設(shè)置 Y 地址
  126.                   LCD19264_WriteByte(1,1,Data1);
  127.                          LCD19264_WriteByte(1,0,0X40+i*2 + 1);//設(shè)置 Y 地址
  128.                          LCD19264_WriteByte(1,1,Data2);
  129.                         
  130.                          // 【Num為屏幕的中顯示選擇項】
  131.                         LCD19264_WriteByte(2,0,0XB8+j);      //設(shè)置頁地址
  132.                          LCD19264_WriteByte(2,0,0X40+i*2);    //設(shè)置 Y 地址
  133.                   LCD19264_WriteByte(2,1,Data1);
  134.                          LCD19264_WriteByte(2,0,0X40+i*2 + 1);//設(shè)置 Y 地址
  135.                          LCD19264_WriteByte(2,1,Data2);

  136.                         // 【Num為屏幕的右顯示選擇項】
  137.                         LCD19264_WriteByte(3,0,0XB8+j);      //設(shè)置頁地址
  138.                          LCD19264_WriteByte(3,0,0X40+i*2);    //設(shè)置 Y 地址
  139.                   LCD19264_WriteByte(3,1,Data1);
  140.                          LCD19264_WriteByte(3,0,0X40+i*2 + 1);//設(shè)置 Y 地址
  141.                          LCD19264_WriteByte(3,1,Data2);
  142.                  }
  143.         }
  144. }
復(fù)制代碼

Keil5代碼下載:
附件只含程序不含其它任何文件.7z (66.07 KB, 下載次數(shù): 49)

評分

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

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:230742 發(fā)表于 2022-10-5 19:33 | 只看該作者
我也有2個19264的屏,好像是0108驅(qū)動的。下載學(xué)習(xí)一下。感謝分享。
回復(fù)

使用道具 舉報

板凳
ID:419072 發(fā)表于 2022-10-5 19:54 來自手機 | 只看該作者
啥型號的19264啊
回復(fù)

使用道具 舉報

地板
ID:366877 發(fā)表于 2022-10-6 13:29 | 只看該作者
電路圖能分享一下嗎?
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表