亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? spi.s

?? AVR單片機應用系統開發典型實例 (光盤內容)
?? S
字號:
	.module SPI.C
	.area data(ram, con, rel)
_Table::
	.blkb 2
	.area idata
	.byte 63,6
	.area data(ram, con, rel)
	.blkb 2
	.area idata
	.byte 91,'O
	.area data(ram, con, rel)
	.blkb 2
	.area idata
	.byte 'f,'m
	.area data(ram, con, rel)
	.blkb 2
	.area idata
	.byte 125,7
	.area data(ram, con, rel)
	.blkb 2
	.area idata
	.byte 127,'o
	.area data(ram, con, rel)
	.dbfile J:\AVRpractice\BOOK\SPI\SPI.C
	.dbsym e Table _Table A[10:10]c
_Data::
	.blkb 2
	.area idata
	.byte 0,0
	.area data(ram, con, rel)
	.dbfile J:\AVRpractice\BOOK\SPI\SPI.C
	.blkb 2
	.area idata
	.byte 0,0
	.area data(ram, con, rel)
	.dbfile J:\AVRpractice\BOOK\SPI\SPI.C
	.dbsym e Data _Data A[4:4]c
	.area text(rom, con, rel)
	.dbfile J:\AVRpractice\BOOK\SPI\SPI.C
	.dbfunc e DelayMs _DelayMs fV
;              j -> R20
;              i -> R16,R17
	.even
_DelayMs::
	rcall push_gset1
	.dbline -1
	.dbline 10
; #include<io8535v.h>
; #include<macros.h>
; #define uchar unsigned char
; #define uint  unsigned int
; 
; uchar Table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
; uchar Data[4]={0,0,0,0};
; 
; void DelayMs(uint i)  
; {uchar j;
	.dbline 11
;  for(;i!=0;i--)
	rjmp L5
L2:
	.dbline 12
	.dbline 12
	ldi R20,208
	rjmp L9
L6:
	.dbline 12
	.dbline 12
	.dbline 12
L7:
	.dbline 12
	dec R20
L9:
	.dbline 12
	tst R20
	brne L6
	.dbline 12
L3:
	.dbline 11
	subi R16,1
	sbci R17,0
L5:
	.dbline 11
	cpi R16,0
	cpc R16,R17
	brne L2
X0:
	.dbline -2
	.dbline 13
;   {for(j=2000;j!=0;j--) {;}}
; }
L1:
	rcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r j 20 c
	.dbsym r i 16 i
	.dbend
	.dbfunc e Display _Display fV
;            sel -> R20
;              i -> R22
;              p -> R10,R11
	.even
_Display::
	rcall push_gset3
	mov R10,R16
	mov R11,R17
	.dbline -1
	.dbline 16
; 
; void Display(uchar *p)
; {uchar i,sel=0x01;
	.dbline 16
	ldi R20,1
	.dbline 17
;  for(i=0;i<4;i++)
	clr R22
	rjmp L14
L11:
	.dbline 18
	.dbline 18
	out 0x1b,R20
	.dbline 19
	mov R30,R22
	clr R31
	add R30,R10
	adc R31,R11
	ldd R30,z+0
	clr R31
	ldi R24,<_Table
	ldi R25,>_Table
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	clr R3
	ldi R24,255
	ldi R25,0
	sub R24,R2
	sbc R25,R3
	out 0x15,R24
	.dbline 20
	ldi R16,10
	ldi R17,0
	rcall _DelayMs
	.dbline 21
	lsl R20
	.dbline 22
L12:
	.dbline 17
	inc R22
L14:
	.dbline 17
	cpi R22,4
	brlo L11
	.dbline -2
	.dbline 23
;   {PORTA=sel;
;    PORTC=0xff-Table[p[i]];
;    DelayMs(10);
;    sel=sel<<1;
;   }
; }
L10:
	rcall pop_gset3
	.dbline 0 ; func end
	ret
	.dbsym r sel 20 c
	.dbsym r i 22 c
	.dbsym r p 10 pc
	.dbend
	.dbfunc e DelayNOP _DelayNOP fV
;              i -> R16
	.even
_DelayNOP::
	.dbline -1
	.dbline 26
; 
; void DelayNOP(uchar i)
; {for(;i!=0;i--)  
	.dbline 26
	rjmp L19
L16:
	.dbline 27
	.dbline 27
	nop
	.dbline 27
L17:
	.dbline 26
	dec R16
L19:
	.dbline 26
	tst R16
	brne L16
	.dbline -2
	.dbline 28
;     { NOP();}
; } 
L15:
	.dbline 0 ; func end
	ret
	.dbsym r i 16 c
	.dbend
	.dbfunc e Convert _Convert fV
;              i -> R22
;              p -> R20,R21
	.even
_Convert::
	rcall push_gset2
	mov R22,R18
	mov R20,R16
	mov R21,R17
	.dbline -1
	.dbline 31
; 
; void Convert(uchar *p,uchar i)
; {p[0]=0;
	.dbline 31
	clr R2
	mov R30,R20
	mov R31,R21
	std z+0,R2
	.dbline 32
;  p[1]=i/100;
	ldi R17,100
	mov R16,R22
	rcall div8u
	mov R30,R20
	mov R31,R21
	std z+1,R16
	.dbline 33
;  p[2]=(i-p[1]*100)/10;
	mov R30,R20
	mov R31,R21
	ldd R17,z+1
	ldi R16,100
	rcall mpy8s
	mov R2,R16
	mov R16,R22
	sub R16,R2
	ldi R17,10
	rcall div8u
	mov R30,R20
	mov R31,R21
	std z+2,R16
	.dbline 34
;  p[3]=i-p[1]*100-p[2]*10;
	mov R30,R20
	mov R31,R21
	ldd R17,z+1
	ldi R16,100
	rcall mpy8s
	mov R2,R22
	sub R2,R16
	mov R30,R20
	mov R31,R21
	ldd R17,z+2
	ldi R16,10
	rcall mpy8s
	sub R2,R16
	mov R30,R20
	mov R31,R21
	std z+3,R2
	.dbline -2
	.dbline 35
; }
L20:
	rcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r i 22 c
	.dbsym r p 20 pc
	.dbend
	.dbfunc e Write_Byte _Write_Byte fV
;          clear -> R20
;           Data -> R18
;        Address -> R16
	.even
_Write_Byte::
	rcall push_gset1
	.dbline -1
	.dbline 38
; 
; void Write_Byte(uchar Address,uchar Data)
; {uchar clear;
	.dbline 39
;  PORTB=PORTB|0x10; //使能SPI器件
	sbi 0x18,4
	.dbline 40
;  SPDR=Address;
	out 0xf,R16
L22:
	.dbline 41
	.dbline 41
	.dbline 41
L23:
	.dbline 41
;  while(!(SPSR&0x80)) {;}
	sbis 0xe,7
	rjmp L22
	.dbline 42
;  clear=SPSR;
	in R20,0xe
	.dbline 43
;  clear=SPDR;
	in R20,0xf
	.dbline 44
;  SPDR=Data;
	out 0xf,R18
L25:
	.dbline 45
	.dbline 45
	.dbline 45
L26:
	.dbline 45
;  while(!(SPSR&0x80)) {;}
	sbis 0xe,7
	rjmp L25
	.dbline 46
;  clear=SPSR;
	in R20,0xe
	.dbline 47
;  clear=SPDR;
	in R20,0xf
	.dbline 48
;  PORTB=PORTB&0xef;
	in R24,0x18
	andi R24,239
	out 0x18,R24
	.dbline -2
	.dbline 49
; }
L21:
	rcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r clear 20 c
	.dbsym r Data 18 c
	.dbsym r Address 16 c
	.dbend
	.dbfunc e Read_Byte _Read_Byte fc
;           Data -> R20
;          clear -> R22
;        Address -> R16
	.even
_Read_Byte::
	rcall push_gset2
	.dbline -1
	.dbline 52
;  
; uchar Read_Byte(uchar Address)
; {uchar clear;
	.dbline 54
;  uchar Data;
;  PORTB=PORTB|0x10;
	sbi 0x18,4
	.dbline 55
;  SPDR=Address;
	out 0xf,R16
L29:
	.dbline 56
	.dbline 56
	.dbline 56
L30:
	.dbline 56
;  while(!(SPSR&0x80)) {;}
	sbis 0xe,7
	rjmp L29
	.dbline 57
;  clear=SPSR;
	in R22,0xe
	.dbline 58
;  clear=SPDR;
	in R22,0xf
	.dbline 59
;  SPDR=Address;//發空數據
	out 0xf,R16
L32:
	.dbline 60
	.dbline 60
	.dbline 60
L33:
	.dbline 60
;  while(!(SPSR&0x80)) {;}
	sbis 0xe,7
	rjmp L32
	.dbline 61
;  clear=SPSR;
	in R22,0xe
	.dbline 62
;  Data=SPDR;
	in R20,0xf
	.dbline 63
;  PORTB=PORTB&0xef;
	in R24,0x18
	andi R24,239
	out 0x18,R24
	.dbline 64
;  return(Data);
	mov R16,R20
	.dbline -2
L28:
	rcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r Data 20 c
	.dbsym r clear 22 c
	.dbsym r Address 16 c
	.dbend
	.dbfunc e main _main fV
;          value -> R20
	.even
_main::
	.dbline -1
	.dbline 68
; }
; 
; void main(void)
; {uchar value;
	.dbline 69
;  DDRA=0xff;
	ldi R24,255
	out 0x1a,R24
	.dbline 70
;  DDRC=0xff;
	out 0x14,R24
	.dbline 71
;  DDRB=0xbf;
	ldi R24,191
	out 0x17,R24
	.dbline 72
;  PORTA=0xff;
	ldi R24,255
	out 0x1b,R24
	.dbline 73
;  PORTC=0x00;
	clr R2
	out 0x15,R2
	.dbline 74
;  DelayMs(3000);
	ldi R16,3000
	ldi R17,11
	rcall _DelayMs
	.dbline 75
;  PORTC=0xff;
	ldi R24,255
	out 0x15,R24
	.dbline 76
;  SPCR=0x5c;//0101 1100
	ldi R24,92
	out 0xd,R24
	.dbline 77
;  Write_Byte(0x80,0xf0);//8位,自由轉換模式
	ldi R18,240
	ldi R16,128
	rcall _Write_Byte
	rjmp L37
L36:
	.dbline 79
	.dbline 79
	ldi R16,1
	rcall _Read_Byte
	.dbline 80
	ldi R16,2
	rcall _Read_Byte
	mov R20,R16
	.dbline 81
	mov R18,R20
	ldi R16,<_Data
	ldi R17,>_Data
	rcall _Convert
	.dbline 82
	ldi R16,<_Data
	ldi R17,>_Data
	rcall _Display
	.dbline 82
L37:
	.dbline 78
	rjmp L36
X1:
	.dbline -2
	.dbline 83
;  while(1)
;   {value=Read_Byte(0x01);
;    value=Read_Byte(0x02);
;    Convert(Data,value);
;    Display(Data);}
; }
L35:
	.dbline 0 ; func end
	ret
	.dbsym r value 20 c
	.dbend

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区在线| 91啪九色porn原创视频在线观看| 不卡av免费在线观看| 久久综合九色综合97婷婷女人| 亚洲18影院在线观看| 国产黑丝在线一区二区三区| 欧美精品一区视频| 蜜臀av性久久久久蜜臀av麻豆 | 午夜精品久久久久久久蜜桃app| 久久99精品视频| 日韩美女主播在线视频一区二区三区| 亚洲第一精品在线| 欧美日韩一区二区在线观看视频| 亚洲欧美日韩系列| 狠狠色狠狠色综合| 欧美国产激情二区三区| 国产风韵犹存在线视精品| 欧美电影免费观看高清完整版在| 国产一区二区精品久久99| aaa亚洲精品一二三区| 亚洲h动漫在线| 欧美另类一区二区三区| 悠悠色在线精品| 欧美日韩电影在线播放| 亚洲一区二区视频在线| 成人免费毛片a| 国产精品综合久久| 久久99精品久久久久久国产越南 | 亚洲国产精品一区二区www| 国产成人综合在线| 欧美日韩精品综合在线| 91精品国产黑色紧身裤美女| 欧洲一区二区三区在线| 亚洲高清免费在线| 91久久国产综合久久| 乱一区二区av| 欧美伊人久久久久久久久影院 | 狠狠色丁香久久婷婷综| 亚洲美女视频在线观看| 亚洲精品免费电影| 亚洲一二三专区| 国产精品一二一区| 国产成人高清在线| 日韩一区二区三区高清免费看看| 国产精品伦一区二区三级视频| 欧美日韩免费不卡视频一区二区三区 | 欧美亚洲国产一卡| 欧美三级三级三级| 欧美日韩在线播放| 国产精品日韩精品欧美在线| 国产女人aaa级久久久级| 欧美另类高清zo欧美| 日韩一区二区在线免费观看| 欧美电影免费观看完整版| 欧美一区二区视频在线观看 | 91.com在线观看| 麻豆成人久久精品二区三区红 | 日韩国产欧美三级| 久久综合九色综合97婷婷| 成人性视频免费网站| 亚洲第一搞黄网站| 中文字幕精品一区二区精品绿巨人| 蜜桃精品在线观看| 国产亚洲一区二区三区| 在线观看一区二区视频| 亚洲最新在线观看| 26uuu欧美日本| 91在线视频播放| 免费av网站大全久久| 欧美一级高清大全免费观看| 成人激情动漫在线观看| 奇米色一区二区三区四区| 国产精品免费视频网站| 6080亚洲精品一区二区| 日韩av高清在线观看| 久久久久久久电影| 91久久奴性调教| 91免费在线看| 成人小视频免费观看| 久久99精品久久只有精品| 午夜精品福利在线| 亚洲天堂网中文字| 日韩电影在线观看网站| 激情综合网最新| 成人一道本在线| 日韩欧美在线观看一区二区三区| 99国产精品国产精品久久| 欧美色图第一页| 亚洲欧美另类久久久精品| 日产欧产美韩系列久久99| 一区在线中文字幕| 亚洲国产美女搞黄色| 一区二区三区四区激情| 亚洲成av人片| 国产最新精品精品你懂的| 一本大道综合伊人精品热热 | 色吧成人激情小说| 欧美日韩一区高清| 国产精品国产三级国产普通话99 | 日本免费在线视频不卡一不卡二| 国产亚洲精品精华液| 久久免费看少妇高潮| 欧美激情综合在线| 椎名由奈av一区二区三区| 国产欧美视频一区二区| 中文字幕日本不卡| 蜜桃视频一区二区三区| 亚洲国产精品一区二区www在线| 亚洲一区二区三区四区中文字幕| 一个色综合av| 亚洲激情第一区| 欧美激情在线一区二区三区| 亚洲国产精品ⅴa在线观看| 欧美精品一区二区在线观看| 国产精品日韩成人| 日韩精品1区2区3区| 国产福利一区二区三区视频| 成人午夜大片免费观看| 在线播放欧美女士性生活| 精品久久久久久久久久久久久久久久久 | 91精品久久久久久久91蜜桃| 国产成人免费视频网站| 亚洲精品国产一区二区三区四区在线| 亚洲一区二区视频在线观看| 国产精品第五页| 亚洲综合清纯丝袜自拍| 美女视频黄免费的久久 | 91麻豆精品国产91久久久使用方法| 欧美成va人片在线观看| 色综合久久久久综合| 国产美女娇喘av呻吟久久 | 色综合色狠狠综合色| 欧美日韩国产一区| 欧美国产97人人爽人人喊| 亚洲国产精品人人做人人爽| 国产乱人伦偷精品视频免下载| 成人黄色一级视频| 欧美女孩性生活视频| 亚洲美女在线一区| 成人毛片老司机大片| 久久精品一区二区| 国产不卡视频在线播放| 中文字幕一区免费在线观看 | 亚洲国产精品国自产拍av| 亚洲乱码国产乱码精品精小说 | 国产99久久精品| 精品福利一区二区三区免费视频| 捆绑变态av一区二区三区| 日韩欧美亚洲国产另类| 国产盗摄视频一区二区三区| 久久伊人中文字幕| 99久久婷婷国产| 亚洲一区在线视频观看| 欧美一级片免费看| 日本美女视频一区二区| 精品裸体舞一区二区三区| 久久久久久电影| 国产不卡在线播放| 亚洲超碰97人人做人人爱| 日韩欧美中文一区| 成人综合在线网站| 偷拍日韩校园综合在线| 久久影视一区二区| 欧美日韩在线不卡| 国产麻豆一精品一av一免费| 国产精品电影院| 欧美综合色免费| 激情伊人五月天久久综合| 欧美大白屁股肥臀xxxxxx| 成人av网在线| 国产在线不卡视频| 亚洲国产日韩一级| 欧美色爱综合网| 亚洲精品视频在线| 国产三级精品三级在线专区| 在线观看视频一区二区欧美日韩 | 国产激情一区二区三区桃花岛亚洲| 久久免费电影网| 日韩亚洲国产中文字幕欧美| 91麻豆免费看| av电影在线不卡| 高清av一区二区| 丁香婷婷综合色啪| 成人性生交大片免费看中文| 美国毛片一区二区| 狠狠色狠狠色综合系列| 精品无人码麻豆乱码1区2区| 紧缚奴在线一区二区三区| 久久久久久日产精品| 亚洲另类在线视频| 亚洲精选视频免费看| 一区二区三区在线视频播放| 中文字幕在线一区二区三区| 亚洲欧洲性图库| 亚洲综合在线五月| 久久精品国产秦先生| 国产一区二区三区电影在线观看| 国产69精品一区二区亚洲孕妇| 成人综合婷婷国产精品久久蜜臀 | 国产一区福利在线|