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

📄 带eeprom的显示调试.lst

📁 Keil C51
💻 LST
字号:
C51 COMPILER V8.08   確EEPROM的显示调试                                                    08/29/2008 07:42:54 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE 確EEPROM的显示调试
OBJECT MODULE PLACED IN 带EEPROM的显示调试.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 带EEPROM的显示调试.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "REG52.H"
   2          #include "INTRINS.H"
   3          #include "BITCTL.H"
   4          #include "ABSACC.H"
   5          //#include "WR_EEPROM_AT24C02_IIC.c"
   6          #define uchar unsigned char
   7          #define schar signed char
   8          #define uint unsigned int
   9          #define sint signed int
  10          
  11          /*------------------在我们仪表上测试所添加的程序------------------------------*/
  12          sbit WDT = P3^6;
  13          
  14          #define  WriteDeviceAddress 0xa0 //写驱动地址指令
  15          #define  ReadDeviceAddress 0xa1  //读驱动地址指令
  16          
  17          //sbit AT24C02_SCL = 0xa4;               //*****相当于sbit AT24C02_SCL = P2^4
  18          //sbit AT24C02_SDA = 0xa5;               //*****相当于sbit AT24C02_SDA = P2^5
  19          sbit AT24C02_SCL = P1^5;
  20          sbit AT24C02_SDA = P1^4;
  21          sbit AT24C02_WP  = P2^7;
  22          
  23          /*--------------------显示和按键的硬件定义--------------------------------------*/
  24          #define DA P0                      //定义数码管段码输出端口
  25          sbit DISCLK = P1^6;                //数码管位选时钟脉冲管脚,上升沿有效
  26          sbit DISDAT = P1^7;                //数码管位选数据管脚
  27          sbit KEYIN = P2^6;                 //按键扫描输入端,高电平有效
  28          uchar code SCNT = 2;       //按键短按防抖值
  29          uchar code LCNT = 250;     //按键长按界限值
  30          
  31          /*--------------------显示和按键的全局变量-------------------------------------*/
  32          uchar bdata TempBitByte;        //临时通用可位寻址的字节(按键扫描程序中用到)
  33                  sbit TempBit = TempBitByte^0;           //定义临时通用位名称 (按键扫描程序中用到)
  34          uchar ucKeyCnts[5];                     //按键按下计数时间变量*****(此处设有5个按键)
  35          uchar KeyThis;
  36          uchar KeySFlag;                     //按键短按有效标志字节,高电平有效
  37          uchar KeyLFlag;                     //按键短按有效标志字节,高电平有效
  38          uchar idata MenuId=1;       //菜单ID
  39          uchar idata MenuStFlag=0;   //进入菜单设置项标志字节,1表示进入,0表示未进入
  40          float idata MenuTFloat;         //菜单float临时设置值
  41          sint idata MenuTInt;            //菜单sint临时设置值
  42          schar bdata MenuTChar;          //菜单schar临时设置值
  43          schar idata MenuTParaDot;       //菜单设置值的小数点位数
  44          uchar idata RomAddr;            //*****(可改为局部变量)在EEPROM上菜单参数存储地址
  45          uchar idata MenuSelWei;         //设置参数时数码管位选,0为最末位
  46          uchar idata MenuSMGNum[4];      //存储数字转化后的数码管译码
  47          uchar *pMenuSMG1;                       //最终送到数码管显示的数码管译码地址
  48          uchar *pMenuSMG2;                   //最终送到数码管显示的数码管译码地址(在单点表中没用到)
  49          uchar idata key;                        //按键扫描处理后的按键值*****(此处低5位对应的是5个短按键标志,^6:LongSET;^5:LongQuit;^
             -4:SET;^3:SHIFT;^2:UP;^1:DOWN;^0:QUIT.)
  50          
  51          /*-------------------数字对应的数码管码表格------------------------*/
  52          uchar code table_NUM[10]=       //0到9的数码管译码                (共阳极)
  53          {
  54                  0xC0,/*0*/
C51 COMPILER V8.08   確EEPROM的显示调试                                                    08/29/2008 07:42:54 PAGE 2   

  55                  0xF9,/*1*/
  56                  0xA4,/*2*/
  57                  0xB0,/*3*/
  58                  0x99,/*4*/
  59                  0x92,/*5*/
  60                  0x82,/*6*/
  61                  0xF8,/*7*/
  62                  0x80,/*8*/
  63                  0x90,/*9*/
  64          };
  65          /*------------------菜单显示名对应数码管码----------------------*/
  66          uchar code SMG[7][4] =     //各菜单对应的数码管译码        (共阳极)
  67          {
  68                                      {0x8C,/*P*/
  69                  0x88,/*A*/
  70                  0x92,/*S*/
  71                  0x92},/*S*/
  72                                  {0x8C,/*P*/
  73                  0x88,/*A*/
  74                  0xAF,/*r*/
  75                  0xF9},/*1*/
  76                                  {0x8C,/*P*/
  77                  0x88,/*A*/
  78                  0xAF,/*r*/
  79                  0xA4},/*2*/
  80                                  {0x8C,/*P*/
  81                  0x88,/*A*/
  82                  0xAF,/*r*/
  83                  0xB0},/*3*/
  84                                  {0x92,/*S*/
  85                  0x86,/*E*/
  86                  0x87,/*t*/
  87                  0xF9},/*1*/
  88                                  {0x92,/*S*/
  89                  0x86,/*E*/
  90                  0x87,/*t*/
  91                  0xA4},/*2*/
  92                                  {0x80,/*8*/
  93                  0x80,/*8*/
  94                  0x80,/*8*/
  95                  0x80}/*8*/
  96          
  97          };
  98          /*--------------------位变量对应的on和off显示的数码管码---------------*/
  99          uchar code SMGBIT[2][4] =       //存储'位'的数码管译码     (共阳极)
 100          {
 101                  {0xFF,/**/
 102                  0xA3,/*0*/
 103                  0x8E,/*F*/
 104                  0x8E,/*F*/},            //'off'
 105                  {0xFF,/**/
 106                  0xFF,/**/
 107                  0xA3,/*0*/
 108                  0xAB,/*N*/}                     //'on'
 109          };
 110          
 111          /*--------------暂时不用--------------------
 112          //参数test
 113          uint code pass=1234;
 114          uint idata set1=10;
 115          uint idata set2=100;
 116          uint idata  par2=0x55;
C51 COMPILER V8.08   確EEPROM的显示调试                                                    08/29/2008 07:42:54 PAGE 3   

 117          uchar idata par3=0xff;
 118          uint idata KONG;
 119          --------------------------------------------*/
 120          
 121          /*-------------菜单结构体定义---------------*/
 122          struct STMENU            //21个字节
 123          {
 124                  uchar ucMenuId;         //菜单id
 125                  uchar ucMenuType;       //菜单类型(0为不带设置项的菜单,1为带位设置项的菜单,2为带字的设置项菜单,3为带双字的

⌨️ 快捷键说明

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