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

📄 spi.lis

📁 avr单片机与flash存储器通信程序,调试通过,希望对大家有所帮助.
💻 LIS
字号:
                        .module spi.c
                        .area text(rom, con, rel)
 0000                   .dbfile C:\ATMega8515\SPI\spi.c
 0000                   .dbfunc e main _main fV
 0000           ;           temp -> R20
                        .even
 0000           _main::
 0000                   .dbline -1
 0000                   .dbline 7
 0000           ; #include <iom8515v.h>
 0000           ; #include"ForATmega8515.h"
 0000           ; 
 0000           ; void delay(uint ticks);
 0000           ; 
 0000           ; void main()
 0000           ; {
 0000                   .dbline 8
 0000           ;  uchar temp=1;
 0000 41E0              ldi R20,1
 0002                   .dbline 9
 0002           ;  init_devices();
 0002 00D0              rcall _init_devices
 0004 0CC0              rjmp L3
 0006           L2:
 0006                   .dbline 11
 0006           ;  while(1)
 0006           ;  {
 0006                   .dbline 12
 0006           ;   SPDR=temp;//发送数据
 0006 4FB9              out 0xf,R20
 0008                   .dbline 13
 0008           ;   temp<<=1;
 0008 440F              lsl R20
 000A                   .dbline 14
 000A           ;   delay(1000);
 000A 08EE              ldi R16,1000
 000C 13E0              ldi R17,3
 000E 09D0              rcall _delay
 0010                   .dbline 15
 0010           ;   if(temp==0){temp=1;SPCR^=0x20;}//改变方向
 0010 4423              tst R20
 0012 29F4              brne L5
 0014                   .dbline 15
 0014                   .dbline 15
 0014 41E0              ldi R20,1
 0016                   .dbline 15
 0016 80E2              ldi R24,32
 0018 2DB0              in R2,0xd
 001A 2826              eor R2,R24
 001C 2DB8              out 0xd,R2
 001E                   .dbline 15
 001E           L5:
 001E                   .dbline 16
 001E           L3:
 001E                   .dbline 10
 001E F3CF              rjmp L2
 0020           X0:
 0020                   .dbline -2
 0020           L1:
 0020                   .dbline 0 ; func end
 0020 0895              ret
 0022                   .dbsym r temp 20 c
 0022                   .dbend
 0022                   .dbfunc e delay _delay fV
 0022           ;              i -> R20
 0022           ;          ticks -> R16,R17
                        .even
 0022           _delay::
 0022 00D0              rcall push_gset1
 0024                   .dbline -1
 0024                   .dbline 21
 0024           ;  }
 0024           ; }
 0024           ; 
 0024           ; 
 0024           ; void delay(uint ticks)
 0024           ; {
 0024                   .dbline 23
 0024 07C0              rjmp L11
 0026           L8:
 0026                   .dbline 23
 0026 48EC              ldi R20,200
 0028 01C0              rjmp L15
 002A           L12:
 002A                   .dbline 23
 002A           L13:
 002A                   .dbline 23
 002A 4A95              dec R20
 002C           L15:
 002C                   .dbline 23
 002C 4423              tst R20
 002E E9F7              brne L12
 0030           L9:
 0030                   .dbline 23
 0030 0150              subi R16,1
 0032 1040              sbci R17,0
 0034           L11:
 0034                   .dbline 23
 0034           ;  uchar i;
 0034           ;  for(;ticks!=0;ticks--)for(i=200;i!=0;i--);
 0034 0030              cpi R16,0
 0036 0107              cpc R16,R17
 0038 B1F7              brne L8
 003A           X1:
 003A                   .dbline -2
 003A           L7:
 003A 00D0              rcall pop_gset1
 003C                   .dbline 0 ; func end
 003C 0895              ret
 003E                   .dbsym r i 20 c
 003E                   .dbsym r ticks 16 i
 003E                   .dbend

⌨️ 快捷键说明

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