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

📄 main.s

📁 avr单片机atmage16驱动小灯的一些例程 并且包括一些收发数据的程序利用usb口
💻 S
字号:
	.module main.c
	.area text(rom, con, rel)
	.dbfile E:\ICCAVR\project\AVRMEG~2\icc\030-DS18B20-LED4\main.c
	.dbfunc e delay_ms _delay_ms fV
;              b -> R20
;              i -> R16,R17
	.even
_delay_ms::
	xcall push_gset1
	.dbline -1
	.dbline 18
; /*
; 实验四:
; 	SPI接口实险,LED数据管显示。
; 	1、程序通过SPI接口输出数据到HC595芯片驱动LED数据管简单显示。
; 	2、内部1 M晶振,程序采用单任务方式,软件延时。
; 	3、进行此实验请插上JP1的所有8个短路块,JP6(SPI_EN)短路块。
; 
; 	AVR  mega16学习板
; 	www.iccavr.com
; 	2006-01-10
; */
; 
; #include "iom16v.h"
; #include "ds1820.h"
; #include "led4.h"
; 
; /*延时函数*/
; void delay_ms(unsigned int i) {
	xjmp L3
L2:
	.dbline 21
; 
; 	unsigned char b;
; 	while (i --) {
	.dbline 22
	ldi R20,1
	xjmp L8
L5:
	.dbline 22
	.dbline 23
	.dbline 24
L6:
	.dbline 22
	inc R20
L8:
	.dbline 22
	tst R20
	brne L5
	.dbline 25
L3:
	.dbline 21
	movw R2,R16
	subi R16,1
	sbci R17,0
	tst R2
	brne L2
	tst R3
	brne L2
X0:
	.dbline -2
L1:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r b 20 c
	.dbsym r i 16 i
	.dbend
	.dbfunc e main _main fV
;              i -> R20,R21
	.even
_main::
	.dbline -1
	.dbline 28
; 		for (b = 1; b; b++) {
; 			;
; 			}
; 		}
; }
; 
; void main(void) {
	.dbline 32
; 
; 	unsigned int i;
; 
; 	DDRA = 0x00;						/*方向输入*/
	clr R2
	out 0x1a,R2
	.dbline 33
; 	PORTA = 0xFF;						/*打开上拉*/
	ldi R24,255
	out 0x1b,R24
	.dbline 34
; 	DDRB = 0xFF;						/*方向输出*/
	out 0x17,R24
	.dbline 35
; 	PORTB = 0xF0;						/*电平设置*/
	ldi R24,240
	out 0x18,R24
	.dbline 36
; 	DDRC = 0x00;
	out 0x14,R2
	.dbline 37
; 	PORTC = 0xFF;
	ldi R24,255
	out 0x15,R24
	.dbline 38
; 	DDRD = 0x00;
	out 0x11,R2
	.dbline 39
; 	PORTD = 0xFF;
	out 0x12,R24
	.dbline 41
; 
; 	delay_ms(200);
	ldi R16,200
	ldi R17,0
	xcall _delay_ms
	.dbline 42
; 	ds1820_reset();
	xcall _ds1820_reset
	.dbline 43
; 	led4_init();
	xcall _led4_init
	xjmp L11
L10:
	.dbline 44
	.dbline 45
	xcall _ds1820_start
	.dbline 46
	ldi R16,2000
	ldi R17,7
	xcall _delay_ms
	.dbline 47
	xcall _ds1820_read_temp
	movw R20,R16
	.dbline 48
	ldi R16,10
	ldi R17,0
	movw R18,R20
	xcall empy16s
	movw R20,R16
	lsr R21
	ror R20
	lsr R21
	ror R20
	lsr R21
	ror R20
	lsr R21
	ror R20
	.dbline 49
	ldi R18,1000
	ldi R19,3
	movw R16,R20
	xcall div16u
	sts _led_buf+3,R16
	.dbline 50
	ldi R18,1000
	ldi R19,3
	movw R16,R20
	xcall mod16u
	movw R20,R16
	.dbline 51
	ldi R18,100
	ldi R19,0
	xcall div16u
	sts _led_buf+2,R16
	.dbline 52
	ldi R18,100
	ldi R19,0
	movw R16,R20
	xcall mod16u
	movw R20,R16
	.dbline 53
	ldi R18,10
	ldi R19,0
	xcall div16u
	sts _led_buf+1,R16
	.dbline 54
	ldi R18,10
	ldi R19,0
	movw R16,R20
	xcall mod16u
	sts _led_buf,R16
	.dbline 55
	ldi R24,1
	sts _led_buf+4,R24
	.dbline 56
L11:
	.dbline 44
	xjmp L10
X1:
	.dbline -2
L9:
	.dbline 0 ; func end
	ret
	.dbsym r i 20 i
	.dbend

⌨️ 快捷键说明

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