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

📄 tlc0834.lst

📁 关于单片机开发的一个实例
💻 LST
字号:
C51 COMPILER V8.06   TLC0834                                                               03/15/2008 14:51:28 PAGE 1   


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

line level    source

   1          #include <REG52.H>                        
   2          #include <intrins.h>
   3          #include <main.h>
   4          
   5          
   6          //单片机与TLC0834之间的引脚定义
   7          
   8          sbit CS_0834=P1^3;         //片选
   9          sbit DI_0834=P1^3;         //输入通道
  10          sbit CLK_0834=P1^3;        //时钟输入
  11          sbit SARS_0834=P1^3;   //转换状态输出端
  12          sbit DO_0834=P1^3;         //数据输出端
  13          
  14          //通道0  温度 TEMPERATURE
  15          //通道1  压力 PREASURE
  16          //通道2  流量 FLUX
  17          
  18          
  19          //TLC0834的读操作函数
  20          //参数:通道数0-2
  21          //返回值:对应通道的8位采样值
  22          uchar Read_TLC0834(uchar channel)        
  23           {
  24   1         uchar receive_data=0;  //接收数据的中间存储单元
  25   1         uchar send_data;   //从DI口发送的四位二进制数
  26   1         uchar i;
  27   1         if (channel==0) 
  28   1            { send_data=0xc; }
  29   1                else if (channel==1)
  30   1                        {send_data=0xe; }
  31   1                       else if (channel==2)
  32   1                          {  send_data=0xd; }
  33   1         CLK_0834=LOW;
  34   1         DI_0834=LOW;
  35   1         CS_0834=HIGH;
  36   1         _nop_();
  37   1         CS_0834=LOW;
  38   1         _nop_();
  39   1         for(i=4;i>=1;i--)     //发送四位数据
  40   1          {
  41   2                DI_0834=send_data&0x08;
  42   2                send_data=send_data<<1;
  43   2                CLK_0834=HIGH;
  44   2                _nop_();
  45   2                CLK_0834=LOW;
  46   2                _nop_();
  47   2            }
  48   1         CLK_0834=HIGH;       //插入Mux Settling Time
  49   1         _nop_();
  50   1         CLK_0834=LOW;
  51   1         _nop_();
  52   1         if (SARS_0834==1)
  53   1          {
  54   2            for(i=8;i>=1;i--)  //接收八位数据
  55   2             {
C51 COMPILER V8.06   TLC0834                                                               03/15/2008 14:51:28 PAGE 2   

  56   3                  receive_data=receive_data<<1;
  57   3                  receive_data=receive_data|DO_0834;
  58   3                 
  59   3                  CLK_0834=HIGH;
  60   3                  _nop_();
  61   3                  CLK_0834=LOW;
  62   3                  _nop_();
  63   3                   }
  64   2            for(i=7;i>=1;i--)  //LSB-First Data DO端口的后七位数据
  65   2              {
  66   3                    CLK_0834=HIGH;
  67   3                    _nop_();
  68   3                    CLK_0834=LOW;
  69   3                    _nop_();
  70   3                    }
  71   2            CLK_0834=HIGH;    //末尾的两个时钟
  72   2            _nop_();
  73   2            CLK_0834=LOW;
  74   2            _nop_();
  75   2            CLK_0834=HIGH;
  76   2            _nop_();
  77   2            CLK_0834=LOW;
  78   2            _nop_();
  79   2            CS_0834=HIGH; //片选置高
  80   2               }
  81   1         return(receive_data);
  82   1      } 


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