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

📄 main.s

📁 AVR单片机对DS3231的读写操作源代码
💻 S
字号:
	.module main.c
	.area lit(rom, con, rel)
_Tab::
	.byte 20,159
	.byte 56,26
	.byte 147,'R
	.byte 'P,31
	.byte 16,18
	.byte 17,208
	.byte 't,152
	.byte 'p,'q
	.dbfile F:\ouravr\ds3231\main.c
	.dbsym e Tab _Tab A[16:16]kc
	.area text(rom, con, rel)
	.dbfile F:\ouravr\ds3231\main.c
	.dbfunc e main _main fV
;        Address -> R20
	.even
_main::
	.dbline -1
	.dbline 12
; #include <iom16v.h>
; 
; #define uchar unsigned char 
; #define uint  unsigned int
; 
; void delay(uint ticks);//延时
; 
; unsigned char const Tab[]={0x14,0x9F,0x38,0x1A,0x93,0x52,0x50,0x1F,
;                           0x10,0x12,0x11,0xD0,0x74,0x98,0x70,0x71};
; 
; void main()
; {
	.dbline 14
;  uchar Address;
;  init_devices();
	rcall _init_devices
	.dbline 16
	clr R20
	rjmp L5
L2:
	.dbline 16
	mov R18,R20
	clr R19
	mov R16,R20
	clr R17
	rcall _Write24c02_OneByte
L3:
	.dbline 16
	inc R20
L5:
	.dbline 16
;  //向0到127这128个单元写顺序写入0到127
;  for(Address=0;Address!=128;Address++)Write24c02_OneByte(Address,Address);
	cpi R20,128
	brne L2
	.dbline 17
;  PORTA=0x80;
	ldi R24,128
	out 0x1b,R24
	rjmp L7
L6:
	.dbline 19
;  while(1)
;  {
	.dbline 20
;   for(Address=0;Address!=128;Address++)
	clr R20
	rjmp L12
L9:
	.dbline 21
	.dbline 23
	mov R16,R20
	clr R17
	rcall _Read24c02_OneByte
	ldi R24,<_Tab
	ldi R25,>_Tab
	mov R30,R16
	mov R31,R17
	andi R30,15
	andi R31,0
	add R30,R24
	adc R31,R25
	lpm
	out 0x15,R0
	.dbline 24
	ldi R16,5000
	ldi R17,19
	rcall _delay
	.dbline 25
L10:
	.dbline 20
	inc R20
L12:
	.dbline 20
	cpi R20,128
	brne L9
	.dbline 27
L7:
	.dbline 18
	rjmp L6
X0:
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbsym r Address 20 c
	.dbend
	.dbfunc e delay _delay fV
;              i -> R20
;          ticks -> R16,R17
	.even
_delay::
	rcall push_gset1
	.dbline -1
	.dbline 31
;   {
;    //把0到128单元的内容顺序读出并显示
;    PORTC=Tab[Read24c02_OneByte(Address)&0x0f];
;    delay(5000);
;   }
; 
;  }
; }
; 
; void delay(uint ticks)
; {
	rjmp L15
L14:
	.dbline 33
	ldi R20,100
	rjmp L20
L17:
	.dbline 33
L18:
	.dbline 33
	dec R20
L20:
	.dbline 33
	tst R20
	brne L17
L15:
	.dbline 33
;  uchar i;
;  while(ticks--)for(i=100;i!=0;i--);//约0.1mS
	mov R2,R16
	mov R3,R17
	subi R16,1
	sbci R17,0
	tst R2
	brne L14
	tst R3
	brne L14
X1:
	.dbline -2
L13:
	rcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r i 20 c
	.dbsym r ticks 16 i
	.dbend

⌨️ 快捷键说明

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