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

📄 max3100.lst

📁 用c语言编写的单片机程序
💻 LST
字号:
C51 COMPILER V6.12  MAX3100                                                                01/24/2006 09:00:58 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE MAX3100
OBJECT MODULE PLACED IN MAX3100.OBJ
COMPILER INVOKED BY: C:\Manley\c51\BIN\C51.EXE MAX3100.c DB OE SMALL ROM(LARGE) 

stmt level    source

   1          #include <main.h>
   2          #include <max3100.h>
   3          #include <timer.h>
   4          sbit dout = P1^1;			//mcu输出端,spi输入
   5          sbit din = P1^2;			//mcu输入端,spi输出
   6          sbit max3100_sclk = P1^3;
   7          sbit max3100_cs = P1^4;
   8          
   9          //sfr16 DPTR = 0x82;
  10          
  11          byte max3100_byt8(byte t_data)
  12          {
  13   1      	byte r_data = 0x00;
  14   1      	bit c;
  15   1      	byte i;
  16   1      	din = 1;			//确定din是输入
  17   1      	max3100_sclk = 0;		//清时钟
  18   1      	for(i=0;i<8;i++)
  19   1      	{
  20   2      		r_data <<= 1;
  21   2      		if((t_data & 0x80) == 0x80)	
  22   2      		{			
  23   3      			dout = 1;
  24   3      		}			//将tx最高位送到mcu发送端
  25   2      		else if((t_data & 0x80) == 0x00)
  26   2      		{
  27   3      			dout = 0;
  28   3      		}			
  29   2      		max3100_sclk = 1;	//确定时钟高
  30   2      		c = din;		//时钟变高读数据
  31   2      		if(c)
  32   2      		{
  33   3      			r_data |= 0x01;
  34   3      		}
  35   2      		else
  36   2      		{
  37   3      			r_data &= 0xfe;
  38   3      		}
  39   2      		t_data <<= 1;
  40   2      		max3100_sclk = 0;	//清时钟
  41   2      	}	
  42   1      	return(r_data);
  43   1      }
  44          
  45          
  46          word max3100_input(byte tx1,byte tx2)
  47          {
  48   1      	word rx_data;
  49   1      	byte rx1,rx2;
  50   1      	
  51   1      	//if(max3100_cs == 0x01)
  52   1      	//{
  53   1      		max3100_cs = 0;
  54   1      		//max3100_cs2 = 1;
  55   1      	//}
C51 COMPILER V6.12  MAX3100                                                                01/24/2006 09:00:58 PAGE 2   

  56   1      	/*else if(max3100_cs == 0x02)
  57   1      	{
  58   1      		max3100_cs1 = 1;
  59   1      		max3100_cs2 = 0;
  60   1      	}*/
  61   1      	rx1 = max3100_byt8(tx1);
  62   1      	rx2 = max3100_byt8(tx2);
  63   1      
  64   1      	max3100_cs = 1;
  65   1      	
  66   1      	DPH = rx1;
  67   1      	DPL = rx2;
  68   1      	rx_data = DPTR;
  69   1      	return(rx_data);
  70   1      }
  71          
  72          
  73          void init_max3100(void)
  74          {
  75   1      	word rd_data;
  76   1      	max3100_sclk = 0;	//清时钟
  77   1      	EX1 = 0;			
  78   1      	//rd_data = max3100_input(0xc4,0x0b);	//3.6864write configuration	fifo使能 接收中断允许 1位停止位 8位数据
             -位 无奇偶校验 9600dps
  79   1      //	rd_data = max3100_input(0xc4,0x0c,MAX3100_LED_CS);	//3.6864write configuration	fifo使能 接收中断允许 1

⌨️ 快捷键说明

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