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

📄 11-5.5.lst

📁 这是我大学4年来做过的竞赛以及老师的科研项目所积累下来的c51源代码
💻 LST
📖 第 1 页 / 共 3 页
字号:
 175          0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,
 176          0xFC,0xFC,0x38,0x70,0xE0,0xFC,0xFC,0x00,//N
 177          0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,
 178          0xF0,0xF8,0x0C,0x04,0x0C,0xF8,0xF0,0x00,//O
 179          0x03,0x07,0x0C,0x08,0x0C,0x07,0x03,0x00,
C51 COMPILER V7.09   11_5_5                                                                06/18/2004 09:33:22 PAGE 4   

 180          0x04,0xFC,0xFC,0x44,0x44,0x7C,0x38,0x00,//P
 181          0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00,
 182          0xF8,0xFC,0x04,0x04,0x04,0xFC,0xF8,0x00,//Q
 183          0x07,0x0F,0x08,0x0E,0x3C,0x3F,0x27,0x00,
 184          0x04,0xFC,0xFC,0x44,0xC4,0xFC,0x38,0x00,//R
 185          0x08,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00,
 186          0x18,0x3C,0x64,0x44,0xC4,0x9C,0x18,0x00,//S
 187          0x06,0x0E,0x08,0x08,0x08,0x0F,0x07,0x00,
 188          0x00,0x1C,0x0C,0xFC,0xFC,0x0C,0x1C,0x00,//T
 189          0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,
 190          0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00,//U
 191          0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,
 192          0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00,//V
 193          0x01,0x03,0x06,0x0C,0x06,0x03,0x01,0x00,
 194          0xFC,0xFC,0x00,0x80,0x00,0xFC,0xFC,0x00,//W
 195          0x03,0x0F,0x0E,0x03,0x0E,0x0F,0x03,0x00,
 196          0x0C,0x3C,0xF0,0xC0,0xF0,0x3C,0x0C,0x00,//X
 197          0x0C,0x0F,0x03,0x00,0x03,0x0F,0x0C,0x00,
 198          0x00,0x3C,0x7C,0xC0,0xC0,0x7C,0x3C,0x00,//Y
 199          0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,
 200          0x1C,0x0C,0x84,0xC4,0x64,0x3C,0x1C,0x00,//Z
 201          0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0E,0x00,
 202          0x80,0x80,0x80,0x80,0xe0,0xC0,0x80,0x00,//->0x5b(自定义显示字符) 
 203          0x01,0x01,0x01,0x01,0x07,0x03,0x01,0x00
 204          //0x5c开始可以加入其他的自定义字符
 205          };
 206          
 207          ////////////////////////////////////////////////////////////////////////////////
 208          //调用方式:void send_mi(uchar instuction)
 209          //函数说明:发指令instruction到主窗口(内函数,私有,用户不能直接调用)
 210          ////////////////////////////////////////////////////////////////////////////////
 211          void send_mi(uchar instruction)
 212          {  
 213   1              clr_E2();                   //关S    
 214   1          set_E1();                   //开M   
 215   1              wait_ready();
 216   1          clr_A0();                               //指令
 217   1          clr_WR();                               //写触发    
 218   1              NOP();
 219   1              lcd_data = instruction;     //指令码
 220   1              NOP();  
 221   1          clr_E1();                   //关M
 222   1      }
 223          
 224          ////////////////////////////////////////////////////////////////////////////////
 225          //调用方式:void OutMD(uchar i)
 226          //函数说明:发数据data到主窗口(内函数,私有,用户不能直接调用)
 227          ////////////////////////////////////////////////////////////////////////////////
 228          void send_md(uchar c)
 229          {
 230   1              clr_E2();                   //关S
 231   1          set_E1();                   //开M
 232   1              wait_ready();   
 233   1          set_A0();                               //数据
 234   1          clr_WR();                               //写触发    
 235   1          NOP();
 236   1          lcd_data = c;               //数据
 237   1          NOP();      
 238   1          clr_E1();                   //关M
 239   1      }
 240          
 241          ////////////////////////////////////////////////////////////////////////////////
C51 COMPILER V7.09   11_5_5                                                                06/18/2004 09:33:22 PAGE 5   

 242          //调用方式:void send_si(uchar instruction)
 243          //函数说明:发指令instruction到从窗口(内函数,私有,用户不能直接调用)
 244          ////////////////////////////////////////////////////////////////////////////////
 245          void send_si(uchar instruction)
 246          {     
 247   1              clr_E1();                   //关M
 248   1          set_E2();                   //开S
 249   1              wait_ready();         
 250   1          clr_A0();                               //指令
 251   1          clr_WR();                               //写触发    
 252   1              NOP();
 253   1          lcd_data=instruction;       //指令码
 254   1          NOP();      
 255   1          clr_E2();                   //关S
 256   1      }
 257          
 258          ////////////////////////////////////////////////////////////////////////////////
 259          //调用方式:void send_sd(uchar data)
 260          //函数说明:发数据data到从窗口(内函数,私有,用户不直接调用)
 261          ////////////////////////////////////////////////////////////////////////////////
 262          void send_sd(uchar c)
 263          {
 264   1              clr_E1();
 265   1          set_E2();           
 266   1              wait_ready();   
 267   1          set_A0();                                   //数据
 268   1          clr_WR();                               //写触发    
 269   1          lcd_data = c;
 270   1              NOP();
 271   1          clr_E2();
 272   1      }
 273          
 274          ////////////////////////////////////////////////////////////////////////////////
 275          //等待ready:等待LCD内部操作完成
 276          ////////////////////////////////////////////////////////////////////////////////
 277          void wait_ready(void)
 278          {
 279   1      //  DDRA = 0x00;                   //PA口输入
 280   1              clr_A0();                      //指令
 281   1              set_WR();                      //读
 282   1              NOP();                           
 283   1              while(lcd_data & status_busy); //读入LCD状态,1=忙,一直等待LCD内部操作完成
 284   1      //      DDRA = 0xff;                   //重新置PA口输出
 285   1      }
 286          
 287          ////////////////////////////////////////////////////////////////////////////////
 288          //调用方式:void lcd_init(void)
 289          //函数说明:122x32LCD初始化,开机后仅调用一次
 290          ////////////////////////////////////////////////////////////////////////////////
 291          void lcd_init(void)
 292          {
 293   1          send_mi(reset);                                             //复位m-left,s-right
 294   1              send_si(reset);
 295   1      
 296   1          send_mi(disp_off);                                  //关闭显示
 297   1              send_si(disp_off);
 298   1      
 299   1          send_mi(dynamic_driver);                    //动态驱动
 300   1              send_si(dynamic_driver);
 301   1      
 302   1          send_mi(clk32);                                 //1/32占空比
 303   1              send_si(clk32);
C51 COMPILER V7.09   11_5_5                                                                06/18/2004 09:33:22 PAGE 6   

 304   1      
 305   1          send_mi(adc_select);                                //clockwise
 306   1              send_si(adc_select);
 307   1      
 308   1          send_mi(mode_write);                                //写模式
 309   1              send_si(mode_write);
 310   1          
 311   1          send_mi(col_addr_set);
 312   1              send_mi(disp_start_line);                       //归回零列,设定显示起始行首
 313   1          send_si(col_addr_set);
 314   1              send_si(disp_start_line);
 315   1          
 316   1          send_mi(disp_on);                   //开显示
 317   1              send_si(disp_on);  
 318   1      }
 319          
 320          ////////////////////////////////////////////////////////////////////////////////
 321          //调用方式:void lcd_clr(void)
 322          //函数说明:清屏
 323          ////////////////////////////////////////////////////////////////////////////////
 324          void lcd_clr(void)
 325          {
 326   1          uchar i, page;
 327   1              for (page=0;page<4;page++)
 328   1          {
 329   2              send_mi(page_addr_set|page);
 330   2                      send_si(page_addr_set|page);
 331   2              send_mi(0);                     //主窗口设置为0列
 332   2                      send_si(0);                     //从窗口设置为0列               
 333   2              for (i=0;i<62;i++)
 334   2              {
 335   3                      send_md(0x00);
 336   3                              send_sd(0x00);
 337   3                      }
 338   2          }
 339   1      }     
 340          
 341          ////////////////////////////////////////////////////////////////////////////////
 342          //调用方式:void set_page(uchar page)
 343          //函数说明:同时设置主(右)从(左)显示页为0-3页
 344          ////////////////////////////////////////////////////////////////////////////////
 345          void set_page(uchar page)
 346          {
 347   1          send_mi(page_addr_set|page);
 348   1          send_si(page_addr_set|page);
 349   1      }
 350          
 351          ////////////////////////////////////////////////////////////////////////////////
 352          //调用方式:void SetAddress(uchar address)
 353          //函数说明:同时设置主(右)从(左)列地址为0-61列
 354          ////////////////////////////////////////////////////////////////////////////////
 355          void set_address(uchar address)

⌨️ 快捷键说明

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