?? counter.lis
字號:
.module Counter.c
.area text(rom, con, rel)
0000 .dbfile G:\avr祥例·附原理圖,及源代碼c語言·\AVR單片機應用系統開發典型實例\實例源文件\第2章程序\定時計數器的c語言編程\基于tc0的計數器設計\Counter.c
.area data(ram, con, rel)
0000 .dbfile G:\avr祥例·附原理圖,及源代碼c語言·\AVR單片機應用系統開發典型實例\實例源文件\第2章程序\定時計數器的c語言編程\基于tc0的計數器設計\Counter.c
0000 _Table::
0000 .blkb 2
.area idata
0000 3F06 .byte 63,6
.area data(ram, con, rel)
0002 .dbfile G:\avr祥例·附原理圖,及源代碼c語言·\AVR單片機應用系統開發典型實例\實例源文件\第2章程序\定時計數器的c語言編程\基于tc0的計數器設計\Counter.c
0002 .blkb 2
.area idata
0002 5B4F .byte 91,'O
.area data(ram, con, rel)
0004 .dbfile G:\avr祥例·附原理圖,及源代碼c語言·\AVR單片機應用系統開發典型實例\實例源文件\第2章程序\定時計數器的c語言編程\基于tc0的計數器設計\Counter.c
0004 .blkb 2
.area idata
0004 666D .byte 'f,'m
.area data(ram, con, rel)
0006 .dbfile G:\avr祥例·附原理圖,及源代碼c語言·\AVR單片機應用系統開發典型實例\實例源文件\第2章程序\定時計數器的c語言編程\基于tc0的計數器設計\Counter.c
0006 .blkb 2
.area idata
0006 7D07 .byte 125,7
.area data(ram, con, rel)
0008 .dbfile G:\avr祥例·附原理圖,及源代碼c語言·\AVR單片機應用系統開發典型實例\實例源文件\第2章程序\定時計數器的c語言編程\基于tc0的計數器設計\Counter.c
0008 .blkb 2
.area idata
0008 7F6F .byte 127,'o
.area data(ram, con, rel)
000A .dbfile G:\avr祥例·附原理圖,及源代碼c語言·\AVR單片機應用系統開發典型實例\實例源文件\第2章程序\定時計數器的c語言編程\基于tc0的計數器設計\Counter.c
000A .dbsym e Table _Table A[10:10]c
000A _Data::
000A .blkb 2
.area idata
000A 0000 .byte 0,0
.area data(ram, con, rel)
000C .dbfile G:\avr祥例·附原理圖,及源代碼c語言·\AVR單片機應用系統開發典型實例\實例源文件\第2章程序\定時計數器的c語言編程\基于tc0的計數器設計\Counter.c
000C .blkb 2
.area idata
000C 0000 .byte 0,0
.area data(ram, con, rel)
000E .dbfile G:\avr祥例·附原理圖,及源代碼c語言·\AVR單片機應用系統開發典型實例\實例源文件\第2章程序\定時計數器的c語言編程\基于tc0的計數器設計\Counter.c
000E .dbsym e Data _Data A[4:4]c
000E _CNT::
000E .blkb 2
.area idata
000E 0000 .word 0
.area data(ram, con, rel)
0010 .dbfile G:\avr祥例·附原理圖,及源代碼c語言·\AVR單片機應用系統開發典型實例\實例源文件\第2章程序\定時計數器的c語言編程\基于tc0的計數器設計\Counter.c
0010 .dbsym e CNT _CNT i
.area text(rom, con, rel)
0000 .dbfile G:\avr祥例·附原理圖,及源代碼c語言·\AVR單片機應用系統開發典型實例\實例源文件\第2章程序\定時計數器的c語言編程\基于tc0的計數器設計\Counter.c
0000 .dbfunc e DelayMs _DelayMs fV
0000 ; j -> R20,R21
0000 ; i -> R16,R17
.even
0000 _DelayMs::
0000 4A93 st -y,R20
0002 5A93 st -y,R21
0004 .dbline -1
0004 .dbline 14
0004 ; //******************************FileName: Counter.C*************************//
0004 ; //******************************ICCAVR V6.30編譯***************************//
0004 ;
0004 ; #include <io8535v.h>
0004 ; #define uchar unsigned char
0004 ; #define uint unsigned int
0004 ;
0004 ; //數碼管字型表,對應0,1,2,3,4,5,6,7,8,9//
0004 ; uchar Table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
0004 ; uchar Data[4]={0,0,0,0}; //顯示初始值:0 0 0 0
0004 ; uint CNT=0; //初始計數值:0
0004 ;
0004 ; void DelayMs(uint i) //Ms級延時,參數i為延時時間
0004 ; {uint j;
0004 .dbline 15
0004 ; for(;i!=0;i--)
0004 0AC0 rjmp L5
0006 L2:
0006 .dbline 16
0006 ; {for(j=8000;j!=0;j--) {;}}
0006 .dbline 16
0006 40E4 ldi R20,8000
0008 5FE1 ldi R21,31
000A 02C0 rjmp L9
000C L6:
000C .dbline 16
000C .dbline 16
000C .dbline 16
000C L7:
000C .dbline 16
000C 4150 subi R20,1
000E 5040 sbci R21,0
0010 L9:
0010 .dbline 16
0010 4030 cpi R20,0
0012 4507 cpc R20,R21
0014 D9F7 brne L6
0016 X0:
0016 .dbline 16
0016 L3:
0016 .dbline 15
0016 0150 subi R16,1
0018 1040 sbci R17,0
001A L5:
001A .dbline 15
001A 0030 cpi R16,0
001C 0107 cpc R16,R17
001E 99F7 brne L2
0020 X1:
0020 .dbline -2
0020 L1:
0020 .dbline 0 ; func end
0020 5991 ld R21,y+
0022 4991 ld R20,y+
0024 0895 ret
0026 .dbsym r j 20 i
0026 .dbsym r i 16 i
0026 .dbend
0026 .dbfunc e Display _Display fV
0026 ; sel -> R22
0026 ; i -> R20
0026 ; p -> R10,R11
.even
0026 _Display::
0026 00D0 rcall push_xgsetF00C
0028 5801 movw R10,R16
002A .dbline -1
002A .dbline 20
002A ; }
002A ;
002A ; void Display(uchar *p) //動態顯示函數,參數p為待顯示的數組名
002A ; {uchar i,sel=0x01;
002A .dbline 20
002A 61E0 ldi R22,1
002C .dbline 21
002C ; for(i=0;i<4;i++)
002C 4427 clr R20
002E 12C0 rjmp L14
0030 L11:
0030 .dbline 22
0030 ; {PORTC=sel; //選通最右邊的數碼管
0030 .dbline 22
0030 65BB out 0x15,R22
0032 .dbline 23
0032 ; PORTA=Table[p[i]]; //送字型碼
0032 E42F mov R30,R20
0034 FF27 clr R31
0036 EA0D add R30,R10
0038 FB1D adc R31,R11
003A E081 ldd R30,z+0
003C FF27 clr R31
003E 80E0 ldi R24,<_Table
0040 90E0 ldi R25,>_Table
0042 E80F add R30,R24
0044 F91F adc R31,R25
0046 2080 ldd R2,z+0
0048 2BBA out 0x1b,R2
004A .dbline 24
004A ; DelayMs(2); //顯示延時
004A 02E0 ldi R16,2
004C 10E0 ldi R17,0
004E D8DF rcall _DelayMs
0050 .dbline 25
0050 ; sel=sel<<1; //移位以顯示前一位
0050 660F lsl R22
0052 .dbline 26
0052 ; }
0052 L12:
0052 .dbline 21
0052 4395 inc R20
0054 L14:
0054 .dbline 21
0054 4430 cpi R20,4
0056 60F3 brlo L11
0058 X2:
0058 .dbline -2
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -