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

📄 main.ls1

📁 some reference exercise of C language
💻 LS1
📖 第 1 页 / 共 4 页
字号:
0000                 209     InitSystem:
                     210             USING   0
                     211                             ; SOURCE LINE # 25
                     212     ; {
                     213                             ; SOURCE LINE # 26
                     214     ;       // Cam LCD
                     215     ;       LCD_E = 0;
                     216                             ; SOURCE LINE # 28
0000 C2B5            217             CLR     P3_5
                     218     ;       // Sang den backlight
                     219     ;       LCD_BL = 0;
                     220                             ; SOURCE LINE # 30
0002 C2B6            221             CLR     P3_6
                     222     ;       // Tre de LCD tu khoi tao ben trong (it nhat 15ms)
                     223     ;       Delay(100);
                     224                             ; SOURCE LINE # 32
0004 7F64            225             MOV     R7,#064H
0006 7E00            226             MOV     R6,#00H
0008 120000   F      227             LCALL   _Delay
                     228     ;       // Tat den backlight
                     229     ;       LCD_BL = 1;
                     230                             ; SOURCE LINE # 34
000B D2B6            231             SETB    P3_6
                     232     ;       InitLCD();
                     233                             ; SOURCE LINE # 35
000D 020000   F      234             LJMP    InitLCD
                     235     ; END OF InitSystem
                     236     
                     237     ; }
                     238     ; void Delay(unsigned int n)
                     239     
----                 240             RSEG  ?PR?_Delay?MAIN
0000                 241     _Delay:
                     242             USING   0
                     243                             ; SOURCE LINE # 37
                     244     ;---- Variable 'n?140' assigned to Register 'R6/R7' ----
                     245     ; {
                     246                             ; SOURCE LINE # 38
                     247     ;       unsigned int i,j;
                     248     ;       for(i=0;i<n;i++)
                     249                             ; SOURCE LINE # 40
                     250     ;---- Variable 'i?141' assigned to Register 'R4/R5' ----
0000 E4              251             CLR     A
A51 MACRO ASSEMBLER  MAIN                                                                 11/27/2006 23:50:26 PAGE     5

0001 FD              252             MOV     R5,A
0002 FC              253             MOV     R4,A
0003                 254     ?C0002:
0003 C3              255             CLR     C
0004 ED              256             MOV     A,R5
0005 9F              257             SUBB    A,R7
0006 EC              258             MOV     A,R4
0007 9E              259             SUBB    A,R6
0008 5015            260             JNC     ?C0008
                     261     ;               for(j=0;j<100;j++);
                     262                             ; SOURCE LINE # 41
                     263     ;---- Variable 'j?142' assigned to Register 'R2/R3' ----
000A E4              264             CLR     A
000B FB              265             MOV     R3,A
000C FA              266             MOV     R2,A
000D                 267     ?C0005:
000D 0B              268             INC     R3
000E BB0001          269             CJNE    R3,#00H,?C0024
0011 0A              270             INC     R2
0012                 271     ?C0024:
0012 EB              272             MOV     A,R3
0013 6464            273             XRL     A,#064H
0015 4A              274             ORL     A,R2
0016 70F5            275             JNZ     ?C0005
0018                 276     ?C0004:
0018 0D              277             INC     R5
0019 BD0001          278             CJNE    R5,#00H,?C0025
001C 0C              279             INC     R4
001D                 280     ?C0025:
001D 80E4            281             SJMP    ?C0002
                     282     ; }
                     283                             ; SOURCE LINE # 42
001F                 284     ?C0008:
001F 22              285             RET     
                     286     ; END OF _Delay
                     287     
                     288     ; void DelayShort(void)
                     289     
----                 290             RSEG  ?PR?DelayShort?MAIN
0000                 291     DelayShort:
                     292                             ; SOURCE LINE # 43
                     293     ; {
                     294                             ; SOURCE LINE # 44
                     295     ;       #pragma asm
                     296     ;       nop
0000 00              297               nop
                     298     ;       nop
0001 00              299               nop
                     300     ;       nop
0002 00              301               nop
                     302     ;       nop
0003 00              303               nop
                     304     ;       nop
0004 00              305               nop
                     306     ;       #pragma endasm
                     307     ; }
                     308                             ; SOURCE LINE # 52
0005 22              309             RET     
                     310     ; END OF DelayShort
                     311     
                     312     ; void InitLCD(void)
                     313     
----                 314             RSEG  ?PR?InitLCD?MAIN
0000                 315     InitLCD:
                     316             USING   0
                     317                             ; SOURCE LINE # 53
A51 MACRO ASSEMBLER  MAIN                                                                 11/27/2006 23:50:26 PAGE     6

                     318     ; {
                     319                             ; SOURCE LINE # 54
                     320     ;       WriteCommand(0x30);
                     321                             ; SOURCE LINE # 55
0000 7F30            322             MOV     R7,#030H
0002 120000   F      323             LCALL   _WriteCommand
                     324     ;       WriteCommand(0x30);
                     325                             ; SOURCE LINE # 56
0005 7F30            326             MOV     R7,#030H
0007 120000   F      327             LCALL   _WriteCommand
                     328     ;       WriteCommand(0x30);
                     329                             ; SOURCE LINE # 57
000A 7F30            330             MOV     R7,#030H
000C 120000   F      331             LCALL   _WriteCommand
                     332     ;       
                     333     ;       // 8 bit, 2 lines, font 5x7
                     334     ;       WriteCommand(0x38);
                     335                             ; SOURCE LINE # 60
000F 7F38            336             MOV     R7,#038H
0011 120000   F      337             LCALL   _WriteCommand
                     338     ;       // Display on, hide cursor
                     339     ;       WriteCommand(0x0C);
                     340                             ; SOURCE LINE # 62
0014 7F0C            341             MOV     R7,#0CH
0016 120000   F      342             LCALL   _WriteCommand
                     343     ; 
                     344     ;       // Xoa man hinh
                     345     ;       WriteCommand(0x01);
                     346                             ; SOURCE LINE # 65
0019 7F01            347             MOV     R7,#01H
001B 020000   F      348             LJMP    _WriteCommand
                     349     ; END OF InitLCD
                     350     
                     351     ; }
                     352     ; void DisplayText(void)
                     353     
----                 354             RSEG  ?PR?DisplayText?MAIN
0000                 355     DisplayText:
                     356             USING   0
                     357                             ; SOURCE LINE # 67
                     358     ; {
                     359                             ; SOURCE LINE # 68
                     360     ;       // Dich con tro den dau dong thu nhat
                     361     ;       WriteCommand(0x80);
                     362                             ; SOURCE LINE # 70
0000 7F80            363             MOV     R7,#080H
0002 120000   F      364             LCALL   _WriteCommand
                     365     ;       SendString2LCD(string1);
                     366                             ; SOURCE LINE # 71
0005 7E00     F      367             MOV     R6,#HIGH (string1)
0007 7F00     F      368             MOV     R7,#LOW (string1)
0009 120000   F      369             LCALL   _SendString2LCD
                     370     ;       // Dich con tro den dau dong thu hai
                     371     ;       WriteCommand(0xC3);
                     372                             ; SOURCE LINE # 73
000C 7FC3            373             MOV     R7,#0C3H
000E 120000   F      374             LCALL   _WriteCommand
                     375     ;       SendString2LCD(string2);
                     376                             ; SOURCE LINE # 74
0011 7E00     F      377             MOV     R6,#HIGH (string2)
0013 7F00     F      378             MOV     R7,#LOW (string2)
0015 120000   F      379             LCALL   _SendString2LCD
                     380     ;       // Dich con tro den vi tri don vi do
                     381     ;       WriteCommand(0xD0);
                     382                             ; SOURCE LINE # 76
0018 7FD0            383             MOV     R7,#0D0H
A51 MACRO ASSEMBLER  MAIN                                                                 11/27/2006 23:50:26 PAGE     7

001A 120000   F      384             LCALL   _WriteCommand
                     385     ;       WriteCharacter('V');
                     386                             ; SOURCE LINE # 77
001D 7F56            387             MOV     R7,#056H
001F 020000   F      388             LJMP    _WriteCharacter
                     389     ; END OF DisplayText
                     390     
                     391     ; }
                     392     ; void WriteLCD(unsigned char x)
                     393     
----                 394             RSEG  ?PR?_WriteLCD?MAIN
0000                 395     _WriteLCD:
                     396             USING   0
                     397                             ; SOURCE LINE # 79
                     398     ;---- Variable 'x?543' assigned to Register 'R7' ----
                     399     ; {
                     400                             ; SOURCE LINE # 80
                     401     ;       LCD_RW = 0;
                     402                             ; SOURCE LINE # 81
0000 C2A7            403             CLR     P2_7
                     404     ;       LCD_DATA = x;
                     405                             ; SOURCE LINE # 82
0002 8F80            406             MOV     P0,R7
                     407     ; 
                     408     ;       LCD_E = 1;
                     409                             ; SOURCE LINE # 84
0004 D2B5            410             SETB    P3_5
                     411     ;       LCD_E = 0;
                     412                             ; SOURCE LINE # 85
0006 C2B5            413             CLR     P3_5
                     414     ;       Delay(5);
                     415                             ; SOURCE LINE # 86
0008 7F05            416             MOV     R7,#05H
000A 7E00            417             MOV     R6,#00H
000C 020000   F      418             LJMP    _Delay
                     419     ; END OF _WriteLCD
                     420     
                     421     ; }
                     422     ; void WriteCommand(unsigned char command)
                     423     
----                 424             RSEG  ?PR?_WriteCommand?MAIN
0000                 425     _WriteCommand:
                     426             USING   0
                     427                             ; SOURCE LINE # 88
                     428     ;---- Variable 'command?644' assigned to Register 'R7' ----
                     429     ; {
                     430                             ; SOURCE LINE # 89

⌨️ 快捷键说明

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