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

📄 clk.lst

📁 這是一個非常好的key scan and display控制電路和程式
💻 LST
📖 第 1 页 / 共 5 页
字号:
MPASM 01.40 Released              CLK.ASM   1-16-1997  13:07:37         PAGE  1


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                    00001                 TITLE        "Alarm Clock"
                    00002     LIST  P = 16C57
                    00003     ERRORLEVEL  -306
                    00004 ;
                    00005 ;Define Equates:
                    00006 ;       
  000007FF          00007 PIC57   EQU     7FFH
                    00008 ;******************************************************************************
                    00009 ;
                    00010 ;External Ossc. used = 4.096Mhz. Prescaler of 32 used, which gives a
                    00011 ;31.25 microSec increment of the RTCC. If RTCC is intially loaded with 96,
                    00012 ;it would overflow to 0 in 5.000 milliSecs. Giving a 0.00% error.
                    00013 ;
  00000060          00014 MSEC5   EQU     D'96'
                    00015 ;
                    00016 ;
                    00017 ;       Program:          CLK.ASM 
                    00018 ;       Revision Date:   
                    00019 ;                         1-13-97      Compatibility with MPASMWIN 1.40
                    00020 ;
                    00021 ;******************************************************************************
                    00022 ;
  00000000          00023 C         EQU     0
  00000000          00024 BEP       EQU     0
  00000000          00025 RTATS     EQU     0
  00000001          00026 DC        EQU     1
  00000001          00027 HR10      EQU     1
  00000002          00028 Z         EQU     2
  00000002          00029 HR        EQU     2
  00000003          00030 MIN10     EQU     3
  00000004          00031 MIN       EQU     4
  00000004          00032 FLASH     EQU     4
  00000005          00033 PA0       EQU     5
  00000005          00034 KEY_BEEP  EQU     5
  00000005          00035 AMPM      EQU     5
  00000006          00036 PA1       EQU     6
  00000000          00037 F0        EQU     0
  00000006          00038 KEY_HIT   EQU     6
  00000006          00039 ALED      EQU     6
  00000007          00040 AM_PM     EQU     7
  00000003          00041 COLON     EQU     3
  00000002          00042 ALRMLED   EQU     2
  00000007          00043 SERVICED  EQU     7
  00000000          00044 ALONOF    EQU     0
  00000001          00045 INAL      EQU     1
  00000002          00046 SILNC     EQU     2
  00000003          00047 INAA      EQU     3
  00000005          00048 INKEYBEP  EQU     5
                    00049 ;
                    00050 ;DEFINE RAM LOCATIONS:
  00000001          00051 RTCC      EQU     1
  00000002          00052 PC        EQU     2
  00000003          00053 STATUS    EQU     3
MPASM 01.40 Released              CLK.ASM   1-16-1997  13:07:37         PAGE  2
Alarm Clock

LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

  00000004          00054 FSR       EQU     4
  00000005          00055 PORT_A    EQU     5
  00000006          00056 PORT_B    EQU     6
  00000007          00057 PORT_C    EQU     7
                    00058 ;
  00000001          00059 F         EQU     1
                    00060 ;
                    00061 ;DEFINE REAL TIME MODE REGS (RTM)
  00000008          00062 MSTMR     EQU     8       ;MILLI SEC. TIMER
  00000009          00063 STMR      EQU     9       ;SEC. TIMER
                    00064 ;
                    00065 ;*****************************************************
                    00066 ;DO NOT CHANGE RELATIVE POSITION OF NEXT 6 BYTES
  0000000A          00067 MTMR      EQU     0A      ;MIN. TIMER
  0000000B          00068 HTMR      EQU     0B      ;HOUR TIMER
                    00069 ;
                    00070 ;DEFINE ALARM TIME MODE REGS (ATM)
  0000000C          00071 MALARM    EQU     0C      ;MIN. ALARM
  0000000D          00072 HALARM    EQU     0D      ;HOUR ALARM
                    00073 ;
                    00074 ;DEFINE DATA ENTRY MODE REGS (DEM)
  0000000E          00075 MENTRY    EQU     0E      ;MIN. ENTRY
  0000000F          00076 HENTRY    EQU     0F      ;HOUR ENTRY
                    00077 ;*****************************************************
MPASM 01.40 Released              CLK.ASM   1-16-1997  13:07:37         PAGE  3
Alarm Clock

LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                    00078     PAGE
                    00079 ;
                    00080 ;DEFINE FLAG REG AND FUNCTION:
  00000010          00081 FLAG      EQU     10
                    00082 ;
                    00083 ;       BIT # 7|6|5|4|3|2|1|0|
                    00084 ;--------------|-|-|-|-|-|-|-|
                    00085 ;             X|X|X|X|X|X|0|0| --> REAL TIME MODE (RTM)
                    00086 ;             X|X|X|X|X|X|0|1| --> ALARM TIME MODE(ATM)
                    00087 ;             X|X|X|X|X|X|1|0| --> DATA ENTRY M0DE(DEM)
                    00088 ;             X|X|X|X|X|X|1|1| --> TEST MODE (TM)
                    00089 ;             X|X|X|X|X|Y|X|X| --> ALRMLED ON/OFF
                    00090 ;             X|X|X|X|Y|X|X|X| --> COLON LED ON/OFF
                    00091 ;             X|X|X|Y|X|X|X|X| --> FLASH DISPLAY
                    00092 ;             X|X|Y|X|X|X|X|X| --> KEY_BEEP
                    00093 ;             X|Y|X|X|X|X|X|X| --> KEY_HIT (0/1)
                    00094 ;             Y|X|X|X|X|X|X|X| --> SERVICED
                    00095 ; X = DEFINED ELSEWHERE IN TABLE 
                    00096 ; Y = DEFINED AS SHOWN (0/1)
                    00097 ;
  00000011          00098 TEMP      EQU     11
  00000012          00099 DIGIT     EQU     12
  00000013          00100 NEW_KEY   EQU     13
  00000014          00101 KEY_NIBL  EQU     14
  00000015          00102 DEBOUNCE  EQU     15
  00000016          00103 MIN_SEC   EQU     16      ;MIN/SECONDS TIMER
  00000017          00104 ENTFLG    EQU     17
                    00105 ;
                    00106 ;flag dedicated to the key entry mode
                    00107 ;       BIT # 7|6|5|4|3|2|1|0|
                    00108 ;--------------|-|-|-|-|-|-|-|
                    00109 ;             X|X|X|X|X|X|X|Y| --> REAL/ALARM TIME STATUS
                    00110 ;             X|X|X|X|X|X|Y|X| --> HR10 DONE
                    00111 ;             X|X|X|X|X|Y|X|X| --> HR DONE
                    00112 ;             X|X|X|X|Y|X|X|X| --> MIN10 DONE
                    00113 ;             X|X|X|Y|X|X|X|X| --> MIN DONE
                    00114 ;             X|X|Y|X|X|X|X|X| --> INKEYBEP
                    00115 ;             X|Y|X|Y|X|X|X|X| --> NOT USED
                    00116 ;             Y|X|X|X|X|X|X|X| --> NOT USED
                    00117 ;
                    00118 ;
  00000018          00119 ALFLAG    EQU     18
                    00120 ;
                    00121 ;flag dedicated to the alarm
                    00122 ;       BIT # 7|6|5|4|3|2|1|0|
                    00123 ;--------------|-|-|-|-|-|-|-|
                    00124 ;             X|X|X|X|X|X|X|Y| --> ALONOF
                    00125 ;             X|X|X|X|X|X|Y|X| --> INAL
                    00126 ;             X|X|X|X|X|Y|X|X| --> SILNC
                    00127 ;             X|X|X|X|Y|X|X|X| --> INAA
                    00128 ;             X|X|X|Y|X|X|X|X| --> NOT USED
                    00129 ;             X|X|Y|X|X|X|X|X| --> NOT USED
                    00130 ;             X|Y|X|Y|X|X|X|X| --> NOT USED
MPASM 01.40 Released              CLK.ASM   1-16-1997  13:07:37         PAGE  4
Alarm Clock

LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                    00131 ;             Y|X|X|X|X|X|X|X| --> NOT USED
                    00132 ;
  00000019          00133 AAFLAG    EQU     19
                    00134 ;
                    00135 ;flag dedicated to the AA alarm
  0000001A          00136 AATMR     EQU     1A
                    00137 ;
                    00138 ;Port pin definitions:
                    00139 ;
                    00140 ;PORT_A:
                    00141 ;       BIT 0   --> BEEPER (ACTIVE LOW) OUTPUT
                    00142 ;       BIT 1-3 --> unused I/O
                    00143 ;
                    00144 ;PORT_B: ALL OUTPUTS
                    00145 ;       BIT 0&4 --> MSB DIGIT COMMON CATHODE & ALARM
                    00146 ;       BIT 1&5 --> 2ND DIGIT COMMOM CATHODE & COLON
                    00147 ;       BIT 2&6 --> 3RD DIGIT COMMON CATHODE & PM
                    00148 ;       BIT 3&7 --> LSB DIGIT COMMON CATHODE & AM
                    00149 ;
                    00150 ;PORT_C: 
                    00151 ;IN DISPLAY MODE ALL SEG/ANNN SET AS OUTPUTS
                    00152 ;IN KEY SCAN MODE COLS ARE OUTPUTS ROWS ARE INPUTS
                    00153 ;       BIT 0   --> SEGMENT A & COL 4 
                    00154 ;       BIT 1   --> SEGMENT B & COL 3
                    00155 ;       BIT 2   --> SEGMENT C & COL 2
                    00156 ;       BIT 3   --> SEGMENT D & COL 1
                    00157 ;       BIT 4   --> SEGMENT E & ROW 4
                    00158 ;       BIT 5   --> SEGMENT F & ROW 3
                    00159 ;       BIT 6   --> SEGMENT G & ROW 2
                    00160 ;       BIT 7   --> CA OF ALL ANNUNCIATORS & ROW 1
                    00161 ;
                    00162 ;
MPASM 01.40 Released              CLK.ASM   1-16-1997  13:07:37         PAGE  5
Alarm Clock

LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                    00163     PAGE
                    00164 ;
0000                00165         ORG     0
0000                00166 START
0000 0AFC           00167         GOTO    INIT_CLK        ;INITIALIZE CLOCK
                    00168 ;THIS ROUTINE RUNS A TEST ON THE LEDS.
                    00169 ;ALL THE RELEVENT LEDS ARE LIT UP FOR 2 SECS.
                    00170 ;
0001                00171 TEST_HARDWARE
0001 0C02           00172         MOVLW   d'02'           ;DISPLAY FOR 2 SECS
0002 0036           00173         MOVWF   MIN_SEC         ;       /
                    00174 ;        
                    00175 ;
0003                00176 TEST_LOOP
0003 0216           00177         MOVF    MIN_SEC,W       ;GET MIN/SEC
0004 0643           00178         BTFSC   STATUS,Z        ;NOT 0 THEN SKIP
0005 0A0B           00179         GOTO    NORM_TIME       ;ELSE NORMAL TIME
0006 0925           00180         CALL    UPDATE_DISPLAY  ;UPDATE DISPLAY
0007 05A3           00181         BSF     STATUS,PA0      ;GOTO PAGE 1
0008 0900           00182         CALL    UPDATE_TIMERS   ;WAIT AND UPDATE
0009 04A3           00183         BCF     STATUS,PA0      ;RESET PAGE MARKER
000A 0A03           00184         GOTO    TEST_LOOP       ;LOOP BACK
000B                00185 NORM_TIME
000B 0410           00186         BCF     FLAG,0          ;PUT IN REAL TIME
000C 0430           00187         BCF     FLAG,1
000D                00188 TIME_LOOP
000D 0925           00189         CALL    UPDATE_DISPLAY
000E 05C3           00190         BSF     STATUS,PA1      ;GOTO PAGE 2
000F 0900           00191         CALL    SERVICE_KEYS
0010 05A3           00192         BSF     STATUS,PA0      ;GOTO PAGE 3
0011 0900           00193         CALL    SOUND_AA        ;CHECK ALARM
0012 04C3           00194         BCF     STATUS,PA1      ;GOTO PAGE 1
0013 0900           00195         CALL    UPDATE_TIMERS   ;WAIT AND UPDATE TIMERS
0014 04A3           00196         BCF     STATUS,PA0      ;RESET PAGE MARKER
0015 04C3           00197         BCF     STATUS,PA1      ;       /
0016 0210           00198         MOVF    FLAG,W          ;SEE IF IN ATM
0017 0E03           00199         ANDLW   B'00000011'     ;       /

⌨️ 快捷键说明

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