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

📄 main.lst

📁 信号发生器界面菜单程序,有串和并口两种源程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
 191   1       {
 192   2        if(lcd_y>2)
 193   2        {
 194   3         xx=lcd_x+0x87;
 195   3         yy=((lcd_y-3)<<4)+0x80;
 196   3        }
 197   2        else
 198   2        {
 199   3         xx=lcd_x+0x7f;
 200   3         yy=((lcd_y-1)<<4)+0x80;
 201   3        }
 202   2       //--------------------反白选中区域----------------------------
 203   2        lcd_write_ins(0x36);              //扩展指令模式,形图开关开
 204   2        for (i=0;i<16;i++)           //一行处理显示
 205   2        {
 206   3        lcd_write_ins(yy++);lcd_write_ins(xx);
 207   3         for (j=0;j<width;j++)
 208   3         { lcd_write_da(0xff);}
 209   3        }
 210   2        lcd_write_ins(0x30);              //基本指令模式
 211   2       }
 212   1      }
 213          //----------------------------------------------lcd初始化
 214          void lcd_begin(void)
 215          {
 216   1      lcd_delay();
 217   1      lcd_write_ins(0x30);
 218   1      lcd_write_ins(0x08);
 219   1      lcd_write_ins(0x0e);
 220   1      lcd_write_ins(0x01);
 221   1      lcd_write_ins(0x06);
 222   1      }
 223          /********************************以下为键盘子程序*******************************************/
 224               void key_delay(void)                        //按键延时15ms
 225               {
 226   1            uchar i; uint j;
 227   1                for(i=0;i<50;i++)
 228   1                {
 229   2                 for(j=0;j<2000;j++)
 230   2                 {
 231   3                  _nop_();
 232   3                 }
 233   2                }
 234   1           }
 235          //-----------------------------------------按键功能;
 236               void key_1(void){line[p++]='1';lcd_write_da('1');}
 237                   void key_2(void){line[p++]='2';lcd_write_da('2');}
 238                   void key_3(void){line[p++]='3';lcd_write_da('3');}
 239                   void key_4(void){line[p++]='4';lcd_write_da('4');}
 240                   void key_5(void){line[p++]='5';lcd_write_da('5');}
C51 COMPILER V7.20   MAIN                                                                  09/10/2005 16:29:02 PAGE 5   

 241                   void key_6(void){line[p++]='6';lcd_write_da('6');}
 242                   void key_7(void){line[p++]='7';lcd_write_da('7');}
 243                   void key_8(void){line[p++]='8';lcd_write_da('8');}
 244                   void key_9(void){line[p++]='9';lcd_write_da('9');}
 245                   void key_0(void){line[p++]='0';lcd_write_da('0');}
 246                   void key_up(void)
 247                   {
 248   1                lcd_write_ins(0x0c);
 249   1                up_down=up_down-1;
 250   1                if(up_down==0){up_down=4;}
 251   1                switch(up_down)
 252   1                {
 253   2                 case 1:{fan(1,1,16);}break;
 254   2                 case 2:{fan(1,2,16);}break;
 255   2                 case 3:{fan(1,3,16);}break;
 256   2                 case 4:{fan(1,4,16);}break;
 257   2             default:{}
 258   2                }
 259   1      
 260   1      
 261   1               }
 262                   void key_point(void){line[p++]='.';lcd_write_da('.');}
 263                   void key_13(void){}
 264                   void key_right(void){}
 265                   void key_enter(void)
 266                   {
 267   1                 if(up_down==1)
 268   1                 {
 269   2                 all=all+1;
 270   2                 if(all==3)all=1;
 271   2                 switch (all)
 272   2                 {
 273   3                  case 1:
 274   3                         main_make=0;
 275   3                         lcd_write_ins(0x01);
 276   3                         lcd_show(1,1,fre_mode_tab1);
 277   3                         lcd_show(1,2,fre_mode_tab2);
 278   3                         lcd_show(1,3,fre_mode_tab3);
 279   3                         lcd_show(1,4,fre_mode_tab4);
 280   3                         lcd_write_ins(0x98);break;
 281   3                  case 2:
 282   3                         send_fre_data();break;
 283   3                  default:{}
 284   3                 }
 285   2                 }
 286   1                 else if(up_down==2)
 287   1                 {
 288   2                  lcd_write_ins(0x01);
 289   2                  lcd_show(1,1,am_mode_tab1);
 290   2                  lcd_show(1,2,am_mode_tab2);
 291   2                  lcd_write_ins(0x88);
 292   2                 }
 293   1                 else if(up_down==3)
 294   1                 {
 295   2                 lcd_write_ins(0x01);
 296   2                 lcd_show(1,1,pa_sk_mode_tab1);
 297   2                 lcd_show(1,2,pa_sk_mode_tab2);
 298   2                         lcd_show(1,3,pa_sk_mode_tab3);
 299   2                 lcd_write_ins(0x98);
 300   2                 }
 301   1                 else if(up_down==4)
 302   1                 {
C51 COMPILER V7.20   MAIN                                                                  09/10/2005 16:29:02 PAGE 6   

 303   2                 lcd_write_ins(0x01);
 304   2                 lcd_show(1,1,fm_mode_tab1);
 305   2                         lcd_show(1,2,fm_mode_tab2);
 306   2                         lcd_show(1,3,fm_mode_tab3);
 307   2                         lcd_show(1,4,fm_mode_tab4);
 308   2                 lcd_write_ins(0x98);
 309   2                 }
 310   1               }
 311                   void key_left(void){}
 312                   void key_17(void){}
 313                   void key_18(void){}
 314                   void key_down(void)
 315                   {
 316   1                lcd_write_ins(0x0c);
 317   1                up_down=up_down+1;
 318   1                if(up_down==5){up_down=1;}
 319   1                switch(up_down)
 320   1                {
 321   2                 case 1:{fan(1,1,16);}break;
 322   2                 case 2:{fan(1,2,16);}break;
 323   2                 case 3:{fan(1,3,16);}break;
 324   2                 case 4:{fan(1,4,16);}break;
 325   2             default:{}
 326   2                }
 327   1               }
 328                   void key_return(void)
 329                   {
 330   1                lcd_write_ins(0x01);
 331   1                lcd_show(1,1,fre);
 332   1                lcd_show(1,2,am);
 333   1                lcd_show(1,3,pa_sk);
 334   1                lcd_show(1,4,fm);
 335   1                fan(1,up_down,16);
 336   1                main_make=1;
 337   1               }
 338          //-------------------------------------------按键辩别;
 339               void argue(uchar num)
 340                   {
 341   1                 if(num!=0xff)
 342   1                 {
 343   2                   switch(num)
 344   2                       {
 345   3                         case 1:{key_1();}break;
 346   3                         case 2:{key_2();}break;
 347   3                         case 3:{key_3();}break;
 348   3                         case 4:{key_4();}break;
 349   3                         case 5:{key_5();}break;
 350   3                         case 6:{key_6();}break;
 351   3                         case 7:{key_7();}break;
 352   3                         case 8:{key_8();}break;
 353   3                         case 9:{key_9();}break;
 354   3                         case 10:{key_0();}break;
 355   3                         case 11:{key_up();}break;
 356   3                         case 12:{key_point();}break;
 357   3                         case 13:{key_13();}break;
 358   3                         case 14:{key_right();}break;
 359   3                         case 15:{key_enter();}break;
 360   3                         case 16:{key_left();}break;
 361   3                         case 17:{key_17();}break;
 362   3                         case 18:{key_18();}break;
 363   3                         case 19:{key_down();}break;
 364   3                         case 20:{key_return();}break;
C51 COMPILER V7.20   MAIN                                                                  09/10/2005 16:29:02 PAGE 7   

 365   3                         default:{}
 366   3                       }
 367   2                 }
 368   1               }
 369          //-------------------------------------------------按键扫描;
 370               uchar first_line(void)              //扫描第一行;
 371                   {
 372   1                 if(key_port0|key_port1==0)        {key_delay();return(1);}
 373   1                   else if(key_port0|key_port2==0) {key_delay();return(2);}
 374   1                   else if(key_port0|key_port3==0) {key_delay();return(3);}
 375   1                   else if(key_port0|key_port4==0) {key_delay();return(4);}
 376   1                   else return(0xff);
 377   1           }
 378                   uchar second_line(void)             //扫描第二行;
 379                   {
 380   1             if(key_port1|key_port0==0)        {key_delay();return(5);}
 381   1                   else if(key_port1|key_port2==0) {key_delay();return(6);}
 382   1                   else if(key_port1|key_port3==0) {key_delay();return(7);}
 383   1                   else if(key_port1|key_port4==0) {key_delay();return(8);}
 384   1                   else return(0xff);
 385   1               }
 386                   uchar third_line(void)              //扫描第三行;
 387                   {
 388   1                 if(key_port2| key_port0==0)       {key_delay();return(9);}
 389   1                   else if(key_port2|key_port1==0) {key_delay();return(10);}
 390   1                   else if(key_port2|key_port3==0) {key_delay();return(11);}

⌨️ 快捷键说明

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