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

📄 main_master.s

📁 一个关于AVR单片机的例程
💻 S
字号:
	.module main_master.c
	.area text(rom, con, rel)
	.dbfile E:\avr\twi\twi_master_test\main_master.c
	.dbfunc e main _main fV
;            tmp -> R20
;              i -> R22
	.even
_main::
	.dbline -1
	.dbline 13
; //ICC-AVR application builder : 2007-7-19 9:50:03
; // Target : M16
; // Crystal: 7.3728Mhz
; // 作者:古欣
; // AVR与虚拟仪器 http://www.avrvi.com
; 
; //主机从1到255发一个数,收一个数。从机接收到任何数都返回。
; //当主机收到的数为0x10时,从零开始发送,主机采用查询方式,从机采用中断方式
; 
; #include "config.h"
; 
; void main(void)
; {
	.dbline 14
;  uint8 i=0,tmp=0;
	clr R22
	.dbline 14
	clr R20
	.dbline 16
;  //re-enable interrupts
;  DDRC=0X00;
	clr R2
	out 0x14,R2
	.dbline 17
;  PORTC=0x03; //使能内部上拉电阻
	ldi R24,3
	out 0x15,R24
	.dbline 18
;  twi_master_init();
	xcall _twi_master_init
	xjmp L3
L2:
	.dbline 21
; 
;  while(1)
;  {
	.dbline 22
;  i2c_maste_transt(0x50,i);
	mov R18,R22
	ldi R16,80
	xcall _i2c_maste_transt
	.dbline 23
;  i++;
	inc R22
	.dbline 24
;  delay_1s();
	xcall _delay_1s
	.dbline 25
;  tmp=i2c_maste_read(0x50); //读一个数
	ldi R16,80
	xcall _i2c_maste_read
	mov R20,R16
	.dbline 26
;  if(tmp==0x10) i=0;
	cpi R16,16
	brne L5
	.dbline 26
	clr R22
L5:
	.dbline 27
L3:
	.dbline 20
	xjmp L2
X0:
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbsym r tmp 20 c
	.dbsym r i 22 c
	.dbend

⌨️ 快捷键说明

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