?? mb90092.lis
字號:
.module MB90092.C
.area data(ram, con, rel)
0000 _synchronization::
0000 .blkb 1
.area idata
0000 00 .byte 0
.area data(ram, con, rel)
0001 .dbfile E:\公司文件\OSDDEM~1\MB90092\MB90092.C
0001 .dbsym e synchronization _synchronization c
0001 _Tft_Enable_Show_Flag::
0001 .blkb 1
.area idata
0001 00 .byte 0
.area data(ram, con, rel)
0002 .dbfile E:\公司文件\OSDDEM~1\MB90092\MB90092.C
0002 .dbsym e Tft_Enable_Show_Flag _Tft_Enable_Show_Flag c
.area text(rom, con, rel)
0000 .dbfile E:\公司文件\OSDDEM~1\MB90092\MB90092.C
0000 .dbfunc e Tft_Buf_Clear _Tft_Buf_Clear fV
0000 ; i -> R20
.even
0000 _Tft_Buf_Clear::
0000 0E940000 xcall push_gset1
0004 .dbline -1
0004 .dbline 66
0004 ; /*********************************************************************************************************
0004 ; ** MB90092 OSD 驅動程序
0004 ; ** (c) Copyright 2005-2006, limaokui
0004 ; ** All Rights Reserved
0004 ; **
0004 ; ** V1.0.0
0004 ; **
0004 ; **
0004 ; **--------------文件信息--------------------------------------------------------------------------------
0004 ; **文 件 名:MB90092.c
0004 ; **創 建 人: 李茂奎
0004 ; **最后修改日期: 2005年12月13日
0004 ; **描 述: MB90092 OSD 驅動程序
0004 ; **
0004 ; **--------------歷史版本信息----------------------------------------------------------------------------
0004 ; ** 創建人: 李茂奎
0004 ; ** 版 本: V1.00
0004 ; ** 日 期: 2005年11月13日
0004 ; ** 描 述: 原始版本
0004 ; **
0004 ; **------------------------------------------------------------------------------------------------------
0004 ; ** 修改人: 李茂奎
0004 ; ** 版 本: V1.10
0004 ; ** 日 期: 2005年11月17日
0004 ; ** 描 述:
0004 ; **
0004 ; **--------------當前版本修訂------------------------------------------------------------------------------
0004 ; ** 修改人:
0004 ; ** 日 期:
0004 ; ** 描 述:
0004 ; **
0004 ; **------------------------------------------------------------------------------------------------------
0004 ; *********************************************************************************************************/
0004 ;
0004 ;
0004 ; #include "config.h"
0004 ; void M90092_DisRow(uint8 *CChar,uint8 Row,uint8 len,uint8 charsize, uint8 b_color,uint8 c_color);
0004 ; void Delay_ms (uint16 ms);
0004 ; void MB90092_WriteByte (uint8 _data);
0004 ; void MB90092_ClearXY (uint8 x,uint8 y);
0004 ; void MB90092_ClearRow (uint8 y);
0004 ; void MB90092_ClearScreen (void);
0004 ; void MB90092_DisChar (uint8 x,uint8 y,uint16 addr,uint8 mul,uint8 bc,uint8 cc,uint8 ff);
0004 ; void MB90092_DisColor (uint8 y);
0004 ;
0004 ; uint16 CharToAddr(uint8 *CChar);
0004 ;
0004 ; uint8 synchronization=SYN_INTERNAL;
0004 ; uint16 Lcd_Show_Buf[Lcd_Lines][Lcd_Characters]; //顯示緩沖區
0004 ; uint8 Tft_Enable_Show_Flag=FALSE;
0004 ;
0004 ;
0004 ; /*********************************************************************************************************
0004 ; ** 函數名稱:Tft_Buf_Clear
0004 ; ** 功能描述: 清空顯示緩沖區
0004 ; ** 輸 入:
0004 ; **
0004 ; ** 全局變量: Lcd_Show_Buf : 顯示緩沖區
0004 ; ** 調用模塊: 無
0004 ; ** 說明:
0004 ; ** 注意:
0004 ; ** 日 期: 2005年12月23日
0004 ; ********************************************************************************************************/
0004 ;
0004 ; void Tft_Buf_Clear(void)
0004 ; {
0004 .dbline 68
0004 ; uint8 i;
0004 ; for (i=0;i<Lcd_Lines;i++)
0004 4427 clr R20
0006 05C0 xjmp L6
0008 L3:
0008 .dbline 69
0008 .dbline 70
0008 A895 wdr
000A .dbline 71
000A 042F mov R16,R20
000C 0AD0 xcall _Tft_Buf_Line_Clear
000E .dbline 72
000E A895 wdr
0010 .dbline 73
0010 L4:
0010 .dbline 68
0010 4395 inc R20
0012 L6:
0012 .dbline 68
0012 4630 cpi R20,6
0014 C8F3 brlo L3
0016 .dbline 74
0016 ; {
0016 ; WDR(); //喂狗
0016 ; Tft_Buf_Line_Clear(i);
0016 ; WDR(); //喂狗
0016 ; }
0016 ; Tft_Enable_Show_Flag=TRUE;
0016 81E0 ldi R24,1
0018 80930100 sts _Tft_Enable_Show_Flag,R24
001C .dbline -2
001C L2:
001C 0E940000 xcall pop_gset1
0020 .dbline 0 ; func end
0020 0895 ret
0022 .dbsym r i 20 c
0022 .dbend
0022 .dbfunc e Tft_Buf_Line_Clear _Tft_Buf_Line_Clear fV
0022 ; p -> R20,R21
0022 ; i -> R22
0022 ; line -> R16
.even
0022 _Tft_Buf_Line_Clear::
0022 0E940000 xcall push_gset2
0026 .dbline -1
0026 .dbline 90
0026 ; }
0026 ;
0026 ; /*********************************************************************************************************
0026 ; ** 函數名稱:Tft_Buf_Line_Clear
0026 ; ** 功能描述: 清空緩沖區的一行
0026 ; ** 輸 入: line:所清行號
0026 ; **
0026 ; ** 全局變量: Lcd_Show_Buf : 顯示緩沖區
0026 ; ** 調用模塊: 無
0026 ; ** 說明:
0026 ; ** 注意:
0026 ; ** 日 期: 2005年12月23日
0026 ; ********************************************************************************************************/
0026 ;
0026 ; void Tft_Buf_Line_Clear(uint8 line)
0026 ; {
0026 .dbline 93
0026 ; uint8 i;
0026 ; uint16 *p;
0026 ; p=(uint16 *)&Lcd_Show_Buf[line];
0026 8EE2 ldi R24,46
0028 809F mul R24,R16
002A A001 movw R20,R0
002C 80E0 ldi R24,<_Lcd_Show_Buf
002E 90E0 ldi R25,>_Lcd_Show_Buf
0030 480F add R20,R24
0032 591F adc R21,R25
0034 .dbline 94
0034 ; for(i=0;i<Lcd_Characters;i++)
0034 6627 clr R22
0036 08C0 xjmp L11
0038 L8:
0038 .dbline 95
0038 .dbline 96
0038 A895 wdr
003A .dbline 97
003A 2224 clr R2
003C 3324 clr R3
003E FA01 movw R30,R20
0040 2192 st Z+,R2
0042 3192 st Z+,R3
0044 AF01 movw R20,R30
0046 .dbline 98
0046 L9:
0046 .dbline 94
0046 6395 inc R22
0048 L11:
0048 .dbline 94
0048 6731 cpi R22,23
004A B0F3 brlo L8
004C .dbline 99
004C ; {
004C ; WDR(); //喂狗
004C ; *p++=0;
004C ; }
004C ; Tft_Enable_Show_Flag=TRUE;
004C 81E0 ldi R24,1
004E 80930100 sts _Tft_Enable_Show_Flag,R24
0052 .dbline -2
0052 L7:
0052 0E940000 xcall pop_gset2
0056 .dbline 0 ; func end
0056 0895 ret
0058 .dbsym r p 20 pi
0058 .dbsym r i 22 c
0058 .dbsym r line 16 c
0058 .dbend
0058 .dbfunc e Tft_Buf_XY_Clear _Tft_Buf_XY_Clear fV
0058 ; p -> R20,R21
0058 ; row -> R18
0058 ; line -> R16
.even
0058 _Tft_Buf_XY_Clear::
0058 0E940000 xcall push_gset1
005C .dbline -1
005C .dbline 102
005C ; }
005C ; void Tft_Buf_XY_Clear(uint8 line,uint8 row)
005C ; {
005C .dbline 104
005C ; uint16 *p;
005C ; WDR(); //喂狗
005C A895 wdr
005E .dbline 105
005E ; p=(uint16 *)&Lcd_Show_Buf[line]+row;
005E 8EE2 ldi R24,46
0060 809F mul R24,R16
0062 1001 movw R2,R0
0064 80E0 ldi R24,<_Lcd_Show_Buf
0066 90E0 ldi R25,>_Lcd_Show_Buf
0068 280E add R2,R24
006A 391E adc R3,R25
006C 82E0 ldi R24,2
006E 829F mul R24,R18
0070 A001 movw R20,R0
0072 420D add R20,R2
0074 531D adc R21,R3
0076 .dbline 106
0076 ; *p=0;
0076 2224 clr R2
0078 3324 clr R3
007A FA01 movw R30,R20
007C 3182 std z+1,R3
007E 2082 std z+0,R2
0080 .dbline 107
0080 ; Tft_Enable_Show_Flag=TRUE;
0080 81E0 ldi R24,1
0082 80930100 sts _Tft_Enable_Show_Flag,R24
0086 .dbline -2
0086 L12:
0086 0E940000 xcall pop_gset1
008A .dbline 0 ; func end
008A 0895 ret
008C .dbsym r p 20 pi
008C .dbsym r row 18 c
008C .dbsym r line 16 c
008C .dbend
008C .dbfunc e Tft_Buf_XY_Update _Tft_Buf_XY_Update fV
008C ; p -> R20,R21
008C ; i -> R22
008C ; len -> R10
008C ; str -> R12,R13
008C ; row -> R20
008C ; line -> R22
.even
008C _Tft_Buf_XY_Update::
008C 0E940000 xcall push_gset4
0090 422F mov R20,R18
0092 602F mov R22,R16
0094 C884 ldd R12,y+8
0096 D984 ldd R13,y+9
0098 AA84 ldd R10,y+10
009A .dbline -1
009A .dbline 121
009A ; }
009A ; /*********************************************************************************************************
009A ; ** 函數名稱:Tft_Buf_Line_Update
009A ; ** 功能描述: 將字符送入指定行列緩沖區
009A ; ** 輸 入:
009A ; **
009A ; ** 全局變量: Lcd_Show_Buf : 顯示緩沖區
009A ; ** 調用模塊: 無
009A ; ** 說明:
009A ; ** 注意:
009A ; ** 日 期: 2005年12月23日
009A ; ********************************************************************************************************/
009A ; void Tft_Buf_XY_Update(uint8 line,uint8 row,uint8 *str,uint8 len)
009A ; {
009A .dbline 124
009A ; uint8 i;
009A ; uint16 *p;
009A ; p=(uint16 *)&Lcd_Show_Buf[line]+row;
009A 8EE2 ldi R24,46
009C 869F mul R24,R22
009E 1001 movw R2,R0
00A0 80E0 ldi R24,<_Lcd_Show_Buf
00A2 90E0 ldi R25,>_Lcd_Show_Buf
00A4 280E add R2,R24
00A6 391E adc R3,R25
00A8 82E0 ldi R24,2
00AA 849F mul R24,R20
00AC A001 movw R20,R0
00AE 420D add R20,R2
00B0 531D adc R21,R3
00B2 .dbline 125
00B2 ; for(i=0;i<len;i++)
00B2 6627 clr R22
00B4 14C0 xjmp L17
00B6 L14:
00B6 .dbline 126
00B6 ; {
00B6 .dbline 127
00B6 ; WDR(); //喂狗
00B6 A895 wdr
00B8 .dbline 128
00B8 ; *p++=CharToAddr(str);
00B8 8601 movw R16,R12
00BA CAD0 xcall _CharToAddr
00BC FA01 movw R30,R20
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -