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

📄 ex_rtc.lst

📁 无刷控制器光火凤凰一房一价故意一一个机会呱唧呱唧很快
💻 LST
📖 第 1 页 / 共 4 页
字号:
MPASM

CCS PCW C Compiler, Version 2.237, 2862

               Filename: ex_rtc.LST

               ROM used: 755 (74%)
                         755 (74%) including unused fragments
               RAM used: 11 (31%) at main() level
                         26 (72%) worst case

0000 3000           00001 MOVLW  00
0001 008A           00002 MOVWF  0A
0002 2A54           00003 GOTO   254
0003 0000           00004 NOP
0004 0000           00005 NOP
00F6 0818           00006 MOVF   18,W
00F7 018D           00007 CLRF   0D
00F8 0217           00008 SUBWF  17,W
00F9 1803           00009 BTFSC  03,0
00FA 28FE           00010 GOTO   0FE
00FB 0817           00011 MOVF   17,W
00FC 008C           00012 MOVWF  0C
00FD 290A           00013 GOTO   10A
00FE 018C           00014 CLRF   0C
00FF 3008           00015 MOVLW  08
0100 0099           00016 MOVWF  19
0101 0D97           00017 RLF    17,F
0102 0D8C           00018 RLF    0C,F
0103 0818           00019 MOVF   18,W
0104 020C           00020 SUBWF  0C,W
0105 1803           00021 BTFSC  03,0
0106 008C           00022 MOVWF  0C
0107 0D8D           00023 RLF    0D,F
0108 0B99           00024 DECFSZ 19,F
0109 2901           00025 GOTO   101
010A 2A6A           00026 GOTO   26A
0000                00027 ....................  ///////////////////////////////////////////////////////////////////////// 
0000                00028 .................... ////                             EX_RTC.C                            //// 
0000                00029 .................... ////                                                                 //// 
0000                00030 .................... ////  This program reads and writes to an external Real Time Clock.  //// 
0000                00031 .................... ////  It communicates to the user over the RS-232 interface.         //// 
0000                00032 .................... ////                                                                 //// 
0000                00033 .................... ////  Configure the CCS prototype card as follows:                   //// 
0000                00034 .................... ////      Insert jumpers from: 11 to 17 and 12 to 18.                //// 
0000                00035 .................... ////      NJU6355   Protoboard                                       //// 
0000                00036 .................... ////         1         50  B3                                        //// 
0000                00037 .................... ////         2   crystal                                             //// 
0000                00038 .................... ////         3   crystal                                             //// 
0000                00039 .................... ////         4         27  gnd                                       //// 
0000                00040 .................... ////         5         49  B2                                        //// 
0000                00041 .................... ////         6         48  B1                                        //// 
0000                00042 .................... ////         7         47  B0                                        //// 
0000                00043 .................... ////         8         28  +5V                                       //// 
0000                00044 .................... ////                                                                 //// 
0000                00045 .................... ////  For a 40 pin part such as the 16C74 add jumpers from           //// 
0000                00046 .................... ////  8 to 11, 7 to 12, and change the #USE RS232 to:                //// 
0000                00047 .................... ////      #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)             //// 
0000                00048 .................... ///////////////////////////////////////////////////////////////////////// 
0000                00049 ....................  
0000                00050 .................... #include <16C84.H> 
0000                00051 ....................  //////// Standard Header file for the PIC16C84 device //////// 
0000                00052 .................... #device PIC16C84 
0000                00115 .................... #list 
0000                00116 .................... 
0000                00117 ....................  
0000                00118 .................... #use delay(clock=10000000) 
0242 0816           00119 MOVF   16,W
0243 1903           00120 BTFSC  03,2
0244 2A53           00121 GOTO   253
0245 3003           00122 MOVLW  03
0246 008D           00123 MOVWF  0D
0247 018C           00124 CLRF   0C
0248 0B8C           00125 DECFSZ 0C,F
0249 2A48           00126 GOTO   248
024A 0B8D           00127 DECFSZ 0D,F
024B 2A47           00128 GOTO   247
024C 303B           00129 MOVLW  3B
024D 008C           00130 MOVWF  0C
024E 0B8C           00131 DECFSZ 0C,F
024F 2A4E           00132 GOTO   24E
0250 0000           00133 NOP
0251 0B96           00134 DECFSZ 16,F
0252 2A45           00135 GOTO   245
0253 2AF1           00136 GOTO   2F1
0000                00137 .................... #use rs232(baud=9600, xmit=PIN_A3, rcv=PIN_A2) 
00B6 3008           00138 MOVLW  08
00B7 008D           00139 MOVWF  0D
00B8 1683           00140 BSF    03,5
00B9 1185           00141 BCF    05,3
00BA 1283           00142 BCF    03,5
00BB 1185           00143 BCF    05,3
00BC 178D           00144 BSF    0D,7
00BD 28CB           00145 GOTO   0CB
00BE 138D           00146 BCF    0D,7
00BF 0C9E           00147 RRF    1E,F
00C0 1803           00148 BTFSC  03,0
00C1 1585           00149 BSF    05,3
00C2 1C03           00150 BTFSS  03,0
00C3 1185           00151 BCF    05,3
00C4 170D           00152 BSF    0D,6
00C5 28CB           00153 GOTO   0CB
00C6 130D           00154 BCF    0D,6
00C7 0B8D           00155 DECFSZ 0D,F
00C8 28BF           00156 GOTO   0BF
00C9 1585           00157 BSF    05,3
00CA 28CB           00158 GOTO   0CB
00CB 3051           00159 MOVLW  51
00CC 009F           00160 MOVWF  1F
00CD 0B9F           00161 DECFSZ 1F,F
00CE 28CD           00162 GOTO   0CD
00CF 1B8D           00163 BTFSC  0D,7
00D0 28BE           00164 GOTO   0BE
00D1 1B0D           00165 BTFSC  0D,6
00D2 28C6           00166 GOTO   0C6
00D3 3400           00167 RETLW  00
00D4 3008           00168 MOVLW  08
00D5 008C           00169 MOVWF  0C
00D6 1683           00170 BSF    03,5
00D7 1505           00171 BSF    05,2
00D8 1283           00172 BCF    03,5
00D9 1905           00173 BTFSC  05,2
00DA 28D9           00174 GOTO   0D9
00DB 018D           00175 CLRF   0D
00DC 178C           00176 BSF    0C,7
00DD 28EA           00177 GOTO   0EA
00DE 138C           00178 BCF    0C,7
00DF 28EA           00179 GOTO   0EA
00E0 1003           00180 BCF    03,0
00E1 0C8D           00181 RRF    0D,F
00E2 1905           00182 BTFSC  05,2
00E3 178D           00183 BSF    0D,7
00E4 170C           00184 BSF    0C,6
00E5 28EA           00185 GOTO   0EA
00E6 130C           00186 BCF    0C,6
00E7 0B8C           00187 DECFSZ 0C,F
00E8 28E0           00188 GOTO   0E0
00E9 28F5           00189 GOTO   0F5
00EA 3051           00190 MOVLW  51
00EB 1B8C           00191 BTFSC  0C,7
00EC 3016           00192 MOVLW  16
00ED 009E           00193 MOVWF  1E
00EE 0B9E           00194 DECFSZ 1E,F
00EF 28EE           00195 GOTO   0EE
00F0 1B8C           00196 BTFSC  0C,7
00F1 28DE           00197 GOTO   0DE
00F2 1B0C           00198 BTFSC  0C,6
00F3 28E6           00199 GOTO   0E6
00F4 28E0           00200 GOTO   0E0
00F5 3400           00201 RETLW  00
0000                00202 ....................  
0000                00203 .................... #fuses   HS,NOPROTECT,NOWDT 
0000                00204 ....................  
0000                00205 .................... #include <NJU6355.C> 
0000                00206 ....................  ////////////////////////////////////////////////////////////////////////// 
0000                00207 .................... ////                              NJU6355.C                           //// 
0000                00208 .................... ////                     Driver for Real Time Clock                   //// 
0000                00209 .................... ////                                                                  //// 
0000                00210 .................... ////  rtc_init()                                   Call after power up//// 
0000                00211 .................... ////                                                                  //// 
0000                00212 .................... ////  rtc_set_datetime(day,mth,year,dow,hour,min)  Set the date/time  //// 
0000                00213 .................... ////                                                                  //// 
0000                00214 .................... ////  rtc_get_date(day,mth,year,dow)               Get the date       //// 
0000                00215 .................... ////                                                                  //// 
0000                00216 .................... ////  rtc_get_time(hr,min,sec)                     Get the time       //// 
0000                00217 .................... ////                                                                  //// 
0000                00218 .................... ////////////////////////////////////////////////////////////////////////// 
0000                00219 ....................  
0000                00220 .................... #ifndef RTC_CE 
0000                00221 ....................  
0000                00222 .................... #define RTC_IO    PIN_B3 
0000                00223 .................... #define RTC_CE    PIN_B2 
0000                00224 .................... #define RTC_CLK   PIN_B1 
0000                00225 .................... #define RTC_DATA  PIN_B0 
0000                00226 ....................  
0000                00227 .................... #endif 
0000                00228 ....................  
0000                00229 ....................  
0000                00230 .................... void rtc_init() { 
0000                00231 ....................    output_low(RTC_CE); 
00AD 1683           00232 BSF    03,5
00AE 1106           00233 BCF    06,2
00AF 1283           00234 BCF    03,5
00B0 1106           00235 BCF    06,2
0000                00236 ....................    output_low(RTC_IO); 
00B1 1683           00237 BSF    03,5
00B2 1186           00238 BCF    06,3
00B3 1283           00239 BCF    03,5
00B4 1186           00240 BCF    06,3
00B5 2A5A           00241 GOTO   25A
0000                00242 .................... } 
0000                00243 ....................  
0000                00244 ....................  
0000                00245 .................... void write_rtc_byte(byte data_byte, byte number_of_bits) { 
0000                00246 ....................    byte i; 
0000                00247 ....................  
0000                00248 ....................    for(i=0; i<number_of_bits; ++i) { 
0140 01A4           00249 CLRF   24
0141 0823           00250 MOVF   23,W
0142 0224           00251 SUBWF  24,W
0143 1803           00252 BTFSC  03,0
0144 295F           00253 GOTO   15F
0000                00254 ....................       if((data_byte & 1)==0) 
0145 0822           00255 MOVF   22,W
0146 3901           00256 ANDLW  01
0147 3800           00257 IORLW  00
0148 1D03           00258 BTFSS  03,2
0149 294F           00259 GOTO   14F
0000                00260 ....................         output_low(RTC_DATA); 
014A 1683           00261 BSF    03,5
014B 1006           00262 BCF    06,0
014C 1283           00263 BCF    03,5
014D 1006           00264 BCF    06,0
0000                00265 ....................       else 
014E 2953           00266 GOTO   153
0000                00267 ....................         output_high(RTC_DATA); 
014F 1683           00268 BSF    03,5
0150 1006           00269 BCF    06,0
0151 1283           00270 BCF    03,5
0152 1406           00271 BSF    06,0
0000                00272 ....................       data_byte=data_byte>>1; 
0153 1003           00273 BCF    03,0
0154 0CA2           00274 RRF    22,F
0000                00275 ....................       output_high(RTC_CLK); 
0155 1683           00276 BSF    03,5
0156 1086           00277 BCF    06,1
0157 1283           00278 BCF    03,5
0158 1486           00279 BSF    06,1
0000                00280 ....................       output_low(RTC_CLK); 
0159 1683           00281 BSF    03,5
015A 1086           00282 BCF    06,1
015B 1283           00283 BCF    03,5
015C 1086           00284 BCF    06,1
0000                00285 ....................    } 
015D 0AA4           00286 INCF   24,F
015E 2941           00287 GOTO   141
015F 3400           00288 RETLW  00
0000                00289 .................... } 
0000                00290 ....................  
0000                00291 ....................  
0000                00292 .................... byte read_rtc_byte(byte number_of_bits) { 
0000                00293 ....................    byte i,data; 
0000                00294 ....................  
0000                00295 ....................    for(i=0;i<number_of_bits;++i) { 
0200 019C           00296 CLRF   1C
0201 081B           00297 MOVF   1B,W
0202 021C           00298 SUBWF  1C,W
0203 1803           00299 BTFSC  03,0
0204 2A18           00300 GOTO   218
0000                00301 ....................       output_high(RTC_CLK); 
0205 1683           00302 BSF    03,5
0206 1086           00303 BCF    06,1
0207 1283           00304 BCF    03,5
0208 1486           00305 BSF    06,1
0000                00306 ....................       shift_right(&data,1,input(RTC_DATA)); 
0209 1683           00307 BSF    03,5
020A 1406           00308 BSF    06,0
020B 1283           00309 BCF    03,5
020C 1806           00310 BTFSC  06,0
020D 2A10           00311 GOTO   210
020E 1003           00312 BCF    03,0
020F 2A11           00313 GOTO   211

⌨️ 快捷键说明

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