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

📄 12232drivers.lst

📁 C51单片机一个小项目源程序:包含液晶12232驱动,AD7705驱动,按键扫描及单片机内部EEPROM的驱动,是一个比较值得参考的源程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.50   12232DRIVERS                                                          09/26/2007 17:19:04 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE 12232DRIVERS
OBJECT MODULE PLACED IN 12232Drivers.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE 12232Drivers.c LARGE BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "mylib.h"
   2          uchar dot_buffer[32];                                   //点阵缓存区
   3          struct data_gb16 code hz16[] = 
   4          {
   5          "向",
   6          0x00,0x00,0xFC,0x04,0x04,0xE6,0x25,0x24,0x24,0x24,0xE4,0x04,0x04,0xFC,0x00,0x00,
   7          0x00,0x00,0x7F,0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0x0F,0x20,0x40,0x3F,0x00,0x00,
   8          "盘",
   9          0x20,0x20,0xA0,0x7C,0x24,0x26,0x6D,0xB4,0x24,0x24,0x24,0xFC,0x20,0x20,0x20,0x00,
  10          0x44,0x42,0x41,0x7C,0x44,0x44,0x7C,0x45,0x44,0x7D,0x46,0x45,0x7C,0x40,0x40,0x00,
  11          "检",
  12          0x08,0x88,0x68,0xFF,0x28,0x48,0x10,0x48,0x44,0x43,0x44,0x48,0x50,0x10,0x10,0x00,
  13          0x02,0x01,0x00,0x7F,0x00,0x20,0x22,0x2C,0x21,0x2E,0x30,0x28,0x27,0x22,0x20,0x00,
  14          "仪",
  15          0x40,0x20,0xF0,0x0C,0x03,0x00,0x38,0xC0,0x01,0x0E,0x04,0xE0,0x1C,0x00,0x00,0x00,
  16          0x00,0x00,0xFF,0x00,0x40,0x40,0x20,0x10,0x0B,0x04,0x0B,0x10,0x20,0x60,0x20,0x00,
  17          "测",
  18          0x08,0x31,0x86,0x60,0x00,0xFE,0x02,0xF2,0x02,0xFE,0x00,0xF8,0x00,0x00,0xFF,0x00,
  19          0x04,0xFC,0x03,0x00,0x80,0x47,0x30,0x0F,0x10,0x67,0x00,0x07,0x40,0x80,0x7F,0x00,
  20          "正",
  21          0x00,0x02,0x02,0xC2,0x02,0x02,0x02,0x02,0xFE,0x82,0x82,0x82,0x82,0x82,0x02,0x00,
  22          0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x20,0x00,
  23          "常",
  24          0x20,0x18,0x08,0x09,0xEE,0xAA,0xA8,0xAF,0xA8,0xA8,0xEC,0x0B,0x2A,0x18,0x08,0x00,
  25          0x00,0x00,0x3E,0x02,0x02,0x02,0x02,0xFF,0x02,0x02,0x12,0x22,0x1E,0x00,0x00,0x00,
  26          "矩",
  27          0xA0,0x90,0x8F,0xF8,0x88,0x88,0x88,0x00,0xFE,0x22,0x22,0x22,0x22,0xE2,0x02,0x00,
  28          0x40,0x20,0x18,0x07,0x02,0x04,0x18,0x00,0x7F,0x42,0x42,0x42,0x42,0x47,0x40,0x00,
  29          "转",
  30          0xC8,0xA8,0x9C,0xEB,0x88,0x88,0x88,0x40,0x48,0xF8,0x4F,0x48,0x48,0x48,0x40,0x00,
  31          0x08,0x08,0x04,0xFF,0x04,0x04,0x00,0x02,0x0B,0x12,0x22,0xD2,0x0E,0x02,0x00,0x00,
  32          "角",
  33          0x00,0x40,0x20,0xF0,0x98,0x97,0x92,0x92,0xF2,0x92,0x9A,0x96,0x92,0xF0,0x00,0x00,
  34          0x00,0x80,0x60,0x1F,0x04,0x04,0x04,0x04,0xFF,0x04,0x04,0x44,0x84,0x7F,0x00,0x00,
  35          "欠",
  36          0x80,0x40,0x20,0x18,0x0F,0x0A,0x08,0xE8,0x08,0x08,0x48,0x28,0x18,0x08,0x00,0x00,
  37          0x40,0x40,0x20,0x20,0x10,0x0C,0x03,0x00,0x03,0x0C,0x10,0x30,0x60,0x20,0x20,0x00,
  38          "压",
  39          0x00,0x00,0xFE,0x02,0x42,0x42,0x42,0x42,0xFA,0x42,0x42,0x42,0x62,0x42,0x02,0x00,
  40          0x20,0x18,0x27,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x21,0x2E,0x24,0x20,0x20,0x00,
  41          "完",
  42          0x00,0x90,0x8C,0xA4,0xA4,0xA4,0xA5,0xA6,0xA4,0xA4,0xA4,0xA4,0x94,0x8C,0x04,0x00,
  43          0x00,0x80,0x40,0x20,0x18,0x07,0x00,0x00,0x00,0x3F,0x40,0x40,0x40,0x70,0x00,0x00,
  44          "成",
  45          0x00,0x00,0xF8,0x48,0x48,0x48,0xC8,0x08,0xFF,0x08,0x09,0x0A,0xC8,0x88,0x08,0x00,
  46          0x40,0x30,0x0F,0x00,0x08,0x50,0x4F,0x20,0x10,0x0B,0x0C,0x12,0x21,0x40,0xF0,0x00,
  47          "保",
  48          0x40,0x20,0xF8,0x17,0x82,0x80,0xBE,0xA2,0xA2,0xE2,0xA2,0xA2,0xBE,0x80,0x80,0x00,
  49          0x00,0x00,0x7F,0x00,0x20,0x10,0x08,0x06,0x01,0x7F,0x03,0x0C,0x18,0x30,0x10,0x00,
  50          "存",
  51          0x00,0x04,0x04,0xC4,0x64,0x1C,0x27,0x25,0x24,0x24,0xA4,0x64,0x24,0x04,0x00,0x00,
  52          0x04,0x02,0x01,0xFF,0x00,0x02,0x02,0x02,0x42,0x82,0x7F,0x02,0x02,0x02,0x02,0x00,
  53          "选",
  54          0x40,0x40,0x42,0xCC,0x00,0x50,0x4E,0xC8,0x48,0x7F,0xC8,0x48,0x48,0x40,0x00,0x00,
  55          0x00,0x40,0x20,0x1F,0x20,0x48,0x46,0x41,0x40,0x40,0x47,0x48,0x48,0x4E,0x40,0x00,
C51 COMPILER V7.50   12232DRIVERS                                                          09/26/2007 17:19:04 PAGE 2   

  56          "择",
  57          0x08,0x08,0xFF,0x88,0x48,0x08,0x42,0x46,0x2A,0xD2,0x2A,0x46,0x42,0x80,0x80,0x00,
  58          0x42,0x81,0x7F,0x00,0x00,0x08,0x09,0x09,0x09,0xFF,0x09,0x09,0x09,0x08,0x08,0x00,
  59          "定",
  60          0x00,0x10,0x0C,0xA4,0x24,0x24,0x25,0xE6,0x24,0x24,0x24,0x24,0x14,0x0C,0x04,0x00,
  61          0x40,0x20,0x18,0x07,0x08,0x10,0x20,0x7F,0x42,0x42,0x42,0x42,0x40,0x40,0x00,0x00,
  62          "检",
  63          0x08,0x88,0x68,0xFF,0x28,0x48,0x10,0x48,0x44,0x43,0x44,0x48,0x50,0x10,0x10,0x00,
  64          0x02,0x01,0x00,0x7F,0x00,0x20,0x22,0x2C,0x21,0x2E,0x30,0x28,0x27,0x22,0x20,0x00,
  65          "标",
  66          0x10,0x10,0xD0,0xFF,0x50,0x90,0x20,0x22,0x22,0x22,0xE2,0x22,0x22,0x22,0x20,0x00,
  67          0x04,0x03,0x00,0xFF,0x00,0x09,0x04,0x03,0x40,0x80,0x7F,0x00,0x01,0x06,0x1C,0x00,
  68          "电",
  69          0x00,0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,0x48,0x48,0x48,0x48,0xF8,0x00,0x00,0x00,
  70          0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0x3F,0x44,0x44,0x44,0x44,0x4F,0x40,0x70,0x00,
  71          "状",
  72          0x08,0x30,0x00,0xFF,0x20,0x20,0x20,0x20,0xFF,0x20,0xE1,0x26,0x2C,0x20,0x20,0x00,
  73          0x04,0x02,0x01,0xFF,0x40,0x20,0x18,0x07,0x00,0x00,0x03,0x0C,0x30,0x60,0x20,0x00,
  74          "态",
  75          0x00,0x04,0x04,0x04,0x84,0x44,0x34,0x4F,0x94,0x24,0x44,0x84,0x84,0x04,0x00,0x00,
  76          0x00,0x60,0x39,0x01,0x00,0x3C,0x40,0x42,0x4C,0x40,0x40,0x70,0x04,0x09,0x31,0x00,
  77          "与",
  78          0x00,0x00,0x00,0x00,0x7E,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0xCC,0x08,0x00,
  79          0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x24,0x46,0x44,0x20,0x1F,0x00,0x00,
  80          "上",
  81          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00,
  82          0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x40,0x40,0x60,0x40,0x00,
  83          "位",
  84          0x00,0xC0,0x30,0xEC,0x03,0x2A,0xC8,0x09,0x0A,0x0E,0x08,0xE8,0x48,0x08,0x00,0x00,
  85          0x01,0x00,0x00,0x7F,0x20,0x20,0x20,0x27,0x20,0x30,0x2E,0x21,0x20,0x20,0x20,0x00,
  86          "机",
  87          0x08,0x08,0xC8,0xFF,0x48,0x88,0x08,0x00,0xFE,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,
  88          0x04,0x03,0x00,0xFF,0x00,0x41,0x30,0x0C,0x03,0x00,0x00,0x00,0x3F,0x40,0x78,0x00,
  89          "通",
  90          0x40,0x41,0xC6,0x00,0x00,0xF2,0x52,0x52,0x56,0xFA,0x5A,0x56,0xF2,0x00,0x00,0x00,
  91          0x40,0x20,0x1F,0x20,0x40,0x5F,0x42,0x42,0x42,0x5F,0x4A,0x52,0x4F,0x40,0x40,0x00,
  92          "讯",
  93          0x20,0x21,0x2E,0xE4,0x00,0x42,0x42,0xFE,0x42,0x42,0x42,0x02,0xFE,0x00,0x00,0x00,
  94          0x00,0x00,0x00,0x7F,0x20,0x10,0x00,0x7F,0x00,0x00,0x00,0x00,0x3F,0x40,0x38,0x00
  95          
  96                  
  97          };
  98          void send_mi(uchar instruction)
  99          {  
 100   1              clr_E2();                   //关S    
 101   1          set_E1();                   //开M   
 102   1              wait_ready();
 103   1          clr_A0();                               //指令
 104   1          clr_WR();                               //写触发    
 105   1              NOP();
 106   1              lcd_data = instruction;     //指令码
 107   1              NOP();  
 108   1          clr_E1();                   //关M
 109   1      }
 110          
 111          void send_md(uchar c)
 112          {
 113   1              clr_E2();                   //关S
 114   1          set_E1();                   //开M
 115   1              wait_ready();   
 116   1          set_A0();                               //数据
 117   1          clr_WR();                               //写触发    
C51 COMPILER V7.50   12232DRIVERS                                                          09/26/2007 17:19:04 PAGE 3   

 118   1          NOP();
 119   1          lcd_data = c;               //数据
 120   1          NOP();      
 121   1          clr_E1();                   //关M
 122   1      }
 123          
 124          void send_si(uchar instruction)
 125          {     
 126   1              clr_E1();                   //关M
 127   1          set_E2();                   //开S
 128   1              wait_ready();         
 129   1          clr_A0();                               //指令
 130   1          clr_WR();                               //写触发    
 131   1              NOP();
 132   1          lcd_data=instruction;       //指令码
 133   1          NOP();      
 134   1          clr_E2();                   //关S
 135   1      }
 136          
 137          void send_sd(uchar c)
 138          {
 139   1              clr_E1();
 140   1          set_E2();           
 141   1              wait_ready();   
 142   1          set_A0();                                   //数据
 143   1          clr_WR();                               //写触发    
 144   1          lcd_data = c;
 145   1              NOP();
 146   1          clr_E2();
 147   1      }
 148          
 149          //等待ready:等待LCD内部操作完成
 150          
 151          void wait_ready(void)
 152          {
 153   1      //  DDRA = 0x00;                   //PA口输入
 154   1              clr_A0();                      //指令
 155   1              set_WR();                      //读
 156   1              NOP();                           
 157   1              while(lcd_data & status_busy); //读入LCD状态,1=忙,一直等待LCD内部操作完成
 158   1      //      DDRA = 0xff;                   //重新置PA口输出
 159   1      }
 160          
 161          //122x32LCD初始化
 162          void lcd_init(void)
 163          {
 164   1          send_mi(reset);                                     //复位m-left,s-right
 165   1              send_si(reset);
 166   1      
 167   1          send_mi(disp_off);                          //关闭显示
 168   1              send_si(disp_off);
 169   1      
 170   1          send_mi(dynamic_driver);                    //动态驱动
 171   1              send_si(dynamic_driver);
 172   1      
 173   1          send_mi(clk32);                                 //1/32占空比
 174   1              send_si(clk32);
 175   1      
 176   1          send_mi(adc_select);                                //clockwise
 177   1              send_si(adc_select);
 178   1      
 179   1          send_mi(mode_write);                                //写模式
C51 COMPILER V7.50   12232DRIVERS                                                          09/26/2007 17:19:04 PAGE 4   

 180   1              send_si(mode_write);
 181   1          
 182   1          send_mi(col_addr_set);
 183   1              send_mi(disp_start_line);                       //归回零列,设定显示起始行首
 184   1          send_si(col_addr_set);
 185   1              send_si(disp_start_line);
 186   1          
 187   1          send_mi(disp_on);                   //开显示
 188   1              send_si(disp_on);  
 189   1      }
 190          
 191          //清屏
 192          void lcd_clr(void)
 193          {
 194   1          uchar i, page;
 195   1              for (page=0;page<4;page++)
 196   1          {
 197   2              send_mi(page_addr_set|page);  //0xb8  10111000
 198   2                      send_si(page_addr_set|page);
 199   2              send_mi(0);                     //主窗口设置为0列
 200   2                      send_si(0);                     //从窗口设置为0列               
 201   2              for (i=0;i<62;i++)
 202   2              {
 203   3                      send_md(0x00);
 204   3                              send_sd(0x00);
 205   3                      }
 206   2          }
 207   1      }  
 208          
 209          void lcd_clr1(uchar page,uchar i,uchar withe,uchar mode)
 210          {
 211   1          //uchar  page;
 212   1              //for (page=0;page<4;page++)
 213   1          //{
 214   1                  uchar k;
 215   1              send_mi(page_addr_set|page);   //0xb8  10111000
 216   1                      send_si(page_addr_set|page); 
 217   1              send_mi(i);
 218   1              send_si(i);             
 219   1              //for (i=0;i<62;i++)
 220   1                      for(k=i;k<(i+withe);k++)
 221   1              {
 222   2                      //send_md(0x00);
 223   2                              //send_sd(0x00);
 224   2                              if(mode)
 225   2                              {
 226   3                                 send_md(0);                  //左屏
 227   3      //                         send_sd(0);                  
 228   3                              }
 229   2                              else   send_sd(0);         //右屏
 230   2                      }
 231   1          //}
 232   1      }   
 233          /*void lcd_clr2()
 234          {
 235                  lcd_clr1(0,6,54,1);

⌨️ 快捷键说明

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