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

📄 display_board4.0.lis

📁 一个LED特效显示程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0056 802F              mov R24,R16
 0058 8078              andi R24,128
 005A 21F4              brne L11
 005C                   .dbline 65
 005C           ; //显示缓冲区
 005C 88B3              in R24,0x18
 005E 877F              andi R24,247
 0060 88BB              out 0x18,R24
 0062 01C0              xjmp L12
 0064           L11:
 0064                   .dbline 67
 0064           ; char DispTemp[8];
 0064           ; 
 0064 C39A              sbi 0x18,3
 0066           L12:
 0066                   .dbline 68
 0066 C29A              sbi 0x18,2
 0068                   .dbline 69
 0068 88B3              in R24,0x18
 006A 8B7F              andi R24,251
 006C 88BB              out 0x18,R24
 006E                   .dbline 70
 006E           L8:
 006E                   .dbline 62
 006E 4395              inc R20
 0070           L10:
 0070                   .dbline 62
 0070 4830              cpi R20,8
 0072 68F3              brlo L7
 0074                   .dbline -2
 0074           L6:
 0074 0E940000          xcall pop_gset2
 0078                   .dbline 0 ; func end
 0078 0895              ret
 007A                   .dbsym r count 20 c
 007A                   .dbsym r send_data 22 c
 007A                   .dbend
 007A                   .dbfunc e Disp_key_group _Disp_key_group fV
                        .even
 007A           _Disp_key_group::
 007A                   .dbline -1
 007A                   .dbline 74
 007A           ; //按键处理
 007A           ; 
 007A           ; //数脉冲
 007A           ; int PDataY =0;
 007A           ; int PDataYMax =152;
 007A           ; int PDataYMin =2;
 007A           ; 
 007A                   .dbline 75
 007A           ; //UART接收数据
 007A 80910800          lds R24,_disp_key_count
 007E 8F5F              subi R24,255    ; addi 1
 0080 80930800          sts _disp_key_count,R24
 0084                   .dbline 76
 0084           ; char FileEnd =1;
 0084 87E0              ldi R24,7
 0086 20900800          lds R2,_disp_key_count
 008A 8215              cp R24,R2
 008C 18F4              brsh L14
 008E                   .dbline 77
 008E           ; char HeadLoad =0;
 008E 2224              clr R2
 0090 20920800          sts _disp_key_count,R2
 0094           L14:
 0094                   .dbline 78
 0094           ; char HeadEN =1;
 0094 10910800          lds R17,_disp_key_count
 0098 01E0              ldi R16,1
 009A 0E940000          xcall lsl8
 009E 202F              mov R18,R16
 00A0 80E0              ldi R24,<_Disp_Buff
 00A2 90E0              ldi R25,>_Disp_Buff
 00A4 E0910800          lds R30,_disp_key_count
 00A8 FF27              clr R31
 00AA E80F              add R30,R24
 00AC F91F              adc R31,R25
 00AE 0081              ldd R16,z+0
 00B0 B4DF              xcall _disp_bit
 00B2                   .dbline 79
 00B2           ; int  DataIndex =0;
 00B2 B099              sbic 0x16,0
 00B4 0AC0              rjmp L16
 00B6                   .dbline 80
 00B6           ; int  FileLength =0;
 00B6 80E0              ldi R24,<_key_buff
 00B8 90E0              ldi R25,>_key_buff
 00BA E0910800          lds R30,_disp_key_count
 00BE FF27              clr R31
 00C0 E80F              add R30,R24
 00C2 F91F              adc R31,R25
 00C4 81E0              ldi R24,1
 00C6 8083              std z+0,R24
 00C8 09C0              xjmp L17
 00CA           L16:
 00CA                   .dbline 82
 00CA 80E0              ldi R24,<_key_buff
 00CC 90E0              ldi R25,>_key_buff
 00CE E0910800          lds R30,_disp_key_count
 00D2 FF27              clr R31
 00D4 E80F              add R30,R24
 00D6 F91F              adc R31,R25
 00D8 2224              clr R2
 00DA 2082              std z+0,R2
 00DC           L17:
 00DC                   .dbline -2
 00DC           L13:
 00DC                   .dbline 0 ; func end
 00DC 0895              ret
 00DE                   .dbend
 00DE                   .dbfunc e dec_hex_disp _dec_hex_disp fV
 00DE           ;           temp -> R20,R21
 00DE           ;              i -> R22
                        .even
 00DE           _dec_hex_disp::
 00DE 0E940000          xcall push_gset2
 00E2                   .dbline -1
 00E2                   .dbline 85
 00E2           ; char Head[3];                        //头文件"LED"存储
 00E2           ; unsigned int time_out_ms=1;            //接收数据时限
 00E2           ; unsigned char time_out_s=0;            //试图通讯重新时限
 00E2           ; 
 00E2           ; //特效处理
 00E2                   .dbline 88
 00E2           ; char DispModel =0;
 00E2           ; int  ModelDelayTime =0;
 00E2           ; char ModelContJuge=0;
 00E2 40910900          lds R20,_disp_code
 00E6 50910A00          lds R21,_disp_code+1
 00EA                   .dbline 89
 00EA           ; /************************************************
 00EA 6627              clr R22
 00EC 11C0              xjmp L22
 00EE           L19:
 00EE                   .dbline 90
 00EE 84E0              ldi R24,4
 00F0 869F              mul R24,R22
 00F2 9001              movw R18,R0
 00F4 8A01              movw R16,R20
 00F6 0E940000          xcall asr16
 00FA C801              movw R24,R16
 00FC 8F70              andi R24,15
 00FE 9070              andi R25,0
 0100 E0E0              ldi R30,<_Disp_Buff
 0102 F0E0              ldi R31,>_Disp_Buff
 0104 A62F              mov R26,R22
 0106 BB27              clr R27
 0108 AE0F              add R26,R30
 010A BF1F              adc R27,R31
 010C 8C93              st x,R24
 010E           L20:
 010E                   .dbline 89
 010E 6395              inc R22
 0110           L22:
 0110                   .dbline 89
 0110 6730              cpi R22,7
 0112 68F3              brlo L19
 0114                   .dbline -2
 0114           L18:
 0114 0E940000          xcall pop_gset2
 0118                   .dbline 0 ; func end
 0118 0895              ret
 011A                   .dbsym r temp 20 I
 011A                   .dbsym r i 22 c
 011A                   .dbend
 011A                   .dbfunc e Key_num _Key_num fV
 011A           ;              j -> R16
 011A           ;              i -> R18
                        .even
 011A           _Key_num::
 011A                   .dbline -1
 011A                   .dbline 94
 011A           ;              函数申明
 011A           ; **************************************************/
 011A           ; //基本初始化
 011A           ; void port_int(void);
 011A           ; void timer_int(void);
 011A                   .dbline 96
 011A           ; void uart_int(void);
 011A           ; void device_int(void);
 011A 0027              clr R16
 011C                   .dbline 97
 011C           ; 
 011C 2224              clr R2
 011E 30901A00          lds R3,_key_delay
 0122 2314              cp R2,R3
 0124 20F4              brsh L24
 0126                   .dbline 98
 0126           ; //按键显示事件处理
 0126 832D              mov R24,R3
 0128 8150              subi R24,1
 012A 80931A00          sts _key_delay,R24
 012E           L24:
 012E                   .dbline 99
 012E           ; void Display_event(void);        //显示事件
 012E 2227              clr R18
 0130 0DC0              xjmp L29
 0132           L26:
 0132                   .dbline 100
 0132           ; void KEY_event(void);            //按键事件处理
 0132                   .dbline 101
 0132           ; 
 0132 80E0              ldi R24,<_key_buff
 0134 90E0              ldi R25,>_key_buff
 0136 E22F              mov R30,R18
 0138 FF27              clr R31
 013A E80F              add R30,R24
 013C F91F              adc R31,R25
 013E 8081              ldd R24,z+0
 0140 8130              cpi R24,1
 0142 19F4              brne L30
 0144                   .dbline 102
 0144           ; //特效处理
 0144                   .dbline 103
 0144           ; void Disp_Model(void);           //屏幕显示特效模式
 0144 20930F00          sts _new_key_num,R18
 0148                   .dbline 104
 0148           ; 
 0148 01E0              ldi R16,1
 014A                   .dbline 105
 014A           ; //外部RAM读写操作
 014A           L30:
 014A                   .dbline 106
 014A           L27:
 014A                   .dbline 99
 014A 2395              inc R18
 014C           L29:
 014C                   .dbline 99
 014C 87E0              ldi R24,7
 014E 8217              cp R24,R18
 0150 80F7              brsh L26
 0152                   .dbline 107
 0152           ; void data_store(char data);
 0152           ; char RAM_Read(int adress);
 0152 0023              tst R16
 0154 19F4              brne L32
 0156                   .dbline 108
 0156           ; void RAM_Write(int adress,char data);
 0156 8FE0              ldi R24,15
 0158 80930F00          sts _new_key_num,R24
 015C           L32:
 015C                   .dbline 109
 015C           ; 
 015C 80910E00          lds R24,_old_key_num
 0160 8F30              cpi R24,15
 0162 61F4              brne L34
 0164 80910F00          lds R24,_new_key_num
 0168 8F30              cpi R24,15
 016A 41F0              breq L34
 016C 20901A00          lds R2,_key_delay
 0170 2220              tst R2
 0172 21F4              brne L34
 0174                   .dbline 110
 0174           ; //显示屏数据发送
 0174 282E              mov R2,R24
 0176 20920D00          sts _key_num,R2
 017A 29C0              xjmp L35
 017C           L34:
 017C                   .dbline 111
 017C           ; void Screen_send(void);
 017C 80910E00          lds R24,_old_key_num
 0180 8F30              cpi R24,15
 0182 89F0              breq L36
 0184 30900F00          lds R3,_new_key_num
 0188 3816              cp R3,R24
 018A 69F4              brne L36
 018C                   .dbline 112
 018C           ; 
 018C                   .dbline 113
 018C           ; //SPI硬件通讯

⌨️ 快捷键说明

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