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

📄 main.ls1

📁 实现了时间的定时记录
💻 LS1
📖 第 1 页 / 共 3 页
字号:
0053 686F7572        208             DB  'h' ,'o' ,'u' ,'r' ,'(' ,'b' ,'c' ,'d' ,'c' ,'o' 
0057 28626364                
005B 636F                    
005D 6465293D        209             DB  'd' ,'e' ,')' ,'=' ,000H
0061 00                      
                     210     
0062                 211     ?SC_98:
0062 6D696E75        212             DB  'm' ,'i' ,'n' ,'u' ,'t' ,'e' ,'(' ,'b' ,'c' ,'d' 
0066 74652862                
006A 6364                    
006C 636F6465        213             DB  'c' ,'o' ,'d' ,'e' ,')' ,'=' ,000H
0070 293D00                  
                     214     
0073                 215     ?SC_115:
0073 7365636F        216             DB  's' ,'e' ,'c' ,'o' ,'n' ,'d' ,'=' ,'%' ,'x' ,00AH
0077 6E643D25                
007B 780A                    
007D 00              217             DB  000H
                     218     
007E                 219     mode:
007E 00              220             DB  000H
                     221     
                     222     
                     223     
----                 224             RSEG  ?C_INITSEG
0000 02              225             DB      002H
0001 00       F      226             DB      Open_hour
0002 0008            227             DW      00008H
                     228     
0004 02              229             DB      002H
0005 00       F      230             DB      Open_minute
0006 0000            231             DW      00000H
                     232     
0008 02              233             DB      002H
0009 00       F      234             DB      Open_second
A51 MACRO ASSEMBLER  MAIN                                                                 04/29/2009 19:18:09 PAGE     5

000A 0000            235             DW      00000H
                     236     
000C 02              237             DB      002H
000D 00       F      238             DB      Close_hour
000E 0015            239             DW      00015H
                     240     
0010 02              241             DB      002H
0011 00       F      242             DB      Close_minute
0012 0000            243             DW      00000H
                     244     
0014 02              245             DB      002H
0015 00       F      246             DB      Close_second
0016 0000            247             DW      00000H
                     248     
                     249     ; //main()
                     250     ; #include "stc5410.h"
                     251     ; #include "stdio.h"
                     252     ; #include "driver1302.h"
                     253     ; const Open_hour=8;
                     254     ; const Open_minute=0;
                     255     ; const Open_second=0;
                     256     ; code enum     mode0{second,minute,hour,day,month,year} mode;     
                     257     ; 
                     258     ; const Close_hour=21;
                     259     ; const Close_minute=0;
                     260     ; const Close_second=0;
                     261     ; 
                     262     ; uchar data chour;//current time
                     263     ; uchar data cminute;
                     264     ; uchar data csecond;
                     265     ; uchar data cday;
                     266     ; uchar data cmonth;
                     267     ; uchar data cyear;
                     268     ; //sfr clk_div=0xc7;
                     269     ; void main()
                     270     
----                 271             RSEG  ?PR?main?MAIN
0000                 272     main:
                     273             USING   0
                     274                             ; SOURCE LINE # 21
                     275     ; {
                     276                             ; SOURCE LINE # 22
                     277     ; uint i=50000;
                     278                             ; SOURCE LINE # 23
0000 7500C3   F      279             MOV     i?040,#0C3H
0003 750050   F      280             MOV     i?040+01H,#050H
                     281     ; uchar tmp;
                     282     ;     SCON = 0X52; //
                     283                             ; SOURCE LINE # 25
0006 759852          284             MOV     SCON,#052H
                     285     ;     PCON = PCON|0X80;//6Mhz     
                     286                             ; SOURCE LINE # 26
0009 438780          287             ORL     PCON,#080H
                     288     ;     TMOD =TMOD| 0X20;
                     289                             ; SOURCE LINE # 27
000C 438920          290             ORL     TMOD,#020H
                     291     ;     TH1 = 0XF3;               //2400*48=  115200
                     292                             ; SOURCE LINE # 28
000F 758DF3          293             MOV     TH1,#0F3H
                     294     ;     TL1 = 0XF3;               //2400*48=  115200
                     295                             ; SOURCE LINE # 29
0012 758BF3          296             MOV     TL1,#0F3H
                     297     ;       TR1=1;
                     298                             ; SOURCE LINE # 30
0015 D28E            299             SETB    TR1
                     300     ;       TI=1;
A51 MACRO ASSEMBLER  MAIN                                                                 04/29/2009 19:18:09 PAGE     6

                     301                             ; SOURCE LINE # 31
0017 D299            302             SETB    TI
                     303     ; //clk_div=0x07;
                     304     ; P1M0=0;
                     305                             ; SOURCE LINE # 33
0019 E4              306             CLR     A
001A F592            307             MOV     P1M0,A
                     308     ; P1M1=0;//传统io方式
                     309                             ; SOURCE LINE # 34
001C F591            310             MOV     P1M1,A
                     311     ; P1=0xff;//初始化P1
                     312                             ; SOURCE LINE # 35
001E 7590FF          313             MOV     P1,#0FFH
                     314     ; ;
                     315     ; init1302();
                     316                             ; SOURCE LINE # 37
0021 120000   F      317             LCALL   init1302
                     318     ; 
                     319     ; printf("need to set time? y=1 or n=0\n");
                     320                             ; SOURCE LINE # 39
0024 7BFF            321             MOV     R3,#0FFH
0026 7A00     F      322             MOV     R2,#HIGH (?SC_0)
0028 7900     F      323             MOV     R1,#LOW (?SC_0)
002A 120000   F      324             LCALL   _printf
                     325     ; scanf("%c",&tmp);
                     326                             ; SOURCE LINE # 40
002D 750000   F      327             MOV     ?_scanf?BYTE+03H,#00H
0030 750000   F      328             MOV     ?_scanf?BYTE+04H,#HIGH (tmp?041)
0033 750000   F      329             MOV     ?_scanf?BYTE+05H,#LOW (tmp?041)
0036 7BFF            330             MOV     R3,#0FFH
0038 7A00     F      331             MOV     R2,#HIGH (?SC_30)
003A 7900     F      332             MOV     R1,#LOW (?SC_30)
003C 120000   F      333             LCALL   _scanf
                     334     ; printf("\n");
                     335                             ; SOURCE LINE # 41
003F 7BFF            336             MOV     R3,#0FFH
0041 7A00     F      337             MOV     R2,#HIGH (?SC_33)
0043 7900     F      338             MOV     R1,#LOW (?SC_33)
0045 120000   F      339             LCALL   _printf
0048                 340     ?C0001:
                     341     ; while(1)
                     342                             ; SOURCE LINE # 42
                     343     ; {
                     344                             ; SOURCE LINE # 43
                     345     ; if(tmp=='1')
                     346                             ; SOURCE LINE # 44
0048 E500     F      347             MOV     A,tmp?041
004A B431FB          348             CJNE    A,#031H,?C0001
                     349     ; {
                     350                             ; SOURCE LINE # 45
                     351     ; Pout=1;
                     352                             ; SOURCE LINE # 46
004D D297            353             SETB    Pout
                     354     ; printf("year(bcdcode)=");
                     355                             ; SOURCE LINE # 47
004F 7BFF            356             MOV     R3,#0FFH
0051 7A00     F      357             MOV     R2,#HIGH (?SC_35)
0053 7900     F      358             MOV     R1,#LOW (?SC_35)
0055 120000   F      359             LCALL   _printf
                     360     ; scanf("%x",&cyear);
                     361                             ; SOURCE LINE # 48
0058 750000   F      362             MOV     ?_scanf?BYTE+03H,#00H
005B 750000   F      363             MOV     ?_scanf?BYTE+04H,#HIGH (cyear)
005E 750000   F      364             MOV     ?_scanf?BYTE+05H,#LOW (cyear)
0061 7BFF            365             MOV     R3,#0FFH
0063 7A00     F      366             MOV     R2,#HIGH (?SC_50)
A51 MACRO ASSEMBLER  MAIN                                                                 04/29/2009 19:18:09 PAGE     7

0065 7900     F      367             MOV     R1,#LOW (?SC_50)
0067 120000   F      368             LCALL   _scanf
                     369     ; writetime(cyear,year);
                     370                             ; SOURCE LINE # 49
006A 7D05            371             MOV     R5,#05H
006C AF00     F      372             MOV     R7,cyear
006E 120000   F      373             LCALL   _writetime
                     374     ; Pout=0;
                     375                             ; SOURCE LINE # 50
0071 C297            376             CLR     Pout
                     377     ; printf("month(bcdcode)=");
                     378                             ; SOURCE LINE # 51
0073 7BFF            379             MOV     R3,#0FFH
0075 7A00     F      380             MOV     R2,#HIGH (?SC_53)
0077 7900     F      381             MOV     R1,#LOW (?SC_53)
0079 120000   F      382             LCALL   _printf
                     383     ; scanf("%x",&cmonth);
                     384                             ; SOURCE LINE # 52
007C 750000   F      385             MOV     ?_scanf?BYTE+03H,#00H
007F 750000   F      386             MOV     ?_scanf?BYTE+04H,#HIGH (cmonth)
0082 750000   F      387             MOV     ?_scanf?BYTE+05H,#LOW (cmonth)
0085 7BFF            388             MOV     R3,#0FFH
0087 7A00     F      389             MOV     R2,#HIGH (?SC_50)
0089 7900     F      390             MOV     R1,#LOW (?SC_50)
008B 120000   F      391             LCALL   _scanf
                     392     ; writetime(cmonth,month);
                     393                             ; SOURCE LINE # 53
008E 7D04            394             MOV     R5,#04H
0090 AF00     F      395             MOV     R7,cmonth
0092 120000   F      396             LCALL   _writetime
                     397     ; Pout=1;
                     398                             ; SOURCE LINE # 54
0095 D297            399             SETB    Pout
                     400     ; printf("day(bcdcode)=");
                     401                             ; SOURCE LINE # 55
0097 7BFF            402             MOV     R3,#0FFH
0099 7A00     F      403             MOV     R2,#HIGH (?SC_69)
009B 7900     F      404             MOV     R1,#LOW (?SC_69)
009D 120000   F      405             LCALL   _printf
                     406     ; scanf("%x",&cday);
                     407                             ; SOURCE LINE # 56
00A0 750000   F      408             MOV     ?_scanf?BYTE+03H,#00H
00A3 750000   F      409             MOV     ?_scanf?BYTE+04H,#HIGH (cday)
00A6 750000   F      410             MOV     ?_scanf?BYTE+05H,#LOW (cday)
00A9 7BFF            411             MOV     R3,#0FFH
00AB 7A00     F      412             MOV     R2,#HIGH (?SC_50)
00AD 7900     F      413             MOV     R1,#LOW (?SC_50)
00AF 120000   F      414             LCALL   _scanf
                     415     ; writetime(cday,day);
                     416                             ; SOURCE LINE # 57
00B2 7D03            417             MOV     R5,#03H
00B4 AF00     F      418             MOV     R7,cday
00B6 120000   F      419             LCALL   _writetime
                     420     ; Pout=0;
                     421                             ; SOURCE LINE # 58
00B9 C297            422             CLR     Pout
                     423     ; printf("hour(bcdcode)=");       
                     424                             ; SOURCE LINE # 59
00BB 7BFF            425             MOV     R3,#0FFH
00BD 7A00     F      426             MOV     R2,#HIGH (?SC_83)
00BF 7900     F      427             MOV     R1,#LOW (?SC_83)
00C1 120000   F      428             LCALL   _printf
                     429     ; scanf("%x",&cday);

⌨️ 快捷键说明

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