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

📄 datlv5618.lst

📁 DATLV5618.rar
💻 LST
字号:
C51 COMPILER V7.50   DATLV5618                                                             07/20/2008 12:43:09 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE DATLV5618
OBJECT MODULE PLACED IN .\output\DATLV5618.obj
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE src\DATLV5618.C BROWSE DEFINE(__DATLV5618_DEBUG__) DEBUG OBJECTEXTEND PRINT
                    -(.\output\DATLV5618.lst) OBJECT(.\output\DATLV5618.obj)

line level    source

   1            /*********************************************
   2          1.功能:  本程序针对74165驱动芯片键盘驱动程序
   3          2.I/O脚使用
   4                                          3个
   5          3.调试环境:12M晶振(51系列12时钟模式)
   6                                  
   7          
   8          3.程序大小(ROM估计):
   9                                          
  10          4.数据大小(RAM估计):
  11          
  12          5.运行时间(与调用函数有关):
  13          ***********************************************/
  14          //
  15          //#define  __DATLV5618_DEBUG__
  16          #ifdef __DATLV5618_DEBUG__
  17           
  18                  #include<wywcomm.h>
  19                  
  20                  #include<REGX52.H>
  21          
  22          
  23          
  24                  sbit io_DAdin     = P2^6;         // 串行数据,单向通信(输入)
  25                  sbit io_DAsclk    = P2^5;         // 串行通信时钟,下降沿有效
  26                  sbit io_DAcs      = P2^7;         // AD片选信号,低电平有效
  27          
  28                  //此模块调用其它模块的外部变量和函数的声明(此程序无)
  29               
  30          //  #include  "E:\diansai2006\ts128647921chuank\src\ts128647921chuank.h"
  31          //  #include  "E:\diansai2006\ADTLC2543\src\ADTLC2543.h"
  32          
  33          
  34                  #define DELAY1US_M  _nop_()
  35          
  36                  #include  "E:\diansai2006\chengxu\delaycomm\src\delaycomm.h"
  37          #else 
              
                       #include  "system.h"     //所有的项目用相同的系统头文件,但存放的路径不同,各自存放在对应的项目文件夹。
              
              
              #endif
  43          
  44          
  45          //此模块的宏定义(常数等)
  46          
  47          
  48          //此模块必要的库函数包含(include)
  49          
  50          #include<intrins.h>
  51          
  52          
  53          //全局变量(静态或一般)的定义
  54          
C51 COMPILER V7.50   DATLV5618                                                             07/20/2008 12:43:09 PAGE 2   

  55           
  56          
  57                  
  58          //以下为函数定义
  59          
  60          
  61          
  62          void v_DATLV5618A_f(uint8 x,uint16 shu)
  63          //功能:进行DA转换并输出模拟信号
  64          //说明:输入: x  表示:选择DA输出的通道,输入范围:1xx0、0xx0、0xx1、x1xx、x0xx、xx0x、xx1x(二进制)
  65          //                                                       0xx0(0)表示:写锁存器B 和 缓冲器(B),                      DAC B 单独输出。
  66          //                                                       1xx0(8)表示:写锁存器A 和 缓冲器(B)写锁存器B,     DAC A 输出(B同时更新)。
  67          //                                                       0xx1(1)表示:缓冲器(B),                                           DAC A 与 DAC B 都不输出。
  68          //                                                       xx0x表示:正常操作
  69          //                                                       xx1x表示:断电方式
  70          //                                                       x0xx表示:快速模式
  71          //                                                       x1xx表示:慢速模式
  72          //      输入:shu 表示:一个无符号16位DA输出数。输入范围:0~4095。
  73          //
  74          //备注:1、当要使DAC A、DAC B同时有输出,则必须先将DAC B的数据写到缓冲器(B),
  75          //                 之后写锁存器A 和 缓冲器(B)写锁存器B,
  76          //                 即需要写两次:v_DATLV5618A_f(0xx1,DAC B)、v_DATLV5618A_f(1xx0,DAC A)。
  77          //      2、1xx1表示:保留
  78          //--------------------------------------------------------
  79          
  80          {
  81   1       uint8 i;       
  82   1       io_DAcs=0;
  83   1       x<<=4; shu<<=4;
  84   1      
  85   1       for(i=0;i<16;i++)
  86   1              {
  87   2               
  88   2          io_DAsclk = 1;   
  89   2              DELAY1US_M;
  90   2      
  91   2              if(i < 4) {x <<= 1;io_DAdin = CY;}
  92   2              
  93   2              else      {shu <<= 1; io_DAdin=CY; }
  94   2              
  95   2              DELAY1US_M;
  96   2      
  97   2              io_DAsclk = 0;
  98   2      
  99   2              DELAY1US_M;
 100   2              DELAY1US_M; 
 101   2               }
 102   1      
 103   1        io_DAsclk = 1;
 104   1       io_DAcs=1;
 105   1      
 106   1       v_DelayX10us_f(3);
 107   1      }
 108          
 109          
 110          
 111          
 112          
 113          
 114          
 115          
 116          #ifdef  __DATLV5618_DEBUG__
C51 COMPILER V7.50   DATLV5618                                                             07/20/2008 12:43:09 PAGE 3   

 117          
 118          void main(void)
 119          { 
 120   1       uint16 i;
 121   1      
 122   1      // const uint8 code xianshi[][16]={"DA/AD 程序测试:","基准电压为 2.77v","选择模拟通道:  ","转换电压     
             -   "};
 123   1       
 124   1      
 125   1        
 126   1      //  v_LcdWriteCharIni_f(); 
 127   1      // v_LcdWriteCharScreen_f(xianshi); 
 128   1      
 129   1      
 130   1      // v_LcdWriteChar_f(0x27,"10");
 131   1                                                                                                                                                                                                               
 132   1       do{
 133   2      
 134   2      
 135   2      
 136   2       for(i=0;i<2048;i++)  {v_DATLV5618A_f(1,i);
 137   3                                                 v_DATLV5618A_f(8,i);  
 138   3                                               //  v_LcdWriteNumber_f(0x37,3,u16_ReadADTLC2543_f(10));
 139   3                                                 v_DelayX10ms_f(10);}
 140   2       
 141   2        for(i=2048;i>=1;i--)  {v_DATLV5618A_f(1,i);
 142   3                                                      v_DATLV5618A_f(8,i); 
 143   3                                              //      v_LcdWriteNumber_f(0x37,3,u16_ReadADTLC2543_f(10));
 144   3                                                      v_DelayX10ms_f(10);}
 145   2      
 146   2       }while(1);
 147   1       }
 148          
 149          
 150          #endif


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