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

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

?? uart2.s

?? 單片機開發資料光盤-雙龍-686M.zip
?? S
字號:
	.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;//接受緩沖區讀指針
; unsigned char RXC_WR;//接受緩沖區寫指針
; unsigned char TXC_RD;//發送緩沖區讀指針
; unsigned char TXC_WR;//發送緩沖區寫指針
; #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鍵開始測試
	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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情综合五月天| 欧美日韩国产免费一区二区 | 狠狠色狠狠色综合日日91app| 国产成人av一区二区三区在线| 在线观看免费视频综合| 久久久五月婷婷| 亚洲高清免费在线| 99精品偷自拍| 国产精品无人区| 老司机午夜精品| 欧美日韩精品欧美日韩精品一| 国产欧美一区二区三区网站| 日韩和的一区二区| 欧美在线高清视频| 亚洲欧美电影院| 不卡一二三区首页| 国产欧美综合在线| 国产在线视频一区二区三区| 日韩欧美专区在线| 免费久久99精品国产| 欧美日韩视频在线一区二区| 一区在线观看免费| 91美女片黄在线观看| 国产精品毛片无遮挡高清| 激情六月婷婷久久| 久久精品视频在线免费观看| 精品一二三四在线| 国产视频一区二区在线| 国产尤物一区二区| 国产片一区二区三区| 成人动漫一区二区三区| 一区在线中文字幕| 色偷偷成人一区二区三区91| 亚洲精品高清在线| 欧美最新大片在线看| 午夜视频一区在线观看| 欧美一区二区久久| 久久成人18免费观看| 国产视频一区不卡| 91亚洲资源网| 日韩中文欧美在线| 日韩免费电影一区| 国产传媒欧美日韩成人| 自拍偷拍欧美精品| 欧美色图一区二区三区| 日本中文字幕一区二区视频 | 正在播放一区二区| 免费成人结看片| 久久久综合视频| 成人性生交大片免费看中文网站 | 久久久精品人体av艺术| 成人毛片老司机大片| 亚洲综合小说图片| 日韩一级片在线观看| 日本少妇一区二区| 国产欧美一区二区在线观看| 91麻豆国产福利精品| 五月天亚洲精品| 26uuu另类欧美| 99久久99久久精品免费观看| 一区二区三区四区不卡视频| 欧美丰满美乳xxx高潮www| 国产一区三区三区| 亚洲欧美日韩国产手机在线| 666欧美在线视频| 国产精品一二一区| 午夜免费久久看| 欧美国产亚洲另类动漫| 在线精品国精品国产尤物884a| 免费美女久久99| 亚洲精品日产精品乱码不卡| 精品免费国产二区三区| 色94色欧美sute亚洲线路一久| 奇米影视在线99精品| 中文字幕在线一区| 欧美一级夜夜爽| 一本大道综合伊人精品热热| 久久99精品国产麻豆不卡| 亚洲一区二区三区四区在线观看| 欧美成人免费网站| 欧美日韩精品一区二区| www.av精品| 国产传媒一区在线| 青娱乐精品在线视频| 一区二区三区免费看视频| 国产欧美一区二区精品性色| 7777精品伊人久久久大香线蕉的 | 夫妻av一区二区| 天使萌一区二区三区免费观看| 国产欧美一区二区精品性| 欧美性色综合网| av电影天堂一区二区在线| 国产综合色视频| 麻豆国产欧美一区二区三区| 亚洲自拍偷拍欧美| 亚洲欧美另类久久久精品2019| 欧美激情一区在线| 久久先锋影音av鲁色资源网| 欧美人伦禁忌dvd放荡欲情| 在线观看视频91| 色婷婷国产精品综合在线观看| 国产成人久久精品77777最新版本| 日韩精品高清不卡| 午夜视黄欧洲亚洲| 亚洲成人www| 视频一区视频二区中文字幕| 亚洲第一成人在线| 日韩在线播放一区二区| 五月婷婷色综合| 日韩avvvv在线播放| 日本v片在线高清不卡在线观看| 亚洲国产精品久久人人爱| 一区二区三区波多野结衣在线观看| 中文字幕亚洲不卡| 亚洲黄色尤物视频| 性感美女久久精品| 蜜臀av在线播放一区二区三区| 秋霞电影一区二区| 国内精品国产成人国产三级粉色| 激情五月激情综合网| 国产成人免费在线| 99精品视频在线观看| 91麻豆国产自产在线观看| 欧美日韩视频在线一区二区| 91精品欧美福利在线观看| 日韩欧美在线综合网| 精品国产一区二区三区四区四 | 欧美精品一区二区三区久久久 | 日韩一区二区免费视频| 欧美r级电影在线观看| 国产人久久人人人人爽| 最新成人av在线| 亚洲一区在线观看免费观看电影高清| 性欧美大战久久久久久久久| 蜜桃av噜噜一区二区三区小说| 狠狠色狠狠色合久久伊人| jlzzjlzz亚洲女人18| 欧美亚洲禁片免费| 欧美一级免费观看| 国产片一区二区| 视频一区视频二区中文| 狠狠狠色丁香婷婷综合激情 | 亚洲一区日韩精品中文字幕| 免费精品视频最新在线| 成人免费视频网站在线观看| 欧洲视频一区二区| 精品国产91亚洲一区二区三区婷婷 | 色婷婷综合久久久久中文| 欧美一区二区三区的| 国产精品乱码一区二区三区软件| 亚洲专区一二三| 国产99久久久久久免费看农村| 92精品国产成人观看免费| 欧美一区二区久久| 亚洲欧美日韩国产另类专区| 久久av老司机精品网站导航| av资源站一区| 精品国产一区二区三区四区四| 亚洲日本丝袜连裤袜办公室| 国内久久精品视频| 欧美日韩国产中文| 国产精品久久久久久久久免费相片| 五月天网站亚洲| 一本到三区不卡视频| 日本一区二区三区电影| 日韩精品一级中文字幕精品视频免费观看| 国产精品一区二区三区乱码 | 日韩1区2区3区| 色婷婷久久久亚洲一区二区三区| 欧美一级艳片视频免费观看| 夜夜嗨av一区二区三区网页| 国产精品99久久久久久有的能看 | 九色综合国产一区二区三区| 91成人在线免费观看| 国产精品久久免费看| 激情小说欧美图片| 欧美精品欧美精品系列| 亚洲女同ⅹxx女同tv| 国产麻豆精品一区二区| 56国语精品自产拍在线观看| 一区二区三区国产精华| jiyouzz国产精品久久| 久久久99精品免费观看不卡| 日本大胆欧美人术艺术动态| 欧美视频在线一区| 亚洲精品乱码久久久久久日本蜜臀| 国产精品一区二区三区四区| 精品久久久久99| 久久99热这里只有精品| 欧美一级一区二区| 毛片不卡一区二区| 日韩欧美一级精品久久| 蜜桃免费网站一区二区三区 | 欧美日韩黄色一区二区| 亚洲一区二区三区四区在线| 欧美视频一区二区三区四区 | 亚洲色图制服诱惑| 99国产麻豆精品| 亚洲人成精品久久久久久| 色婷婷亚洲婷婷|