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

📄 12864_main.lst

📁 用单片机实现LCD显示字符和图形
💻 LST
📖 第 1 页 / 共 2 页
字号:
 174          //----------------P1.2用求余的方法来选择T1,T2,T3,T4----------*/
 175           void  Key_read ()
 176                  {
 177   1              P1=0XFF;
 178   1              //delay_nms(10);
 179   1              if(key_set==0)    //------------选择T判断条件-----
C51 COMPILER V7.09   12864_MAIN                                                            04/14/2009 09:36:31 PAGE 4   

 180   1              {
 181   2              //LCD_write_string(14,1,set);
 182   2      
 183   2              select_t++;
 184   2              delay_nms(10);
 185   2              if(select_t>4)   select_t=1;
 186   2      
 187   2              }
 188   1      //-------t1,t2,3,t4,递增条件P1=0XFE----------------------------------
 189   1      
 190   1      
 191   1              if((key_add==0)&&(select_t==1))   
 192   1                      {/*
 193   2                      LCD_write_string(6,1,clr_set);
 194   2                      LCD_write_string(14,0,clr_set);
 195   2                      LCD_write_string(14,1,clr_set);
 196   2                      delay_nus(5);*/
 197   2      //              LCD_write_string(6,0,set);
 198   2                      //delay_nus(5);
 199   2      //              total_t[0]++;
 200   2                      RxBuf[0]++;
 201   2      
 202   2      
 203   2                      //readI2c(0)++;
 204   2                      key_flag=1;             
 205   2                       }
 206   1              else if ((key_add==0)&&(select_t==2)) 
 207   1                      {/*
 208   2                      LCD_write_string(6,0,clr_set);
 209   2                      LCD_write_string(14,0,clr_set);
 210   2                      LCD_write_string(14,1,clr_set);
 211   2                      delay_nus(5);*/
 212   2      //              LCD_write_string(6,1,set);
 213   2                      //delay_nus(5);
 214   2      //              total_t[1]=50;
 215   2                      RxBuf[2]++;
 216   2      
 217   2                      key_flag=1;
 218   2                       }
 219   1              else if ((key_add==0)&&(select_t==3)) 
 220   1                      {/*
 221   2                      LCD_write_string(6,0,clr_set);
 222   2                      LCD_write_string(6,1,clr_set);
 223   2                      LCD_write_string(14,1,clr_set);
 224   2                      delay_nus(5);*/
 225   2      //              LCD_write_string(14,0,set);
 226   2                      //delay_nus(5);
 227   2      //              total_t[2]++;
 228   2                      RxBuf[4]++;
 229   2                      key_flag=1;
 230   2                       }
 231   1              else if ((key_add==0)&&(select_t==4)) 
 232   1                      { /*
 233   2                      LCD_write_string(6,0,clr_set);
 234   2                      LCD_write_string(14,0,clr_set);
 235   2                      LCD_write_string(6,1,clr_set);          
 236   2                      delay_nus(5);*/
 237   2      //              LCD_write_string(14,1,set);
 238   2                      //delay_nus(5);
 239   2      //              total_t[3]=50;
 240   2      
 241   2                      RxBuf[6]++;
C51 COMPILER V7.09   12864_MAIN                                                            04/14/2009 09:36:31 PAGE 5   

 242   2                      key_flag=1;
 243   2                       }
 244   1      //-------t1,t2,3,t4,递减条件P1=0XFE----------------------------------
 245   1              if((key_dec==0)&&(select_t==1))   
 246   1                      {/*
 247   2                      LCD_write_string(6,1,clr_set);
 248   2                      LCD_write_string(14,0,clr_set);
 249   2                      LCD_write_string(14,1,clr_set);
 250   2                      delay_nus(5); */
 251   2      //              LCD_write_string(6,0,set);
 252   2                      //delay_nus(5);
 253   2      //              total_t[0]--;
 254   2                      RxBuf[0]--;
 255   2                      key_flag=1;
 256   2                       }
 257   1              else if ((key_dec==0)&&(select_t==2)) 
 258   1                      { /*
 259   2                      LCD_write_string(6,0,clr_set);
 260   2                      LCD_write_string(14,0,clr_set);
 261   2                      LCD_write_string(14,1,clr_set);
 262   2                      delay_nus(5);*/
 263   2      //              LCD_write_string(6,1,set);
 264   2                      //delay_nus(5);
 265   2      //              total_t[1]=50;
 266   2                      RxBuf[2]--;
 267   2                      key_flag=1;
 268   2                       }
 269   1              else if ((key_dec==0)&&(select_t%5==3)) 
 270   1                      { /*
 271   2                      LCD_write_string(6,0,clr_set);
 272   2                      LCD_write_string(6,1,clr_set);
 273   2                      LCD_write_string(14,1,clr_set);
 274   2                      delay_nus(5);*/
 275   2      //              LCD_write_string(14,0,set);
 276   2                      //delay_nus(5);
 277   2      //              total_t[2]--;
 278   2                      RxBuf[4]--;
 279   2                      key_flag=1;
 280   2                       }
 281   1              else if ((key_dec==0)&&(select_t%5==4)) 
 282   1                      { /*
 283   2                      LCD_write_string(6,0,clr_set);
 284   2                      LCD_write_string(14,0,clr_set);
 285   2                      LCD_write_string(6,1,clr_set);          
 286   2                      delay_nus(5);  */
 287   2      //              LCD_write_string(14,1,set);
 288   2                      //delay_nus(5);
 289   2      //              total_t[3]=50;
 290   2                      RxBuf[6]--;
 291   2                      key_flag=1;
 292   2                       }
 293   1              } 
 294          
 295          //------------------------T0定时器初始化函数-----------------------------
 296          void T0Initial ()
 297          {
 298   1              TMOD |= 0x01;
 299   1               TH0=0x3c;
 300   1               TL0=0xb0;
 301   1               IE |= 0x82;
 302   1               TR0=1;
 303   1      }
C51 COMPILER V7.09   12864_MAIN                                                            04/14/2009 09:36:31 PAGE 6   

 304          
 305          //-------------------------T0定时中断服务子函数---------------------------
 306          void to_int() interrupt 1 using 0
 307          {
 308   1           TH0=0x3c;
 309   1               TL0=0xb0;
 310   1               cnt--;
 311   1               
 312   1               if(cnt==0)
 313   1                  {
 314   2       //                cnt=20;            //--1s
 315   2                cnt=100;                        //--每5秒发送一次数据
 316   2                         if(send_flag==1)
 317   2                         {
 318   3                               TI=1;                   //----发送数据
 319   3                               a++;
 320   3      //-----------------------------------------------------------------------------------
 321   3                              if(a>10)                 //----发送数据的次数,根据实际情况修改
 322   3      //------------------------------------------------------------------------------------
 323   3                                {
 324   4                                      a=0;
 325   4      /*                              TI=0;                --如果需要发送有限次,可在此处修改
 326   4                                      send_flag=0;
 327   4      */
 328   4                                }
 329   3                         }
 330   2                      
 331   2              }
 332   1      }
 333          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1104    ----
   CONSTANT SIZE    =     56    ----
   XDATA SIZE       =    140    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     71       4
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
   EDATA SIZE       =   ----    ----
   HDATA SIZE       =   ----    ----
   XDATA CONST SIZE =   ----    ----
   FAR CONST SIZE   =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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