⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 demod.c

📁 精电的12864驱动原码
💻 C
📖 第 1 页 / 共 2 页
字号:
           com=start_line0;       /*  显示起始行为0  */
           PR1();
           PR4();
           com=display_on;        /*  开显示  */
           PR1();
           PR4();
        }
/*************************************/
/*             清屏函数              */
/*************************************/
   CLEAR()
        {
          for(count1=0xb8;count1!=0xc0;count1++)
            {
              com=count1;  /* 页地址 */
              PR1();
              PR4();
              com=0x40;
              PR1();
              PR4();
             for(com=0;com<64;com++)   /* 列地址设置 */
               {
                 dat1=0x00;
                 PR2();
                 PR5();
               }
            }
        }
/*************************************/
/*       直接访问方式的驱动函数      */
/*************************************/

   BUSY1()
        {
           do
              {
                 ACC=cradd1;                /*  读状态字  */
              }
           while (ACC_7==1);                /*  判“忙”标志  */
        }
   BUSY2()
        {
           do
              {
                 ACC=cradd2;                /*  读状态字  */
              }
           while (ACC_7==1);                /*  判“忙”标志  */
        }
/*************************************/
/*          写指令函数               */
/*************************************/
   PR1()
        {
           BUSYM();                         /*  判忙  */
           cwadd1=com;                      /*  写指令(左)  */
        }
   PR4()
        {
           BUSYR();                         /*  判忙  */
           cwadd2=com;                      /*  写指令(右)  */
        }
/*************************************/
/*        写显示数据函数             */
/*************************************/
   PR2()
        {
           BUSYM();
           dwadd1=dat1;                     /*  写显示数据(左)  */
        }
   PR5()
        {
           BUSYR();
           dwadd2=dat1;                     /*  写显示数据(右)  */
        }

/*************************************/
/*          读显示数据函数           */
/*************************************/
   PR3()
        {
           BUSYM();
           dat1=dradd1;                      /*  读显示数据(左)  */
        }
   PR6()
        {
           BUSYR();
           dat1=dradd2;                      /*  读显示数据(右)  */
        }
/*************************************/
/*             绘点函数              */
/*************************************/
   W_DOT()
        {
         unsigned int j;
           j=para1;
           com=O_Y/8;
           code_1=O_Y%8;
           com=com|0xb8;
           PR1();
           PR4();
           O_Y=1;
                  for(;code_1!=0;)
                      {
                          O_Y=O_Y*2;
                          code_1--;
                      }
                          if(O_X<j)
                            {
                                com=O_X|0x40;
                                PR1();
                                PR3();
                                PR3();
                                PR1();
                                dat1=dat1|O_Y;
                                PR2();
                            }
                          else
                            {
                                com=O_X-j|0x40;
                                PR4();
                                PR6();
                                PR6();
                                PR4();
                                dat1=dat1|O_Y;
				PR5();

                            }
        }
/*************************************/
/*          中文写入函数             */
/*************************************/
 CCW_PR()
        {
           unsigned char i,j,k;
                i=0;
                j=para1;
    loop:       com=O_Y|0xb8;
                PR1();
                PR4();
                  if(O_X<j)
                     {
                        com=O_X|0x40;
                        PR1();
                        k=1;
                     }
                  else
                     {
                        com=O_X-j|0x40;
                        PR4();
                        k=0;
                     }
                      com=com&0x3f;
                  for(count1=i;count1<i+16;count1++)
                     {
                        dat1=CCTAB[code_1][count1];

                             if(k==1)
                                {
                                   PR2();
                                }
                             else
                                {
                                   PR5();
                                }
                                   com++;
                             if(com==j)
                                {
                                   if(k==1)
                                     {
                                        com=0;
                                        PR4();
                                        k=0;
                                      }
                                   else
				     {
					goto loop2;
				     }
                                }
                     }
         loop2:      if(i==0)
                     {
                         i=16;
                         O_Y++;
                         if(O_Y==8)
                            {
                                 return;
                            }
                         else
                            {
                                 goto loop;
                            }
                     }
        }
/*************************************/
/*           西文写入函数            */
/*************************************/
CW_PR()
        {
           unsigned char j;
                j=para1;
                com=O_Y|0xb8;
                PR1();
                PR4();
                O_Y=j;
              if(O_X<O_Y)
                 {
                   com=O_X;
                   PR1();
                   O_Y=1;
                 }
              else
                 {
                   com=O_X-j;
                   PR4();
                   O_Y=0;
                 }
                 com=com&0x3f;
              for(count1=0;count1<8;count1++)
                 {
                   dat1=CHTAB[code_1][count1];
                      if(O_Y==1)
                         {
                            PR2();
                         }
                      else
                         {
                            PR5();
                         }
                            com++;
                      if(com==j)
                        {
                            if(O_X==1)
                               {
                                   com=0x40;
                                   PR4();
                                   O_Y=0;
                               }
                         else
                           {
                            return;
                           }
                        }
                 }
        }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -