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

📄 driver1302.ls1

📁 实现了时间的定时记录
💻 LS1
📖 第 1 页 / 共 3 页
字号:
                     182     ; Rst=0;
                     183                             ; SOURCE LINE # 9
0005 C292            184             CLR     Rst
                     185     ; writecmd(0x8e);//open write
                     186                             ; SOURCE LINE # 10
0007 7F8E            187             MOV     R7,#08EH
0009 120000   F      188             LCALL   _writecmd
                     189     ; writecmd(0x00);
A51 MACRO ASSEMBLER  DRIVER1302                                                           04/29/2009 19:18:09 PAGE     4

                     190                             ; SOURCE LINE # 11
000C E4              191             CLR     A
000D FF              192             MOV     R7,A
000E 120000   F      193             LCALL   _writecmd
                     194     ; writecmd(0x90);//trickle charger,R1=2k
                     195                             ; SOURCE LINE # 12
0011 7F90            196             MOV     R7,#090H
0013 120000   F      197             LCALL   _writecmd
                     198     ; writecmd(0xa5);//select R1=2k;one DIODE
                     199                             ; SOURCE LINE # 13
0016 7FA5            200             MOV     R7,#0A5H
0018 120000   F      201             LCALL   _writecmd
                     202     ; writecmd(0x80);//start real time clock
                     203                             ; SOURCE LINE # 14
001B 7F80            204             MOV     R7,#080H
001D 120000   F      205             LCALL   _writecmd
                     206     ; writecmd(0x00);
                     207                             ; SOURCE LINE # 15
0020 E4              208             CLR     A
0021 FF              209             MOV     R7,A
0022 020000   F      210             LJMP    _writecmd
                     211     ; END OF init1302
                     212     
                     213     ; ;
                     214     ; }
                     215     ; 
                     216     ; //not finished
                     217     ; uchar gettime(uchar mode)
                     218     
----                 219             RSEG  ?PR?_gettime?DRIVER1302
0000                 220     _gettime:
                     221             USING   0
                     222                             ; SOURCE LINE # 20
                     223     ;---- Variable 'mode?141' assigned to Register 'R7' ----
                     224     ; {
                     225                             ; SOURCE LINE # 21
                     226     ; uchar i=8;
                     227                             ; SOURCE LINE # 22
0000 750008   F      228             MOV     i?142,#08H
                     229     ; uchar tmp;
                     230     ; uchar tmp1;
                     231     ; tmp=mode<<1;
                     232                             ; SOURCE LINE # 25
0003 EF              233             MOV     A,R7
0004 25E0            234             ADD     A,ACC
0006 F500     F      235             MOV     tmp?143,A
                     236     ; tmp=0x81|tmp;
                     237                             ; SOURCE LINE # 26
0008 430081   F      238             ORL     tmp?143,#081H
                     239     ; writecmd(tmp);//read address
                     240                             ; SOURCE LINE # 27
000B AF00     F      241             MOV     R7,tmp?143
000D 120000   F      242             LCALL   _writecmd
0010                 243     ?C0002:
                     244     ; while(i--)
                     245                             ; SOURCE LINE # 28
0010 AF00     F      246             MOV     R7,i?142
0012 1500     F      247             DEC     i?142
0014 EF              248             MOV     A,R7
0015 6010            249             JZ      ?C0003
                     250     ; {     
                     251                             ; SOURCE LINE # 29
                     252     ; Sclk=0;
                     253                             ; SOURCE LINE # 30
0017 C290            254             CLR     Sclk
                     255     ; ;
A51 MACRO ASSEMBLER  DRIVER1302                                                           04/29/2009 19:18:09 PAGE     5

                     256     ; tmp1=Io;
                     257                             ; SOURCE LINE # 32
0019 A291            258             MOV     C,Io
                     259     ;---- Variable 'tmp1?144' assigned to Register 'R7' ----
                     260     ; tmp1=tmp1<<8;
                     261                             ; SOURCE LINE # 33
001B 7F00            262             MOV     R7,#00H
                     263     ; tmp=tmp|tmp1;
                     264                             ; SOURCE LINE # 34
                     265     ; tmp1=0;
                     266                             ; SOURCE LINE # 35
                     267     ; Sclk=1;
                     268                             ; SOURCE LINE # 36
001D D290            269             SETB    Sclk
                     270     ; ;
                     271     ; tmp=tmp>>1;
                     272                             ; SOURCE LINE # 38
001F E500     F      273             MOV     A,tmp?143
0021 C3              274             CLR     C
0022 13              275             RRC     A
0023 F500     F      276             MOV     tmp?143,A
                     277     ; }
                     278                             ; SOURCE LINE # 39
0025 80E9            279             SJMP    ?C0002
0027                 280     ?C0003:
                     281     ; return tmp;
                     282                             ; SOURCE LINE # 40
0027 AF00     F      283             MOV     R7,tmp?143
                     284     ; }
                     285                             ; SOURCE LINE # 41
0029                 286     ?C0004:
0029 22              287             RET     
                     288     ; END OF _gettime
                     289     
                     290     ; void writetime(uchar hms,uchar mode)
                     291     
----                 292             RSEG  ?PR?_writetime?DRIVER1302
0000                 293     _writetime:
                     294             USING   0
                     295                             ; SOURCE LINE # 42
0000 8F00     F      296             MOV     hms?245,R7
                     297     ;---- Variable 'mode?246' assigned to Register 'R5' ----
                     298     ; //modee=5,4,3,2,1,0::year,month,d,h,minute,second
                     299     ; //write hour,minute,second to 1302
                     300     ; {
                     301                             ; SOURCE LINE # 45
                     302     ; uchar tmp;
                     303     ; mode=mode<<1;
                     304                             ; SOURCE LINE # 47
0002 ED              305             MOV     A,R5
0003 25E0            306             ADD     A,ACC
0005 FD              307             MOV     R5,A
                     308     ; tmp=0x80|mode;
                     309                             ; SOURCE LINE # 48
0006 4480            310             ORL     A,#080H
0008 F500     F      311             MOV     tmp?247,A
                     312     ; writecmd(0x80);
                     313                             ; SOURCE LINE # 49
000A 7F80            314             MOV     R7,#080H
000C 120000   F      315             LCALL   _writecmd
                     316     ; writecmd(hms);        
                     317                             ; SOURCE LINE # 50
000F AF00     F      318             MOV     R7,hms?245
0011 020000   F      319             LJMP    _writecmd
                     320     ; END OF _writetime
                     321     
A51 MACRO ASSEMBLER  DRIVER1302                                                           04/29/2009 19:18:09 PAGE     6

                     322     ; }
                     323     ; //1302 cmd 
                     324     ; void writecmd(uchar cmd) //write cmd
                     325     
----                 326             RSEG  ?PR?_writecmd?DRIVER1302
0000                 327     _writecmd:
                     328             USING   0
                     329                             ; SOURCE LINE # 53
                     330     ;---- Variable 'cmd?348' assigned to Register 'R7' ----
                     331     ; {
                     332                             ; SOURCE LINE # 54
                     333     ; uchar i=8;
                     334                             ; SOURCE LINE # 55
                     335     ;---- Variable 'i?349' assigned to Register 'R6' ----
0000 7E08            336             MOV     R6,#08H
                     337     ; bit tmp;
                     338     ; Sclk=0;
                     339                             ; SOURCE LINE # 57
0002 C290            340             CLR     Sclk
                     341     ; ;;
                     342     ; Rst=1;
                     343                             ; SOURCE LINE # 59
0004 D292            344             SETB    Rst
0006                 345     ?C0006:
                     346     ; ;;
                     347     ; while(i--)
                     348                             ; SOURCE LINE # 61
0006 AD06            349             MOV     R5,AR6
0008 1E              350             DEC     R6
0009 ED              351             MOV     A,R5
000A 6012            352             JZ      ?C0007
                     353     ; {     tmp=cmd&0x01;
                     354                             ; SOURCE LINE # 62
000C EF              355             MOV     A,R7
000D 13              356             RRC     A
000E 9200     F      357             MOV     tmp?350,C
                     358     ;       Sclk=0;
                     359                             ; SOURCE LINE # 63
0010 C290            360             CLR     Sclk
                     361     ;       Io=tmp;
                     362                             ; SOURCE LINE # 64
0012 A200     F      363             MOV     C,tmp?350
0014 9291            364             MOV     Io,C
                     365     ;       ;
                     366     ;       Sclk=1;
                     367                             ; SOURCE LINE # 66
0016 D290            368             SETB    Sclk
                     369     ;       cmd=cmd>>1;
                     370                             ; SOURCE LINE # 67

⌨️ 快捷键说明

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