?? delay.lis
字號:
.module delay.c
.area text(rom, con, rel)
0000 .dbfile F:\avr最小系統板\程序代碼\ex15_ds18b20_1602\delay.c
0000 .dbfunc e delay_us _delay_us fV
.even
0000 _delay_us::
0000 .dbline -1
0000 .dbline 19
0000 ; /*--------------------------------------------------*/
0000 ; /* AVR-ARM開發網論壇 */
0000 ; /* http://www.avrarm.com */
0000 ; /* AVR生成代碼測試程序 */
0000 ; /*--------------------------------------------------*/
0000 ; /* 程序由AVR輔助開發工具V2.1.0自動生成 */
0000 ; /* AVR系統的處理器為: ATMega16 */
0000 ; /* AVR系統的晶振頻率: 8.0000 Mhz */
0000 ; /*--------------------------------------------------*/
0000 ;
0000 ; #include <iom16v.h>
0000 ; #include <macros.h>
0000 ; #include "delay.h"
0000 ;
0000 ; /*-----------------------------------------------------------------------
0000 ; delay_us :1us延時函數
0000 ; -----------------------------------------------------------------------*/
0000 ; void delay_us(void)
0000 ; {
0000 .dbline 20
0000 ; _NOP();
0000 0000 nop
0002 .dbline -2
0002 L1:
0002 .dbline 0 ; func end
0002 0895 ret
0004 .dbend
0004 .dbfunc e delay_nus _delay_nus fV
0004 ; t -> R20,R21
.even
0004 _delay_nus::
0004 0E940000 xcall push_gset1
0008 A801 movw R20,R16
000A .dbline -1
000A .dbline 29
000A ; }
000A ;
000A ; /*-----------------------------------------------------------------------
000A ; delay_nus :長延時函數
000A ;
000A ; 輸入參數: t :延時時間 us
000A ; -----------------------------------------------------------------------*/
000A ; void delay_nus(unsigned int t)
000A ; {
000A 01C0 xjmp L4
000C L3:
000C .dbline 31
000C F9DF xcall _delay_us
000E L4:
000E .dbline 30
000E ; while (t--)
000E 1A01 movw R2,R20
0010 4150 subi R20,1
0012 5040 sbci R21,0
0014 2220 tst R2
0016 D1F7 brne L3
0018 3320 tst R3
001A C1F7 brne L3
001C X0:
001C .dbline -2
001C L2:
001C 0E940000 xcall pop_gset1
0020 .dbline 0 ; func end
0020 0895 ret
0022 .dbsym r t 20 i
0022 .dbend
0022 .dbfunc e delay_ms _delay_ms fV
.even
0022 _delay_ms::
0022 .dbline -1
0022 .dbline 38
0022 ; delay_us();
0022 ; }
0022 ;
0022 ; /*-----------------------------------------------------------------------
0022 ; delay_ms :1ms延時函數
0022 ; -----------------------------------------------------------------------*/
0022 ; void delay_ms(void)
0022 ; {
0022 .dbline 39
0022 ; delay_nus(1000);
0022 08EE ldi R16,1000
0024 13E0 ldi R17,3
0026 EEDF xcall _delay_nus
0028 .dbline -2
0028 L6:
0028 .dbline 0 ; func end
0028 0895 ret
002A .dbend
002A .dbfunc e delay_nms _delay_nms fV
002A ; t -> R20,R21
.even
002A _delay_nms::
002A 0E940000 xcall push_gset1
002E A801 movw R20,R16
0030 .dbline -1
0030 .dbline 48
0030 ; }
0030 ;
0030 ; /*-----------------------------------------------------------------------
0030 ; delay_nms :長延時函數
0030 ;
0030 ; 輸入參數: t :延時時間 ms
0030 ; -----------------------------------------------------------------------*/
0030 ; void delay_nms(unsigned int t)
0030 ; {
0030 01C0 xjmp L9
0032 L8:
0032 .dbline 50
0032 F7DF xcall _delay_ms
0034 L9:
0034 .dbline 49
0034 ; while (t--)
0034 1A01 movw R2,R20
0036 4150 subi R20,1
0038 5040 sbci R21,0
003A 2220 tst R2
003C D1F7 brne L8
003E 3320 tst R3
0040 C1F7 brne L8
0042 X1:
0042 .dbline -2
0042 L7:
0042 0E940000 xcall pop_gset1
0046 .dbline 0 ; func end
0046 0895 ret
0048 .dbsym r t 20 i
0048 .dbend
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -