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

📄 lcd.lst

📁 Working with DS1820 temperature sensor on SAM7 mC. Watch for timings!
💻 LST
📖 第 1 页 / 共 2 页
字号:
 247 00ec 1363     		str	r3, [r2, #48]  52:LCD/lcd.c     ****   E_Pulse();                              //high->low to E port (pulse)
 248              		.loc 1 52 0 249 00ee FFF7FEFF 		bl	E_Pulse  53:LCD/lcd.c     **** 
  54:LCD/lcd.c     ****   //Delay_mS(100000);                        //delay ~10ms
  55:LCD/lcd.c     ****     Delay_mS(50000);                       //delay ~5ms
 250              		.loc 1 55 0 251 00f2 194B     		ldr	r3, .L19+8 252 00f4 181C     		mov	r0, r3 253 00f6 FFF7FEFF 		bl	Delay_mS  56:LCD/lcd.c     **** 
  57:LCD/lcd.c     ****   l_pPio->PIO_SODR = BIT16|BIT17;         //set D4 and D5 port to 1
 254              		.loc 1 57 0 255 00fa 154B     		ldr	r3, .L19 256 00fc 1A68     		ldr	r2, [r3] 257 00fe C023     		mov	r3, #192 258 0100 9B02     		lsl	r3, r3, #10 259 0102 1363     		str	r3, [r2, #48]  58:LCD/lcd.c     ****   E_Pulse();                              //high->low to E port (pulse)
 260              		.loc 1 58 0 261 0104 FFF7FEFF 		bl	E_Pulse  59:LCD/lcd.c     **** 
  60:LCD/lcd.c     ****   Delay_mS(100000);                       //delay ~10ms
 262              		.loc 1 60 0 263 0108 144B     		ldr	r3, .L19+12 264 010a 181C     		mov	r0, r3 265 010c FFF7FEFF 		bl	Delay_mS  61:LCD/lcd.c     **** 
  62:LCD/lcd.c     ****   l_pPio->PIO_CODR = BIT16;               //set D4 port to 0
 266              		.loc 1 62 0 267 0110 0F4B     		ldr	r3, .L19 268 0112 1A68     		ldr	r2, [r3] 269 0114 8023     		mov	r3, #128 270 0116 5B02     		lsl	r3, r3, #9 271 0118 5363     		str	r3, [r2, #52]  63:LCD/lcd.c     ****   l_pPio->PIO_SODR = BIT17;               //set D5 port to 1
 272              		.loc 1 63 0 273 011a 0D4B     		ldr	r3, .L19 274 011c 1A68     		ldr	r2, [r3] 275 011e 8023     		mov	r3, #128 276 0120 9B02     		lsl	r3, r3, #10 277 0122 1363     		str	r3, [r2, #48]  64:LCD/lcd.c     ****   E_Pulse();                              //high->low to E port (pulse)
 278              		.loc 1 64 0 279 0124 FFF7FEFF 		bl	E_Pulse  65:LCD/lcd.c     **** 
  66:LCD/lcd.c     ****   //Delay_mS(100000);                       //delay ~10ms
  67:LCD/lcd.c     ****   Delay_mS(50000);                       //delay ~5ms
 280              		.loc 1 67 0 281 0128 0B4B     		ldr	r3, .L19+8 282 012a 181C     		mov	r0, r3 283 012c FFF7FEFF 		bl	Delay_mS  68:LCD/lcd.c     ****   
  69:LCD/lcd.c     ****   LCDSendCommand(DISP_ON);            //LCD on
 284              		.loc 1 69 0 285 0130 0C20     		mov	r0, #12 286 0132 FFF7FEFF 		bl	LCDSendCommand  70:LCD/lcd.c     ****   LCDSendCommand(CLR_DISP);           //LCD clear
 287              		.loc 1 70 0 288 0136 0120     		mov	r0, #1 289 0138 FFF7FEFF 		bl	LCDSendCommand  71:LCD/lcd.c     ****   LCDSendCommand(DD_RAM_ADDR);        //LCD set first row
 290              		.loc 1 71 0 291 013c 8020     		mov	r0, #128 292 013e FFF7FEFF 		bl	LCDSendCommand  72:LCD/lcd.c     ****   LCDSendCommand(CUR_ON_UNDER);    
 293              		.loc 1 72 0 294 0142 0E20     		mov	r0, #14 295 0144 FFF7FEFF 		bl	LCDSendCommand  73:LCD/lcd.c     **** }
 296              		.loc 1 73 0 297 0148 BD46     		mov	sp, r7 298              		@ sp needed for prologue 299 014a 80BC     		pop	{r7} 300 014c 01BC     		pop	{r0} 301 014e 0047     		bx	r0 302              	.L20: 303              		.align	2 304              	.L19: 305 0150 00000000 		.word	l_pPio 306 0154 E0C81000 		.word	1100000 307 0158 50C30000 		.word	50000 308 015c A0860100 		.word	100000 309              	.LFE294: 311              		.align	2 312              		.global	LCDSendCommand 313              		.code 16 314              		.thumb_func 316              	LCDSendCommand: 317              	.LFB295:  74:LCD/lcd.c     **** 
  75:LCD/lcd.c     **** void LCDSendCommand(unsigned long a)
  76:LCD/lcd.c     **** {
 318              		.loc 1 76 0 319 0160 80B5     		push	{r7, lr} 320              	.LCFI13: 321 0162 6F46     		mov	r7, sp 322              	.LCFI14: 323 0164 81B0     		sub	sp, sp, #4 324              	.LCFI15: 325 0166 3B1F     		sub	r3, r7, #4 326 0168 1860     		str	r0, [r3]  77:LCD/lcd.c     **** 
  78:LCD/lcd.c     ****   l_pPio->PIO_CODR =  BIT22;                  //set RW port to 0
 327              		.loc 1 78 0 328 016a 2C4B     		ldr	r3, .L23 329 016c 1A68     		ldr	r2, [r3] 330 016e 8023     		mov	r3, #128 331 0170 DB03     		lsl	r3, r3, #15 332 0172 5363     		str	r3, [r2, #52]  79:LCD/lcd.c     **** 
  80:LCD/lcd.c     ****   Delay_mS(20000);                            //delay for LCD char ~2ms
 333              		.loc 1 80 0 334 0174 2A4B     		ldr	r3, .L23+4 335 0176 181C     		mov	r0, r3 336 0178 FFF7FEFF 		bl	Delay_mS  81:LCD/lcd.c     **** 
  82:LCD/lcd.c     ****   data = 0x0;                                 //clear data
 337              		.loc 1 82 0 338 017c 294A     		ldr	r2, .L23+8 339 017e 0023     		mov	r3, #0 340 0180 1360     		str	r3, [r2]  83:LCD/lcd.c     **** 
  84:LCD/lcd.c     ****   data = 0xffffff0f | a;                      //get high 4 bits
 341              		.loc 1 84 0 342 0182 3B1F     		sub	r3, r7, #4 343 0184 1A68     		ldr	r2, [r3] 344 0186 F123     		mov	r3, #241 345 0188 5B42     		neg	r3, r3 346 018a 1A43     		orr	r2, r2, r3 347 018c 254B     		ldr	r3, .L23+8 348 018e 1A60     		str	r2, [r3]  85:LCD/lcd.c     **** 
  86:LCD/lcd.c     ****   l_pPio->PIO_CODR = BIT16|BIT17|BIT18|BIT19; //clear D4-D7
 349              		.loc 1 86 0 350 0190 224B     		ldr	r3, .L23 351 0192 1A68     		ldr	r2, [r3] 352 0194 F023     		mov	r3, #240 353 0196 1B03     		lsl	r3, r3, #12 354 0198 5363     		str	r3, [r2, #52]  87:LCD/lcd.c     **** 
  88:LCD/lcd.c     ****   data = data << 12;                          //shift data
 355              		.loc 1 88 0 356 019a 224B     		ldr	r3, .L23+8 357 019c 1B68     		ldr	r3, [r3] 358 019e 1A03     		lsl	r2, r3, #12 359 01a0 204B     		ldr	r3, .L23+8 360 01a2 1A60     		str	r2, [r3]  89:LCD/lcd.c     **** 
  90:LCD/lcd.c     ****   l_pPio->PIO_SODR = 0x000f0000 & data;       //set data
 361              		.loc 1 90 0 362 01a4 1D4B     		ldr	r3, .L23 363 01a6 1968     		ldr	r1, [r3] 364 01a8 1E4B     		ldr	r3, .L23+8 365 01aa 1A68     		ldr	r2, [r3] 366 01ac F023     		mov	r3, #240 367 01ae 1B03     		lsl	r3, r3, #12 368 01b0 1340     		and	r3, r3, r2 369 01b2 0B63     		str	r3, [r1, #48]  91:LCD/lcd.c     **** 
  92:LCD/lcd.c     ****   l_pPio->PIO_CODR =  BIT20;                  //set RS port to 0 -> display set to comand mode
 370              		.loc 1 92 0 371 01b4 194B     		ldr	r3, .L23 372 01b6 1A68     		ldr	r2, [r3] 373 01b8 8023     		mov	r3, #128 374 01ba 5B03     		lsl	r3, r3, #13 375 01bc 5363     		str	r3, [r2, #52]  93:LCD/lcd.c     **** 
  94:LCD/lcd.c     ****   E_Pulse();                                  //pulse to set d4-d7 bits
 376              		.loc 1 94 0 377 01be FFF7FEFF 		bl	E_Pulse  95:LCD/lcd.c     **** 
  96:LCD/lcd.c     ****   data = 0x0;                                 //clear data
 378              		.loc 1 96 0 379 01c2 184A     		ldr	r2, .L23+8 380 01c4 0023     		mov	r3, #0 381 01c6 1360     		str	r3, [r2]  97:LCD/lcd.c     **** 
  98:LCD/lcd.c     ****   a = a<<4;                                   //shift to get low 4 bits
 382              		.loc 1 98 0 383 01c8 3A1F     		sub	r2, r7, #4 384 01ca 3B1F     		sub	r3, r7, #4 385 01cc 1B68     		ldr	r3, [r3] 386 01ce 1B01     		lsl	r3, r3, #4 387 01d0 1360     		str	r3, [r2]  99:LCD/lcd.c     **** 
 100:LCD/lcd.c     ****   data = 0xffffff0f | a;                      //get low 4 bits
 388              		.loc 1 100 0 389 01d2 3B1F     		sub	r3, r7, #4 390 01d4 1A68     		ldr	r2, [r3] 391 01d6 F123     		mov	r3, #241 392 01d8 5B42     		neg	r3, r3 393 01da 1A43     		orr	r2, r2, r3 394 01dc 114B     		ldr	r3, .L23+8 395 01de 1A60     		str	r2, [r3] 101:LCD/lcd.c     **** 
 102:LCD/lcd.c     ****   l_pPio->PIO_CODR = BIT16|BIT17|BIT18|BIT19; //clear D4-D7
 396              		.loc 1 102 0 397 01e0 0E4B     		ldr	r3, .L23 398 01e2 1A68     		ldr	r2, [r3] 399 01e4 F023     		mov	r3, #240 400 01e6 1B03     		lsl	r3, r3, #12 401 01e8 5363     		str	r3, [r2, #52] 103:LCD/lcd.c     **** 
 104:LCD/lcd.c     ****   data = data << 12;                          //shift data
 402              		.loc 1 104 0 403 01ea 0E4B     		ldr	r3, .L23+8 404 01ec 1B68     		ldr	r3, [r3] 405 01ee 1A03     		lsl	r2, r3, #12 406 01f0 0C4B     		ldr	r3, .L23+8 407 01f2 1A60     		str	r2, [r3] 105:LCD/lcd.c     **** 
 106:LCD/lcd.c     ****   l_pPio->PIO_SODR = 0x000f0000 & data;       //set D4-D7
 408              		.loc 1 106 0 409 01f4 094B     		ldr	r3, .L23 410 01f6 1968     		ldr	r1, [r3] 411 01f8 0A4B     		ldr	r3, .L23+8 412 01fa 1A68     		ldr	r2, [r3] 413 01fc F023     		mov	r3, #240 414 01fe 1B03     		lsl	r3, r3, #12 415 0200 1340     		and	r3, r3, r2 416 0202 0B63     		str	r3, [r1, #48] 107:LCD/lcd.c     **** 
 108:LCD/lcd.c     ****   l_pPio->PIO_CODR =  BIT20;                  //set RS port to 0 -> display set to comand mode
 417              		.loc 1 108 0 418 0204 054B     		ldr	r3, .L23 419 0206 1A68     		ldr	r2, [r3] 420 0208 8023     		mov	r3, #128 421 020a 5B03     		lsl	r3, r3, #13 422 020c 5363     		str	r3, [r2, #52] 109:LCD/lcd.c     **** 
 110:LCD/lcd.c     ****   E_Pulse();                                  //pulse to set d4-d7 bits
 423              		.loc 1 110 0 424 020e FFF7FEFF 		bl	E_Pulse 111:LCD/lcd.c     **** 
 112:LCD/lcd.c     **** }
 425              		.loc 1 112 0 426 0212 BD46     		mov	sp, r7 427              		@ sp needed for prologue 428 0214 80BC     		pop	{r7} 429 0216 01BC     		pop	{r0} 430 0218 0047     		bx	r0 431              	.L24: 432 021a 0000     		.align	2 433              	.L23: 434 021c 00000000 		.word	l_pPio 435 0220 204E0000 		.word	20000 436 0224 00000000 		.word	data 437              	.LFE295: 439              		.align	2 440              		.global	LCDSendChar 441              		.code 16 442              		.thumb_func 444              	LCDSendChar: 445              	.LFB296: 113:LCD/lcd.c     **** 
 114:LCD/lcd.c     **** void LCDSendChar(unsigned long a)
 115:LCD/lcd.c     **** {
 446              		.loc 1 115 0 447 0228 80B5     		push	{r7, lr} 448              	.LCFI16: 449 022a 6F46     		mov	r7, sp 450              	.LCFI17: 451 022c 81B0     		sub	sp, sp, #4 452              	.LCFI18: 453 022e 3B1F     		sub	r3, r7, #4 454 0230 1860     		str	r0, [r3] 116:LCD/lcd.c     **** 	
 117:LCD/lcd.c     **** //腻豚弪 忸珈铈眍

⌨️ 快捷键说明

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