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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? uart2.s

?? uart測(cè)速程序
?? S
字號(hào):
	.module uart2.c
	.area text(rom, con, rel)
	.dbfile C:\work\UART_MEGA128\uart2.c
	.dbfunc e uart0_init _uart0_init fV
	.even
_uart0_init::
	.dbline -1
	.dbline 16
; #include<iom128v.h>
; #include<macros.h>
; #define com0	
; #define fosc 4000000 //晶振4MHZ
; #define baud 2400	 //波特率
; #define RXC_BUFF_SIZE 64
; #define TXC_BUFF_SIZE 64
; unsigned char RXC_BUFF[RXC_BUFF_SIZE];
; unsigned char TXC_BUFF[TXC_BUFF_SIZE];
; unsigned char RXC_RD;//接受緩沖區(qū)讀指針
; unsigned char RXC_WR;//接受緩沖區(qū)寫指針
; unsigned char TXC_RD;//發(fā)送緩沖區(qū)讀指針
; unsigned char TXC_WR;//發(fā)送緩沖區(qū)寫指針
; #ifdef com0
; void uart0_init(void)
; {
	.dbline 17
;  UCSR0B = 0x00; //disable while setting baud rate
	clr R2
	out 0xa,R2
	.dbline 18
;  UCSR0A = 0x00;
	out 0xb,R2
	.dbline 19
;  UCSR0C =(1<<UCSZ01)|(1<<UCSZ00);//8bit+1bit stop
	ldi R24,6
	sts 149,R24
	.dbline 20
;  UBRR0L=(fosc/16/(baud+1))%256;
	ldi R24,104
	out 0x9,R24
	.dbline 21
;  UBRR0H=(fosc/16/(baud+1))/256;
	sts 144,R2
	.dbline 22
;  UCSR0B =(1<<RXEN0)|(1<<TXEN0)|(1<<RXCIE0);//RXCEN TXCEN RXCIE
	ldi R24,152
	out 0xa,R24
	.dbline -2
	.dbline 23
; }
L1:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e putchar _putchar fV
;              c -> R16
	.even
_putchar::
	.dbline -1
	.dbline 36
; #else
; void uart1_init(void)
; {
;  UCSR1B = 0x00; //disable while setting baud rate
;  UCSR1A = 0x00;
;  UCSR1C = (1<<UCSZ11)|(1<<UCSZ10);//8bit+1bit stop
;  UBRR1L=(fosc/16/(baud+1))%256;
;  UBRR1H=(fosc/16/(baud+1))/256;
;  UCSR1B =(1<<RXEN1)|(1<<TXEN1)|(1<<RXCIE1);//RXCEN TXCEN RXCIE
; }
; #endif
; void putchar(unsigned char c)
; 	{	 
	.dbline 37
;      TXC_BUFF[TXC_WR]=c;
	ldi R24,<_TXC_BUFF
	ldi R25,>_TXC_BUFF
	lds R30,_TXC_WR
	clr R31
	add R30,R24
	adc R31,R25
	std z+0,R16
	.dbline 38
; 	 if(TXC_WR<(TXC_BUFF_SIZE-1))
	lds R24,_TXC_WR
	cpi R24,63
	brsh L3
	.dbline 39
; 	    TXC_WR++;
	subi R24,255    ; addi 1
	sts _TXC_WR,R24
	xjmp L4
L3:
	.dbline 41
; 	 else  
; 	    TXC_WR=0;
	clr R2
	sts _TXC_WR,R2
L4:
	.dbline 43
; 	 #ifdef com0
; 	     UCSR0B|=(1<<UDRIE0);//開啟UDRE中斷
	sbi 0xa,5
	.dbline -2
	.dbline 47
; 	 #else
; 	     UCSR1B|=(1<<UDRIE1);
; 	 #endif	
; 	}
L2:
	.dbline 0 ; func end
	ret
	.dbsym r c 16 c
	.dbend
	.dbfunc e getchar _getchar fc
;           temp -> R16,R17
	.even
_getchar::
	.dbline -1
	.dbline 49
; unsigned char getchar(void)
;   	{
L6:
	.dbline 52
L7:
	.dbline 51
; 	 unsigned temp;
;      while(RXC_RD==RXC_WR)
	lds R2,_RXC_WR
	lds R3,_RXC_RD
	cp R3,R2
	breq L6
	.dbline 53
; 	     ;
; 	 temp=RXC_BUFF[RXC_RD];
	ldi R24,<_RXC_BUFF
	ldi R25,>_RXC_BUFF
	mov R30,R3
	clr R31
	add R30,R24
	adc R31,R25
	ldd R16,z+0
	clr R17
	.dbline 54
; 	 if(RXC_RD<(RXC_BUFF_SIZE-1))
	mov R24,R3
	cpi R24,63
	brsh L9
	.dbline 55
; 	   RXC_RD++;
	subi R24,255    ; addi 1
	sts _RXC_RD,R24
	xjmp L10
L9:
	.dbline 57
; 	 else
; 	   RXC_RD=0;  
	clr R2
	sts _RXC_RD,R2
L10:
	.dbline 58
; 	 return temp;    
	.dbline -2
L5:
	.dbline 0 ; func end
	ret
	.dbsym r temp 16 i
	.dbend
	.dbfunc e puts _puts fV
;              s -> R20,R21
	.even
_puts::
	xcall push_gset1
	movw R20,R16
	.dbline -1
	.dbline 61
; 	}			
; void puts(char *s)
; 	{
	xjmp L13
L12:
	.dbline 63
	.dbline 64
	movw R30,R20
	ldd R16,z+0
	xcall _putchar
	.dbline 65
	subi R20,255  ; offset = 1
	sbci R21,255
	.dbline 66
L13:
	.dbline 62
; 	while (*s)
	movw R30,R20
	ldd R2,z+0
	tst R2
	brne L12
	.dbline 67
; 		{
; 		putchar(*s);
; 		s++;
; 		}	
;     putchar(0x0a);
	ldi R16,10
	xcall _putchar
	.dbline 68
; 	putchar(0x0d);
	ldi R16,13
	xcall _putchar
	.dbline -2
	.dbline 69
; 	}
L11:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r s 20 pc
	.dbend
	.dbfunc e init_devices _init_devices fV
	.even
_init_devices::
	.dbline -1
	.dbline 71
; void init_devices(void)
; {
	.dbline 73
;  //stop errant interrupts until set up
;  CLI(); //disable all interrupts
	cli
	.dbline 74
;  XDIV  = 0x00; //xtal divider
	clr R2
	out 0x3c,R2
	.dbline 75
;  XMCRA = 0x00; //external memory
	sts 109,R2
	.dbline 76
;  MCUCR = 0x00;
	out 0x35,R2
	.dbline 77
;  EICRA = 0x00; //extended ext ints
	sts 106,R2
	.dbline 78
;  EICRB = 0x00; //extended ext ints
	out 0x3a,R2
	.dbline 79
;  EIMSK = 0x00;
	out 0x39,R2
	.dbline 80
;  TIMSK = 0x00; //timer interrupt sources
	out 0x37,R2
	.dbline 81
;  ETIMSK = 0x00; //extended timer interrupt sources
	sts 125,R2
	.dbline -2
	.dbline 83
;  //all peripherals are now initialised
; }		
L15:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e main _main fV
;              i -> R20
	.even
_main::
	.dbline -1
	.dbline 85
; void main(void)
; {
	.dbline 87
;  unsigned char i;
;  TXC_RD=0;
	clr R2
	sts _TXC_RD,R2
	.dbline 88
;  TXC_WR=0;
	sts _TXC_WR,R2
	.dbline 89
;  RXC_RD=0;
	sts _RXC_RD,R2
	.dbline 90
;  RXC_WR=0;
	sts _RXC_WR,R2
	.dbline 91
;  init_devices();
	xcall _init_devices
	.dbline 93
;  #ifdef com0 
;  	uart0_init(); 	
	xcall _uart0_init
	.dbline 97
;  #else
;  	uart1_init(); 	
;  #endif
;  SEI();
	sei
	.dbline 98
;  puts("HELLO!"); 
	ldi R16,<L17
	ldi R17,>L17
	xcall _puts
	xjmp L19
L18:
	.dbline 100
;  while(1)
;     {
	.dbline 101
;      if (getchar()=='t')//按鍵盤t鍵開始測(cè)試
	xcall _getchar
	cpi R16,116
	brne L21
	.dbline 102
;     	{
	.dbline 103
;     	 puts("test ok!");
	ldi R16,<L23
	ldi R17,>L23
	xcall _puts
	.dbline 104
;     	 for (i=0;i<10;i++)
	clr R20
	xjmp L27
L24:
	.dbline 105
	.dbline 106
	mov R16,R20
	subi R16,208    ; addi 48
	xcall _putchar
	.dbline 107
L25:
	.dbline 104
	inc R20
L27:
	.dbline 104
	cpi R20,10
	brlo L24
	.dbline 108
;     		 {
;     		   putchar(0x30+i);
;     		 }
;     	 putchar(0x0a);
	ldi R16,10
	xcall _putchar
	.dbline 109
;     	 putchar(0x0d); 		 
	ldi R16,13
	xcall _putchar
	.dbline 110
;     	}	   	 
L21:
	.dbline 111
L19:
	.dbline 99
	xjmp L18
X0:
	.dbline -2
	.dbline 112
; 	}
; }
L16:
	.dbline 0 ; func end
	ret
	.dbsym r i 20 c
	.dbend
	.area vector(rom, abs)
	.org 72
	jmp _uart0_rx_isr
	.area text(rom, con, rel)
	.dbfile C:\work\UART_MEGA128\uart2.c
	.dbfunc e uart0_rx_isr _uart0_rx_isr fV
	.even
_uart0_rx_isr::
	st -y,R2
	st -y,R24
	st -y,R25
	st -y,R30
	st -y,R31
	in R2,0x3f
	st -y,R2
	.dbline -1
	.dbline 117
; //中斷例程	
; #ifdef com0
;     #pragma interrupt_handler uart0_rx_isr:iv_USART0_RXC
;     void uart0_rx_isr(void)
;     {
	.dbline 118
;      RXC_BUFF[RXC_WR]=UDR0;
	ldi R24,<_RXC_BUFF
	ldi R25,>_RXC_BUFF
	lds R30,_RXC_WR
	clr R31
	add R30,R24
	adc R31,R25
	in R2,0xc
	std z+0,R2
	.dbline 119
;      if(RXC_WR<(RXC_BUFF_SIZE-1))
	lds R24,_RXC_WR
	cpi R24,63
	brsh L29
	.dbline 120
;     	 RXC_WR++;
	subi R24,255    ; addi 1
	sts _RXC_WR,R24
	xjmp L30
L29:
	.dbline 122
	clr R2
	sts _RXC_WR,R2
L30:
	.dbline -2
	.dbline 123
;      else
;     	 RXC_WR=0;	//uart has received a character in UDR
;     }
L28:
	ld R2,y+
	out 0x3f,R2
	ld R31,y+
	ld R30,y+
	ld R25,y+
	ld R24,y+
	ld R2,y+
	.dbline 0 ; func end
	reti
	.dbend
	.area vector(rom, abs)
	.org 76
	jmp _uart0_udre_isr
	.area text(rom, con, rel)
	.dbfile C:\work\UART_MEGA128\uart2.c
	.dbfunc e uart0_udre_isr _uart0_udre_isr fV
	.even
_uart0_udre_isr::
	st -y,R2
	st -y,R3
	st -y,R24
	st -y,R25
	st -y,R30
	st -y,R31
	in R2,0x3f
	st -y,R2
	.dbline -1
	.dbline 126
;     #pragma interrupt_handler uart0_udre_isr:iv_USART0_UDRE
;     void uart0_udre_isr(void)
;     {
	.dbline 127
;      UDR0=TXC_BUFF[TXC_RD];//character transferred to shift register so UDR is now empty
	ldi R24,<_TXC_BUFF
	ldi R25,>_TXC_BUFF
	lds R30,_TXC_RD
	clr R31
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	out 0xc,R2
	.dbline 128
; 	 if(TXC_RD<(TXC_BUFF_SIZE-1))
	lds R24,_TXC_RD
	cpi R24,63
	brsh L32
	.dbline 129
; 	    TXC_RD++;
	subi R24,255    ; addi 1
	sts _TXC_RD,R24
	xjmp L33
L32:
	.dbline 131
; 	 else
; 	    TXC_RD=0;
	clr R2
	sts _TXC_RD,R2
L33:
	.dbline 132
	lds R2,_TXC_WR
	lds R3,_TXC_RD
	cp R3,R2
	brne L34
	.dbline 133
	cbi 0xa,5
L34:
	.dbline -2
	.dbline 134
; 	 if(TXC_RD==TXC_WR)
; 	    UCSR0B&=~(1<<UDRIE0);
;     }
L31:
	ld R2,y+
	out 0x3f,R2
	ld R31,y+
	ld R30,y+
	ld R25,y+
	ld R24,y+
	ld R3,y+
	ld R2,y+
	.dbline 0 ; func end
	reti
	.dbend
	.area bss(ram, con, rel)
	.dbfile C:\work\UART_MEGA128\uart2.c
_TXC_WR::
	.blkb 1
	.dbsym e TXC_WR _TXC_WR c
_TXC_RD::
	.blkb 1
	.dbsym e TXC_RD _TXC_RD c
_RXC_WR::
	.blkb 1
	.dbsym e RXC_WR _RXC_WR c
_RXC_RD::
	.blkb 1
	.dbsym e RXC_RD _RXC_RD c
_TXC_BUFF::
	.blkb 64
	.dbsym e TXC_BUFF _TXC_BUFF A[64:64]c
_RXC_BUFF::
	.blkb 64
	.dbsym e RXC_BUFF _RXC_BUFF A[64:64]c
	.area data(ram, con, rel)
	.dbfile C:\work\UART_MEGA128\uart2.c
L23:
	.blkb 9
	.area idata
	.byte 't,'e,'s,'t,32,'o,'k,33,0
	.area data(ram, con, rel)
	.dbfile C:\work\UART_MEGA128\uart2.c
L17:
	.blkb 7
	.area idata
	.byte 'H,'E,'L,'L,'O,33,0
	.area data(ram, con, rel)
	.dbfile C:\work\UART_MEGA128\uart2.c

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天天射综合影视| 国产乱对白刺激视频不卡| 中文字幕精品—区二区四季| 欧美欧美欧美欧美首页| aaa欧美大片| 国产传媒欧美日韩成人| 五月天一区二区三区| 亚洲欧美综合在线精品| 国产三级精品三级在线专区| 欧美在线不卡一区| aaa国产一区| 成人精品高清在线| 国内精品伊人久久久久av影院| 天天免费综合色| 亚洲蜜臀av乱码久久精品| 国产日本亚洲高清| 久久婷婷综合激情| 日韩欧美国产不卡| 欧美亚洲综合网| 色噜噜狠狠成人中文综合| 一区二区三区日韩欧美精品| 亚洲欧洲日韩一区二区三区| 国产精品美女久久久久aⅴ | 日韩av午夜在线观看| 国产精品情趣视频| 精品国产乱码久久久久久老虎| 欧美综合一区二区三区| 色婷婷激情综合| 91豆麻精品91久久久久久| 99久久久无码国产精品| 色哟哟在线观看一区二区三区| 一本色道久久综合亚洲精品按摩| 99热精品一区二区| 色狠狠色狠狠综合| 91行情网站电视在线观看高清版| 色成年激情久久综合| 在线免费观看日本欧美| 欧美丰满少妇xxxbbb| 精品日韩欧美在线| 国产片一区二区| 一区二区三区91| 午夜精品免费在线观看| 精品综合免费视频观看| 国模无码大尺度一区二区三区| 国产精品1区2区| 91麻豆免费视频| 欧美精品日日鲁夜夜添| 久久久久久久久99精品| 亚洲欧美在线另类| 亚洲一区av在线| 亚洲电影一级片| 秋霞成人午夜伦在线观看| 国产精品88888| 欧美亚洲免费在线一区| 精品91自产拍在线观看一区| 国产视频视频一区| 亚洲午夜激情网页| 成人av网站在线观看| 欧美人xxxx| 亚洲国产精品成人久久综合一区| 亚洲激情图片一区| 久久精品国产澳门| www.久久精品| 国产剧情在线观看一区二区| 老司机午夜精品| 91视频com| 久久色在线观看| 日韩电影在线看| 91香蕉视频黄| 中文字幕欧美一区| 国产一区二区在线观看免费| 欧美亚洲国产一区二区三区va| 国产日韩欧美高清| 欧美aaaaaa午夜精品| 色欧美日韩亚洲| 国产欧美一区二区精品仙草咪| 石原莉奈在线亚洲三区| 日韩精品中午字幕| 亚洲精品视频免费看| 成人白浆超碰人人人人| 国产亚洲欧洲997久久综合| 免播放器亚洲一区| 7777精品伊人久久久大香线蕉的| 亚洲国产精华液网站w | 国产伦精品一区二区三区免费迷| 欧美性videosxxxxx| 一级做a爱片久久| 在线观看一区二区视频| 亚洲免费在线电影| 91久久精品午夜一区二区| 国产欧美日韩激情| 久久国内精品自在自线400部| 欧美精品在线观看一区二区| 最新日韩av在线| thepron国产精品| 日韩区在线观看| 亚洲最大色网站| 777亚洲妇女| 裸体一区二区三区| 日韩精品中午字幕| 国产精品888| 尤物在线观看一区| 欧美午夜精品一区| 久久精品国产一区二区三| 久久久无码精品亚洲日韩按摩| 国产一区二区精品久久91| 国产女人18毛片水真多成人如厕| 99精品国产99久久久久久白柏| 综合久久给合久久狠狠狠97色| 在线亚洲免费视频| 免费精品视频在线| 国产精品欧美一级免费| 色拍拍在线精品视频8848| 日韩专区欧美专区| 国产三区在线成人av| 色综合色综合色综合色综合色综合| 亚洲欧美另类在线| 欧美日韩一区二区三区在线| 欧美aa在线视频| 国产精品日产欧美久久久久| 欧美色综合影院| 国产真实乱子伦精品视频| 国产精品电影院| 欧美一区二区福利在线| 99re这里都是精品| 美日韩一区二区| 一区二区三区中文字幕精品精品| 日韩欧美在线1卡| 91麻豆福利精品推荐| 国内精品久久久久影院色| 有坂深雪av一区二区精品| 久久久久久久久97黄色工厂| 欧美日韩一级二级| 99re这里只有精品首页| 久久99精品国产麻豆婷婷| 亚洲大片免费看| 综合久久给合久久狠狠狠97色| 91精品啪在线观看国产60岁| 国产91清纯白嫩初高中在线观看| 天堂成人国产精品一区| 亚洲欧美aⅴ...| 中文字幕一区二区三区在线观看| 欧美三级三级三级爽爽爽| 成人中文字幕合集| 国产成人亚洲综合色影视| 国产一区二区按摩在线观看| 亚洲18影院在线观看| 天天影视网天天综合色在线播放| 亚洲品质自拍视频| 亚洲免费电影在线| 《视频一区视频二区| 国产精品亲子伦对白| 久久久久久久综合| 久久久国产一区二区三区四区小说| 精品欧美黑人一区二区三区| 欧美一区二区在线观看| 欧美日韩成人一区| 制服丝袜亚洲色图| 91精品国产综合久久香蕉麻豆| 欧美日韩一区不卡| 欧美另类变人与禽xxxxx| 日本二三区不卡| 欧美电影在哪看比较好| 日韩精品一区二区三区四区| 日韩欧美在线1卡| 久久美女高清视频| 亚洲同性gay激情无套| 亚洲另类色综合网站| 亚洲成av人片在线| 免费观看一级特黄欧美大片| 精品一区二区三区影院在线午夜| 国产精品一区2区| 91片在线免费观看| 欧美精品久久久久久久久老牛影院| 欧美日韩在线一区二区| 欧美日韩国产经典色站一区二区三区 | 国产乱码精品一区二区三区五月婷 | 亚洲成人激情社区| 美腿丝袜在线亚洲一区| 成人av网站免费观看| 欧美人xxxx| 国产精品欧美极品| 日韩精品每日更新| 成人精品视频一区二区三区尤物| 日本韩国一区二区三区视频| 宅男在线国产精品| 国产精品久久久久毛片软件| 日本三级亚洲精品| 99久久精品国产毛片| 日韩一区二区精品| 亚洲男人的天堂在线aⅴ视频| 奇米在线7777在线精品| 成人av资源站| 日韩欧美另类在线| 亚洲柠檬福利资源导航| 国产一区美女在线| 日本高清视频一区二区| 国产精品免费视频观看| 久久国产精品99久久久久久老狼 | 一区二区不卡在线播放 |