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

📄 main.ls1

📁 some reference exercise of C language
💻 LS1
📖 第 1 页 / 共 3 页
字号:
                     197                             ; SOURCE LINE # 26
000B D2B6            198             SETB    P3_6
                     199     ;       InitLCD();
                     200                             ; SOURCE LINE # 27
000D 020000   F      201             LJMP    InitLCD
                     202     ; END OF InitSystem
                     203     
                     204     ; }
                     205     ; void Delay(unsigned int n)
                     206     
----                 207             RSEG  ?PR?_Delay?MAIN
0000                 208     _Delay:
                     209             USING   0
                     210                             ; SOURCE LINE # 29
                     211     ;---- Variable 'n?140' assigned to Register 'R6/R7' ----
                     212     ; {
                     213                             ; SOURCE LINE # 30
                     214     ;       unsigned int i,j;
                     215     ;       for(i=0;i<n;i++)
                     216                             ; SOURCE LINE # 32
                     217     ;---- Variable 'i?141' assigned to Register 'R4/R5' ----
0000 E4              218             CLR     A
0001 FD              219             MOV     R5,A
0002 FC              220             MOV     R4,A
0003                 221     ?C0002:
0003 C3              222             CLR     C
0004 ED              223             MOV     A,R5
0005 9F              224             SUBB    A,R7
0006 EC              225             MOV     A,R4
0007 9E              226             SUBB    A,R6
0008 5015            227             JNC     ?C0008
                     228     ;               for(j=0;j<100;j++);
                     229                             ; SOURCE LINE # 33
                     230     ;---- Variable 'j?142' assigned to Register 'R2/R3' ----
000A E4              231             CLR     A
000B FB              232             MOV     R3,A
000C FA              233             MOV     R2,A
000D                 234     ?C0005:
000D 0B              235             INC     R3
000E BB0001          236             CJNE    R3,#00H,?C0020
0011 0A              237             INC     R2
0012                 238     ?C0020:
0012 EB              239             MOV     A,R3
0013 6464            240             XRL     A,#064H
0015 4A              241             ORL     A,R2
0016 70F5            242             JNZ     ?C0005
0018                 243     ?C0004:
0018 0D              244             INC     R5
0019 BD0001          245             CJNE    R5,#00H,?C0021
001C 0C              246             INC     R4
001D                 247     ?C0021:
001D 80E4            248             SJMP    ?C0002
                     249     ; }
                     250                             ; SOURCE LINE # 34
A51 MACRO ASSEMBLER  MAIN                                                                 11/27/2006 23:13:06 PAGE     5

001F                 251     ?C0008:
001F 22              252             RET     
                     253     ; END OF _Delay
                     254     
                     255     ; void InitLCD(void)
                     256     
----                 257             RSEG  ?PR?InitLCD?MAIN
0000                 258     InitLCD:
                     259             USING   0
                     260                             ; SOURCE LINE # 35
                     261     ; {
                     262                             ; SOURCE LINE # 36
                     263     ;       WriteCommand(0x30);
                     264                             ; SOURCE LINE # 37
0000 7F30            265             MOV     R7,#030H
0002 120000   F      266             LCALL   _WriteCommand
                     267     ;       WriteCommand(0x30);
                     268                             ; SOURCE LINE # 38
0005 7F30            269             MOV     R7,#030H
0007 120000   F      270             LCALL   _WriteCommand
                     271     ;       WriteCommand(0x30);
                     272                             ; SOURCE LINE # 39
000A 7F30            273             MOV     R7,#030H
000C 120000   F      274             LCALL   _WriteCommand
                     275     ;       
                     276     ;       // 8 bit, 2 lines, font 5x7
                     277     ;       WriteCommand(0x38);
                     278                             ; SOURCE LINE # 42
000F 7F38            279             MOV     R7,#038H
0011 120000   F      280             LCALL   _WriteCommand
                     281     ;       // Display on, hide cursor
                     282     ;       WriteCommand(0x0C);
                     283                             ; SOURCE LINE # 44
0014 7F0C            284             MOV     R7,#0CH
0016 120000   F      285             LCALL   _WriteCommand
                     286     ; 
                     287     ;       // Xoa man hinh
                     288     ;       WriteCommand(0x01);
                     289                             ; SOURCE LINE # 47
0019 7F01            290             MOV     R7,#01H
001B 020000   F      291             LJMP    _WriteCommand
                     292     ; END OF InitLCD
                     293     
                     294     ; }
                     295     ; void DisplayText(void)
                     296     
----                 297             RSEG  ?PR?DisplayText?MAIN
0000                 298     DisplayText:
                     299             USING   0
                     300                             ; SOURCE LINE # 49
                     301     ; {
                     302                             ; SOURCE LINE # 50
                     303     ;       // Dich con tro den vi tri thu 2, dong thu nhat
                     304     ;       WriteCommand(0x81);
                     305                             ; SOURCE LINE # 52
0000 7F81            306             MOV     R7,#081H
0002 120000   F      307             LCALL   _WriteCommand
                     308     ;       SendString2LCD(string1);
                     309                             ; SOURCE LINE # 53
0005 7E00     F      310             MOV     R6,#HIGH (string1)
0007 7F00     F      311             MOV     R7,#LOW (string1)
0009 120000   F      312             LCALL   _SendString2LCD
                     313     ;       // Dich con tro den dau dong thu hai
                     314     ;       WriteCommand(0xC0);
                     315                             ; SOURCE LINE # 55
000C 7FC0            316             MOV     R7,#0C0H
A51 MACRO ASSEMBLER  MAIN                                                                 11/27/2006 23:13:06 PAGE     6

000E 120000   F      317             LCALL   _WriteCommand
                     318     ;       SendString2LCD(string2);
                     319                             ; SOURCE LINE # 56
0011 7E00     F      320             MOV     R6,#HIGH (string2)
0013 7F00     F      321             MOV     R7,#LOW (string2)
0015 020000   F      322             LJMP    _SendString2LCD
                     323     ; END OF DisplayText
                     324     
                     325     ; }
                     326     ; void WriteLCD(unsigned char x)
                     327     
----                 328             RSEG  ?PR?_WriteLCD?MAIN
0000                 329     _WriteLCD:
                     330                             ; SOURCE LINE # 58
                     331     ;---- Variable 'x?443' assigned to Register 'R7' ----
                     332     ; {
                     333                             ; SOURCE LINE # 59
                     334     ;       LCD_RW = 0;
                     335                             ; SOURCE LINE # 60
0000 C2A7            336             CLR     P2_7
                     337     ;       LCD_DATA = x;
                     338                             ; SOURCE LINE # 61
0002 8F80            339             MOV     P0,R7
                     340     ; 
                     341     ;       LCD_E = 1;
                     342                             ; SOURCE LINE # 63
0004 D2B5            343             SETB    P3_5
                     344     ;       LCD_E = 0;
                     345                             ; SOURCE LINE # 64
0006 C2B5            346             CLR     P3_5
                     347     ; }
                     348                             ; SOURCE LINE # 65
0008 22              349             RET     
                     350     ; END OF _WriteLCD
                     351     
                     352     ; void WriteCommand(unsigned char command)
                     353     
----                 354             RSEG  ?PR?_WriteCommand?MAIN
0000                 355     _WriteCommand:
                     356                             ; SOURCE LINE # 66
                     357     ;---- Variable 'command?544' assigned to Register 'R7' ----
                     358     ; {
                     359                             ; SOURCE LINE # 67
                     360     ;       LCD_RS = 0;
                     361                             ; SOURCE LINE # 68
0000 C2A6            362             CLR     P2_6
                     363     ;       WriteLCD(command);
                     364                             ; SOURCE LINE # 69
0002 020000   F      365             LJMP    _WriteLCD
                     366     ; END OF _WriteCommand
                     367     
                     368     ; }
                     369     ; void WriteCharacter(unsigned char character)
                     370     
----                 371             RSEG  ?PR?_WriteCharacter?MAIN
0000                 372     _WriteCharacter:
                     373                             ; SOURCE LINE # 71
                     374     ;---- Variable 'character?645' assigned to Register 'R7' ----
                     375     ; {
                     376                             ; SOURCE LINE # 72
                     377     ;       LCD_RS = 1;
                     378                             ; SOURCE LINE # 73
0000 D2A6            379             SETB    P2_6
                     380     ;       WriteLCD(character);
                     381                             ; SOURCE LINE # 74
0002 020000   F      382             LJMP    _WriteLCD
A51 MACRO ASSEMBLER  MAIN                                                                 11/27/2006 23:13:06 PAGE     7

                     383     ; END OF _WriteCharacter
                     384     
                     385     ; }
                     386     ; void SendString2LCD(unsigned char code *p)
                     387     
----                 388             RSEG  ?PR?_SendString2LCD?MAIN
0000                 389     _SendString2LCD:
                     390             USING   0
                     391                             ; SOURCE LINE # 76
                     392     ;---- Variable 'p?746' assigned to Register 'R4/R5' ----
0000 AD07            393             MOV     R5,AR7
0002 AC06            394             MOV     R4,AR6
                     395     ; {
                     396                             ; SOURCE LINE # 77
                     397     ;       unsigned char i=0;
                     398                             ; SOURCE LINE # 78
                     399     ;---- Variable 'i?747' assigned to Register 'R6' ----
0004 E4              400             CLR     A
0005 FE              401             MOV     R6,A
0006                 402     ?C0014:
                     403     ;       while(p[i]!=0)
                     404                             ; SOURCE LINE # 79
0006 ED              405             MOV     A,R5
0007 2E              406             ADD     A,R6
0008 F582            407             MOV     DPL,A

⌨️ 快捷键说明

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