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

📄 tlc1543.lst

📁 一个充电控制器的完整单片机程序
💻 LST
字号:
C51 COMPILER V7.02a   TLC1543                                                              04/02/2003 01:07:39 PAGE 1   


C51 COMPILER V7.02a, COMPILATION OF MODULE TLC1543
OBJECT MODULE PLACED IN TLC1543.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE TLC1543.c DEBUG OBJECTEXTEND TABS(2)

stmt level    source

   1          /*
   2           TLC1543//SPI port//11 channels Analog input//10 bit//10us Rate
   3          
   4           2003.1.6
   5           */
   6          #include <AT89X52.H>
   7          #include <INTRINS.h>
   8          
   9          //hardware conection
  10           #define CLOCK P1_2
  11           #define D_IN  P1_1
  12           #define D_OUT P1_3
  13           #define P_CS   P1_0
  14           #define EOC   P1_4
  15          
  16          typedef   struct
  17          { 
  18            unsigned char ah;
  19            unsigned char al;
  20          }word;
  21          
  22          
  23          union bitseg
  24          {
  25            word byte;      
  26            unsigned int i;
  27          };
  28           //----------------------------------------
  29           //data read from (port)channel of tlc1543
  30           unsigned int tlc1543(unsigned char port){
  31   1       unsigned char idata i;
  32   1       union bitseg idata c;
  33   1       c.byte.al=0,c.byte.ah=0;
  34   1       CLOCK=0;
  35   1       P_CS=0;//low level start a/d 
  36   1       port<<=4;//move to high 4bit
  37   1       for(i=0;i<4;i++){//input channels signal
  38   2         D_IN=(bit)(port&0x80);CLOCK=1;CLOCK=0;
  39   2         port<<=1;
  40   2         }
  41   1       for(i=0;i<6;i++){//fill 6 clock signal
  42   2         CLOCK=1;CLOCK=0;
  43   2         }
  44   1       P_CS=1;
  45   1       _nop_(); _nop_(); _nop_(); _nop_();
  46   1       P_CS=0;//wait a/d conversion,EOC low is busy 
  47   1       for(i=0;i<2;i++){//get D9,D8 bit
  48   2         D_OUT=1;
  49   2         CLOCK=1;
  50   2         c.byte.ah<<=1;
  51   2         if(D_OUT)c.byte.ah|=0x01;
  52   2         CLOCK=0;
  53   2         }
  54   1       for(i=0;i<8;i++){//get D7~D0 bit
  55   2         D_OUT=1;
C51 COMPILER V7.02a   TLC1543                                                              04/02/2003 01:07:39 PAGE 2   

  56   2         CLOCK=1;
  57   2         c.byte.al<<=1;
  58   2         if(D_OUT)c.byte.al|=0x01;
  59   2         CLOCK=0;
  60   2         }
  61   1       P_CS=1;
  62   1       _nop_();
  63   1       P1=0xff;
  64   1       return c.i;
  65   1       }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    134    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----       3
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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