prac10_indep.lst

来自「msp430系列开发板源代码」· LST 代码 · 共 1,670 行 · 第 1/5 页

LST
1,670
字号
                   177 dec_fun
1238 d2b30c02      178             bit.b     #1,&fun_flag
123c 2024          179             jz        ret_dec
123e d2930902      180             cmp.b     #01h,&inc_dec_buffer
1242 0a2c          181             jhs       loop_dec
1244 d2930a02      182             cmp.b     #1,&fun_buffer
1248 0424          183             jeq       dec_hour
124a f24060000902  184             mov.b     #60h,&inc_dec_buffer
1250 033c          185             jmp       loop_dec
1252 f24024000902  186 dec_hour    mov.b     #24h,&inc_dec_buffer
1258 f2b00f000902  187 loop_dec    bit.b     #0fh,&inc_dec_buffer
125e 0624          188             jz        set_dec
1260 d2830902      189 unset_dec   dec.b     &inc_dec_buffer
1264 12c3          190             clrc
1266 c2a30902      191             dadd.b   #0,&inc_dec_buffer
126a 043c          192             jmp       dec_move
126c f28006000902  193 set_dec     sub.b     #06,&inc_dec_buffer
1272 f63f          194             jmp       unset_dec
1274 5f420a02      195 dec_move    mov.b     &fun_buffer,R15
1278 df4209020002  196             mov.b     &inc_dec_buffer,second_flag(R15)
                   197 
127e 3041          198 ret_dec     ret
                   199 ;------------------------------------------------------
                   200 ;
                   201 ;------------------------------------------------------
                   202 fun_fun
1280 d2530a02      203             inc.b    &fun_buffer
1284 d2930a02      204             cmp.b    #1,&fun_buffer
1288 0b24          205             jeq      fun_star_hour
128a e2930a02      206             cmp.b    #2,&fun_buffer
128e 0e24          207             jeq      fun_min
1290 f29003000a02  208             cmp.b    #3,&fun_buffer
1296 0e24          209             jeq      fun_second
1298 e2920a02      210             cmp.b    #4,&fun_buffer
129c 0f24          211             jeq      fun_stop
                   212 
129e 3041          213 fun_ret      ret
                   214 ;-------------------------------------------------------
                   215 fun_star_hour
12a0 d2d30c02      216             bis.b     #1,&fun_flag
                   217 
12a4 d24201020902  218             mov.b     &hour,&inc_dec_buffer
                   219 
12aa f93f          220             jmp       fun_ret
                   221 ;-------------------------------------------------------
                   222 fun_min
12ac d24202020902  223             mov.b     &min,&inc_dec_buffer
12b2 f53f          224             jmp       fun_ret
                   225 ;-------------------------------------------------------
                   226 fun_second
12b4 d24203020902  227             mov.b     &second,&inc_dec_buffer
12ba f13f          228             jmp       fun_ret
                   229 ;-------------------------------------------------------
                   230 fun_stop
12bc c2430c02      231             clr.b     &fun_flag
12c0 c04348ef      232             clr.b     fun_buffer
12c4 ec3f          233             jmp       fun_ret
                   234 
                   235 ;----------------------------------------------------   
                   236 ;
                   237 ;----------------------------------------------------               
                   238 led_chang
12c6 1048ca12      239                     br          led_take(R8)
                   240                     EVEN
                   241 led_take
12ca d612          242                     dw          second_table_h
12cc e212          243                     dw          second_table_l
12ce f212          244                     dw          min_table_h
12d0 fe12          245                     dw          min_table_l
12d2 1013          246                     dw          hour_table_h
12d4 1c13          247                     dw          hour_table_l
                   248 
                   249 
                   250 second_table_h
12d6 5e420302      251                     mov.b       &second,R14
12da f2402f000602  252                     mov.b       #2fh,&led_disp_bit
12e0 263c          253                     jmp         take_h
                   254 second_table_l
12e2 5e420302      255                     mov.b       &second,R14
12e6 f2401f000602  256                     mov.b       #1fh,&led_disp_bit
12ec c2430802      257                     mov.b       #00h,&dip
12f0 293c          258                     jmp         take_l
                   259 
                   260 
12f2 5e420202      261 min_table_h         mov.b       &min,R14
12f6 f2403b000602  262                     mov.b       #3bh,&led_disp_bit
12fc 183c          263                     jmp         take_h
                   264 
12fe 5e420202      265 min_table_l         mov.b       &min,R14
1302 f24037000602  266                     mov.b       #37h,&led_disp_bit
1308 f24020000802  267                     mov.b       #20h,&dip
130e 1a3c          268                     jmp         take_l
                   269 
1310 5e420102      270 hour_table_h        mov.b       &hour,R14
1314 f2403e000602  271                     mov.b       #3eh,&led_disp_bit
131a 093c          272                     jmp         take_h
                   273 
131c 5e420102      274 hour_table_l        mov.b       &hour,R14
1320 f2403d000602  275                     mov.b       #3dh,&led_disp_bit
1326 f24020000802  276                     mov.b       #20h,&dip
132c 0b3c          277                     jmp         take_l
                   278 
132e 4d4e          279 take_h              mov.b       R14,R13
1330 4d11          280                     rra.b       R13
1332 4d11          281                     rra.b       R13
1334 4d11          282                     rra.b       R13
1336 4d11          283                     rra.b       R13
1338 7df00f00      284                     and.b       #0fh,R13
133c d24dfa140502  285                     mov.b       led_table(R13),&led_disp_data
                   286 
1342 3041          287                     ret
                   288 take_l
1344 4d4e          289                     mov.b       R14,R13
1346 7df00f00      290                     and.b       #0fh,R13
134a d24dfa140502  291                     mov.b       led_table(R13),&led_disp_data
1350 d25208020502  292                     add.b       &dip,&led_disp_data
1356 3041          293                     ret
                   294 ;----------------------------------------------------   
                   295 ;
                   296 ;----------------------------------------------------
                   297 
                   298 led_display
1358 d24205021900  299                     mov.b       &led_disp_data,&P3OUT   ;send data
135e e2d31d00      300                     bis.b       #02h,&P4OUT             ;open data choose
1362 e2c31d00      301                     bic.b       #02h,&P4OUT             ;close data choose
                   302 
                   303 
1366 d0420602afec  304                     mov.b       &led_disp_bit,P3OUT
136c d2d31d00      305                     bis.b       #01h,&P4OUT              ;open bit choose
1370 d2c31d00      306                     bic.b       #01h,&P4OUT              ;close data choose
1374 3041          307                     ret
                   308 ;----------------------------------------------------   
                   309 ;
                   310 ;----------------------------------------------------
                   311 lcd_display
1376 f24080000802  312                 mov.b       #80h,&dip
137c 7f409100      313                 mov.b       #LCDM1,R15
                   314 dis_second
1380 5d420302      315                 mov.b       &second,R13
1384 4d11          316                 rra.b       R13
1386 4d11          317                 rra.b       R13
1388 4d11          318                 rra.b       R13
138a 4d11          319                 rra.b       R13
138c 7df00f00      320                 and.b       #0fh,R13
1390 5e4d0615      321                 mov.b       lcd_table(R13),R14
1394 cf4e0100      322                 mov.b       R14,1(R15)
1398 5d420302      323                 mov.b       &second,R13
139c 7df00f00      324                 and.b       #0fh,R13
13a0 5e4d0615      325                 mov.b       lcd_table(R13),R14
13a4 cf4e0000      326                 mov.b       R14,0(R15)
                   327 
                   328 dis_min
13a8 5d420202      329                 mov.b       &min,R13
13ac 4d11          330                 rra.b       R13
13ae 4d11          331                 rra.b       R13
13b0 4d11          332                 rra.b       R13
13b2 4d11          333                 rra.b       R13
13b4 7df00f00      334                 and.b       #0fh,R13
13b8 5e4d0615      335                 mov.b       lcd_table(R13),R14
13bc cf4e0300      336                 mov.b       R14,3(R15)
13c0 5d420202      337                 mov.b       &min,R13
13c4 7df00f00      338                 and.b       #0fh,R13
13c8 5e4d0615      339                 mov.b       lcd_table(R13),R14
13cc 7ed08000      340                 bis.b       #80h,R14
13d0 cf4e0200      341                 mov.b       R14,2(R15)
                   342 
                   343 dis_hour
13d4 5d420102      344                 mov.b       &hour,R13
13d8 4d11          345                 rra.b       R13
13da 4d11          346                 rra.b       R13
13dc 4d11          347                 rra.b       R13
13de 4d11          348                 rra.b       R13
13e0 7df00f00      349                 and.b       #0fh,R13
13e4 5e4d0615      350                 mov.b       lcd_table(R13),R14
13e8 cf4e0500      351                 mov.b       R14,5(R15)
13ec 5d420102      352                 mov.b       &hour,R13
13f0 7df00f00      353                 and.b       #0fh,R13
13f4 5e4d0615      354                 mov.b       lcd_table(R13),R14
13f8 7ed08000      355                 bis.b       #80h,R14
13fc cf4e0400      356                 mov.b       R14,4(R15)
1400 3041          357                 ret
                   358 ;-------------------------------------------------- 
                   359 
                   360 lcd_display_ona
1402 f240fc003300  361                   mov.b    #0FCh,&P5SEL                     ;Enable R(LCD) + COM Lines
1408 f2405d009000  362                   mov.b    #(0x01)+((0x10)+(0x08)+(0x04))+(0x40),&LCDCTL     ;STK LCD 4Mux, S0-S19
                   363 ;Basic Timer : SSEL=0 DIV=0 Reset=1,ACLK,32768/256 = 128Hz (7.8ms debounce time)
                   364 ;Basic Timer reset disabled
                   365 ;enable basic timer intrpt
140e b012de14      366                   call     #show_clr                        ;clear LCD
1412 0943          367                   clr      R9
1414 3041          368                   ret
                   369 ;-------------------------------------------------- 
                   370 ;-----------------   Timera_int  ------------------
                   371 ;--------------------------------------------------
                   372 Timera_int
1416 5853          373                       inc.b     R8
1418 5853          374                       inc.b     R8
141a 78900c00      375                       cmp.b     #0ch,R8
141e 0120          376                       jnz       Timer_int_end
1420 4843          377                       clr.b     R8
                   378 
1422 52120302      379 Timer_int_end         push.b  &second
1426 52120202      380                       push.b  &min
142a 52120102      381                       push.b  &hour
142e b0124814      382                       call    #led_blink
1432 b012c612      383                       call    #led_chang                ;led disp  buffer chang
1436 b0125813      384                       call    #led_display              ;led display
143a f2410102      385                       pop.b   &hour
143e f2410202      386                       pop.b   &min
1442 f2410302      387                       pop.b   &second
1446 0013          388                       reti
                   389 ;-------------------------------------------------
                   390 ;----------------led_blink------------------------
                   391 ;-------------------------------------------------
1448 f29003000a02  392 led_blink           cmp.b       #3,&fun_buffer
144e 0724          393                     jeq         second_blink
1450 e2930a02      394                     cmp.b       #2,&fun_buffer
1454 0b24          395                     jeq         min_blink
1456 d2930a02      396                     cmp.b       #1,&fun_buffer
145a 0f24          397                     jeq         hour_blink
145c 143c          398                     jmp         blink_ret
                   399 second_blink
145e d2b30002      400                     bit.b       #1,&second_flag
1462 0320          401                     jnz         s_ret
1464 f240aa000302  402                     mov.b       #0aah,&second
146a 0d3c          403 s_ret               jmp         blink_ret
                   404 min_blink
146c d2b30002      405                     bit.b       #1,&second_flag
1470 0320          406                     jnz         m_ret
1472 f240aa000202  407                     mov.b       #0aah,&min
1478 063c          408 m_ret               jmp         blink_ret
                   409 hour_blink
147a d2b30002      410                     bit.b       #1,&second_flag
147e 0320          411                     jnz         blink_ret
1480 f240aa000102  412                     mov.b       #0aah,&hour
                   413 
1486 3041          414 blink_ret           ret
                   415 ;--------------------------------------------------
                   416 ;-----------------  BASIC TIMER int    ------------
                   417 ;-------------------------------------------------- 
                   418 BASIC_INT
1488 d2e30002      419                       xor.b   #01h,&second_flag
148c d2b30002      420                       bit.b   #1,&second_flag
1490 1d24          421                       jz      clock_ret
                   422 
1492 d2e30402      423                       xor.b   #01h,&flag
1496 12d3          424                       setc
                   425 BASIC_END
1498 c2a30302      426                       dadc.b   &second
149c f29060000302  427                       cmp.b   #60h,&second
14a2 1228          428                       jlo     clock_end
14a4 c2430302      429                       clr.b   &second
14a8 c2a30202      430                       dadc.b   &min
14ac f29060000202  431                       cmp.b   #60h,&min
14b2 0a28          432                       jlo     clock_end
14b4 c2a30102      433                       dadc.b   &hour
14b8 c2430202      434                       clr.b   &min
14bc f29024000102  435                       cmp.b   #24h,&hour
14c2 0228          436                       jlo     clock_end
14c4 c2430102      437                       clr.b   &hour
                   438 clock_end
14c8 b0127613      439                       call    #lcd_display              ;lcd display
                   440 
14cc 0013          441 clock_ret                 reti
                   442 ;--------------------------------------------------                                                    
                   443 ;;
                   444 ;--------------------------------------------------
                   445 lcd_display_deal
14ce 0543          446                       clr       R5
                   447 next_word_display
14d0 f5439100      448                       mov.b     #0FFH,((0x0091))(R5)
14d4 1553          449                       inc       R5
14d6 55920702      450                       cmp.b     &counter,R5
14da fa23          451                       jnz       next_word_display
14dc 3041          452                       ret
                   453 ;-------------------------------------------------------                            
                   454 ;
                   455 ;-------------------------------------------------------
                   456 show_clr
14de 4643          457                 mov.b   #00h,R6                      ; clear display memory
                   458 show_clr1
14e0 c6439100      459                 mov.b   #00h,((0x0091))(R6)
14e4 5653          460                 inc.b   R6
14e6 76900a00      461                 cmp.b   #0ah,R6
14ea fa23          462                 jnz     show_clr1
14ec 3041          463                 ret
                   464 
14ee 7943          465 delay           mov.b   #0ffh,R9
14f0 0343          466 ttt             nop
14f2 0343          467                 nop
14f4 5983          468                 dec.b   R9
14f6 fc23          469                 jnz     ttt
14f8 3041          470                 ret
                   471 
                   472 ;----------------------------------------------------------
                   473 ;
                   474 ;----------------------------------------------------------             
                   475 led_table
14fa d7            476               db      0d7h          ;0
14fb 14            477               db      14h           ;1
14fc cd            478               db      0cdh          ;2
14fd 5d            479               db      5dh           ;3
14fe 1e            480               db      1Eh           ;4
14ff 5b            481               db      5bh           ;5
1500 db            482               db      0dbh          ;6
1501 15            483               db      15h           ;7
1502 df            484               db      0dfh          ;8
1503 5f            485               db      05fh          ;9
1504 00            486               db      00h           ;no
1505 00            487               db      00h           ;no
                   488 
                   489 ;-----------------------------------------------------------
                   490 ;
                   491 ;-----------------------------------------------------------
                   492 lcd_table
1506 7b            493             db        7bh            ;0
1507 12            494             db        12h            ;1
1508 4f            495             db        4fh            ;2
1509 1f            496             db        1fh            ;3
150a 36            497             db        36h            ;4
150b 3d            498             db        3dh            ;5
150c 7d            499             db        7dh            ;6
150d 13            500             db        13h            ;7
150e 7f            501             db        7fh            ;8
150f 3f            502             db        3fh            ;9
1510 00            503             db        00h            ;no
1511 00            504             db        00h            ;no
                   505 ;----------------------------------------------------------                 
                   506 ; Interrupt Vector Table
                   507 ;----------------------------------------------------------             
                   508             .pseg INT_VECTORS,abs=0xFFE0             ; MSP430 RESET Vector
                   509 ;----------------------------------------------------------           
ffe0 8814          510             DW 

⌨️ 快捷键说明

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