?? led2.lis
字號:
.module LED2.c
.area text(rom, con, rel)
0000 .dbfile D:\16實驗程序\LED2\LED2.c
0000 .dbfunc e s_ms _s_ms fV
0000 ; t -> R16,R17
.even
0000 _s_ms::
0000 .dbline -1
0000 .dbline 9
0000 ; //led顯示程序
0000 ; //流水燈顯示
0000 ; #include<iom16v.h>
0000 ; #define uchar unsigned char
0000 ; #define uint unsigned int
0000 ;
0000 ; //延時函數
0000 ; void s_ms(unsigned int t)
0000 ; {
0000 .dbline 10
0000 ; for(;t>1;t--)
0000 02C0 xjmp L5
0002 L2:
0002 .dbline 11
0002 ; {
0002 .dbline 12
0002 ; }
0002 L3:
0002 .dbline 10
0002 0150 subi R16,1
0004 1040 sbci R17,0
0006 L5:
0006 .dbline 10
0006 81E0 ldi R24,1
0008 90E0 ldi R25,0
000A 8017 cp R24,R16
000C 9107 cpc R25,R17
000E C8F3 brlo L2
0010 X0:
0010 .dbline -2
0010 L1:
0010 .dbline 0 ; func end
0010 0895 ret
0012 .dbsym r t 16 i
0012 .dbend
0012 .dbfunc e main _main fI
0012 ; led -> R20
.even
0012 _main::
0012 .dbline -1
0012 .dbline 17
0012 ; }
0012 ;
0012 ; //主函數
0012 ; main()
0012 ; {
0012 .dbline 18
0012 ; uchar led=1;
0012 41E0 ldi R20,1
0014 .dbline 19
0014 ; DDRD=0xff; //端口A為輸出
0014 8FEF ldi R24,255
0016 81BB out 0x11,R24
0018 .dbline 20
0018 ; PORTD=0xff; //關閉所有LED
0018 82BB out 0x12,R24
001A 13C0 xjmp L8
001C L7:
001C .dbline 22
001C ; while(1)
001C ; {
001C .dbline 23
001C ; PORTD=~led; //端口輸出led值
001C 242E mov R2,R20
001E 2094 com R2
0020 22BA out 0x12,R2
0022 .dbline 24
0022 ; led=led<<1; //向左移動一位
0022 440F lsl R20
0024 .dbline 25
0024 ; s_ms(65535); //延時
0024 0FEF ldi R16,65535
0026 1FEF ldi R17,255
0028 EBDF xcall _s_ms
002A .dbline 26
002A ; s_ms(65535);
002A 0FEF ldi R16,65535
002C 1FEF ldi R17,255
002E E8DF xcall _s_ms
0030 .dbline 27
0030 ; s_ms(65535);
0030 0FEF ldi R16,65535
0032 1FEF ldi R17,255
0034 E5DF xcall _s_ms
0036 .dbline 28
0036 ; s_ms(65535);
0036 0FEF ldi R16,65535
0038 1FEF ldi R17,255
003A E2DF xcall _s_ms
003C .dbline 30
003C ; //PORTG=0xff;
003C ; if(led==0) //完成8位后重新開始
003C 4423 tst R20
003E 09F4 brne L10
0040 X1:
0040 .dbline 31
0040 ; {
0040 .dbline 32
0040 ; led=1;
0040 41E0 ldi R20,1
0042 .dbline 33
0042 ; }
0042 L10:
0042 .dbline 34
0042 ; }
0042 L8:
0042 .dbline 21
0042 ECCF xjmp L7
0044 X2:
0044 .dbline -2
0044 L6:
0044 .dbline 0 ; func end
0044 0895 ret
0046 .dbsym r led 20 c
0046 .dbend
0046 ; }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -