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

📄 tlc2543.lst

📁 tlc2543模数转换芯片
💻 LST
字号:
C51 COMPILER V8.02   TLC2543                                                               01/12/2009 13:14:55 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE TLC2543
OBJECT MODULE PLACED IN tlc2543.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE tlc2543.c LARGE BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include"reg54.h"
   2          #include"intrins.h"
   3          #include"absacc.h"
   4          
   5          //#define ((conver_ad_dat/4096)*5012) TLC2543_DATA
   6          
   7          sbit tlc2543_eoc=P3^7;
   8          sbit tlc2543_clk=P1^7;
   9          sbit tlc2543_add=P1^4;
  10          sbit tlc2543_dat=P1^5;
  11          sbit tlc2543_cs0=P1^6;
  12          
  13          sfr out_data=0x80;
  14          sbit disp_bit0=P2^4;
  15          sbit disp_bit1=P2^5;
  16          sbit disp_bit2=P2^6;
  17          sbit disp_bit3=P2^7;
  18          
  19          unsigned char data disp_code[11]={0xc0,0xf9,0xa4,0xb0,  // 0, 1, 2, 3
  20                                          0x99,0x92,0x82,0xf8,0x80,0x90, 0xff};// 4, 5, 6, 7, 8, 9, off
  21          unsigned int tlc2543_ad_conversion(unsigned char data channels_number);//AD转换函数
  22          void delay_1ms(unsigned char ms);
  23          
  24          void iniltion()
  25          {
  26   1       TMOD&=0X0f;
  27   1       TMOD|=0X20;
  28   1       TH1=0Xfd;
  29   1       TL1=0Xfd;                      
  30   1       TR1=0;
  31   1       SCON=0X50;
  32   1       TR1=1;
  33   1      }
  34          void main()
  35          {unsigned char data disp_thousand,disp_hundred,disp_decade,disp_entry;
  36   1       unsigned int data conver_ad_dat;
  37   1       unsigned long data conver_ad_data;
  38   1       
  39   1       iniltion();
  40   1       for(;;)
  41   1           {
  42   2            conver_ad_dat=tlc2543_ad_conversion(0x00);
  43   2                conver_ad_data=conver_ad_dat;
  44   2            conver_ad_data<<=12;
  45   2            conver_ad_data+=0x393544;
  46   2                conver_ad_dat=conver_ad_data/4096;
  47   2            disp_thousand=conver_ad_dat/1000;
  48   2            disp_hundred=conver_ad_dat%1000/100;
  49   2                disp_decade=conver_ad_dat%1000%100/10;
  50   2            disp_entry=conver_ad_dat%1000%100%10;
  51   2      
  52   2                out_data=(disp_code[disp_thousand])&0x7f;
  53   2            disp_bit0=0;
  54   2            delay_1ms(5);
  55   2            out_data=0xff;
C51 COMPILER V8.02   TLC2543                                                               01/12/2009 13:14:55 PAGE 2   

  56   2            disp_bit0=1;
  57   2                out_data=disp_code[disp_hundred];
  58   2            disp_bit1=0;
  59   2            delay_1ms(5);
  60   2            out_data=0xff;
  61   2            disp_bit1=1;
  62   2                out_data=disp_code[disp_decade];
  63   2            disp_bit2=0;
  64   2            delay_1ms(5);
  65   2            out_data=0xff;
  66   2            disp_bit2=1;
  67   2                out_data=disp_code[disp_entry];
  68   2            disp_bit3=0;
  69   2            delay_1ms(5);
  70   2            out_data=0xff;
  71   2            disp_bit3=1;
  72   2          }
  73   1      }
  74          /*
  75          unsigned int tlc2543_ad_conversion(unsigned char channels_number)
  76          {
  77           unsigned char data i,temp;
  78           unsigned int conver_dat=0x0000;
  79           channels_number<<=4; 
  80           tlc2543_clk=0;
  81           tlc2543_cs0=1;
  82           tlc2543_cs0=0;
  83           temp=channels_number;
  84           for(i=0;i<12;i++)
  85            {conver_dat<<=1;
  86             tlc2543_add=(bit)(temp&0x80); 
  87             conver_dat|=tlc2543_dat;
  88             tlc2543_clk=1;
  89             _nop_();
  90             _nop_();
  91             _nop_();
  92             tlc2543_clk=0;
  93             _nop_();
  94             _nop_();
  95             _nop_();
  96             temp<<=1;
  97            }
  98           tlc2543_cs0=1;
  99           return(conver_dat&0x0fff);
 100          }*/
 101          
 102          unsigned int tlc2543_ad_conversion(unsigned char data channels_number)
 103          {
 104   1       unsigned char data i,temp;                                                                                                                                                
 105   1       unsigned int conver_dat=0x0000;
 106   1       channels_number<<=4;
 107   1       tlc2543_cs0=1;
 108   1       tlc2543_clk=0;
 109   1       tlc2543_cs0=0;
 110   1       temp=channels_number;
 111   1       for(i=0;i<12;i++)
 112   1       {
 113   2        conver_dat<<=1;
 114   2        conver_dat|=tlc2543_dat;
 115   2        tlc2543_add=(bit)(temp&0x80);
 116   2        tlc2543_clk=1;
 117   2        _nop_();
C51 COMPILER V8.02   TLC2543                                                               01/12/2009 13:14:55 PAGE 3   

 118   2        tlc2543_clk=0;
 119   2        temp<<=1;
 120   2       }
 121   1       tlc2543_cs0=1;
 122   1       return(conver_dat&0x0fff);
 123   1      }
 124          
 125          void delay_1ms(unsigned char ms)
 126          {
 127   1       unsigned char i;
 128   1        while(ms--)
 129   1        for(i=0;i<120;i++);
 130   1      }
 131          
 132          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    352    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     11      12
   IDATA SIZE       =   ----    ----
   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 + -