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

📄 ledtest.lis

📁 使用atmel128对45db161读写程序加LM2009R大液晶显示
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0256 00936200          sts 98,R16
 025A                   .dbline 178
 025A           ;     asm(" nop ");
 025A 0000               nop 
 025C                   .dbline 179
 025C           ;    ClrWR;  //写使能
 025C 82B3              in R24,0x12
 025E 8F77              andi R24,127
 0260 82BB              out 0x12,R24
 0262                   .dbline 179
 0262                   .dbline 180
 0262           ;    asm(" nop ");   // 8MHZ 执行一条指令大约125ns
 0262 0000               nop 
 0264                   .dbline 181
 0264           ;    asm(" nop ");
 0264 0000               nop 
 0266                   .dbline 182
 0266           ;    SetWR;
 0266 979A              sbi 0x12,7
 0268                   .dbline 182
 0268                   .dbline 183
 0268           ;    SetCS;
 0268 969A              sbi 0x12,6
 026A                   .dbline 183
 026A                   .dbline 185
 026A           ; //====================================
 026A           ;    asm(" nop ");   // 8MHZ 执行一条指令大约125ns
 026A 0000               nop 
 026C                   .dbline 186
 026C           ;    asm(" nop ");
 026C 0000               nop 
 026E                   .dbline 187
 026E           ;    SetWR;
 026E 979A              sbi 0x12,7
 0270                   .dbline 187
 0270                   .dbline 188
 0270           ;    SetRD;
 0270 959A              sbi 0x12,5
 0272                   .dbline 188
 0272                   .dbline 189
 0272           ;    ClrRS;   //RS = 0 输入命令  
 0272 83B1              in R24,0x3
 0274 8E7F              andi R24,254
 0276 83B9              out 0x3,R24
 0278                   .dbline 189
 0278                   .dbline 190
 0278           ;    ClrCS;
 0278 82B3              in R24,0x12
 027A 8F7B              andi R24,191
 027C 82BB              out 0x12,R24
 027E                   .dbline 190
 027E                   .dbline 191
 027E           ;    PORTF = Com_Data;
 027E 20936200          sts 98,R18
 0282                   .dbline 192
 0282           ;     asm(" nop ");
 0282 0000               nop 
 0284                   .dbline 193
 0284           ;    ClrWR;  //写使能
 0284 82B3              in R24,0x12
 0286 8F77              andi R24,127
 0288 82BB              out 0x12,R24
 028A                   .dbline 193
 028A                   .dbline 194
 028A           ;    asm(" nop ");   // 8MHZ 执行一条指令大约125ns
 028A 0000               nop 
 028C                   .dbline 195
 028C           ;    asm(" nop ");
 028C 0000               nop 
 028E                   .dbline 196
 028E           ;    SetWR;
 028E 979A              sbi 0x12,7
 0290                   .dbline 196
 0290                   .dbline 197
 0290           ;    SetCS;
 0290 969A              sbi 0x12,6
 0292                   .dbline 197
 0292                   .dbline -2
 0292           L17:
 0292                   .dbline 0 ; func end
 0292 0895              ret
 0294                   .dbsym r Com_Data 18 c
 0294                   .dbsym r Command 16 c
 0294                   .dbend
 0294                   .dbfunc e SdData _SdData fV
 0294           ;          DData -> R16
                        .even
 0294           _SdData::
 0294                   .dbline -1
 0294                   .dbline 201
 0294           ; }
 0294           ; //===============================================
 0294           ; void SdData(uchar DData)    //send display data
 0294           ; {   
 0294                   .dbline 202
 0294           ;    SetWR;
 0294 979A              sbi 0x12,7
 0296                   .dbline 202
 0296                   .dbline 203
 0296           ;    SetRD;
 0296 959A              sbi 0x12,5
 0298                   .dbline 203
 0298                   .dbline 204
 0298           ;    SetRS;     //RS = 1 输入数据 
 0298 189A              sbi 0x3,0
 029A                   .dbline 204
 029A                   .dbline 205
 029A           ;    ClrCS;
 029A 82B3              in R24,0x12
 029C 8F7B              andi R24,191
 029E 82BB              out 0x12,R24
 02A0                   .dbline 205
 02A0                   .dbline 206
 02A0           ;    PORTF = DData;
 02A0 00936200          sts 98,R16
 02A4                   .dbline 207
 02A4           ;    asm(" nop ");
 02A4 0000               nop 
 02A6                   .dbline 208
 02A6           ;    ClrWR;    //写使能
 02A6 82B3              in R24,0x12
 02A8 8F77              andi R24,127
 02AA 82BB              out 0x12,R24
 02AC                   .dbline 208
 02AC                   .dbline 209
 02AC           ;    asm(" nop ");   // 8MHZ 执行一条指令大约125ns
 02AC 0000               nop 
 02AE                   .dbline 210
 02AE           ;    asm(" nop ");
 02AE 0000               nop 
 02B0                   .dbline 211
 02B0           ;    SetWR;
 02B0 979A              sbi 0x12,7
 02B2                   .dbline 211
 02B2                   .dbline 212
 02B2           ;    SetCS;
 02B2 969A              sbi 0x12,6
 02B4                   .dbline 212
 02B4                   .dbline -2
 02B4           L18:
 02B4                   .dbline 0 ; func end
 02B4 0895              ret
 02B6                   .dbsym r DData 16 c
 02B6                   .dbend
 02B6                   .dbfunc e LCD_ChkBusy _LCD_ChkBusy fV
 02B6           ;          TempM -> R16
                        .even
 02B6           _LCD_ChkBusy::
 02B6                   .dbline -1
 02B6                   .dbline 217
 02B6           ; }
 02B6           ; //====================================
 02B6           ; //=================================
 02B6           ; void LCD_ChkBusy(void)
 02B6           ; {
 02B6                   .dbline 218
 02B6           ;       uchar TempM = 0x08;
 02B6 08E0              ldi R16,8
 02B8                   .dbline 219
 02B8           ;       DDRG = 0X00;           //将端口设为输入 
 02B8 2224              clr R2
 02BA 20926400          sts 100,R2
 02BE 03C0              xjmp L21
 02C0           L20:
 02C0                   .dbline 221
 02C0                   .dbline 222
 02C0 00916300          lds R16,99
 02C4                   .dbline 223
 02C4 0870              andi R16,8
 02C6                   .dbline 224
 02C6           L21:
 02C6                   .dbline 220
 02C6           ;       while(TempM)
 02C6 0023              tst R16
 02C8 D9F7              brne L20
 02CA                   .dbline 225
 02CA           ;       {
 02CA           ;        TempM = PING;
 02CA           ;        TempM &= 0x08;    //读取DB.3位
 02CA           ;       }
 02CA           ;     DDRG = 0XFF;        //将端口设为输出
 02CA 8FEF              ldi R24,255
 02CC 80936400          sts 100,R24
 02D0                   .dbline -2
 02D0           L19:
 02D0                   .dbline 0 ; func end
 02D0 0895              ret
 02D2                   .dbsym r TempM 16 c
 02D2                   .dbend
 02D2                   .dbfunc e Welcome_interface _Welcome_interface fV
                        .even
 02D2           _Welcome_interface::
 02D2 2297              sbiw R28,2
 02D4                   .dbline -1
 02D4                   .dbline 229
 02D4           ; }
 02D4           ; //====================================
 02D4           ; void Welcome_interface(void)
 02D4           ; {
 02D4                   .dbline 230
 02D4           ;   SdCmd(0x12,0x95);LCD_ChkBusy();  //操作图层1
 02D4 25E9              ldi R18,149
 02D6 02E1              ldi R16,18
 02D8 B6DF              xcall _SdCmd
 02DA                   .dbline 230
 02DA EDDF              xcall _LCD_ChkBusy
 02DC                   .dbline 231
 02DC           ;   CleanScreen();
 02DC 31D0              xcall _CleanScreen
 02DE                   .dbline 232
 02DE           ;   SdCmd(0xf1,0x1f);LCD_ChkBusy();     //设置字型大小
 02DE 2FE1              ldi R18,31
 02E0 01EF              ldi R16,241
 02E2 B1DF              xcall _SdCmd
 02E4                   .dbline 232
 02E4 E8DF              xcall _LCD_ChkBusy
 02E6                   .dbline 235
 02E6           ;   //SdCmd(0x60,0x0a);LCD_ChkBusy();     //设置光标X坐标
 02E6           ;   //SdCmd(0x70,0x4b);LCD_ChkBusy();     //设置光标Y坐标
 02E6           ;   ShowText(10,75,"金特维");  
 02E6 80E0              ldi R24,<L24
 02E8 90E0              ldi R25,>L24
 02EA 9983              std y+1,R25
 02EC 8883              std y+0,R24
 02EE 2BE4              ldi R18,75
 02F0 30E0              ldi R19,0
 02F2 0AE0              ldi R16,10
 02F4 10E0              ldi R17,0
 02F6 40D0              xcall _ShowText
 02F8                   .dbline 236
 02F8           ;   SdCmd(0xf1,0x0f);LCD_ChkBusy();     //设置字型大小
 02F8 2FE0              ldi R18,15
 02FA 01EF              ldi R16,241
 02FC A4DF              xcall _SdCmd
 02FE                   .dbline 236
 02FE DBDF              xcall _LCD_ChkBusy
 0300                   .dbline 239
 0300           ;   //SdCmd(0x60,0x10);LCD_ChkBusy();     //设置光标X坐标
 0300           ;   //SdCmd(0x70,0x55);LCD_ChkBusy();     //设置光标Y坐标
 0300           ;   ShowText(16,85,"技术有限公司");
 0300 80E0              ldi R24,<L25
 0302 90E0              ldi R25,>L25
 0304 9983              std y+1,R25
 0306 8883              std y+0,R24
 0308 25E5              ldi R18,85
 030A 30E0              ldi R19,0
 030C 00E1              ldi R16,16
 030E 10E0              ldi R17,0
 0310 33D0              xcall _ShowText
 0312                   .dbline 240
 0312           ;   SdCmd(0xf0,0xa0);LCD_ChkBusy();     //设置为简体字型
 0312 20EA              ldi R18,160
 0314 00EF              ldi R16,240
 0316 97DF              xcall _SdCmd
 0318                   .dbline 240
 0318 CEDF              xcall _LCD_ChkBusy
 031A                   .dbline 241
 031A           ;   SdCmd(0xf1,0x5f);LCD_ChkBusy();     //设置字型大小
 031A 2FE5              ldi R18,95
 031C 01EF              ldi R16,241
 031E 93DF              xcall _SdCmd
 0320                   .dbline 241
 0320 CADF              xcall _LCD_ChkBusy
 0322                   .dbline 242
 0322           ;   SdCmd(0x10,0x79);LCD_ChkBusy();     //设置光标及粗体显示
 0322 29E7              ldi R18,121
 0324 00E1              ldi R16,16
 0326 8FDF              xcall _SdCmd
 0328                   .dbline 242
 0328 C6DF              xcall _LCD_ChkBusy
 032A                   .dbline 245
 032A           ;   //SdCmd(0x60,0x09);LCD_ChkBusy();     //设置光标X坐标
 032A           ;   //SdCmd(0x70,0x72);LCD_ChkBusy();     //设置光标Y坐标
 032A           ;   ShowText(9,114,"GTW - 2008");
 032A 80E0              ldi R24,<L26
 032C 90E0              ldi R25,>L26
 032E 9983              std y+1,R25
 0330 8883              std y+0,R24
 0332 22E7              ldi R18,114
 0334 30E0              ldi R19,0
 0336 09E0              ldi R16,9
 0338 10E0              ldi R17,0
 033A 1ED0              xcall _ShowText
 033C                   .dbline -2
 033C           L23:
 033C 2296              adiw R28,2
 033E                   .dbline 0 ; func end
 033E 0895              ret
 0340                   .dbend
 0340                   .dbfunc e CleanScreen _CleanScreen fV
 0340           ;              i -> R20
 0340           ;              j -> R22
                        .even
 0340           _CleanScreen::
 0340 0E940000          xcall push_gset2
 0344                   .dbline -1
 0344                   .dbline 250
 0344           ;   
 0344           ; }
 0344           ; //==================================
 0344           ; void CleanScreen()
 0344           ; {  
 0344                   .dbline 252
 0344           ;    uchar i,j;
 0344           ;    asm(" cli ");  //加入禁止中断,以免人为的外界的中断频繁产生从而使显示屏无反应,即死屏现象
 0344 F894               cli 
 0346                   .dbline 253
 0346           ;    SdCmd(0x60,0x00); LCD_ChkBusy();  //set cursor X location
 0346 2227              clr R18
 0348 00E6              ldi R16,96
 034A 7DDF              xcall _SdCmd
 034C                   .dbline 253
 034C B4DF              xcall _LCD_ChkBusy
 034E                   .dbline 254
 034E           ;    SdCmd(0x70,0x00); LCD_ChkBusy();  //set cursor Y location
 034E 2227              clr R18
 0350 00E7              ldi R16,112
 0352 79DF              xcall _SdCmd
 0354                   .dbline 254
 0354 B0DF              xcall _LCD_ChkBusy
 0356                   .dbline 255
 0356           ;       for(i=0;i<40;i++)
 0356 4427              clr R20
 0358 09C0              xjmp L31
 035A           L28:
 035A                   .dbline 256
 035A           ;        {
 035A                   .dbline 257

⌨️ 快捷键说明

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