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

📄 eeprom.lis

📁 433M收发,内有PCB(用99打开),源程序ICC打开,用了IC发送和三极管两种,接收用RX3310
💻 LIS
字号:
                        .module eeprom.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\abol\file\EMD\programme\eeprom.c
 0000                   .dbfunc e EEPROM_write _EEPROM_write fV
 0000           ;         ucdata -> R18
 0000           ;      uiaddress -> R16
                        .even
 0000           _EEPROM_write::
 0000                   .dbline -1
 0000                   .dbline 22
 0000           ; 
 0000           ; /********************************************************/
 0000           ; /*                            ABOL                                                            */
 0000           ; /*                868MHZ数码管显示接收器                              */
 0000           ; /*     作者:于朝晖     2008-5-24 9:30:00                              */
 0000           ; /*     目标MCU:MEGA16  晶振:INT RC 8MHZ                               */
 0000           ; /* 文件名称:main.c  主函数                                                           */
 0000           ; /* 编译:ICC-AVR application builder                                  */
 0000           ; /* 当前版本: 1.0                                                                             */
 0000           ; /* 修改日期: 2008.5.24                                                                       */
 0000           ; /********************************************************/
 0000           ; 
 0000           ; 
 0000           ; #include <iom88v.h>
 0000           ; #include <macros.h>
 0000           ; #include "eeprom.h"
 0000           ; 
 0000           ; 
 0000           ; 
 0000           ; /*            EEPROM 写入     */      
 0000           ; void EEPROM_write(unsigned char uiaddress,unsigned char ucdata)
 0000           ; {
 0000                   .dbline 23
 0000           ;  WDR();
 0000 A895              wdr
 0002           L2:
 0002                   .dbline 24
 0002           L3:
 0002                   .dbline 24
 0002           ;  while(EECR&(1<<EEWE)); /*等待上一次写操作结束*/
 0002 F999              sbic 0x1f,1
 0004 FECF              rjmp L2
 0006                   .dbline 25
 0006           ;  EEAR=uiaddress; /*设置地址寄存器*/
 0006 202E              mov R2,R16
 0008 3324              clr R3
 000A 32BC              out 0x22,R3
 000C 21BC              out 0x21,R2
 000E                   .dbline 26
 000E           ;  EEDR=ucdata;
 000E 20BD              out 0x20,R18
 0010                   .dbline 27
 0010           ;  EECR|=(1<<EEMWE);
 0010 FA9A              sbi 0x1f,2
 0012                   .dbline 28
 0012           ;  EECR|=(1<<EEWE); /*置位EEMWE 置位EEWE以启动写操作*/
 0012 F99A              sbi 0x1f,1
 0014                   .dbline -2
 0014           L1:
 0014                   .dbline 0 ; func end
 0014 0895              ret
 0016                   .dbsym r ucdata 18 c
 0016                   .dbsym r uiaddress 16 c
 0016                   .dbend
 0016                   .dbfunc e EEPROM_read _EEPROM_read fc
 0016           ;      uiaddress -> R16
                        .even
 0016           _EEPROM_read::
 0016                   .dbline -1
 0016                   .dbline 33
 0016           ; }
 0016           ; 
 0016           ; /*      EEPROM 读取     */
 0016           ; unsigned char EEPROM_read(unsigned char uiaddress)
 0016           ; {
 0016           L6:
 0016                   .dbline 34
 0016           L7:
 0016                   .dbline 34
 0016           ;    while(EECR&(1<<EEWE));  /*等待上一次写操作结束*/
 0016 F999              sbic 0x1f,1
 0018 FECF              rjmp L6
 001A                   .dbline 35
 001A           ;    EEAR=uiaddress;    /*设置地址寄存器*/
 001A 202E              mov R2,R16
 001C 3324              clr R3
 001E 32BC              out 0x22,R3
 0020 21BC              out 0x21,R2
 0022                   .dbline 36
 0022           ;       EECR|=(1<<EERE);        /*置位EEMWE 置位EEWE以启动读操作*/ 
 0022 F89A              sbi 0x1f,0
 0024                   .dbline 37
 0024           ;       return EEDR;    /*自数据存贮器返回数据*/
 0024 00B5              in R16,0x20
 0026                   .dbline -2
 0026           L5:
 0026                   .dbline 0 ; func end
 0026 0895              ret
 0028                   .dbsym r uiaddress 16 c
 0028                   .dbend

⌨️ 快捷键说明

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