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

📄 time.lis

📁 电机控制程,用于电机控制,可用于需要的系统中
💻 LIS
字号:
                        .module time.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\NEWWOR~1\motor\time.c
 0000                   .dbfunc e Time1Init _Time1Init fV
                        .even
 0000           _Time1Init::
 0000                   .dbline -1
 0000                   .dbline 13
 0000           ; #include <iom64v.h>
 0000           ; #include <macros.h>
 0000           ; #include "head.h"
 0000           ; 
 0000           ; 
 0000           ; /*-----------------------------------------------------------------
 0000           ; 函数名称: void Timer1Init(void)
 0000           ; 函数功能: 定时器1初始化  256预分频 定时一秒 
 0000           ; 参    数: 
 0000           ; 返 回 值: 无
 0000           ; -----------------------------------------------------------------*/
 0000           ; void Time1Init()
 0000           ; {
 0000                   .dbline 14
 0000           ;       CLI();                                                          //关全部中断                                                             //开中断
 0000 F894              cli
 0002                   .dbline 15
 0002           ;       TCCR1B = 0x00;                            //关定时器
 0002 2224              clr R2
 0004 2EBC              out 0x2e,R2
 0006                   .dbline 16
 0006           ;       TCNT1H = 0xF0;                            //设置定时初值
 0006 80EF              ldi R24,240
 0008 8DBD              out 0x2d,R24
 000A                   .dbline 17
 000A           ;       TCNT1L = 0xBE;
 000A 8EEB              ldi R24,190
 000C 8CBD              out 0x2c,R24
 000E                   .dbline 18
 000E           ;       OCR1AH = 0x0F;
 000E 8FE0              ldi R24,15
 0010 8BBD              out 0x2b,R24
 0012                   .dbline 19
 0012           ;       OCR1AL = 0x42;
 0012 82E4              ldi R24,66
 0014 8ABD              out 0x2a,R24
 0016                   .dbline 20
 0016           ;       OCR1BH = 0x0F;
 0016 8FE0              ldi R24,15
 0018 89BD              out 0x29,R24
 001A                   .dbline 21
 001A           ;       OCR1BL = 0x42;
 001A 82E4              ldi R24,66
 001C 88BD              out 0x28,R24
 001E                   .dbline 22
 001E           ;       ICR1H  = 0x0F;
 001E 8FE0              ldi R24,15
 0020 87BD              out 0x27,R24
 0022                   .dbline 23
 0022           ;       ICR1L  = 0x42;
 0022 82E4              ldi R24,66
 0024 86BD              out 0x26,R24
 0026                   .dbline 24
 0026           ;       TCCR1A = 0x00;
 0026 2FBC              out 0x2f,R2
 0028                   .dbline 25
 0028           ;       TCCR1B = 0x04;                            //开始计数
 0028 84E0              ldi R24,4
 002A 8EBD              out 0x2e,R24
 002C                   .dbline 27
 002C           ;       
 002C           ;       TIMSK = 0x04;                                            //timer interrupt sources
 002C 87BF              out 0x37,R24
 002E                   .dbline 28
 002E           ;       SEI(); 
 002E 7894              sei
 0030                   .dbline -2
 0030           L1:
 0030                   .dbline 0 ; func end
 0030 0895              ret
 0032                   .dbend
                        .area vector(rom, abs)
                        .org 56
 0038 0C941900          jmp _timer1_ovf_isr
                        .area text(rom, con, rel)
 0032                   .dbfile D:\NEWWOR~1\motor\time.c
 0032                   .dbfunc e timer1_ovf_isr _timer1_ovf_isr fV
                        .even
 0032           _timer1_ovf_isr::
 0032 2A92              st -y,R2
 0034 8A93              st -y,R24
 0036 2FB6              in R2,0x3f
 0038 2A92              st -y,R2
 003A                   .dbline -1
 003A                   .dbline 33
 003A           ; }
 003A           ; 
 003A           ; #pragma interrupt_handler timer1_ovf_isr:15
 003A           ; void timer1_ovf_isr(void)
 003A           ; {
 003A                   .dbline 35
 003A           ;   
 003A           ;       TCNT1H = 0xF0;                            //重新装载计数值
 003A 80EF              ldi R24,240
 003C 8DBD              out 0x2d,R24
 003E                   .dbline 36
 003E           ;       TCNT1L = 0xBE; 
 003E 8EEB              ldi R24,190
 0040 8CBD              out 0x2c,R24
 0042                   .dbline 37
 0042           ;       if(temp){
 0042 20900000          lds R2,_temp
 0046 2220              tst R2
 0048 41F0              breq L3
 004A                   .dbline 37
 004A                   .dbline 38
 004A           ;               g_ucLedStatus=0x00;
 004A 2224              clr R2
 004C 20920000          sts _g_ucLedStatus,R2
 0050                   .dbline 39
 0050           ;           PORTF = g_ucLedStatus;
 0050 20926200          sts 98,R2
 0054                   .dbline 40
 0054           ;               temp=0;
 0054 20920000          sts _temp,R2
 0058                   .dbline 41
 0058 09C0              xjmp L4
 005A           L3:
 005A                   .dbline 41
 005A                   .dbline 42
 005A 8FEF              ldi R24,255
 005C 80930000          sts _g_ucLedStatus,R24
 0060                   .dbline 43
 0060 282E              mov R2,R24
 0062 20926200          sts 98,R2
 0066                   .dbline 44
 0066 81E0              ldi R24,1
 0068 80930000          sts _temp,R24
 006C                   .dbline 45
 006C           L4:
 006C                   .dbline -2
 006C           L2:
 006C 2990              ld R2,y+
 006E 2FBE              out 0x3f,R2
 0070 8991              ld R24,y+
 0072 2990              ld R2,y+
 0074                   .dbline 0 ; func end
 0074 1895              reti
 0076                   .dbend

⌨️ 快捷键说明

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