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

📄 admp.lst

📁 At89C51与MAX186串行A/D采样程序。采集三个数码盘启动阈值
💻 LST
📖 第 1 页 / 共 2 页
字号:
 180   1        ET0=1;	  //T0中断允许
 181   1        PT0=1;      //T0为高优先级中断
 182   1        TR0=1;
 183   1      }
 184          void T0_ISR(void) interrupt 1 using 1
 185           {
 186   1         TH0=0xFC;
 187   1         TL0=0x1F;
 188   1         //TR0=1;
 189   1         Globtime++;
 190   1        }
 191          /****MAX186服务函数****/
 192          unsigned int max186_ad(unsigned char ctrl_byte)
 193          {
 194   1       unsigned int ad_data;
 195   1       max186_cs = 1;
 196   1       max186_sclk = 0;
 197   1       max186_din = 0;
 198   1       max186_cs = 0;
 199   1       send_cb(ctrl_byte);//发出控制字
 200   1       //max186_cs = 1;
 201   1       do
 202   1       {} while (!max186_sstrb);//等待转换完毕
 203   1       max186_cs = 0;
 204   1       max186_sclk = 1;
 205   1       ad_data = receive();//接收转换后的数据
 206   1       max186_sclk = 0;
 207   1       max186_cs = 1;
 208   1       return(ad_data);
 209   1      }
 210          
 211          /****控制字发送函数****/
 212          void send_cb(unsigned char cb_buffer)
 213          {
 214   1       unsigned char gate;
 215   1       for ( gate = 0x80 ; gate >= 1 ; gate >>= 1 )
 216   1       {
 217   2        max186_sclk=0;  delay(1);
 218   2        if ( (gate & cb_buffer) == 0 )//判断控制字中所要发送位的值
 219   2           max186_din = 0;
 220   2        else
 221   2           max186_din = 1;
 222   2         delay(1);
 223   2         max186_sclk = 1;          //给出SCLK的上升沿
 224   2        }
 225   1       delay(1);
 226   1       max186_din = 0;
 227   1       delay(1);
 228   1       max186_sclk = 0;
 229   1      }
 230          
 231          /****数据接收函数****/
 232          unsigned int receive(void)   //读转换后的数据
 233          {
 234   1       unsigned int ad_buffer = 0;
 235   1       unsigned int gate;
 236   1       for ( gate = 0x8000 ; gate >= 0x0010; gate >>= 1 )
 237   1       {
 238   2        max186_sclk = 1;
 239   2        max186_sclk = 0; //给出下降沿
 240   2        if ( max186_dout == 1)   //接收数据
C51 COMPILER V6.10  ADMP                                                                   12/23/2007 21:31:00 PAGE 5   

 241   2           ad_buffer += gate;
 242   2       }
 243   1       return(ad_buffer);
 244   1      }
 245          
 246          
 247          
 248          
 249          
 250          
 251          
 252          
 253          
 254          
C51 COMPILER V6.10  ADMP                                                                   12/23/2007 21:31:00 PAGE 6   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
serial . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  ch . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0019H  1
  tmp. . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  cnt. . . . . . . . . . . . . . . . .  STATIC   DATA   U_CHAR   0000H  1
  recchar. . . . . . . . . . . . . . .  STATIC   DATA   ARRAY    0001H  4
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
max186_din . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0094H  1
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
max186_dout. . . . . . . . . . . . . .  ABSBIT   -----  BIT      0096H  1
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
size_t . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
RD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
ES . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ACH  1
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
volt_yz. . . . . . . . . . . . . . . .  PUBLIC   DATA   INT      0005H  2
INT0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
CY . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D7H  1
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
INT1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
max186_cs. . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0093H  1
PS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BCH  1
OV . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D2H  1
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  ad_result. . . . . . . . . . . . . .  AUTO     DATA   U_INT    0000H  2
  DAT0 . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0002H  1
  DAT1 . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0003H  1
  MP . . . . . . . . . . . . . . . . .  AUTO     DATA   ARRAY    0004H  4
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0008H  1
  Adrslt . . . . . . . . . . . . . . .  AUTO     DATA   U_INT    0009H  2
  UItemp . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0004H  2
  volt_cur . . . . . . . . . . . . . .  AUTO     DATA   INT      000BH  2
  Itemp. . . . . . . . . . . . . . . .  * REG *  DATA   INT      0006H  2
WR . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
_send_char_com . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  ch . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
SBUF . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0099H  1
PCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0087H  1
_send_cb . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  cb_buffer. . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  gate . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
TMOD . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0089H  1
Globtime . . . . . . . . . . . . . . .  PUBLIC   DATA   U_LONG   0007H  4
t0_init. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  1
Ctl186 . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   000BH  1
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
init_serialcomm. . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
ET1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ABH  1
TF0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008DH  1
TF1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008FH  1
RB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009AH  1
TH0. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008CH  1
C51 COMPILER V6.10  ADMP                                                                   12/23/2007 21:31:00 PAGE 7   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


EX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A8H  1
IT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0088H  1
TH1. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008DH  1
TB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009BH  1
EX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AAH  1
IT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008AH  1
P. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D0H  1
SM0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009FH  1
TL0. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008AH  1
SM1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009EH  1
SM2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009DH  1
T0_ISR . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
PT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B9H  1
PT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BBH  1
RS0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D3H  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
RS1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D4H  1
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
PX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B8H  1
PX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BAH  1
REN. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009CH  1
receive. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  ad_buffer. . . . . . . . . . . . . .  * REG *  DATA   U_INT    0004H  2
  gate . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0002H  2
_max186_ad . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  ctrl_byte. . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  ad_data. . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0006H  2
RXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
TXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
_delay . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0008H  -----
  dly_time . . . . . . . . . . . . . .  AUTO     DATA   U_LONG   0000H  4
F0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D5H  1
max186_sclk. . . . . . . . . . . . . .  ABSBIT   -----  BIT      0092H  1
max186_sstrb . . . . . . . . . . . . .  ABSBIT   -----  BIT      0095H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    706    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     12      20
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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