?? 8515intr.lis
字號:
.module .8515intr.c
.area vector(rom, abs)
.org 12
000C 0FC0 rjmp _timer
.area data(ram, con, rel)
0000 _led_image::
0000 .blkb 1
.area idata
0000 FF .byte 255
.area data(ram, con, rel)
0001 .dbfile D:\ICC-AVR\examples.sl\interrupt\8515intr.c
0001 .dbsym s led_image _led_image c
.area text(rom, con, rel)
0000 .dbfile D:\ICC-AVR\examples.sl\interrupt\8515intr.c
0000 .dbfunc s main _main fI
.even
0000 _main::
0000 .dbline 9{
; #include <io8515.h>
; #pragma interrupt_handler timer:TOV1
;
; char led_image = 0xFF; // 關(guān)閉全部LED
; /***************************************
; 主程序入口
; ***************************************/
; void main()
; {
0000 .dbline 13
; /***************************
; 初始化8515寄存器
; ***************************/
; DDRB = 0xFF;
0000 8FEF ldi R24,255
0002 87BB out 0x17,R24
0004 .dbline 14
; PORTB = 0x00;
0004 2224 clr R2
0006 28BA out 0x18,R2
0008 .dbline 15
; TCCR1A=0;
0008 2FBC out 0x2f,R2
000A .dbline 16
; TCCR1B = 0x00; // 停止定時器1
000A 2EBC out 0x2e,R2
000C .dbline 17
; TCNT1H = 0x00; // 清除定時器1
000C 2DBC out 0x2d,R2
000E .dbline 18
; TCNT1L = 0x00;
000E 2CBC out 0x2c,R2
0010 .dbline 19
; TIMSK=0x80; // 開放定時器1溢出中斷
0010 80E8 ldi R24,128
0012 89BF out 0x39,R24
0014 .dbline 20
; SREG|=0x80;
0014 7894 bset 7
0016 .dbline 21
; TCCR1B =0x03; // 啟動定時器1 預(yù)分頻比例64
0016 83E0 ldi R24,3
0018 8EBD out 0x2e,R24
001A L2:
001A .dbline 23
001A L3:
001A .dbline 22
; while (1)
001A FFCF rjmp L2
001C X0:
001C .dbline 24}
; ;
; }
001C L1:
001C 0895 ret
001E .dbfunc s timer _timer fI
.even
001E _timer::
001E 2A92 st -y,R2
0020 8A93 st -y,R24
0022 9A93 st -y,R25
0024 2FB6 in R2,0x3f
0026 2A92 st -y,R2
0028 .dbline 29{
; /*************************************
; 在定時器中斷中改變LED的顯示狀態(tài)
; *************************************/
; void timer()
; {
0028 .dbline 30
; PORTB = ++led_image;
0028 80910000 lds R24,_led_image
002C 8F5F subi R24,255 ; addi 1
002E 282E mov R2,R24
0030 20920000 sts _led_image,R2
0034 28BA out 0x18,R2
0036 .dbline 31
; PORTC=~PORTC;
0036 25B2 in R2,0x15
0038 2094 com R2
003A 25BA out 0x15,R2
003C .dbline 32}
; }
003C L5:
003C 2990 ld R2,y+
003E 2FBE out 0x3f,R2
0040 9991 ld R25,y+
0042 8991 ld R24,y+
0044 2990 ld R2,y+
0046 1895 reti
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -