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

📄 lcd.lst

📁 不带字库的edm12864p
💻 LST
📖 第 1 页 / 共 2 页
字号:
 196   2          } 
 197   1      }
 198          void outhz22(uchar *p1,uchar x1,uchar y1)         //取数送显示(波形)
 199          {
 200   1          unsigned rr10,rr11,rr15;
 201   1          for(rr10=4;rr10>0;rr10--)
 202   1          {     
 203   2              rr11=y1+0x40;
 204   2              WRI(rr11);
 205   2              rr11=x1+0xB9;
 206   2              WRI(rr11);
 207   2                      for(rr15=64;rr15>0;rr15--)
 208   2              {
 209   3                  rr11=*p1;
 210   3                  WRD(rr11);
 211   3                  delay1();
 212   3                  p1++;
 213   3                      }
 214   2                  x1++;
 215   2          }
 216   1          rr11=0xC0;
 217   1          WRI(rr11);
 218   1          rr11=0x3F;
 219   1          WRI(rr11);
 220   1          rr10=5;
 221   1          for(rr10=5;rr10>0;rr10--)
 222   1          {
 223   2              delay3();
 224   2          } 
 225   1      }
 226          void outhz1(uchar (*p2)[16],uchar x2,uchar y2)        //取数送显示(频率值)
 227          {
 228   1          uchar rr20,rr21,rr25;
 229   1          for(rr20=2;rr20>0;rr20--)
 230   1          {     
 231   2                rr21=y2+0x40;
 232   2                WRI(rr21);
 233   2                rr21=x2+0xB9;
 234   2                WRI(rr21);
 235   2                    while(KK2<3)
 236   2                        {
 237   3                                for(rr25=8;rr25>0;rr25--)
 238   3                    {
 239   4                                        rr21=*(*(p2+KK2)+LL2);
 240   4                        WRD(rr21);
 241   4                        delay1();
C51 COMPILER V7.50   LCD                                                                   08/17/2007 14:21:05 PAGE 5   

 242   4                        LL2++; 
 243   4                                }
 244   3                    break;                           
 245   3                        }                                                                            
 246   2                  x2++;                                                                         
 247   2          }
 248   1              LL2=0;KK2++;
 249   1          rr21=0xC0;
 250   1          WRI(rr21);
 251   1          rr21=0x3F;
 252   1          WRI(rr21);
 253   1          rr20=5;
 254   1          for(rr20=5;rr20>0;rr20--)
 255   1          {
 256   2              delay3();
 257   2          } 
 258   1      }
 259          void LCD(unsigned int flag)          //LCD显示子程序
 260          {
 261   1               uchar xy[9][2]={{0,4},{0,24},{0,44},{5,8},{5,30},{5,50},{5,1},{5,9},{5,18}};  //页,列地址
 262   1               _nop_();
 263   1               P2_2=0;
 264   1               _nop_();     
 265   1               P2_5=0;       //复位
 266   1               delay1();  
 267   1               P2_5=1;             
 268   1               clear();      //清屏
 269   1               delay2();
 270   1               P2_4=0;       //开左屏
 271   1               P2_3=1;
 272   1               rr=0xC0;      //设置显示起时行
 273   1               WRI(rr);
 274   1               for(I=0;I<5;I++)      //显示汉字
 275   1                       {
 276   2                       X=xy[I][0];
 277   2                       Y=xy[I][1];
 278   2                       PP=HZI11;
 279   2                       outhz11(PP,X,Y);
 280   2                       }
 281   1             P2_4=1;       //开右屏
 282   1             P2_3=0;
 283   1             rr=0xC0;      
 284   1             WRI(rr);
 285   1             X=0;          //显示波形
 286   1             Y=0;
 287   1             Q=HZI22;
 288   1             outhz22(Q,X,Y);
 289   1             P2_4=0;       //开左屏
 290   1             P2_3=1;
 291   1             rr=0xC0;
 292   1             WRI(rr);
 293   1             if(flag==0)
 294   1             {
 295   2                     for(I=5;I<7;I++)         //显示":0"
 296   2                         {
 297   3                        X=xy[I][0];
 298   3                    Y=xy[I][1];
 299   3                    QQ=HZI0;
 300   3                    outhz0(QQ,X,Y);
 301   3                            P2_4=1;
 302   3                    P2_3=0;
 303   3                    rr=0xC0;
C51 COMPILER V7.50   LCD                                                                   08/17/2007 14:21:05 PAGE 6   

 304   3                    WRI(rr);
 305   3                         }
 306   2             }
 307   1             else
 308   1             {   
 309   2                 X=xy[5][0];              //显示":"
 310   2                 Y=xy[5][1];
 311   2                 QQ=HZI0;
 312   2                 outhz0(QQ,X,Y);
 313   2                 P2_4=1;                  //开右屏
 314   2                 P2_3=0;
 315   2                 rr=0xC0;
 316   2                 WRI(rr);
 317   2                 switch(flag)
 318   2                 {
 319   3                      case 1: for(I=6;I<9;I++)        //显示"100"
 320   3                                      {
 321   4                                  X=xy[I][0];
 322   4                                      Y=xy[I][1];
 323   4                                      QQ=HZI1;
 324   4                                      outhz1(QQ,X,Y);
 325   4                                      }
 326   3                                  break;
 327   3                      case 2:for(I=6;I<9;I++)        //显示"200"
 328   3                                     {
 329   4                                 X=xy[I][0];
 330   4                                     Y=xy[I][1];
 331   4                                     QQ=HZI2;
 332   4                                     outhz1(QQ,X,Y);
 333   4                                     }
 334   3                                 break;
 335   3                      case 3:for(I=6;I<9;I++)        //显示"300"
 336   3                                     {
 337   4                                 X=xy[I][0];
 338   4                                     Y=xy[I][1];
 339   4                                     QQ=HZI3;
 340   4                                     outhz1(QQ,X,Y);
 341   4                                     }
 342   3                                 break;
 343   3                     }
 344   2             }
 345   1      }
 346          void delay0(unsigned int d_time)      //复位延时
 347          {
 348   1         for(;d_time>0;d_time--);
 349   1      }
 350          void main(void)            //主函数
 351          {
 352   1          P1_0=0;                //P1^0口复位
 353   1          delay0(10);
 354   1          P1_0=1;
 355   1          P1_1=0;P1_2=0;         //方波输出
 356   1              LCD(flag3);            //LCD初始化显示
 357   1          IE=0x81;               //外部中断0开中断
 358   1          IT0=0;                 //外部中断0低电平触发
 359   1          while(1)               
 360   1          {
 361   2                    if(flag2)        //有中断
 362   2                    {
 363   3                       F=F+20;       //送0832步进数字量
 364   3                   key=F;
 365   3                               delay2();     
C51 COMPILER V7.50   LCD                                                                   08/17/2007 14:21:05 PAGE 7   

 366   3                               switch(flag3) //有步进
 367   3                               {
 368   4                               case 1:LCD(flag3);break;  //显示:100
 369   4                               case 2:LCD(flag3);break;  //显示:200
 370   4                               case 3:LCD(flag3);break;  //显示:300
 371   4                               }
 372   3                               flag2=0;      //清中断标志
 373   3                           IE=0x81;      //开中断
 374   3                        }
 375   2               }
 376   1      }
 377          void step(void)interrupt 0     //外部中断0(步进中断)
 378          {
 379   1          flag2=1;                   //置标志
 380   1              while(flag3==4)            //本程序只加入三个步进值
 381   1                flag3=0;
 382   1              flag3++;         //计步进次数
 383   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1177    ----
   CONSTANT SIZE    =    610    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     27      48
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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