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

📄 ocmj15x20d.lst

📁 KEILC RTX51tiny开发的程序
💻 LST
字号:
C51 COMPILER V8.08   OCMJ15X20D                                                            11/16/2007 18:23:56 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE OCMJ15X20D
OBJECT MODULE PLACED IN OCMJ15X20D.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE OCMJ15X20D.c COMPACT BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*本程序实现金鹏电子的OCMJ15X20D液晶模块的驱动显示功能 
   2             模块的默认控制芯片为8080系列 
   3          */
   4          #include <STDIO.H>
   5          #include <STC12C5410AD.H>
   6          #include<MATH.H>
   7          #include<Key.H> //按键定义 
   8          
   9          /*LCM模块内部寄存器定义 */
  10          
  11          #define WLCR 0x00
  12          #define MISC 0x01
  13          #define APSR 0x02
  14          #define ADSR 0x03
  15          #define WCCR 0x10
  16          #define DWR 0x11
  17          #define MAMR 0x12
  18          
  19          #define DWRR 0x21 
  20          #define DWBR 0x31
  21          #define DWLR 0x41
  22          #define DWTR 0x51 
  23          #define AWRR 0x20
  24          #define AWBR 0x30
  25          #define AWLR 0x40
  26          #define AWTR 0x50
  27          #define CPXR 0x60
  28          #define CPYR 0x70
  29          #define BGCM 0x71
  30          #define EDCM 0x72
  31          #define BTR  0x80 
  32          #define SCCR 0x90
  33          #define INTR 0xA0
  34          #define KSCR 0xA1
  35          #define KSDR 0xA2
  36          #define KSER 0xA3
  37          #define INTX 0xB0
  38          #define INTY 0xB1
  39          #define TPCR 0xC0
  40          #define TPSR 0xC1
  41          #define TPXR 0xC8
  42          #define TPYR 0xC9
  43          #define TPZR 0xCA
  44          #define PNTR 0xE0
  45          #define FNCR 0xF0
  46          #define FVHT 0xF1
  47          #define DWRR 0x21
  48          #define DWBR 0x31
  49          #define DWTR 0x51
  50          #define CPXR 0x60
  51          
  52          
  53          /*坐标Y轴 上下限定义和X轴上下限定义 */
  54          /*对于液晶屏,其左上角为坐标原点,编程时需注意 */
  55          #define zbYMax 20
C51 COMPILER V8.08   OCMJ15X20D                                                            11/16/2007 18:23:56 PAGE 2   

  56          #define zbYMin 214
  57          #define zbXMax 29
  58          #define zbXMin 8 
  59          
  60          sfr LedDATA=0xA0;   //P2与液晶模块的数据接口相连 
  61          
  62          //P3与液晶模块的各控制位相连 
  63          sbit lcd_rs=P3^4;                 //H:存取DDRAM,L:存取缓存器 
  64          sbit lcd_wr=P0^2;             //写入引脚,低电平有效 
  65          sbit lcd_rd=P0^3;                //读入脚,低电平有效 
  66          sbit lcd_cs1=P0^1;               //CS1为低和CS2为高时,模块处于置能状态,可接受指令反之不能 
  67          sbit lcd_cs2=P0^0;
  68          sbit lcd_busy=P3^5;               //用于 回应模块内部的执行和使用状况,可设成高或低电平触发 
  69          sbit lcd_INT=P3^7;                 //中断信号 
  70               
  71          
  72          //LCM初始化时需要赋值的寄存器 
  73          unsigned char lcmInitTabReg[39]={0x00,0x01,0x02,0x03,0x10,0x11,0x12,0x21,0x31,0x41,
  74                                       0x51,0x20,0x30,0x40,0x50,0x60,0x61,0x70,0x71,0x72,
  75                                                           0x80,0x81,0x91,0x90,0xA0,0xA1,0xA2,0xA3,0xB0,0xB1,
  76                                                                   0xC0,0xC1,0xC8,0xC9,0xCA,0xD0,0xE0,0xF0,0xF1};
  77          //LCM初始化时寄存器中的值                                                               
  78          unsigned char lcmInitTabDat[39]={0xC9,0xF2,0x10,0x80,0x6B,0x00,0x91,0x27,0xEF,0x00,
  79                                       0x00,0x27,0xEF,0x00,0x00,0x00,0x00,0x00,0x00,0xEF,
  80                                                                   0x01,0x00,0x00,0x06,0x08,0x00,0x00,0x00,0x27,0xEF,                                     
  81                                                                   0x00,0x0A,0x80,0x80,0x00,0x80,0x00,0xA0,0x0F}; 
  82          //LCM中数字的内码分别对应0,1,2,3,4,5,6,7,8,9,.
  83          unsigned char lcmNumCode[11]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x2E};
  84          
  85          
  86          //函数定义 
  87          
  88          void lcd_regwr(unsigned char regnada);  //向LCM模块的缓存区(控制寄存器)写数据           
  89          void lcd_datawrite(unsigned char wrdata);         //向LCM模块的DDRAM写数据 
  90          unsigned char lcd_regread(unsigned char regname);        //读取LCM中寄存器的数据 
  91          void lcd_regwrite(unsigned char regname,unsigned char regdata);          //向LCM模块写指令  
  92          void LCM__Initial();            //LCM模块初始化 
  93          void PORT_Initial();            //端口初始化 
  94          void LCM_Clr();         //液晶模块清屏 
  95          void dispInitial();             //初始化子程序 
  96          void LCM_WRZB(unsigned char LCM_X,unsigned char LCM_Y);    //设定光标地址子程序 
  97          void Delay(unsigned char DelayTM);           //延时子程序,延时 单位为ms
  98          void drawOrign();        //在液晶模块中画坐标系子程序 
  99          unsigned char lcd_DDRread(unsigned char orginX,unsigned char orginY);    //读取LCM中DDRAM的数据,输入坐标值 
 100          void drawPoint(unsigned char pointX,unsigned char pointY);      //LCM描点子函数(对图层2操作)
 101          void drawWave();  //画波形测试程序 
 102          void displayItemName();//显示采集数据的项目名称 
 103          void displayVoltage(float voltage);   //显示采集电压 
 104          void displayFloat(float FloatVal,unsigned char orignX,unsigned orignY);          //显示小数 
 105          
 106          void displayFloat2(float FloatVal,unsigned char orignX,unsigned orignY);  //显示两位小数 
 107          void displayFloat4(float FloatVal,unsigned char orignX,unsigned orignY);           //显示一位数和三位整数 
 108          void displaySignFloat(float FloatVal,unsigned char orignX,unsigned orignY);                //显示带符号的浮点数(显示

⌨️ 快捷键说明

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