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

📄 test.s

📁 ATmega16应用例子
💻 S
📖 第 1 页 / 共 2 页
字号:
;    send(50, DATA); 
	ldi R18,1
	ldi R16,50
	xcall _send
	.dbline 229
;    send(60, DATA); 
	ldi R18,1
	ldi R16,60
	xcall _send
	.dbline 230
;    send(70, DATA); 
	ldi R18,1
	ldi R16,70
	xcall _send
	.dbline 231
;    send(80, DATA); 
	ldi R18,1
	ldi R16,80
	xcall _send
	.dbline 232
;    send(90, DATA); 
	ldi R18,1
	ldi R16,90
	xcall _send
	.dbline 233
;    send(100, DATA); 
	ldi R18,1
	ldi R16,100
	xcall _send
	.dbline 234
;    send(110, DATA); 
	ldi R18,1
	ldi R16,110
	xcall _send
	.dbline 235
;    send(127, DATA); 
	ldi R18,1
	ldi R16,127
	xcall _send
	.dbline 236
;    cs(); 
	xcall _cs
	.dbline 238
;     
;    send(0xB5, CMD);      // Gamma Curve Set 
	clr R18
	ldi R16,181
	xcall _send
	.dbline 239
;    send(1, DATA); 
	ldi R18,1
	ldi R16,1
	xcall _send
	.dbline 240
;    cs(); 
	xcall _cs
	.dbline 242
;     
;    send(0xBE, CMD);      // Power Control 
	clr R18
	ldi R16,190
	xcall _send
	.dbline 243
;    send(3, DATA); 
	ldi R18,1
	ldi R16,3
	xcall _send
	.dbline 244
;    cs(); 
	xcall _cs
	.dbline 246
;    
;    send(0x3A, CMD);      // Power Control 
	clr R18
	ldi R16,58
	xcall _send
	.dbline 247
;    send(0b00000011, DATA); 
	ldi R18,1
	ldi R16,3
	xcall _send
	.dbline 248
;    cs(); 
	xcall _cs
	.dbline 250
;     
;    send(0x11, CMD);      // Sleep out 
	clr R18
	ldi R16,17
	xcall _send
	.dbline 251
;    cs(); 
	xcall _cs
	.dbline 253
;     
;    send(0xB7, CMD);      // Temperature gradient set 
	clr R18
	ldi R16,183
	xcall _send
	.dbline 254
	clr R20
	clr R21
L35:
	.dbline 254
	.dbline 255
	ldi R18,1
	clr R16
	xcall _send
	.dbline 256
L36:
	.dbline 254
;    for(i=0; i<14; i++) { 
	subi R20,255  ; offset = 1
	sbci R21,255
	.dbline 254
	cpi R20,14
	ldi R30,0
	cpc R21,R30
	brlt L35
	.dbline 257
;       send(0, DATA); 
;    } 
;    cs(); 
	xcall _cs
	.dbline 259
;     
;    send(0x03, CMD);      // Booster Voltage ON 
	clr R18
	ldi R16,3
	xcall _send
	.dbline 260
;    cs(); 
	xcall _cs
	.dbline 262
	clr R20
	clr R21
L39:
	.dbline 262
	.dbline 263
	xcall _delay5ms
	.dbline 264
L40:
	.dbline 262
;     
;    for(i=0; i<8; i++) {   // Booster Voltage stabilisieren lassen 
	subi R20,255  ; offset = 1
	sbci R21,255
	.dbline 262
	cpi R20,8
	ldi R30,0
	cpc R21,R30
	brlt L39
	.dbline 266
;       delay5ms(); 
;    } 
;     
;    send(0x20, CMD);      // Inversion control 
	clr R18
	ldi R16,32
	xcall _send
	.dbline 267
;    cs(); 
	xcall _cs
	.dbline 269
;     
;    send(0x25, CMD);      // Write contrast 
	clr R18
	ldi R16,37
	xcall _send
	.dbline 270
;    send(63, DATA); 
	ldi R18,1
	ldi R16,63
	xcall _send
	.dbline 271
;    cs(); 
	xcall _cs
	.dbline 274
;     
;     
;    send(0x2C, CMD);      // Memory Write 
	clr R18
	ldi R16,44
	xcall _send
	.dbline 277
;     
;    // roter Balken 
;    s=0; 
	clr R22
	.dbline 278
	clr R20
	clr R21
L43:
	.dbline 278
;    for(i=0; i<1176; i++) { 
	.dbline 279
;       if(s == 0) send(15, DATA); 
	tst R22
	brne L47
	.dbline 279
	ldi R18,1
	ldi R16,15
	xcall _send
	xjmp L48
L47:
	.dbline 280
;       else if(s == 1) send(240, DATA); 
	cpi R22,1
	brne L49
	.dbline 280
	ldi R18,1
	ldi R16,240
	xcall _send
	xjmp L50
L49:
	.dbline 281
;       else if(s == 2) send(255, DATA); 
	cpi R22,2
	brne L51
	.dbline 281
	ldi R18,1
	ldi R16,255
	xcall _send
L51:
L50:
L48:
	.dbline 283
;        
;       if(++s == 3) 
	mov R24,R22
	subi R24,255    ; addi 1
	mov R22,R24
	cpi R22,3
	brne L53
	.dbline 284
;          s = 0; 
	clr R22
L53:
	.dbline 285
L44:
	.dbline 278
	subi R20,255  ; offset = 1
	sbci R21,255
	.dbline 278
	cpi R20,152
	ldi R30,4
	cpc R21,R30
	brlt L43
	.dbline 288
;    } 
;     
;    // gr黱er Balken 
;    s=0; 
	clr R22
	.dbline 289
	clr R20
	clr R21
L55:
	.dbline 289
;    for(i=0; i<1176; i++) { 
	.dbline 290
;       if(s == 0) send(141, DATA); 
	tst R22
	brne L59
	.dbline 290
	ldi R18,1
	ldi R16,141
	xcall _send
	xjmp L60
L59:
	.dbline 291
;       else if(s == 1) send(56, DATA); 
	cpi R22,1
	brne L61
	.dbline 291
	ldi R18,1
	ldi R16,56
	xcall _send
	xjmp L62
L61:
	.dbline 292
;       else if(s == 2) send(211, DATA); 
	cpi R22,2
	brne L63
	.dbline 292
	ldi R18,1
	ldi R16,211
	xcall _send
L63:
L62:
L60:
	.dbline 294
;        
;       if(++s == 3) 
	mov R24,R22
	subi R24,255    ; addi 1
	mov R22,R24
	cpi R22,3
	brne L65
	.dbline 295
;          s = 0; 
	clr R22
L65:
	.dbline 296
L56:
	.dbline 289
	subi R20,255  ; offset = 1
	sbci R21,255
	.dbline 289
	cpi R20,152
	ldi R30,4
	cpc R21,R30
	brlt L55
	.dbline 299
;    } 
;     
;    // blauer Balken 
;    s=0; 
	clr R22
	.dbline 300
	clr R20
	clr R21
L67:
	.dbline 300
;    for(i=0; i<1176; i++) { 
	.dbline 301
;       if(s == 0) send(255, DATA); 
	tst R22
	brne L71
	.dbline 301
	ldi R18,1
	ldi R16,255
	xcall _send
	xjmp L72
L71:
	.dbline 302
;       else if(s == 1) send(15, DATA); 
	cpi R22,1
	brne L73
	.dbline 302
	ldi R18,1
	ldi R16,15
	xcall _send
	xjmp L74
L73:
	.dbline 303
;       else if(s == 2) send(240, DATA); 
	cpi R22,2
	brne L75
	.dbline 303
	ldi R18,1
	ldi R16,240
	xcall _send
L75:
L74:
L72:
	.dbline 305
;        
;       if(++s == 3) 
	mov R24,R22
	subi R24,255    ; addi 1
	mov R22,R24
	cpi R22,3
	brne L77
	.dbline 306
;          s = 0; 
	clr R22
L77:
	.dbline 307
L68:
	.dbline 300
	subi R20,255  ; offset = 1
	sbci R21,255
	.dbline 300
	cpi R20,152
	ldi R30,4
	cpc R21,R30
	brlt L67
	.dbline 310
;    } 
;     
;    // gelber Balken 
;    s=0; 
	clr R22
	.dbline 311
	clr R20
	clr R21
L79:
	.dbline 311
;    for(i=0; i<1176; i++) { 
	.dbline 312
;       if(s == 0) send(0, DATA); 
	tst R22
	brne L83
	.dbline 312
	ldi R18,1
	clr R16
	xcall _send
	xjmp L84
L83:
	.dbline 313
;       else if(s == 1) send(240, DATA); 
	cpi R22,1
	brne L85
	.dbline 313
	ldi R18,1
	ldi R16,240
	xcall _send
	xjmp L86
L85:
	.dbline 314
;       else if(s == 2) send(15, DATA); 
	cpi R22,2
	brne L87
	.dbline 314
	ldi R18,1
	ldi R16,15
	xcall _send
L87:
L86:
L84:
	.dbline 316
;        
;       if(++s == 3) 
	mov R24,R22
	subi R24,255    ; addi 1
	mov R22,R24
	cpi R22,3
	brne L89
	.dbline 317
;          s = 0; 
	clr R22
L89:
	.dbline 318
L80:
	.dbline 311
	subi R20,255  ; offset = 1
	sbci R21,255
	.dbline 311
	cpi R20,152
	ldi R30,4
	cpc R21,R30
	brlt L79
	.dbline 321
;    } 
;     
;    // magenta Balken 
;    s=0; 
	clr R22
	.dbline 322
	clr R20
	clr R21
L91:
	.dbline 322
;    for(i=0; i<1176; i++) { 
	.dbline 323
;       if(s == 0) send(15, DATA); 
	tst R22
	brne L95
	.dbline 323
	ldi R18,1
	ldi R16,15
	xcall _send
	xjmp L96
L95:
	.dbline 324
;       else if(s == 1) send(0, DATA); 
	cpi R22,1
	brne L97
	.dbline 324
	ldi R18,1
	clr R16
	xcall _send
	xjmp L98
L97:
	.dbline 325
;       else if(s == 2) send(240, DATA); 
	cpi R22,2
	brne L99
	.dbline 325
	ldi R18,1
	ldi R16,240
	xcall _send
L99:
L98:
L96:
	.dbline 327
;        
;       if(++s == 3) 
	mov R24,R22
	subi R24,255    ; addi 1
	mov R22,R24
	cpi R22,3
	brne L101
	.dbline 328
;          s = 0; 
	clr R22
L101:
	.dbline 329
L92:
	.dbline 322
	subi R20,255  ; offset = 1
	sbci R21,255
	.dbline 322
	cpi R20,152
	ldi R30,4
	cpc R21,R30
	brlt L91
	.dbline 332
;    } 
;     
;    // cyan Balken 
;    s=0; 
	clr R22
	.dbline 333
	clr R20
	clr R21
L103:
	.dbline 333
;    for(i=0; i<1176; i++) { 
	.dbline 334
;       if(s == 0) send(240, DATA); 
	tst R22
	brne L107
	.dbline 334
	ldi R18,1
	ldi R16,240
	xcall _send
	xjmp L108
L107:
	.dbline 335
;       else if(s == 1) send(15, DATA); 
	cpi R22,1
	brne L109
	.dbline 335
	ldi R18,1
	ldi R16,15
	xcall _send
	xjmp L110
L109:
	.dbline 336
;       else if(s == 2) send(0, DATA); 
	cpi R22,2
	brne L111
	.dbline 336
	ldi R18,1
	clr R16
	xcall _send
L111:
L110:
L108:
	.dbline 338
;        
;       if(++s == 3) 
	mov R24,R22
	subi R24,255    ; addi 1
	mov R22,R24
	cpi R22,3
	brne L113
	.dbline 339
;          s = 0; 
	clr R22
L113:
	.dbline 340
L104:
	.dbline 333
	subi R20,255  ; offset = 1
	sbci R21,255
	.dbline 333
	cpi R20,152
	ldi R30,4
	cpc R21,R30
	brlt L103
	.dbline 343
	clr R20
	clr R21
L115:
	.dbline 343
	.dbline 344
	ldi R18,1
	clr R16
	xcall _send
	.dbline 345
L116:
	.dbline 343
;    } 
;     
;    // wei遝r Balken 
;    for(i=0; i<1176; i++) { 
	subi R20,255  ; offset = 1
	sbci R21,255
	.dbline 343
	cpi R20,152
	ldi R30,4
	cpc R21,R30
	brlt L115
	.dbline 348
	clr R20
	clr R21
L119:
	.dbline 348
	.dbline 349
	ldi R18,1
	ldi R16,255
	xcall _send
	.dbline 350
L120:
	.dbline 348
;       send(0, DATA); 
;    } 
;     
;    // schwarzer Balken 
;    for(i=0; i<1617; i++) { 
	subi R20,255  ; offset = 1
	sbci R21,255
	.dbline 348
	cpi R20,81
	ldi R30,6
	cpc R21,R30
	brlt L119
	.dbline 351
;       send(255, DATA); 
;    } 
;    cs(); 
	xcall _cs
	.dbline 353
;     
;    send(0x29, CMD);      // Display On 
	clr R18
	ldi R16,41
	xcall _send
	.dbline 354
;    cs(); 
	xcall _cs
L123:
	.dbline 356
	.dbline 356
	.dbline 356
L124:
	.dbline 356
	xjmp L123
X0:
	.dbline -2
L34:
	.dbline 0 ; func end
	ret
	.dbsym r s 22 c
	.dbsym r i 20 I
	.dbend

⌨️ 快捷键说明

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