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

📄 timer.lst

📁 pic 单片机的应用子程序库
💻 LST
字号:
CCS PCM C Compiler, Version 3.187, 16465


               Filename: D:\myPIC\ccsc_timer.LST

               ROM used: 115 (1%)
                         Largest free fragment is 2048
               RAM used: 16 (9%) at main() level
                         16 (9%) worst case
               Stack:    1 worst case (0 in main + 1 for interrupts)

*
0000:  MOVLW  00
0001:  MOVWF  0A
0002:  GOTO   049
0003:  NOP
0004:  MOVWF  7F
0005:  SWAPF  03,W
0006:  CLRF   03
0007:  MOVWF  21
0008:  MOVF   0A,W
0009:  MOVWF  20
000A:  CLRF   0A
000B:  MOVF   04,W
000C:  MOVWF  22
000D:  MOVF   77,W
000E:  MOVWF  23
000F:  MOVF   78,W
0010:  MOVWF  24
0011:  MOVF   79,W
0012:  MOVWF  25
0013:  MOVF   7A,W
0014:  MOVWF  26
0015:  MOVF   7B,W
0016:  MOVWF  27
0017:  BCF    03.7
0018:  BCF    03.5
0019:  MOVLW  8C
001A:  MOVWF  04
001B:  BTFSS  00.0
001C:  GOTO   01F
001D:  BTFSC  0C.0
001E:  GOTO   032
001F:  MOVF   22,W
0020:  MOVWF  04
0021:  MOVF   23,W
0022:  MOVWF  77
0023:  MOVF   24,W
0024:  MOVWF  78
0025:  MOVF   25,W
0026:  MOVWF  79
0027:  MOVF   26,W
0028:  MOVWF  7A
0029:  MOVF   27,W
002A:  MOVWF  7B
002B:  MOVF   20,W
002C:  MOVWF  0A
002D:  SWAPF  21,W
002E:  MOVWF  03
002F:  SWAPF  7F,F
0030:  SWAPF  7F,W
0031:  RETFIE
0032:  BCF    0A.3
0033:  BCF    0A.4
0034:  GOTO   035
....................  /*=============================================================================
.................... 使用PIC16F877A片内Timer1定时,运行程序:
....................         程序开始    -> LED0亮,
....................         每0.5秒钟   -> LED7交替亮灭,
....................         循环10次后  -> Timer1中断关闭,LED6亮,LED7保持当前状态。
.................... =============================================================================*/
.................... ///////////////////////////////////////////////////////////////////////////////
.................... // MPLAB IDE V7.11 + CCS C3.18
.................... // Use 16F877A internal timer1 for MCD2-demo
.................... //
.................... // by LW7807@163.com
.................... // 2005/06/22
.................... ///////////////////////////////////////////////////////////////////////////////
.................... #include <16F877A.h>                            // PIC16F877 header file
....................  //////// Standard Header file for the PIC16F877A device ////////////////
.................... #device PIC16F877A
.................... #list
....................
.................... #use delay(clock=4000000)                       // for 4Mhz crystal
.................... #fuses XT, NOWDT, NOPROTECT, NOLVP              // for debug mode
....................
....................
.................... #define TIMER1_500MS            (0xFFFF - 62500 + 1)
.................... #define DO_THIS_TIMES           10
....................
.................... #define LED7_IO                 PIN_C7
.................... #define LED6_IO                 PIN_C6
.................... #define LED0_IO                 PIN_C0
.................... #define LED_ON                  1
.................... #define LED_OFF                 0
....................
....................
.................... int1    led7_status             = LED_OFF;
*
0052:  BCF    28.0
.................... int8    cnt                     = 0;
0053:  CLRF   29
....................
.................... ///////////////////////////////////////////////////////////////////////////////
.................... //
.................... #int_TIMER1
.................... void timer1_isr(void)
.................... {
....................         led7_status = ~led7_status;
*
0035:  MOVLW  01
0036:  XORWF  28,F
....................
....................         ++ cnt;
0037:  INCF   29,F
....................         if(cnt >= 2*DO_THIS_TIMES)
....................                 {
0038:  MOVF   29,W
0039:  SUBLW  13
003A:  BTFSC  03.0
003B:  GOTO   045
....................                 disable_interrupts(INT_TIMER1);
003C:  BSF    03.5
003D:  BCF    0C.0
....................                 output_bit(LED6_IO, LED_ON);
003E:  BCF    03.5
003F:  BSF    07.6
0040:  BCF    2A.6
0041:  MOVF   2A,W
0042:  BSF    03.5
0043:  MOVWF  07
0044:  BCF    03.5
*
0054:  MOVLW  FF
0055:  MOVWF  2A
....................                 }
.................... }//end timer1_isr()
....................
.................... /*===========================================================================*/
*
0045:  BCF    0C.0
0046:  BCF    0A.3
0047:  BCF    0A.4
0048:  GOTO   01F
.................... void main(void)
.................... {
0049:  CLRF   04
004A:  MOVLW  1F
004B:  ANDWF  03,F
004C:  MOVLW  06
004D:  BSF    03.5
004E:  MOVWF  1F
004F:  MOVLW  07
0050:  BCF    03.5
0051:  MOVWF  1F
....................         // begin program
....................         output_bit(LED0_IO, LED_ON);
*
0056:  BSF    07.0
0057:  BCF    2A.0
0058:  MOVF   2A,W
0059:  BSF    03.5
005A:  MOVWF  07
....................
....................         // setup timer1 for 0.5s interrupt
....................         setup_timer_1(T1_INTERNAL | T1_DIV_BY_8);
005B:  MOVLW  B5
005C:  BCF    03.5
005D:  MOVWF  10
....................         set_timer1(TIMER1_500MS);
005E:  MOVLW  0B
005F:  MOVWF  0F
0060:  MOVLW  DC
0061:  MOVWF  0E
....................         enable_interrupts(INT_TIMER1);
0062:  BSF    03.5
0063:  BSF    0C.0
....................         enable_interrupts(GLOBAL);
0064:  MOVLW  C0
0065:  BCF    03.5
0066:  IORWF  0B,F
....................
....................         // show led7 status
....................         while(1){
....................                 output_bit(LED7_IO, led7_status);
0067:  BTFSC  28.0
0068:  GOTO   06B
0069:  BCF    07.7
006A:  GOTO   06C
006B:  BSF    07.7
006C:  BCF    2A.7
006D:  MOVF   2A,W
006E:  BSF    03.5
006F:  MOVWF  07
....................                 }
0070:  BCF    03.5
0071:  GOTO   067
.................... }//end main()
....................
0072:  SLEEP

Configuration Fuses:
   Word  1: 3F79   XT NOWDT NOPUT NODEBUG NOPROTECT BROWNOUT NOLVP NOCPD NOWRT

⌨️ 快捷键说明

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