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

📄 main.lst

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


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

line level    source

   1          #include "mylib.h"
   2          extern uchar KEY_NO;
   3          extern uint  k;
   4          extern uchar data MENU_NO;
   5          extern uchar data MENU_MENU1_NO;
   6          extern uchar data MENU_MENU2_NO;
   7          uint AD_getvalue[11];
   8          uchar i,count,serio_data;
   9          uint  j,ReaddataChx;
  10          uint Turnaround_Corner_0,Turnaround_Corner_360;
  11          uint Turnaround_Power_0,Turnaround_Power_200;
  12          extern uchar Turnaround_CornerORPower_Value2[4];
  13          extern uint Ch1k,Ch2k;
  14          extern float Nt;
  15          extern uchar Turnaround_CornerValue1[4];
  16          extern uchar Turnaround_Power_Value2[4]; 
  17          sbit PowerTest = P3^3;
  18          uint  k;
  19          uchar Data_H,Data_L;
  20          void main(void)
  21          {
  22   1         Wait7705(500);                       
  23   1         PowerTest=1;
  24   1         delay();     
  25   1         init_serial();                          //串口初使化
  26   1         lcd_init();
  27   1         lcd_clr();
  28   1         SetSerio=1;
  29   1         AD7705_reset();                     //复位 AD
  30   1         delay();
  31   1         INI7705();
  32   1      
  33   1         Data_L=byte_read(0x8201);      //读取力矩0点数值
  34   1         Data_H=byte_read(0x8200);
  35   1         Turnaround_Power_0=Data_H*256+Data_L;
  36   1         Data_L=Data_H=0;
  37   1      
  38   1         Data_H=byte_read(0x8202);      //读取力矩最大值数值
  39   1         Data_L=byte_read(0x8203);
  40   1         Turnaround_Power_200=Data_H*256+Data_L; 
  41   1         Data_L=Data_H=0;
  42   1      
  43   1         Data_H=byte_read(0x8400);      //读取转向角0点数值
  44   1         Data_L=byte_read(0x8401);
  45   1         Turnaround_Corner_0=Data_H*256+Data_L;
  46   1         Data_L=Data_H=0;
  47   1      
  48   1         Data_H=byte_read(0x8402);      //读取转向角360度数值
  49   1         Data_L=byte_read(0x8403);
  50   1         Turnaround_Corner_360=Data_H*256+Data_L;
  51   1         Data_L=Data_H=0;
  52   1      
  53   1         delay();
  54   1         dprintf(12,0,"转向盘检测仪",0);
  55   1         if(PowerTest==0)                                      //仪表电源检测
C51 COMPILER V7.50   MAIN                                                                  09/26/2007 17:19:03 PAGE 2   

  56   1         {
  57   2                      dprintf(6,1,"电压状态:欠压",0);    //电压不够
  58   2         }
  59   1         if(PowerTest==1)
  60   1         {
  61   2                      dprintf(6,1,"电压状态:正常",0);    //电压正常
  62   2         }
  63   1         for(i=0;i<100;i++)
  64   1            for(j=0;j<3000;j++); 
  65   1         SetSerio=1;
  66   1         k=0;
  67   1         MENU_MENU2_NO=1;
  68   1         test_menu();                                    //检测界面
  69   1         WDT_CONTR=0x3f;                                 //启动看门狗
  70   1         while(1)
  71   1         {      
  72   2                       key();                                    //按键扫描
  73   2                       RTDkey();                                 //执行相关的任务
  74   2                       WDT_CONTR=0x3f; 
  75   2         }
  76   1      }
  77          
  78          void serio_server() interrupt 4 using 0
  79          {
  80   1         EA=0;
  81   1         if(RI)
  82   1         {
  83   2            RI=0;
  84   2            serio_data=SBUF; 
  85   2              }
  86   1              EA=1;
  87   1      }
  88          
  89          //AD7705每次取数10次,并将所取得数放入XDATA中,然后进行比较找出最大值。
  90          uint filter(bit mode)
  91          {
  92   1         uint i=0,max;
  93   1         for ( count=0;count<10;count++)
  94   1         {
  95   2                AD_getvalue[count]=ReadDataCh1_Ch2(mode);
  96   2            delay();
  97   2              }
  98   1         max=AD_getvalue[0];
  99   1         for(i=1;i<10;i++)
 100   1         {
 101   2             if(AD_getvalue[i]>max)
 102   2                 {
 103   3                     max=AD_getvalue[i];
 104   3                 }
 105   2         ReaddataChx=max;
 106   2         }
 107   1         return (ReaddataChx);
 108   1      }
 109          
 110          
 111          
 112          
 113          
 114          
 115          


C51 COMPILER V7.50   MAIN                                                                  09/26/2007 17:19:03 PAGE 3   

MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    551    ----
   CONSTANT SIZE    =     41    ----
   XDATA SIZE       =     41       2
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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