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

📄 8563.lis

📁 基于ATMEGA16的时钟芯片原代码
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 026A D6DF              xcall _Write8Bit
 026C                   .dbline 81
 026C CDDF              xcall _Wait
 026E                   .dbline 82
 026E D1DF              xcall _TestAck
 0270 0832              cpi R16,40
 0272 11F0              breq L69
 0274                   .dbline 82
 0274 04E0              ldi R16,4
 0276 05C0              xjmp L62
 0278           L69:
 0278                   .dbline 83
 0278 D3DF              xcall _Stop
 027A                   .dbline 84
 027A 0AE0              ldi R16,10
 027C 10E0              ldi R17,0
 027E ADDF              xcall _delay_nms
 0280                   .dbline 85
 0280 0027              clr R16
 0282                   .dbline -2
 0282           L62:
 0282 0E940000          xcall pop_gset2
 0286                   .dbline 0 ; func end
 0286 0895              ret
 0288                   .dbsym r RomAddress 22 c
 0288                   .dbsym r command 20 c
 0288                   .dbend
 0288                   .dbfunc e i2c_WriteData _i2c_WriteData fc
 0288           ;              i -> R20
 0288           ;     RomAddress -> R20
                        .even
 0288           _i2c_WriteData::
 0288 0E940000          xcall push_gset1
 028C 402F              mov R20,R16
 028E                   .dbline -1
 028E                   .dbline 94
 028E                   .dbline 96
 028E B9DF              xcall _Start
 0290                   .dbline 97
 0290 BBDF              xcall _Wait
 0292                   .dbline 98
 0292 BFDF              xcall _TestAck
 0294 0830              cpi R16,8
 0296 11F0              breq L72
 0298                   .dbline 98
 0298 01E0              ldi R16,1
 029A 28C0              xjmp L71
 029C           L72:
 029C                   .dbline 99
 029C 02EA              ldi R16,162
 029E BCDF              xcall _Write8Bit
 02A0                   .dbline 100
 02A0 B3DF              xcall _Wait
 02A2                   .dbline 101
 02A2 B7DF              xcall _TestAck
 02A4 0831              cpi R16,24
 02A6 11F0              breq L74
 02A8                   .dbline 101
 02A8 02E0              ldi R16,2
 02AA 20C0              xjmp L71
 02AC           L74:
 02AC                   .dbline 102
 02AC 042F              mov R16,R20
 02AE B4DF              xcall _Write8Bit
 02B0                   .dbline 103
 02B0 ABDF              xcall _Wait
 02B2                   .dbline 104
 02B2 AFDF              xcall _TestAck
 02B4 0832              cpi R16,40
 02B6 11F0              breq L76
 02B8                   .dbline 104
 02B8 03E0              ldi R16,3
 02BA 18C0              xjmp L71
 02BC           L76:
 02BC                   .dbline 105
 02BC 4427              clr R20
 02BE 0FC0              xjmp L81
 02C0           L78:
 02C0                   .dbline 106
 02C0                   .dbline 107
 02C0 80E0              ldi R24,<_write_shijian
 02C2 90E0              ldi R25,>_write_shijian
 02C4 E42F              mov R30,R20
 02C6 FF27              clr R31
 02C8 E80F              add R30,R24
 02CA F91F              adc R31,R25
 02CC 0081              ldd R16,z+0
 02CE A4DF              xcall _Write8Bit
 02D0                   .dbline 108
 02D0 9BDF              xcall _Wait
 02D2                   .dbline 109
 02D2 9FDF              xcall _TestAck
 02D4 0832              cpi R16,40
 02D6 11F0              breq L82
 02D8                   .dbline 109
 02D8 04E0              ldi R16,4
 02DA 08C0              xjmp L71
 02DC           L82:
 02DC                   .dbline 110
 02DC           L79:
 02DC                   .dbline 105
 02DC 4395              inc R20
 02DE           L81:
 02DE                   .dbline 105
 02DE 4730              cpi R20,7
 02E0 78F3              brlo L78
 02E2                   .dbline 111
 02E2 9EDF              xcall _Stop
 02E4                   .dbline 112
 02E4 0AE0              ldi R16,10
 02E6 10E0              ldi R17,0
 02E8 78DF              xcall _delay_nms
 02EA                   .dbline 113
 02EA 0027              clr R16
 02EC                   .dbline -2
 02EC           L71:
 02EC 0E940000          xcall pop_gset1
 02F0                   .dbline 0 ; func end
 02F0 0895              ret
 02F2                   .dbsym r i 20 c
 02F2                   .dbsym r RomAddress 20 c
 02F2                   .dbend
 02F2                   .dbfunc e i2c_Read _i2c_Read fc
 02F2           ;              i -> R20
 02F2           ;     RomAddress -> R20
                        .even
 02F2           _i2c_Read::
 02F2 0E940000          xcall push_gset1
 02F6 402F              mov R20,R16
 02F8                   .dbline -1
 02F8                   .dbline 122
 02F8                   .dbline 124
 02F8 84DF              xcall _Start
 02FA                   .dbline 125
 02FA 86DF              xcall _Wait
 02FC                   .dbline 126
 02FC 8ADF              xcall _TestAck
 02FE 0830              cpi R16,8
 0300 11F0              breq L85
 0302                   .dbline 126
 0302 01E0              ldi R16,1
 0304 35C0              xjmp L84
 0306           L85:
 0306                   .dbline 127
 0306 02EA              ldi R16,162
 0308 87DF              xcall _Write8Bit
 030A                   .dbline 128
 030A 7EDF              xcall _Wait
 030C                   .dbline 129
 030C 82DF              xcall _TestAck
 030E 0831              cpi R16,24
 0310 11F0              breq L87
 0312                   .dbline 129
 0312 02E0              ldi R16,2
 0314 2DC0              xjmp L84
 0316           L87:
 0316                   .dbline 130
 0316 042F              mov R16,R20
 0318 7FDF              xcall _Write8Bit
 031A                   .dbline 131
 031A 76DF              xcall _Wait
 031C                   .dbline 132
 031C 7ADF              xcall _TestAck
 031E 0832              cpi R16,40
 0320 11F0              breq L89
 0322                   .dbline 132
 0322 03E0              ldi R16,3
 0324 25C0              xjmp L84
 0326           L89:
 0326                   .dbline 133
 0326 6DDF              xcall _Start
 0328                   .dbline 134
 0328 6FDF              xcall _Wait
 032A                   .dbline 135
 032A 73DF              xcall _TestAck
 032C 0031              cpi R16,16
 032E 11F0              breq L91
 0330                   .dbline 135
 0330 04E0              ldi R16,4
 0332 1EC0              xjmp L84
 0334           L91:
 0334                   .dbline 136
 0334 03EA              ldi R16,163
 0336 70DF              xcall _Write8Bit
 0338                   .dbline 137
 0338 67DF              xcall _Wait
 033A                   .dbline 138
 033A 6BDF              xcall _TestAck
 033C 0034              cpi R16,64
 033E 11F0              breq L93
 0340                   .dbline 138
 0340 05E0              ldi R16,5
 0342 16C0              xjmp L84
 0344           L93:
 0344                   .dbline 139
 0344 4427              clr R20
 0346 10C0              xjmp L98
 0348           L95:
 0348                   .dbline 140
 0348                   .dbline 141
 0348 6EDF              xcall _Ack
 034A                   .dbline 142
 034A 5EDF              xcall _Wait
 034C                   .dbline 143
 034C 62DF              xcall _TestAck
 034E 0035              cpi R16,80
 0350 11F0              breq L99
 0352                   .dbline 143
 0352 06E0              ldi R16,6
 0354 0DC0              xjmp L84
 0356           L99:
 0356                   .dbline 144
 0356 80E0              ldi R24,<_read_shijian
 0358 90E0              ldi R25,>_read_shijian
 035A E42F              mov R30,R20
 035C FF27              clr R31
 035E E80F              add R30,R24
 0360 F91F              adc R31,R25
 0362 23B0              in R2,0x3
 0364 2082              std z+0,R2
 0366                   .dbline 145
 0366           L96:
 0366                   .dbline 139
 0366 4395              inc R20
 0368           L98:
 0368                   .dbline 139
 0368 4730              cpi R20,7
 036A 70F3              brlo L95
 036C                   .dbline 146
 036C 59DF              xcall _Stop
 036E                   .dbline 147
 036E 0027              clr R16
 0370                   .dbline -2
 0370           L84:
 0370 0E940000          xcall pop_gset1
 0374                   .dbline 0 ; func end
 0374 0895              ret
 0376                   .dbsym r i 20 c
 0376                   .dbsym r RomAddress 20 c
 0376                   .dbend
 0376                   .dbfunc e ToStr _ToStr fV
 0376           ;              c -> R16
                        .even
 0376           _ToStr::
 0376                   .dbline -1
 0376                   .dbline 156
 0376                   .dbline 157
 0376 2224              clr R2
 0378 20920200          sts _temp+2,R2
 037C                   .dbline 158
 037C 802F              mov R24,R16
 037E 8F70              andi R24,15
 0380 805D              subi R24,208    ; addi 48
 0382 80930100          sts _temp+1,R24
 0386                   .dbline 159
 0386 802F              mov R24,R16
 0388 807F              andi R24,240
 038A 8295              swap R24
 038C 8F70              andi R24,#0x0F
 038E 805D              subi R24,208    ; addi 48
 0390 80930000          sts _temp,R24
 0394                   .dbline -2
 0394           L101:
 0394                   .dbline 0 ; func end
 0394 0895              ret
 0396                   .dbsym r c 16 c
 0396                   .dbend
 0396                   .dbfunc e Twi_Init _Twi_Init fV
                        .even
 0396           _Twi_Init::
 0396                   .dbline -1
 0396                   .dbline 168
 0396           ; /******   参    数: 无                            ******/
 0396           ; /******   返回值  : 无                            ******/
 0396           ; /*******************************************************/
 0396           ; void Twi_Init(void)
 0396           ; {
 0396                   .dbline 169
 0396           ;       TWBR=32;                                                                //设置波特率
 0396 80E2              ldi R24,32
 0398 80B9              out 0x0,R24
 039A                   .dbline 170
 039A           ;       TWSR=0;                                                                 //复位TWI总线
 039A 2224              clr R2
 039C 21B8              out 0x1,R2
 039E                   .dbline 171
 039E           ;       i2c_Write(0,0);                                                 //设置时钟状态
 039E 2227              clr R18
 03A0 0027              clr R16
 03A2 47DF              xcall _i2c_Write
 03A4                   .dbline 172
 03A4           ;       i2c_Write(0x81,0x0d);
 03A4 2DE0              ldi R18,13
 03A6 01E8              ldi R16,129
 03A8 44DF              xcall _i2c_Write
 03AA                   .dbline 173
 03AA           ;       i2c_Write(0x82,0x0e);
 03AA 2EE0              ldi R18,14
 03AC 02E8              ldi R16,130
 03AE 41DF              xcall _i2c_Write
 03B0                   .dbline 174
 03B0           ;       i2c_Write(1,0x0f);
 03B0 2FE0              ldi R18,15
 03B2 01E0              ldi R16,1
 03B4 3EDF              xcall _i2c_Write
 03B6                   .dbline 175
 03B6           ;       i2c_Write(0x81,0x01);

⌨️ 快捷键说明

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