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

📄 smc1602.lst

📁 Proteus实例集锦(包括电路图.仿真程序,各种各样的电路
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.05a   SMC1602                                                              08/08/2007 23:55:41 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE SMC1602
OBJECT MODULE PLACED IN SMC1602.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE source\SMC1602.c BROWSE INCDIR(.\include) DEBUG OBJECTEXTEND PRINT(.\SMC160
                    -2.lst) OBJECT(SMC1602.obj)

line level    source

   1          //*************************************************************************************************
   2          //*                                                                                                                                                                                               *
   3          //*             ***************************SMC1602驱动程序*************************                                *
   4          //*                                                                                                                                                                                               *
   5          //*************************************************************************************************
   6          
   7          
   8          //*************************************************************************************************
   9          //*                                                                                                                                                                                               *
  10          //*                      ******************************头文件及宏定义**************************                           *
  11          //*                                                                                                                                                                                               *
  12          //*************************************************************************************************
  13          #include <at89x51.h>
  14          
  15          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<端口设置宏定义>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  16          #define LCDRS P3_5                                                                 //寄存器选择信号:
  17                                                                                                             //           0--数据寄存器;
  18                                                                                                             //           1--指令寄存器。
  19          
  20          #define LCDRW P3_6                                                                 //读写信号:
  21                                                                                                             //           1--读LCD;
  22                                                                                                             //           0--写LCD。
  23          
  24          #define LCDE P3_7                                                                  //片选信号,当输入下降沿信号时,
  25                                                                                                             //执行指令或传送数据。
  26          
  27          #define LCDPORT P0                                                                 //LCD数据接口。
  28          
  29          
  30          
  31          //*************************************************************************************************
  32          //*                                                                                                                                                                                               *
  33          //*                      ******************************延时函数*****************************                              *
  34          //*                                                                                                                                                                                               *
  35          //*************************************************************************************************
  36          void vDelay()
  37          {
  38   1              unsigned int uiCount;
  39   1              for(uiCount=0;uiCount<250;uiCount++);
  40   1      }
  41          
  42          
  43          //*************************************************************************************************
  44          //*                                                                                                                                                                                               *
  45          //*                      **************************把1个命令写入LCD*************************                              *
  46          //*                                                                                                                                                                                               *
  47          //*************************************************************************************************
  48          void vWriteCMD(unsigned char ucCommand)                                   
  49          {
  50   1              vDelay();                               //先延时。
  51   1      
  52   1              LCDE=1;                                 //然后把LCD改为写入命令状态。
  53   1              LCDRS=0;
  54   1              LCDRW=0;
C51 COMPILER V8.05a   SMC1602                                                              08/08/2007 23:55:41 PAGE 2   

  55   1      
  56   1              LCDPORT=ucCommand;              //再输出命令。
  57   1      
  58   1              LCDE=0;                                 //最后执行命令。
  59   1      }
  60          
  61          
  62          //*************************************************************************************************
  63          //*                                                                                                                                                                                               *
  64          //*                      ***************************把1个数据写入LCD************************                              *
  65          //*                                                                                                                                                                                               *
  66          //*************************************************************************************************
  67          void vWriteData(unsigned char ucData)                                     
  68          {
  69   1              vDelay();                          //先延时。
  70   1      
  71   1              LCDE=1;                            //然后把LCD改为写入数据状态。
  72   1              LCDRS=1;
  73   1              LCDRW=0;
  74   1      
  75   1              LCDPORT=ucData;            //再输出数据。
  76   1      
  77   1              LCDE=0;                            //最后显示数据。
  78   1      }
  79          
  80          
  81          
  82          //*************************************************************************************************
  83          //*                                                                                                                                                                                               *
  84          //*                      **********************把1个字符显示到当前光标处*********************                             *
  85          //*                                                                                                                                                                                               *
  86          //*************************************************************************************************
  87          void vShowOneChar(unsigned char ucChar)
  88          {
  89   1              switch(ucChar)
  90   1                      {
  91   2                      case ' ': vWriteData(0x20);break;
  92   2                      case '!': vWriteData(0x21);break;
  93   2                      case '"': vWriteData(0x22);break;
  94   2                      case '#': vWriteData(0x23);break;
  95   2                      case '$': vWriteData(0x24);break;
  96   2                      case '%': vWriteData(0x25);break;
  97   2                      case '&': vWriteData(0x26);break;
  98   2                      case '>': vWriteData(0x27);break;
  99   2                      case '(': vWriteData(0x28);break;
 100   2                      case ')': vWriteData(0x29);break;
 101   2                      case '*': vWriteData(0x2A);break;
 102   2                      case '+': vWriteData(0x2B);break;
 103   2                      case '-': vWriteData(0x2D);break;
 104   2                      case '.': vWriteData(0x2E);break;
 105   2                      case '/': vWriteData(0x2F);break;
 106   2                      case '=': vWriteData(0x3D);break;
 107   2                      case '<': vWriteData(0x3E);break;
 108   2                      case '?': vWriteData(0x3F);break;
 109   2                      case '^': vWriteData(0x5E);break;
 110   2                      case ':': vWriteData(0x3A);break;
 111   2      
 112   2                      case '0': vWriteData(0x30);break;
 113   2                      case '1': vWriteData(0x31);break;

⌨️ 快捷键说明

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