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

📄 lcd.ls1

📁 一个完整的51单片机的操作糸统源程序! 内容十分丰富!很有借鉴价值!
💻 LS1
📖 第 1 页 / 共 5 页
字号:
                     193     ; {
                     194                             ; SOURCE LINE # 71
                     195     ; #ifdef TG19264
                     196     ;       SendCtr(0x40 + value);
                     197                             ; SOURCE LINE # 73
0000 90F802          198             MOV     DPTR,#0F802H
0003 E4              199             CLR     A
0004 F0              200             MOVX    @DPTR,A
0005 F0              201             MOVX    @DPTR,A
0006 EF              202             MOV     A,R7
0007 2440            203             ADD     A,#040H
0009 90F800          204             MOV     DPTR,#0F800H
000C F0              205             MOVX    @DPTR,A
                     206     ; #endif
                     207     ; }
                     208                             ; SOURCE LINE # 75
000D 22              209             RET     
                     210     ; END OF _SetColumn
                     211     
                     212     ; 
                     213     ; 
                     214     ; /****************************************************************************************
                             **
                     215     ; *函数名:              InitTg19264
                     216     ; *参数:                        无
                     217     ; *返回值:              无
                     218     ; *描述:                        初始化液晶屏Tg19264,对液晶屏从DDRAM中哪一行开始显示数
                     219     ;                               据以及设置初始的页码值和X坐标位置
                     220     ; *编写:                        王绍伟
                     221     ; *版本信息:            V1.0                    2003年8月15日
                     222     ; *****************************************************************************************
                             */
                     223     ; static void InitTg19264(void)
                     224     
----                 225             RSEG  ?PR?InitTg19264?LCD
0000                 226     InitTg19264:
                     227                             ; SOURCE LINE # 87
                     228     ; {
                     229                             ; SOURCE LINE # 88
                     230     ;       SendCtr(0xC0);          /*起始显示DDRAM行(D5-D0)为第0行*/
                     231                             ; SOURCE LINE # 89
0000 90F802          232             MOV     DPTR,#0F802H
0003 E4              233             CLR     A
0004 F0              234             MOVX    @DPTR,A
0005 F0              235             MOVX    @DPTR,A
0006 90F800          236             MOV     DPTR,#0F800H
0009 74C0            237             MOV     A,#0C0H
000B F0              238             MOVX    @DPTR,A
                     239     ;       SendCtr(0xB8);          /*起始页位置(D2-D0)为第0页*/
                     240                             ; SOURCE LINE # 90
000C 90F802          241             MOV     DPTR,#0F802H
000F E4              242             CLR     A
0010 F0              243             MOVX    @DPTR,A
0011 F0              244             MOVX    @DPTR,A
0012 90F800          245             MOV     DPTR,#0F800H
0015 74B8            246             MOV     A,#0B8H
0017 F0              247             MOVX    @DPTR,A
                     248     ;       SendCtr(0x40);          /*X方向起始位置(D5-D0)为0*/
                     249                             ; SOURCE LINE # 91
A51 MACRO ASSEMBLER  LCD                                                                  10/31/2003 02:22:22 PAGE     5

0018 90F802          250             MOV     DPTR,#0F802H
001B E4              251             CLR     A
001C F0              252             MOVX    @DPTR,A
001D F0              253             MOVX    @DPTR,A
001E 90F800          254             MOV     DPTR,#0F800H
0021 7440            255             MOV     A,#040H
0023 F0              256             MOVX    @DPTR,A
                     257     ; }
                     258                             ; SOURCE LINE # 92
0024 22              259             RET     
                     260     ; END OF InitTg19264
                     261     
                     262     ; 
                     263     ; 
                     264     ; /****************************************************************************************
                             **
                     265     ; *函数名:              lcd_init
                     266     ; *参数:                        无
                     267     ; *返回值:              无
                     268     ; *描述:                        液晶屏初始化程序,主要是清屏,开显示
                     269     ; *编写:                        王绍伟
                     270     ; *版本信息:            V1.0                    2003年8月15日
                     271     ; *****************************************************************************************
                             */
                     272     ; extern void lcd_init(void)
                     273     
----                 274             RSEG  ?PR?lcd_init?LCD
0000                 275     lcd_init:
                     276             USING   0
                     277                             ; SOURCE LINE # 103
                     278     ; {
                     279                             ; SOURCE LINE # 104
                     280     ; #ifdef TG19264
                     281     ;       InitTg19264();
                     282                             ; SOURCE LINE # 106
0000 120000   F      283             LCALL   InitTg19264
                     284     ; #endif
                     285     ;       lcd_clear();
                     286                             ; SOURCE LINE # 108
0003 120000   F      287             LCALL   lcd_clear
                     288     ;       SendCtr(0x3F);          /*显示ON/OFF    D0*/
                     289                             ; SOURCE LINE # 109
0006 90F802          290             MOV     DPTR,#0F802H
0009 E4              291             CLR     A
000A F0              292             MOVX    @DPTR,A
000B F0              293             MOVX    @DPTR,A
000C 90F800          294             MOV     DPTR,#0F800H
000F 743F            295             MOV     A,#03FH
0011 F0              296             MOVX    @DPTR,A
                     297     ; }
                     298                             ; SOURCE LINE # 110
0012 22              299             RET     
                     300     ; END OF lcd_init
                     301     
                     302     ; 
                     303     ; 
                     304     ; /****************************************************************************************
                             **
                     305     ; *函数名:              lcd_clear
                     306     ; *参数:                        无
                     307     ; *返回值:              无
                     308     ; *描述:                        LCD清屏程序
                     309     ; *编写:                        王绍伟
                     310     ; *版本信息:            V1.0                    2003年8月15日
                     311     ; *****************************************************************************************
                             */
A51 MACRO ASSEMBLER  LCD                                                                  10/31/2003 02:22:22 PAGE     6

                     312     ; extern void lcd_clear(void)                                   
                     313     
----                 314             RSEG  ?PR?lcd_clear?LCD
0000                 315     lcd_clear:
                     316             USING   0
                     317                             ; SOURCE LINE # 121
                     318     ; {
                     319                             ; SOURCE LINE # 122
                     320     ;       byte page;
                     321     ;       byte column;
                     322     ; 
                     323     ;       for(page = 0; page < MAX_PAGE; page++)
                     324                             ; SOURCE LINE # 126
                     325     ;---- Variable 'page?442' assigned to Register 'R7' ----
0000 E4              326             CLR     A
0001 FF              327             MOV     R7,A
0002                 328     ?C0005:
                     329     ;       {
                     330                             ; SOURCE LINE # 127
                     331     ;               RS = 0;                         /*r发送命令*/
                     332                             ; SOURCE LINE # 128
0002 90F802          333             MOV     DPTR,#0F802H
0005 E4              334             CLR     A
0006 F0              335             MOVX    @DPTR,A
                     336     ;               WLCD = 0xB8 + page;             /*r设置清空的页码*/
                     337                             ; SOURCE LINE # 129
0007 EF              338             MOV     A,R7
0008 24B8            339             ADD     A,#0B8H
000A 90F800          340             MOV     DPTR,#0F800H
000D F0              341             MOVX    @DPTR,A
                     342     ;               _nop_();
                     343                             ; SOURCE LINE # 130
000E 00              344             NOP     
                     345     ;               WLCD = 0x40;                    /*r设置清空的X坐标起始位置为0*/
                     346                             ; SOURCE LINE # 131
000F 7440            347             MOV     A,#040H
0011 F0              348             MOVX    @DPTR,A
                     349     ;               _nop_();
                     350                             ; SOURCE LINE # 132
0012 00              351             NOP     
                     352     ;               RS = 1;                         /*r发送数据*/
                     353                             ; SOURCE LINE # 133
0013 90F802          354             MOV     DPTR,#0F802H
0016 7401            355             MOV     A,#01H
0018 F0              356             MOVX    @DPTR,A
                     357     ;               _nop_();
                     358                             ; SOURCE LINE # 134
0019 00              359             NOP     
                     360     ;               for(column = 0; column < MAX_COLUMN; column++)
                     361                             ; SOURCE LINE # 135
                     362     ;---- Variable 'column?443' assigned to Register 'R6' ----
001A E4              363             CLR     A
001B FE              364             MOV     R6,A
001C                 365     ?C0008:
                     366     ;               {
                     367                             ; SOURCE LINE # 136
                     368     ;                       WLCD = 0x00;            /*r相应显示寄存器清零*/
                     369                             ; SOURCE LINE # 137
001C 90F800          370             MOV     DPTR,#0F800H
001F E4              371             CLR     A
0020 F0              372             MOVX    @DPTR,A
                     373     ;                       _nop_();
                     374                             ; SOURCE LINE # 138
0021 00              375             NOP     
                     376     ;                       _nop_();
                     377                             ; SOURCE LINE # 139
A51 MACRO ASSEMBLER  LCD                                                                  10/31/2003 02:22:22 PAGE     7

0022 00              378             NOP     
                     379     ;                       _nop_();
                     380                             ; SOURCE LINE # 140
0023 00              381             NOP     
                     382     ;                       _nop_();
                     383                             ; SOURCE LINE # 141
0024 00              384             NOP     
                     385     ;                       _nop_();
                     386                             ; SOURCE LINE # 142
0025 00              387             NOP     
                     388     ;                       _nop_();
                     389                             ; SOURCE LINE # 143
0026 00              390             NOP     
                     391     ;                       _nop_();
                     392                             ; SOURCE LINE # 144

⌨️ 快捷键说明

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