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

📄 interrupt.lis

📁 AVR单片机 C语言程序设计经典实用
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module interrupt.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\LCD菜单系统设计\interrupt.c
 0000                   .dbfunc e sInit_Calendar _sInit_Calendar fV
                        .even
 0000           _sInit_Calendar::
 0000                   .dbline -1
 0000                   .dbline 26
 0000           ; //***************************************************************
 0000           ; // File Name : Interrupt.c
 0000           ; // Author    : Steaven
 0000           ; // Created   : 2008-06-09
 0000           ; // Modified  : 
 0000           ; // Revision  : V0.0
 0000           ; //***************************************************************
 0000           ; 
 0000           ; #include "app.h"
 0000           ; 
 0000           ; //global variables definition
 0000           ; INT8U bYear;    //time - year
 0000           ; INT8U bMonth;   //time - month
 0000           ; INT8U bDate;    //time - date
 0000           ; INT8U bHour;    //time - hour
 0000           ; INT8U bMinute;  //time - minute
 0000           ; INT8U bSecond;  //time - second
 0000           ; 
 0000           ; //***************************************************************
 0000           ; // Function    : sInit_Calendar
 0000           ; // Input       : none
 0000           ; // Output      : none
 0000           ; // Description : Time Initialization,2008-10-29,23:40:45
 0000           ; //***************************************************************
 0000           ; void sInit_Calendar(void)
 0000           ; {
 0000                   .dbline 27
 0000           ;       bYear = 0x08;
 0000 88E0              ldi R24,8
 0002 80930500          sts _bYear,R24
 0006                   .dbline 28
 0006           ;       bMonth = 10;
 0006 8AE0              ldi R24,10
 0008 80930400          sts _bMonth,R24
 000C                   .dbline 29
 000C           ;       bDate = 29;
 000C 8DE1              ldi R24,29
 000E 80930300          sts _bDate,R24
 0012                   .dbline 30
 0012           ;       bHour = 23;
 0012 87E1              ldi R24,23
 0014 80930200          sts _bHour,R24
 0018                   .dbline 31
 0018           ;       bMinute = 40;
 0018 88E2              ldi R24,40
 001A 80930100          sts _bMinute,R24
 001E                   .dbline 32
 001E           ;       bSecond = 45;
 001E 8DE2              ldi R24,45
 0020 80930000          sts _bSecond,R24
 0024                   .dbline -2
 0024                   .dbline 33
 0024           ; }
 0024           L1:
 0024                   .dbline 0 ; func end
 0024 0895              ret
 0026                   .dbend
 0026                   .dbfunc e Calendar_Update _Calendar_Update fV
                        .even
 0026           _Calendar_Update::
 0026                   .dbline -1
 0026                   .dbline 42
 0026           ; 
 0026           ; //***************************************************************
 0026           ; // Function    : Calendar_Update
 0026           ; // Input       : none
 0026           ; // Output      : none
 0026           ; // Description : Update time every one second
 0026           ; //***************************************************************
 0026           ; void Calendar_Update(void)
 0026           ; {     
 0026                   .dbline 43
 0026           ;       bSecond++;      
 0026 80910000          lds R24,_bSecond
 002A 8F5F              subi R24,255    ; addi 1
 002C 80930000          sts _bSecond,R24
 0030                   .dbline 44
 0030           ;       if(bSecond >= 60)
 0030 8C33              cpi R24,60
 0032 08F4              brsh X0
 0034 86C0              xjmp L3
 0036           X0:
 0036                   .dbline 45
 0036           ;       {
 0036                   .dbline 46
 0036           ;               bSecond = 0;                    
 0036 2224              clr R2
 0038 20920000          sts _bSecond,R2
 003C                   .dbline 47
 003C           ;               bMinute++;              
 003C 80910100          lds R24,_bMinute
 0040 8F5F              subi R24,255    ; addi 1
 0042 80930100          sts _bMinute,R24
 0046                   .dbline 48
 0046           ;               if(bMinute >= 60)
 0046 8C33              cpi R24,60
 0048 08F4              brsh X1
 004A 7BC0              xjmp L5
 004C           X1:
 004C                   .dbline 49
 004C           ;               {
 004C                   .dbline 50
 004C           ;                       bMinute = 0;
 004C 20920100          sts _bMinute,R2
 0050                   .dbline 51
 0050           ;                       bHour++;
 0050 80910200          lds R24,_bHour
 0054 8F5F              subi R24,255    ; addi 1
 0056 80930200          sts _bHour,R24
 005A                   .dbline 52
 005A           ;                       if(bHour >= 24)
 005A 8831              cpi R24,24
 005C 08F4              brsh X2
 005E 71C0              xjmp L7
 0060           X2:
 0060                   .dbline 53
 0060           ;                       {
 0060                   .dbline 54
 0060           ;                               bHour = 0;
 0060 20920200          sts _bHour,R2
 0064                   .dbline 55
 0064           ;                               bDate++;                
 0064 80910300          lds R24,_bDate
 0068 8F5F              subi R24,255    ; addi 1
 006A 80930300          sts _bDate,R24
 006E                   .dbline 56
 006E           ;                               if((bMonth == 4) || (bMonth == 6) || \
 006E 80910400          lds R24,_bMonth
 0072 8430              cpi R24,4
 0074 31F0              breq L13
 0076 8630              cpi R24,6
 0078 21F0              breq L13
 007A 8930              cpi R24,9
 007C 11F0              breq L13
 007E 8B30              cpi R24,11
 0080 79F4              brne L9
 0082           L13:
 0082                   .dbline 58
 0082           ;                                  (bMonth == 9) || (bMonth == 11))
 0082           ;                               {
 0082                   .dbline 59
 0082           ;                                       if(bDate > 30)
 0082 8EE1              ldi R24,30
 0084 20900300          lds R2,_bDate
 0088 8215              cp R24,R2
 008A 08F0              brlo X3
 008C 4DC0              xjmp L10
 008E           X3:
 008E                   .dbline 60
 008E           ;                                       {
 008E                   .dbline 61
 008E           ;                                               bDate = 1;
 008E 81E0              ldi R24,1
 0090 80930300          sts _bDate,R24
 0094                   .dbline 62
 0094           ;                                               bMonth++;
 0094 80910400          lds R24,_bMonth
 0098 8F5F              subi R24,255    ; addi 1
 009A 80930400          sts _bMonth,R24
 009E                   .dbline 63
 009E           ;                                       }
 009E                   .dbline 64
 009E           ;                               }
 009E 44C0              xjmp L10
 00A0           L9:
 00A0                   .dbline 65
 00A0           ;                               else if((bMonth == 1) || (bMonth == 3)  || \
 00A0 80910400          lds R24,_bMonth
 00A4 8130              cpi R24,1
 00A6 61F0              breq L23
 00A8 8330              cpi R24,3
 00AA 51F0              breq L23
 00AC 8530              cpi R24,5
 00AE 41F0              breq L23
 00B0 8730              cpi R24,7
 00B2 31F0              breq L23
 00B4 8830              cpi R24,8
 00B6 21F0              breq L23
 00B8 8A30              cpi R24,10
 00BA 11F0              breq L23
 00BC 8C30              cpi R24,12
 00BE 71F4              brne L16
 00C0           L23:
 00C0                   .dbline 69
 00C0           ;                                           (bMonth == 5) || (bMonth == 7)  || \
 00C0           ;                                           (bMonth == 8) || (bMonth == 10) || \
 00C0           ;                                           (bMonth == 12))

⌨️ 快捷键说明

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