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

📄 iicdemo.lst

📁 压缩包中包括多个常用的汇编
💻 LST
📖 第 1 页 / 共 2 页
字号:
 205          {
 206   1          u_char n;
 207   1      
 208   1          iic_start();
 209   1          iic_send_byte(0xa0);
 210   1          iic_wait_ack();
 211   1          iic_send_byte(address / 256);
 212   1          iic_wait_ack();
 213   1          iic_send_byte(address % 256);
 214   1          iic_wait_ack();
 215   1      
 216   1          for(n=0; n<num; n++)
 217   1          {
 218   2              iic_send_byte(write_data[n]);
 219   2              iic_wait_ack();
 220   2          }
 221   1      
 222   1          iic_stop();
 223   1      }
 224          
 225          /****************************************************************************/
 226          /* 函数名:read_iic_data                                                    */
 227          /* 功  能:从iic设备读取N个字节                                             */
 228          /* 作  者:spot                                                             */
 229          /* 输  入:                                                                 */
 230          /*         read_data               存放读取字节的数组                       */
 231          /*         address                 指定从address处开始读取                  */
 232          /*         num                     读取的字节数                             */
 233          /*                                                                          */
 234          /* 输  出:无                                                               */
 235          /*                                                                          */
 236          /* 历史记录:                                                               */
 237          /*  spot          2005-06-20     Creat Inital version. (Version 1.0)        */
 238          /****************************************************************************/
 239          void read_iic_data(u_char read_data[], u_int address, u_char num)
 240          {
 241   1          u_char n;
C51 COMPILER V6.12  IICDEMO                                                                09/23/2005 17:15:48 PAGE 5   

 242   1          u_char *pread_data;
 243   1          pread_data = read_data;
 244   1          iic_start();
 245   1          iic_send_byte(0xa0);
 246   1          iic_wait_ack();
 247   1          iic_send_byte(address / 256);
 248   1          iic_wait_ack();
 249   1          iic_send_byte(address % 256);
 250   1          iic_wait_ack();
 251   1      
 252   1          iic_start();
 253   1          iic_send_byte(0xa1);
 254   1          iic_wait_ack();
 255   1      
 256   1          for (n=0; n<num; n++)
 257   1          {
 258   2          	*pread_data = iic_receive_byte();
 259   2          	pread_data++;
 260   2      
 261   2          	if (n != (num - 1))     //最后一个数据不应答
 262   2          	{
 263   3          	    iic_ack();
 264   3          	}
 265   2          }
 266   1      
 267   1          iic_no_ack();
 268   1          iic_stop();
 269   1      }
 270          
 271          main()
 272          {
 273   1          u_char idata test_write[64];
 274   1          u_char test_read[64];
 275   1          u_char i;
 276   1      
 277   1          while(1)
 278   1          {
 279   2          	for (i=0; i<64; i++)
 280   2          	{
 281   3          	    test_read[i] = 0;
 282   3          	}
 283   2      
 284   2              for (i=0; i<64; i++)
 285   2              {
 286   3                  test_write[i] = i + 0;
 287   3              }
 288   2              write_iic_data(test_write, 0, 64);
 289   2              read_iic_data(test_read, 0, 64);
 290   2      
 291   2      
 292   2              for (i=0; i<64; i++)
 293   2              {
 294   3                  test_write[i] = i + 64;
 295   3              }
 296   2          	write_iic_data(test_write, 64, 64);
 297   2              read_iic_data(test_read, 64, 64);
 298   2          }
 299   1      }
C51 COMPILER V6.12  IICDEMO                                                                09/23/2005 17:15:48 PAGE 6   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P0 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0080H  1
P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
iic_no_ack . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
T2 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
_read_iic_data . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  read_data. . . . . . . . . . . . . .  AUTO     DATA   PTR      0001H  3
  address. . . . . . . . . . . . . . .  AUTO     DATA   U_INT    0003H  2
  num. . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0005H  1
  n. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0004H  1
  pread_data . . . . . . . . . . . . .  AUTO     DATA   PTR      0006H  3
iic_receive_byte . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  ddata. . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0006H  1
EXF2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CEH  1
RD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
ES . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ACH  1
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
INT0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
CY . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D7H  1
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
INT1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
_write_iic_data. . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  write_data . . . . . . . . . . . . .  AUTO     DATA   PTR      0000H  3
  address. . . . . . . . . . . . . . .  AUTO     DATA   U_INT    0002H  2
  num. . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0005H  1
  n. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0004H  1
u_int. . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
PS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BCH  1
T2EX . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0091H  1
OV . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D2H  1
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  test_write . . . . . . . . . . . . .  AUTO     IDATA  ARRAY    0000H  64
  test_read. . . . . . . . . . . . . .  AUTO     DATA   ARRAY    0000H  64
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0040H  1
C_T2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C9H  1
WR . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
RCLK . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CDH  1
TCLK . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CCH  1
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
_iic_send_byte . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  sbyte. . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0006H  1
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  1
CP_RL2 . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C8H  1
iic_ack. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
iic_start. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
ET1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ABH  1
C51 COMPILER V6.12  IICDEMO                                                                09/23/2005 17:15:48 PAGE 7   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


TF0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008DH  1
ET2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ADH  1
TF1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008FH  1
TF2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CFH  1
RB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009AH  1
EX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A8H  1
IT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0088H  1
iic_wait . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0007H  -----
TB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009BH  1
EX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AAH  1
IT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008AH  1
P. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D0H  1
SM0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009FH  1
SM1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009EH  1
SM2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009DH  1
PT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B9H  1
PT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BBH  1
RS0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D3H  1
PT2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BDH  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
RS1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D4H  1
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
SDA. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0085H  1
TR2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CAH  1
PX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B8H  1
PX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BAH  1
iic_wait_ack . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0008H  -----
  errtime. . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
iic_stop . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
SCL. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0084H  1
EXEN2. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CBH  1
REN. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009CH  1
T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
RXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
TXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
u_char . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_CHAR   -----  1
F0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D5H  1
PSW. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D0H  1


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