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

📄 ledtest.lis

📁 使用ATMEGA128加CH375对U盘扇区进行读写,本程序在ICCAVR上调试,并在相应硬件电路上调试通过!供参考用
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 011A 75D0              xcall _LCD_ChkBusy
 011C                   .dbline 112
 011C           ;     SdCmd(0xf0,0xa0); LCD_ChkBusy();   //Font Control Reg
 011C 20EA              ldi R18,160
 011E 30E0              ldi R19,0
 0120 00EF              ldi R16,240
 0122 10E0              ldi R17,0
 0124 38D0              xcall _SdCmd
 0126                   .dbline 112
 0126 6FD0              xcall _LCD_ChkBusy
 0128                   .dbline 113
 0128           ;       SdCmd(0xf1,0x0f); LCD_ChkBusy();   //设置字型大小
 0128 2FE0              ldi R18,15
 012A 30E0              ldi R19,0
 012C 01EF              ldi R16,241
 012E 10E0              ldi R17,0
 0130 32D0              xcall _SdCmd
 0132                   .dbline 113
 0132 69D0              xcall _LCD_ChkBusy
 0134                   .dbline 114
 0134           ;       SdCmd(0x20,0x27); LCD_ChkBusy();  //Active Window Right  Reg
 0134 27E2              ldi R18,39
 0136 30E0              ldi R19,0
 0138 00E2              ldi R16,32
 013A 10E0              ldi R17,0
 013C 2CD0              xcall _SdCmd
 013E                   .dbline 114
 013E 63D0              xcall _LCD_ChkBusy
 0140                   .dbline 115
 0140           ;       SdCmd(0x30,0xef); LCD_ChkBusy();   //Active Window Bottom Reg(240 duty)
 0140 2FEE              ldi R18,239
 0142 30E0              ldi R19,0
 0144 00E3              ldi R16,48
 0146 10E0              ldi R17,0
 0148 26D0              xcall _SdCmd
 014A                   .dbline 115
 014A 5DD0              xcall _LCD_ChkBusy
 014C                   .dbline 116
 014C           ;       SdCmd(0x40,0x00); LCD_ChkBusy();   //Active Window Left   Reg
 014C 2227              clr R18
 014E 3327              clr R19
 0150 00E4              ldi R16,64
 0152 10E0              ldi R17,0
 0154 20D0              xcall _SdCmd
 0156                   .dbline 116
 0156 57D0              xcall _LCD_ChkBusy
 0158                   .dbline 117
 0158           ;       SdCmd(0x50,0x00); LCD_ChkBusy();   //Active Window Top    Reg
 0158 2227              clr R18
 015A 3327              clr R19
 015C 00E5              ldi R16,80
 015E 10E0              ldi R17,0
 0160 1AD0              xcall _SdCmd
 0162                   .dbline 117
 0162 51D0              xcall _LCD_ChkBusy
 0164                   .dbline 118
 0164           ;       SdCmd(0x21,0x27); LCD_ChkBusy();   //Display Window Right  Reg
 0164 27E2              ldi R18,39
 0166 30E0              ldi R19,0
 0168 01E2              ldi R16,33
 016A 10E0              ldi R17,0
 016C 14D0              xcall _SdCmd
 016E                   .dbline 118
 016E 4BD0              xcall _LCD_ChkBusy
 0170                   .dbline 119
 0170           ;       SdCmd(0x30,0xef); LCD_ChkBusy(); // Display Window Bottom Reg(240 duty)
 0170 2FEE              ldi R18,239
 0172 30E0              ldi R19,0
 0174 00E3              ldi R16,48
 0176 10E0              ldi R17,0
 0178 0ED0              xcall _SdCmd
 017A                   .dbline 119
 017A 45D0              xcall _LCD_ChkBusy
 017C                   .dbline 120
 017C           ;       SdCmd(0x41,0x00); LCD_ChkBusy();   //Display Window Left   Reg
 017C 2227              clr R18
 017E 3327              clr R19
 0180 01E4              ldi R16,65
 0182 10E0              ldi R17,0
 0184 08D0              xcall _SdCmd
 0186                   .dbline 120
 0186 3FD0              xcall _LCD_ChkBusy
 0188                   .dbline 121
 0188           ;     SdCmd(0x51,0x00); LCD_ChkBusy();  // Display Window Top    Reg
 0188 2227              clr R18
 018A 3327              clr R19
 018C 01E5              ldi R16,81
 018E 10E0              ldi R17,0
 0190 02D0              xcall _SdCmd
 0192                   .dbline 121
 0192 39D0              xcall _LCD_ChkBusy
 0194                   .dbline -2
 0194           L7:
 0194                   .dbline 0 ; func end
 0194 0895              ret
 0196                   .dbend
 0196                   .dbfunc e SdCmd _SdCmd fV
 0196           ;       Com_Data -> R18
 0196           ;        Command -> R16
                        .even
 0196           _SdCmd::
 0196                   .dbline -1
 0196                   .dbline 126
 0196           ; }
 0196           ; //====================================
 0196           ; //-----------------------------------
 0196           ; void SdCmd(uchar Command,uchar Com_Data)   //send command
 0196           ; {   
 0196                   .dbline 127
 0196           ;    SetWR;
 0196 979A              sbi 0x12,7
 0198                   .dbline 127
 0198                   .dbline 128
 0198           ;    SetRD;
 0198 959A              sbi 0x12,5
 019A                   .dbline 128
 019A                   .dbline 129
 019A           ;    ClrRS;   //RS = 0 输入命令  
 019A 83B1              in R24,0x3
 019C 8E7F              andi R24,254
 019E 83B9              out 0x3,R24
 01A0                   .dbline 129
 01A0                   .dbline 130
 01A0           ;    ClrCS;
 01A0 82B3              in R24,0x12
 01A2 8F7B              andi R24,191
 01A4 82BB              out 0x12,R24
 01A6                   .dbline 130
 01A6                   .dbline 131
 01A6           ;    PORTF = Command;
 01A6 00936200          sts 98,R16
 01AA                   .dbline 132
 01AA           ;     asm(" nop ");
 01AA 0000               nop 
 01AC                   .dbline 133
 01AC           ;    ClrWR;  //写使能
 01AC 82B3              in R24,0x12
 01AE 8F77              andi R24,127
 01B0 82BB              out 0x12,R24
 01B2                   .dbline 133
 01B2                   .dbline 134
 01B2           ;    asm(" nop ");   // 8MHZ 执行一条指令大约125ns
 01B2 0000               nop 
 01B4                   .dbline 135
 01B4           ;    asm(" nop ");
 01B4 0000               nop 
 01B6                   .dbline 136
 01B6           ;    SetWR;
 01B6 979A              sbi 0x12,7
 01B8                   .dbline 136
 01B8                   .dbline 137
 01B8           ;    SetCS;
 01B8 969A              sbi 0x12,6
 01BA                   .dbline 137
 01BA                   .dbline 139
 01BA           ; //====================================
 01BA           ;    asm(" nop ");   // 8MHZ 执行一条指令大约125ns
 01BA 0000               nop 
 01BC                   .dbline 140
 01BC           ;    asm(" nop ");
 01BC 0000               nop 
 01BE                   .dbline 141
 01BE           ;    SetWR;
 01BE 979A              sbi 0x12,7
 01C0                   .dbline 141
 01C0                   .dbline 142
 01C0           ;    SetRD;
 01C0 959A              sbi 0x12,5
 01C2                   .dbline 142
 01C2                   .dbline 143
 01C2           ;    ClrRS;   //RS = 0 输入命令  
 01C2 83B1              in R24,0x3
 01C4 8E7F              andi R24,254
 01C6 83B9              out 0x3,R24
 01C8                   .dbline 143
 01C8                   .dbline 144
 01C8           ;    ClrCS;
 01C8 82B3              in R24,0x12
 01CA 8F7B              andi R24,191
 01CC 82BB              out 0x12,R24
 01CE                   .dbline 144
 01CE                   .dbline 145
 01CE           ;    PORTF = Com_Data;
 01CE 20936200          sts 98,R18
 01D2                   .dbline 146
 01D2           ;     asm(" nop ");
 01D2 0000               nop 
 01D4                   .dbline 147
 01D4           ;    ClrWR;  //写使能
 01D4 82B3              in R24,0x12
 01D6 8F77              andi R24,127
 01D8 82BB              out 0x12,R24
 01DA                   .dbline 147
 01DA                   .dbline 148
 01DA           ;    asm(" nop ");   // 8MHZ 执行一条指令大约125ns
 01DA 0000               nop 
 01DC                   .dbline 149
 01DC           ;    asm(" nop ");
 01DC 0000               nop 
 01DE                   .dbline 150
 01DE           ;    SetWR;
 01DE 979A              sbi 0x12,7
 01E0                   .dbline 150
 01E0                   .dbline 151
 01E0           ;    SetCS;
 01E0 969A              sbi 0x12,6
 01E2                   .dbline 151
 01E2                   .dbline -2
 01E2           L8:
 01E2                   .dbline 0 ; func end
 01E2 0895              ret
 01E4                   .dbsym r Com_Data 18 c
 01E4                   .dbsym r Command 16 c
 01E4                   .dbend
 01E4                   .dbfunc e SdData _SdData fV
 01E4           ;          DData -> R16
                        .even
 01E4           _SdData::
 01E4                   .dbline -1
 01E4                   .dbline 155
 01E4           ; }
 01E4           ; //===============================================
 01E4           ; void SdData(uchar DData)    //send display data
 01E4           ; {   
 01E4                   .dbline 156
 01E4           ;    SetWR;
 01E4 979A              sbi 0x12,7
 01E6                   .dbline 156
 01E6                   .dbline 157
 01E6           ;    SetRD;
 01E6 959A              sbi 0x12,5
 01E8                   .dbline 157
 01E8                   .dbline 158
 01E8           ;    SetRS;     //RS = 1 输入数据 
 01E8 189A              sbi 0x3,0
 01EA                   .dbline 158
 01EA                   .dbline 159
 01EA           ;    ClrCS;
 01EA 82B3              in R24,0x12
 01EC 8F7B              andi R24,191
 01EE 82BB              out 0x12,R24
 01F0                   .dbline 159
 01F0                   .dbline 160
 01F0           ;    PORTF = DData;
 01F0 00936200          sts 98,R16
 01F4                   .dbline 161
 01F4           ;    asm(" nop ");
 01F4 0000               nop 
 01F6                   .dbline 162
 01F6           ;    ClrWR;    //写使能
 01F6 82B3              in R24,0x12
 01F8 8F77              andi R24,127
 01FA 82BB              out 0x12,R24
 01FC                   .dbline 162
 01FC                   .dbline 163
 01FC           ;    asm(" nop ");   // 8MHZ 执行一条指令大约125ns
 01FC 0000               nop 
 01FE                   .dbline 164
 01FE           ;    asm(" nop ");
 01FE 0000               nop 
 0200                   .dbline 165
 0200           ;    SetWR;
 0200 979A              sbi 0x12,7
 0202                   .dbline 165
 0202                   .dbline 166
 0202           ;    SetCS;
 0202 969A              sbi 0x12,6
 0204                   .dbline 166
 0204                   .dbline -2
 0204           L9:
 0204                   .dbline 0 ; func end
 0204 0895              ret
 0206                   .dbsym r DData 16 c
 0206                   .dbend
 0206                   .dbfunc e LCD_ChkBusy _LCD_ChkBusy fV
 0206           ;          TempM -> R16
                        .even
 0206           _LCD_ChkBusy::
 0206                   .dbline -1
 0206                   .dbline 171
 0206           ; }
 0206           ; //====================================
 0206           ; //=================================
 0206           ; void LCD_ChkBusy(void)
 0206           ; {
 0206                   .dbline 172
 0206           ;       uchar TempM = 0x08;
 0206 08E0              ldi R16,8
 0208                   .dbline 173
 0208           ;       DDRG = 0X00;           //将端口设为输入 
 0208 2224              clr R2
 020A 20926400          sts 100,R2
 020E 03C0              xjmp L12
 0210           L11:
 0210                   .dbline 175
 0210                   .dbline 176
 0210 00916300          lds R16,99
 0214                   .dbline 177
 0214 0870              andi R16,8
 0216                   .dbline 178
 0216           L12:
 0216                   .dbline 174
 0216           ;       while(TempM)
 0216 0023              tst R16
 0218 D9F7              brne L11
 021A                   .dbline 179
 021A           ;       {
 021A           ;        TempM = PING;
 021A           ;        TempM &= 0x08;    //读取DB.3位
 021A           ;       }
 021A           ;     DDRG = 0XFF;        //将端口设为输出
 021A 8FEF              ldi R24,255
 021C 80936400          sts 100,R24
 0220                   .dbline -2
 0220           L10:
 0220                   .dbline 0 ; func end
 0220 0895              ret
 0222                   .dbsym r TempM 16 c
 0222                   .dbend
 0222                   .dbfunc e Welcome_interface _Welcome_interface fV
                        .even
 0222           _Welcome_interface::
 0222 2297              sbiw R28,2
 0224                   .dbline -1
 0224                   .dbline 183
 0224           ; }
 0224           ; //====================================
 0224           ; void Welcome_interface(void)
 0224           ; {
 0224                   .dbline 184
 0224           ;   SdCmd(0x12,0x95);LCD_ChkBusy();  //操作图层1
 0224 25E9              ldi R18,149
 0226 02E1              ldi R16,18
 0228 B6DF              xcall _SdCmd
 022A                   .dbline 184
 022A EDDF              xcall _LCD_ChkBusy
 022C                   .dbline 185
 022C           ;   CleanScreen();
 022C 31D0              xcall _CleanScreen
 022E                   .dbline 186
 022E           ;   SdCmd(0xf1,0x1f);LCD_ChkBusy();     //设置字型大小
 022E 2FE1              ldi R18,31
 0230 01EF              ldi R16,241
 0232 B1DF              xcall _SdCmd
 0234                   .dbline 186
 0234 E8DF              xcall _LCD_ChkBusy
 0236                   .dbline 189
 0236           ;   //SdCmd(0x60,0x0a);LCD_ChkBusy();     //设置光标X坐标
 0236           ;   //SdCmd(0x70,0x4b);LCD_ChkBusy();     //设置光标Y坐标
 0236           ;   ShowText(10,75,"金特维");  

⌨️ 快捷键说明

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