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

📄 t0时钟.lis

📁 iccavr下
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module T0时钟.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\M16开发板实验教程\icc-avr\T0CTCT~1/delay.h
 0000                   .dbfunc e delay_1us _delay_1us fV
                        .even
 0000           _delay_1us::
 0000                   .dbline -1
 0000                   .dbline 10
 0000           ; /* 
 0000           ;     Title:    icc-avr timer0 ctc timer
 0000           ;     Author:   dushibiao
 0000           ;     Date:     2007 10 18
 0000           ;     Purpose:  use timer0 ctc mode to generate a timer
 0000           ;       Frequency: Ext 8M
 0000           ;     Software: icc-avr 
 0000           ;     Hardware: AVR mega16 BOARD
 0000           ;     Connect:  dushibiao@126.com
 0000           ; */
 0000                   .dbline 11
 0000           ; //内部8M晶振,T0  CTC方式   DUSHIBIAO 2007 7 7
 0000 0000              nop
 0002                   .dbline -2
 0002           L1:
 0002                   .dbline 0 ; func end
 0002 0895              ret
 0004                   .dbend
 0004                   .dbfunc e delay_nus _delay_nus fV
 0004           ;              i -> R20,R21
 0004           ;              n -> R22,R23
                        .even
 0004           _delay_nus::
 0004 0E940000          xcall push_gset2
 0008 B801              movw R22,R16
 000A                   .dbline -1
 000A                   .dbline 15
 000A           ; 
 000A           ; #include<iom16v.h>
 000A           ; #include<macros.h>
 000A           ; #include "shumaguan.h"
 000A                   .dbline 16
 000A           ; #define uint unsigned int 
 000A 4427              clr R20
 000C 5527              clr R21
 000E                   .dbline 17
 000E           ; #define uchar unsigned char
 000E 03C0              xjmp L6
 0010           L3:
 0010                   .dbline 18
 0010 F7DF              xcall _delay_1us
 0012           L4:
 0012                   .dbline 17
 0012 4F5F              subi R20,255  ; offset = 1
 0014 5F4F              sbci R21,255
 0016           L6:
 0016                   .dbline 17
 0016 4617              cp R20,R22
 0018 5707              cpc R21,R23
 001A D0F3              brlo L3
 001C                   .dbline -2
 001C           L2:
 001C 0E940000          xcall pop_gset2
 0020                   .dbline 0 ; func end
 0020 0895              ret
 0022                   .dbsym r i 20 i
 0022                   .dbsym r n 22 i
 0022                   .dbend
 0022                   .dbfunc e delay_1ms _delay_1ms fV
 0022           ;              i -> R16,R17
                        .even
 0022           _delay_1ms::
 0022                   .dbline -1
 0022                   .dbline 22
 0022           ; 
 0022           ; uint micsec;                      //毫秒
 0022           ; uchar second, minute;   
 0022           ; 
 0022           ; void initial(void);
 0022                   .dbline 24
 0022 0027              clr R16
 0024 1127              clr R17
 0026 02C0              xjmp L11
 0028           L8:
 0028                   .dbline 24
 0028           L9:
 0028                   .dbline 24
 0028 0F5F              subi R16,255  ; offset = 1
 002A 1F4F              sbci R17,255
 002C           L11:
 002C                   .dbline 24
 002C           ; 
 002C           ; void main()
 002C 0437              cpi R16,116
 002E E4E0              ldi R30,4
 0030 1E07              cpc R17,R30
 0032 D0F3              brlo L8
 0034                   .dbline -2
 0034           L7:
 0034                   .dbline 0 ; func end
 0034 0895              ret
 0036                   .dbsym r i 16 i
 0036                   .dbend
 0036                   .dbfunc e delay_nms _delay_nms fV
 0036           ;              i -> R20,R21
 0036           ;              n -> R22,R23
                        .even
 0036           _delay_nms::
 0036 0E940000          xcall push_gset2
 003A B801              movw R22,R16
 003C                   .dbline -1
 003C                   .dbline 28
 003C           ; {
 003C           ;        initial();
 003C           ;       
 003C           ;        while(1)
 003C                   .dbline 29
 003C           ;        {
 003C 4427              clr R20
 003E 5527              clr R21
 0040                   .dbline 30
 0040           ;                unsigned int disvalue;
 0040 03C0              xjmp L16
 0042           L13:
 0042                   .dbline 31
 0042 EFDF              xcall _delay_1ms
 0044           L14:
 0044                   .dbline 30
 0044 4F5F              subi R20,255  ; offset = 1
 0046 5F4F              sbci R21,255
 0048           L16:
 0048                   .dbline 30
 0048 4617              cp R20,R22
 004A 5707              cpc R21,R23
 004C D0F3              brlo L13
 004E                   .dbline -2
 004E           L12:
 004E 0E940000          xcall pop_gset2
 0052                   .dbline 0 ; func end
 0052 0895              ret
 0054                   .dbsym r i 20 i
 0054                   .dbsym r n 22 i
 0054                   .dbend
                        .area lit(rom, con, rel)
 0000           _discode::
 0000 C0F9              .byte 192,249
 0002 A4B0              .byte 164,176
 0004 9992              .byte 153,146
 0006 82F8              .byte 130,248
 0008 8090              .byte 128,144
 000A FF                .byte 255
 000B                   .dbfile D:\M16开发板实验教程\icc-avr\T0CTCT~1/shumaguan.h
 000B                   .dbsym e discode _discode A[11:11]kc
                        .area text(rom, con, rel)
 0054                   .dbfile D:\M16开发板实验教程\icc-avr\T0CTCT~1/shumaguan.h
 0054                   .dbfunc e display _display fV
 0054           ;         number -> R20,R21
                        .even
 0054           _display::
 0054 0E940000          xcall push_gset1
 0058 A801              movw R20,R16
 005A                   .dbline -1
 005A                   .dbline 17
 005A                   .dbline 21
 005A C098              cbi 0x18,0
 005C                   .dbline 23
 005C 28EE              ldi R18,1000
 005E 33E0              ldi R19,3
 0060 8A01              movw R16,R20
 0062 0E940000          xcall div16u
 0066 F801              movw R30,R16
 0068 80E0              ldi R24,<_discode
 006A 90E0              ldi R25,>_discode
 006C E80F              add R30,R24
 006E F91F              adc R31,R25
 0070 E491              lpm R30,Z
 0072 EBBB              out 0x1b,R30
 0074                   .dbline 24
 0074 05E0              ldi R16,5
 0076 10E0              ldi R17,0
 0078 DEDF              xcall _delay_nms
 007A                   .dbline 25
 007A C09A              sbi 0x18,0
 007C                   .dbline 27
 007C C198              cbi 0x18,1
 007E                   .dbline 28
 007E 24E6              ldi R18,100
 0080 30E0              ldi R19,0
 0082 8A01              movw R16,R20
 0084 0E940000          xcall div16u
 0088 2AE0              ldi R18,10
 008A 30E0              ldi R19,0
 008C 0E940000          xcall mod16u
 0090 F801              movw R30,R16
 0092 80E0              ldi R24,<_discode
 0094 90E0              ldi R25,>_discode
 0096 E80F              add R30,R24
 0098 F91F              adc R31,R25
 009A E491              lpm R30,Z
 009C EBBB              out 0x1b,R30
 009E                   .dbline 29
 009E 05E0              ldi R16,5
 00A0 10E0              ldi R17,0
 00A2 C9DF              xcall _delay_nms
 00A4                   .dbline 30
 00A4 C19A              sbi 0x18,1
 00A6                   .dbline 32
 00A6           ;                        disvalue=(unsigned int)minute*100+second;
 00A6           ;                        display(disvalue);
 00A6 C298              cbi 0x18,2
 00A8                   .dbline 33
 00A8           ;        }
 00A8 24E6              ldi R18,100
 00AA 30E0              ldi R19,0
 00AC 8A01              movw R16,R20
 00AE 0E940000          xcall mod16u
 00B2 2AE0              ldi R18,10
 00B4 30E0              ldi R19,0
 00B6 0E940000          xcall div16u
 00BA F801              movw R30,R16
 00BC 80E0              ldi R24,<_discode
 00BE 90E0              ldi R25,>_discode
 00C0 E80F              add R30,R24
 00C2 F91F              adc R31,R25
 00C4 E491              lpm R30,Z
 00C6 EBBB              out 0x1b,R30
 00C8                   .dbline 34
 00C8           ;        
 00C8 05E0              ldi R16,5
 00CA 10E0              ldi R17,0
 00CC B4DF              xcall _delay_nms
 00CE                   .dbline 35
 00CE           ; }
 00CE C29A              sbi 0x18,2
 00D0                   .dbline 37
 00D0           ; /*-------------------------------------------------------------
 00D0           ; fuction:  initialize ports  and timer0 register
 00D0 C398              cbi 0x18,3
 00D2                   .dbline 38
 00D2           ; --------------------------------------------------------------*/

⌨️ 快捷键说明

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