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

📄 main.lst

📁 是单片机上液晶显示程序:带中文字库的LM3033:控制器是ST7920
💻 LST
📖 第 1 页 / 共 2 页
字号:
 194           {
 195   1          delay(100);
 196   1          write_comand(0x30);                   //8并,基本指令
 197   1              delay(10);
 198   1          write_comand(0x30);                  //8并,
 199   1          delay(5);
 200   1      
 201   1          // write_comand(0x0c);                  //整体显示开,游标关不反白
 202   1         //  write_comand(0x0d);                  //整体显示开,游标关反白
 203   1          write_comand(0x0f);                  //整体显示开,游标开反白
 204   1              delay(10);
 205   1      
 206   1          write_comand(0x01);                  //清屏
 207   1              delay(5);
 208   1      
 209   1              write_comand(0x06);                  //游标移动方向及地址AC的增减方式
 210   1        
 211   1       }
 212          /***********************************************************************
 213          函数原型:stringdisp(unsigned char code *str,unsigned char adress)
 214          入口参数:
 215                        str:要写入lcd显示的字符串数组
 216                            adress :要设定字符串在液晶显示中地址
 217          出口参数:无
 218          返回值:  无
 219          功能说明:LCD液晶的字符串显示子程序
 220          ************************************************************************/
 221          ///////////////////////////字符串显示////////////////////////////////////
 222          
 223          void  stringdisp(unsigned char code *str,unsigned char adress)       //字符串显示
 224            {
 225   1          write_comand(0x30);
 226   1          write_comand(adress);
 227   1          while(*str>0)
 228   1           {
 229   2            write_data(*str) ;
 230   2            str++;
 231   2            delay(1);
 232   2            }
 233   1         }
 234           
 235           ////////////////////////
 236          
 237          /*
C51 COMPILER V8.02   MAIN                                                                  03/31/2009 11:48:53 PAGE 5   

 238           void  data_disp(unsigned int disp_data,unsigned char adress)       //数字显示
 239                                              //此处disp_data类型改变***************************
 240            {
 241              unsigned char   data_code[10]={'0','1','2','3','4','5','6','7','8','9'};
 242              unsigned char   data_every[3]={0,0,0};
 243              unsigned char   disp_data_code[5]={'H',0,'.',0,0,};
 244              unsigned char     i;
 245              unsigned int  every_data;
 246              for(i=0;i<3;i++)
 247               {
 248                 every_data=disp_data%10;
 249                 disp_data=disp_data/10;
 250                 if(i==0)
 251                 {
 252                 data_every[i]=every_data;
 253                 disp_data_code[i+1]=data_code[every_data];
 254                  }
 255                 else
 256                 {
 257                 data_every[i]=every_data;
 258                 disp_data_code[i+2]=data_code[every_data];
 259                  }
 260                 }
 261          
 262          
 263          
 264               i=2;
 265              while(data_every[i]==0)
 266               {
 267                i--;
 268                }
 269                i+=3;
 270          
 271              write_comand(0x30);
 272              write_comand(adress);
 273          
 274          
 275             while(i>=1)
 276              {
 277               i--;
 278              write_data(disp_data_code[i]) ;
 279          
 280              delay(1);
 281             }
 282           }      */              
 283           /////////////clear_string//////////////////////////  此处未用到,可适当增减
 284          /* void string_clear(unsigned char space_data,adress)
 285          {
 286            unsigned char space=' ' ;
 287           write_comand(0x30);
 288            write_comand(adress);
 289            while(space_data>0)
 290            {
 291          
 292             write_data(space) ;
 293             space_data--;
 294             delay(1);
 295            }
 296            }  */
 297           
 298          /***********************************************************************
 299          函数原型:void disp_graph()
C51 COMPILER V8.02   MAIN                                                                  03/31/2009 11:48:53 PAGE 6   

 300          入口参数:
 301                    无
 302          出口参数:无
 303          返回值:  无
 304          功能说明:教室节能灯控登陆界面显示子程序
 305          ************************************************************************/
 306          ///////////////////////////系统登陆界面///////////////////////////////////
 307           void disp_graph()
 308            {
 309   1          lcd_init();
 310   1          stringdisp(&str,0x80);       //////总界面:教室灯控系统////////
 311   1              delay(100);
 312   1          stringdisp(&str1,0x88);     //////总界面:登陆界面////////////
 313   1              delay(100);             
 314   1      //      stringdisp(&str2,0x88);     //////总界面:设置界面////////////
 315   1      //    delay(100);       
 316   1          write_comand(0x8f);
 317   1      
 318   1      
 319   1      //      write_comand(0x34);                     ////设置为全反白显示
 320   1         //   write_comand(0x05);
 321   1           }
 322          /***********************************************************************
 323          函数原型:void disp_graph_password()
 324          入口参数:
 325                    无
 326          出口参数:无
 327          返回值:  无
 328          功能说明:教室节能灯控密码输入显示子程序
 329          ************************************************************************/
 330          ///////////////////////////密码输入界面///////////////////////////////////
 331           void disp_graph_password()
 332            {
 333   1          lcd_init();
 334   1          stringdisp(&str_password1,0x80);       //////密码输入:请输设置密码////////
 335   1              delay(100);
 336   1          stringdisp(&str_password2,0x90);     //////总界面:登陆系统////////////
 337   1          delay(100);
 338   1              stringdisp(&str_password3,0x88); 
 339   1              delay(100); 
 340   1              stringdisp(&str_password4,0x98); 
 341   1               
 342   1              write_comand(0x98);             
 343   1      
 344   1         //   write_data('A');
 345   1        //  write_comand(0x9f);
 346   1              
 347   1      
 348   1              //write_comand(0x34);                   ////设置为全反白显示
 349   1              //write_comand(0x05);
 350   1           }
 351          
 352           /// ****************************************////
 353           /***********************************************************************
 354          函数原型:void disp_graph_set()
 355          入口参数:
 356                    无
 357          出口参数:无
 358          返回值:  无
 359          功能说明:教室节能灯控设置总界面显示子程序
 360          ************************************************************************/
 361          ///////////////////////////设置总界面///////////////////////////////////
C51 COMPILER V8.02   MAIN                                                                  03/31/2009 11:48:53 PAGE 7   

 362           void disp_graph_set()
 363            {
 364   1          lcd_init();
 365   1          stringdisp(&str_set1,0x80);     ///////设置总界面////////
 366   1              delay(100);
 367   1          stringdisp(&str_set2,0x90);     //////设置总界面:密码设置////////////
 368   1          delay(100);                                         
 369   1              stringdisp(&str_set3,0x88);     //////设置总界面:时钟时间设置///////////
 370   1              delay(100); 
 371   1              stringdisp(&str_set4,0x98);     //////设置总界面:定时时间设置///////////
 372   1               
 373   1              write_comand(0x9f);             
 374   1      
 375   1         //   write_data('A');
 376   1        //  write_comand(0x9f);
 377   1              
 378   1      
 379   1              //write_comand(0x34);                   ////设置为全反白显示
 380   1              //write_comand(0x05);
 381   1           }
 382          
 383           /// ****************************************////


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    385    ----
   CONSTANT SIZE    =    178    ----
   XDATA SIZE       =   ----       4
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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