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

📄 ch452ldriver.lis

📁 ch452的数码管和键盘驱动程序
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 0066 02E3              ldi R16,50
 0068 10E0              ldi R17,0
 006A                   .dbline -2
 006A           L9:
 006A                   .dbline 0 ; func end
 006A 0895              ret
 006C                   .dbend
 006C                   .dbfunc e Display_Ch452lBCD _Display_Ch452lBCD fV
 006C           ;              i -> <dead>
 006C           ;              p -> R20,R21
 006C           ;              n -> R22
                        .even
 006C           _Display_Ch452lBCD::
 006C 00D0              rcall push_gset2
 006E A901              movw R20,R18
 0070 602F              mov R22,R16
 0072                   .dbline -1
 0072                   .dbline 162
 0072           ; }
 0072           ; 
 0072           ; /***************************************************************************
 0072           ; *函数名:
 0072           ; *功能:
 0072           ; *入口参数:
 0072           ;  n   要显示的数码管的位数 
 0072           ;  *p  要显示的数码管的值,BCD码,在显示前将要显示的数码管的BCD码存入该数组
 0072           ; *出口参数:
 0072           ; ****************************************************************************/
 0072           ; void Display_Ch452lBCD(unsigned char n,unsigned char *p)
 0072           ; {
 0072                   .dbline 164
 0072           ;     unsigned char i;
 0072           ;       switch(n)
 0072 7727              clr R23
 0074 6130              cpi R22,1
 0076 E0E0              ldi R30,0
 0078 7E07              cpc R23,R30
 007A 01F1              breq L14
 007C 6230              cpi R22,2
 007E E0E0              ldi R30,0
 0080 7E07              cpc R23,R30
 0082 19F1              breq L15
 0084 6330              cpi R22,3
 0086 E0E0              ldi R30,0
 0088 7E07              cpc R23,R30
 008A 31F1              breq L16
 008C 6430              cpi R22,4
 008E E0E0              ldi R30,0
 0090 7E07              cpc R23,R30
 0092 49F1              breq L17
 0094 6530              cpi R22,5
 0096 E0E0              ldi R30,0
 0098 7E07              cpc R23,R30
 009A 61F1              breq L18
 009C 6630              cpi R22,6
 009E E0E0              ldi R30,0
 00A0 7E07              cpc R23,R30
 00A2 09F4              brne X1
 00A4 2EC0              rjmp L19
 00A6           X1:
 00A6 6730              cpi R22,7
 00A8 E0E0              ldi R30,0
 00AA 7E07              cpc R23,R30
 00AC 09F4              brne X2
 00AE 30C0              rjmp L20
 00B0           X2:
 00B0 6830              cpi R22,8
 00B2 E0E0              ldi R30,0
 00B4 7E07              cpc R23,R30
 00B6 09F4              brne X3
 00B8 32C0              rjmp L21
 00BA           X3:
 00BA 37C0              rjmp L12
 00BC           X0:
 00BC                   .dbline 165
 00BC           ;       {
 00BC           L14:
 00BC                   .dbline 167
 00BC           ;           case(1):
 00BC           ;                   Ch452l_Writecommand(0x0590);//1位显示,BCD译码
 00BC 00E9              ldi R16,1424
 00BE 15E0              ldi R17,5
 00C0 ADDF              rcall _Ch452l_Writecommand
 00C2                   .dbline 168
 00C2           ;                       Delay_Nus(3);
 00C2 03E0              ldi R16,3
 00C4 10E0              ldi R17,0
 00C6 00D0              rcall _Delay_Nus
 00C8                   .dbline 169
 00C8           ;                       break;
 00C8 30C0              rjmp L12
 00CA           L15:
 00CA                   .dbline 171
 00CA           ;               case(2):
 00CA           ;                   Ch452l_Writecommand(0x05a0);//2位显示,BCD译码
 00CA 00EA              ldi R16,1440
 00CC 15E0              ldi R17,5
 00CE A6DF              rcall _Ch452l_Writecommand
 00D0                   .dbline 172
 00D0           ;                       Delay_Nus(3);
 00D0 03E0              ldi R16,3
 00D2 10E0              ldi R17,0
 00D4 00D0              rcall _Delay_Nus
 00D6                   .dbline 173
 00D6           ;                       break;
 00D6 29C0              rjmp L12
 00D8           L16:
 00D8                   .dbline 175
 00D8           ;               case(3):
 00D8           ;                   Ch452l_Writecommand(0x05b0);//3位显示,BCD译码
 00D8 00EB              ldi R16,1456
 00DA 15E0              ldi R17,5
 00DC 9FDF              rcall _Ch452l_Writecommand
 00DE                   .dbline 176
 00DE           ;                       Delay_Nus(3);
 00DE 03E0              ldi R16,3
 00E0 10E0              ldi R17,0
 00E2 00D0              rcall _Delay_Nus
 00E4                   .dbline 177
 00E4           ;                       break;
 00E4 22C0              rjmp L12
 00E6           L17:
 00E6                   .dbline 179
 00E6           ;               case(4):
 00E6           ;                   Ch452l_Writecommand(0x05c0);//4位显示,BCD译码
 00E6 00EC              ldi R16,1472
 00E8 15E0              ldi R17,5
 00EA 98DF              rcall _Ch452l_Writecommand
 00EC                   .dbline 180
 00EC           ;                       Delay_Nus(3);
 00EC 03E0              ldi R16,3
 00EE 10E0              ldi R17,0
 00F0 00D0              rcall _Delay_Nus
 00F2                   .dbline 181
 00F2           ;                       break;
 00F2 1BC0              rjmp L12
 00F4           L18:
 00F4                   .dbline 183
 00F4           ;           case(5):
 00F4           ;                   Ch452l_Writecommand(0x05d0);//5位显示,BCD译码
 00F4 00ED              ldi R16,1488
 00F6 15E0              ldi R17,5
 00F8 91DF              rcall _Ch452l_Writecommand
 00FA                   .dbline 184
 00FA           ;                       Delay_Nus(3);
 00FA 03E0              ldi R16,3
 00FC 10E0              ldi R17,0
 00FE 00D0              rcall _Delay_Nus
 0100                   .dbline 185
 0100           ;                       break;
 0100 14C0              rjmp L12
 0102           L19:
 0102                   .dbline 187
 0102           ;               case(6):
 0102           ;                   Ch452l_Writecommand(0x05e0);//6位显示,BCD译码
 0102 00EE              ldi R16,1504
 0104 15E0              ldi R17,5
 0106 8ADF              rcall _Ch452l_Writecommand
 0108                   .dbline 188
 0108           ;                       Delay_Nus(3);
 0108 03E0              ldi R16,3
 010A 10E0              ldi R17,0
 010C 00D0              rcall _Delay_Nus
 010E                   .dbline 189
 010E           ;                       break;
 010E 0DC0              rjmp L12
 0110           L20:
 0110                   .dbline 191
 0110           ;               case(7):
 0110           ;                   Ch452l_Writecommand(0x05f0);//7位显示,BCD译码
 0110 00EF              ldi R16,1520
 0112 15E0              ldi R17,5
 0114 83DF              rcall _Ch452l_Writecommand
 0116                   .dbline 192
 0116           ;                       Delay_Nus(3);
 0116 03E0              ldi R16,3
 0118 10E0              ldi R17,0
 011A 00D0              rcall _Delay_Nus
 011C                   .dbline 193
 011C           ;                       break;
 011C 06C0              rjmp L12
 011E           L21:
 011E                   .dbline 195
 011E           ;           case(8):
 011E           ;                   Ch452l_Writecommand(0x0580);//8位显示,BCD译码
 011E 00E8              ldi R16,1408
 0120 15E0              ldi R17,5
 0122 7CDF              rcall _Ch452l_Writecommand
 0124                   .dbline 196
 0124           ;                       Delay_Nus(3);
 0124 03E0              ldi R16,3
 0126 10E0              ldi R17,0
 0128 00D0              rcall _Delay_Nus
 012A                   .dbline 197
 012A           ;                       break;
 012A                   .dbline 199
 012A           ;               default:
 012A           ;                   break;
 012A           L12:
 012A                   .dbline 201
 012A           ;       }
 012A           ;       Ch452l_Writecommand(CH452L_DIG7 | p[7]);
 012A FA01              movw R30,R20
 012C 0781              ldd R16,z+7
 012E 1127              clr R17
 0130 1F60              ori R17,15
 0132 74DF              rcall _Ch452l_Writecommand
 0134                   .dbline 202
 0134           ;       Ch452l_Writecommand(CH452L_DIG6 | p[6]);
 0134 FA01              movw R30,R20
 0136 0681              ldd R16,z+6
 0138 1127              clr R17
 013A 1E60              ori R17,14
 013C 6FDF              rcall _Ch452l_Writecommand
 013E                   .dbline 203
 013E           ;       Ch452l_Writecommand(CH452L_DIG5 | p[5]);
 013E FA01              movw R30,R20
 0140 0581              ldd R16,z+5
 0142 1127              clr R17
 0144 1D60              ori R17,13
 0146 6ADF              rcall _Ch452l_Writecommand
 0148                   .dbline 204
 0148           ;       Ch452l_Writecommand(CH452L_DIG4 | p[4]);
 0148 FA01              movw R30,R20
 014A 0481              ldd R16,z+4
 014C 1127              clr R17
 014E 1C60              ori R17,12
 0150 65DF              rcall _Ch452l_Writecommand
 0152                   .dbline 205
 0152           ;       Ch452l_Writecommand(CH452L_DIG3 | p[3]);
 0152 FA01              movw R30,R20
 0154 0381              ldd R16,z+3
 0156 1127              clr R17
 0158 1B60              ori R17,11
 015A 60DF              rcall _Ch452l_Writecommand
 015C                   .dbline 206
 015C           ;       Ch452l_Writecommand(CH452L_DIG2 | p[2]);
 015C FA01              movw R30,R20
 015E 0281              ldd R16,z+2
 0160 1127              clr R17
 0162 1A60              ori R17,10
 0164 5BDF              rcall _Ch452l_Writecommand
 0166                   .dbline 207
 0166           ;       Ch452l_Writecommand(CH452L_DIG1 | p[1]);
 0166 FA01              movw R30,R20
 0168 0181              ldd R16,z+1
 016A 1127              clr R17
 016C 1960              ori R17,9
 016E 56DF              rcall _Ch452l_Writecommand
 0170                   .dbline 208
 0170           ;       Ch452l_Writecommand(CH452L_DIG0 | p[0]);
 0170 FA01              movw R30,R20
 0172 0081              ldd R16,z+0
 0174 1127              clr R17
 0176 1860              ori R17,8
 0178 51DF              rcall _Ch452l_Writecommand
 017A                   .dbline 209
 017A           ;       Ch452l_Writecommand(CH452L_DIG0 | p[0]);
 017A FA01              movw R30,R20
 017C 0081              ldd R16,z+0
 017E 1127              clr R17
 0180 1860              ori R17,8
 0182 4CDF              rcall _Ch452l_Writecommand
 0184                   .dbline -2
 0184           L10:
 0184 00D0              rcall pop_gset2
 0186                   .dbline 0 ; func end
 0186 0895              ret
 0188                   .dbsym l i 1 c
 0188                   .dbsym r p 20 pc
 0188                   .dbsym r n 22 c

⌨️ 快捷键说明

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