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

📄 bc7281a.lst

📁 关于x25045芯片的功能编程。x20545为一个既能接收64个键盘又能驱动16位led显示的芯片
💻 LST
字号:
C51 COMPILER V6.12  BC7281A                                                                04/19/2006 18:12:27 PAGE 1   


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

stmt level    source

   1          #include <bc7281a.h>
   2          
   3          void delay(unsigned char time)
   4          {
   5   1      	while(time!=0)
   6   1      	{
   7   2      	time--;
   8   2      	}
   9   1      }
  10          
  11          void send_byte(unsigned char send_byte)
  12          {
  13   1      	unsigned char bit_counter;
  14   1      	//generate a clk pulse;
  15   1      	clk=0;
  16   1      	clk=1;
  17   1      	do
  18   1      	{
  19   2      	clk=0;
  20   2      	clk=1;
  21   2      	}
  22   1      	while(dat); //wait for data response
  23   1      	clk=0;
  24   1      	clk=1;
  25   1      	while(!dat);
  26   1      	for(bit_counter=0;bit_counter<8;bit_counter++)
  27   1      	{
  28   2      		if((send_byte&0x80)==0)
  29   2      		dat=0;   
  30   2      		else 
  31   2      		dat=1;
  32   2      		send_byte=send_byte<<1;
  33   2      		clk=0;
  34   2      		clk=1;
  35   2      		delay(1);
  36   2      	}
  37   1      	dat = 1;
  38   1      	delay(2);
  39   1      }
  40          //recv a byte for 728x;
  41          unsigned char receive_byte(void)
  42          {
  43   1      	unsigned char bit_counter,in_byte;
  44   1      	//generate a clk pulse;
  45   1      	clk=0;
  46   1      	clk=1;
  47   1      	while(dat); //wait for data response
  48   1      	clk=0;
  49   1      	clk=1;
  50   1      	for(bit_counter=0;bit_counter<8;bit_counter++)
  51   1      	{
  52   2      	delay(1);
  53   2      	in_byte = in_byte<<1;
  54   2      	if(dat)
  55   2      	in_byte = in_byte|0x01;
C51 COMPILER V6.12  BC7281A                                                                04/19/2006 18:12:27 PAGE 2   

  56   2      
  57   2      	clk=0;
  58   2      	clk=1;
  59   2      	}
  60   1      	delay(2);
  61   1      	return(in_byte);
  62   1      }
  63          
  64          //short time delay
  65          
  66          void write728x(unsigned char reg_add,unsigned char write_data)
  67          {
  68   1      	send_byte(reg_add);
  69   1      	send_byte(write_data);
  70   1      }
  71          //
  72          unsigned char read728x(unsigned char reg_read)
  73          {
  74   1      	send_byte(reg_read|0x80);
  75   1      	return receive_byte();
  76   1      }
  77          void initialize728x(void)
  78          {
  79   1      	for(tmr=0;tmr<0xffff;tmr++);
  80   1      	write728x(0x12,0x88);
  81   1      }
  82          


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