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

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

?? tailc.asm

?? ATmega8 taillight circuitAn assembly language program that generates 5 different static patterns wit
?? ASM
字號:
	.file "tailC.asm"
;; 
;; ATmega8 taillight circuit
;; Last edited:	14-7-2004
;; Purpose:	An assembly language program that generates 5 different
;; static patterns with switching from pattern-to-pattern controlled
;; by the depression of one push-button switch (S2).
;; 
;; A compared C code is followed by "--> " and before the assembly


;; List of all registers are defined in this code
;;------------------------------------------------;;
;; R16 --- PINC
;; R17 --- 0X08 ---> PORTC
;; R18 --- ser 0xFF  -->DDRD
;; R19 --- ADCH & OCR1AL
;; R20 --- ADCH & OCR1AH
;; R21 --- TIFR
;; R22 --- 
;; R23 --- 
;; R24 --- switchNo
;; R25 --- pattern
;; R26 --- 0x00 ---> TCCR1A
;; R27 --- TCCR1B
;; R28 --- bounce0
;; R29 --- bounce1
;; R30 --- S2
;;------------------------------------------------;;

	;; Access the register and register bit definitions
	.include "avr-mega8.asm"

	;; The variable 'pattern' is kept in register 25
	;; Bit set means LED on (complemented before output)
	;; --> unsigned char pattern = 0x00;
	LDI 	R25,0x00  	 	;;Load immediate

	;; The variable 'switchNo' is kept in register 18
	;; --> unsigned int switchNo = 1;
	LDI 	R24,0x01  	 	;;Load immediate

	;; The variable 'switchNo' is kept in register 18
	;; --> unsigned char S2 = 0x08;
	LDI 	R30,0x08  	 	;;Load immediate
	;; --> unsigned char S2Previous;
	LDI 	R28,0x08  	 	;;Load immediate
	
	;; Set up timer 1A control registers
	;; --> TCCR1A = 0;
	LDI 	R26,0x00  	 	;;Load immediate
	OUT 	TCCR1A,R26 	 	;;Out to I/O location

	;; Set up timer 1B : divide by 64 prescaler using OCR1A
	;; Frequency of operation is about 62.5 kHz
	;; --> TCCR1B = 0x0A;
	LDI 	R27, 0x0B  	 	;;Load immediate
	OUT 	TCCR1B,R27 	 	;;Out to I/O location

	;; Set OCR1A to 0x01
	;; Set a delay time 0.5 ms. It check S2 every 0.5 ms
	;; --> OCR1AH = 0x01 ;
	LDI 	R20,0x01 	 	;;Logical OR with Immediate
	OUT     0x2B,R20 	 	;;Out to I/O location
	;; --> OCR1AL = 0x00 ;
	LDI 	R19,0x00 	 	;;Logical OR with Immediate
	OUT     0x2A,R19 	 	;;Out to I/O location

	;; Set up Port D for output
	;; --> DDRD = 0xFF;
	SER 	R18	  	 		;;Set all Bits in Register
	OUT 	DDRD,R18  	 	;;Out to I/O location

loop:
	;; Update LEDs
	;; --> PORTD = pattern;
	COM     R25				;;One's complement
	OUT 	PORTD,R25 	 	;;Out to I/O location

 	;; Enable PC3 as inputs. (default)
	;; --> DDRC &= ~(1 << PC3);
	CBI 	DDRC,3		 	;;Clear Bit in I/O Register
	
	;; Enable pull-ups for tact switches.
	;; --> PORTC = (1 << PC3);
	LDI 	R17,0x08   	 	;;Load immediate
	OUT 	PORTC,R17 	 	;;Out to I/O location

	;; By the depression of one push-button switch (S2)
	;; to switch 5 different static patterns.
	;; S2 = 0 for S2 pressed; S2 = 1 for S2 unpressed
	;; --> unsigned char S2 = (PINC & (1 << PC3));
	IN   	R16,PINC 	 	;;In from I/O location
	AND 	R16,R17 	 	;;Logical AND
	
	;; By press S2 one time, the patterns changes
	;; --> if (!S2)
	;; --> bounce0 ++;
	;; --> else bounce1 = 1;
	;; -->      bounce0 = 0;
	CPI		R16,0x08   	 	;;Skip if bit in register clear
	BRNE	else_bounce
	LDI		R28,0x00   	 	;;Skip if bit in register clear
	LDI		R29,0x01
	RJMP	end_bounce
else_bounce:
	INC 	R28				;;Logical AND with Immediate
end_bounce:

	;; --> if ((bounce1 == 1)&&(bounce0 == 8))
	;; --> switchNo ++;
	;; --> bounce1 = 0;
	CPI		R29,0x01   	 	;;Skip if bit in register clear
	BRNE	end_check
	CPI		R28,0x08   	 	;;Skip if bit in register clear
	BRNE	end_check
	INC 	R24				;;Logical AND with Immediate
	LDI		R29,0x00
end_check:

	;; When press S2 six times, switch to the first patterns
	;; --> if  (switchNo == 6)
	CPI     R24,0x06   	 	;;Compare with immediate
	BRNE    end_switch_full	;;Branch if not equal
	;; --> switchNo = 1;
	LDI 	R24,0x01 	 	;;Load immediate
end_switch_full:

	;; Form switchNo to decide which pattern will be used in this loop
	;; --> if (switchNo == 1)
	CPI 	R24,0x01 	 	;;Compare with immediate
	BRNE	else1	  	 	;;Branch if not equal
	;; --> pattern = 0x24;
	LDI 	R25,0x24	 	;;Load immediate
	RJMP	end_if	 	 	;;Relative jump
else1:
	;; --> else if (switchNo == 2)
	CPI 	R24,0x02   	 	;;Compare with immediate
	BRNE	else2		 	;;Branch if not equal
	;; --> pattern = 0x66;
	LDI 	R25,0x66	 	;;Load immediate
	RJMP	end_if  	 	;;Relative jump
else2:
	;; --> else if (switchNo == 3)
	CPI 	R24,0x03	 	;;Compare with immediate
	BRNE	else3   	 	;;Branch if not equal
	;; --> pattern = 0x99;
	LDI 	R25,0x99	 	;;Load immediate
	RJMP	end_if  	 	;;Relative jump
else3:
	;; --> else if (switchNo == 4)
	CPI 	R24,0x04	 	;;Compare with immediate
	BRNE	else4   	 	;;Branch if not equal
	;; --> pattern = 0x81;
	LDI 	R25,0x81	 	;;Load immediate
	RJMP	end_if  	 	;;Relative jump
else4:
	;; --> else
	;; --> pattern = 0xFF;
	SER 	R25	  	 		;;Set all Bits in Register
	RJMP	end_if			;;Relative jump
end_if:

checktime:
	;; Test OCF1A flag in TIFR
	;; --> while (!(TIFR & (1 << OCF1A)));
	IN  	R21,TIFR	 	;;In from I/O location
	ANDI	R21,0x10	 	;;Logical AND with Immediate
	BREQ	checktime	 	;;Branch if Equal

	;; OCF1A flag bit is set, so reset it (write 1 to it)
	;; --> TIFR |= (1 << OCF1A);
	ORI 	R21, 0x10 	 	;;Logical OR with Immediate
	OUT 	TIFR, R21 	 	;;Out to I/O location
	;; Continue forever
	RJMP	loop		 	;;Relative jump

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人h动漫精品| www国产精品av| 一区二区成人在线视频 | 久久综合色综合88| 一区二区三区四区视频精品免费| 欧美激情在线免费观看| 国产成人精品亚洲777人妖| 中文字幕不卡在线观看| 日本高清成人免费播放| 日韩在线一区二区三区| 日韩一区二区三区av| 日韩一级免费观看| 久久久久久免费网| 2019国产精品| 亚洲成人一区在线| 日韩欧美电影一二三| 狠狠色丁香久久婷婷综| 国产精品久久久久久久久图文区| 99久久er热在这里只有精品66| 亚洲三级理论片| 欧美一区二区女人| 成人免费观看视频| 天堂久久一区二区三区| 欧美国产视频在线| 欧美亚洲尤物久久| 欧美制服丝袜第一页| 毛片av一区二区三区| 国产精品成人网| 日韩视频一区二区三区在线播放 | 91网站在线播放| 精品一区二区三区久久久| 欧美日韩亚州综合| 国产综合久久久久久鬼色 | 日韩电影网1区2区| 国产精品嫩草影院av蜜臀| 欧美日韩在线免费视频| 懂色av噜噜一区二区三区av| 亚洲1区2区3区4区| 国产精品国产三级国产有无不卡| 3751色影院一区二区三区| 99久久er热在这里只有精品66| 麻豆freexxxx性91精品| 一区二区三区在线免费观看 | 国产女人18毛片水真多成人如厕| 色噜噜狠狠一区二区三区果冻| 国内一区二区在线| 婷婷成人综合网| 亚洲精品国产视频| 国产日韩在线不卡| 日韩免费在线观看| 欧美午夜免费电影| 91在线观看视频| 福利91精品一区二区三区| 全部av―极品视觉盛宴亚洲| 一区av在线播放| 国产精品久久午夜| 久久久久成人黄色影片| 欧美午夜电影网| 在线观看区一区二| 亚洲午夜久久久久中文字幕久| 国产日产欧美一区| 亚洲国产成人91porn| 久久久久高清精品| 久久这里只有精品首页| 欧美一区二区免费观在线| 欧美日韩另类一区| 91官网在线免费观看| 91日韩在线专区| 97国产一区二区| 99久久99久久精品免费看蜜桃| 福利一区二区在线观看| 国产成人av网站| 国产精品18久久久久久久久久久久| 天堂在线一区二区| 午夜精品aaa| 日韩和的一区二区| 亚洲一区在线播放| 亚洲一区二区av电影| 亚洲一区二区3| 午夜精品久久久久久久久| 亚洲1区2区3区视频| 日韩福利视频网| 免费看精品久久片| 久久精品999| 精久久久久久久久久久| 国产成人午夜片在线观看高清观看| 九九久久精品视频| 国产成人在线影院| 成人黄色软件下载| 色中色一区二区| 精品污污网站免费看| 日韩一区二区中文字幕| 精品免费视频.| 欧美高清在线一区| 亚洲图片你懂的| 亚洲一区二区av在线| 日本成人在线视频网站| 国产在线播放一区二区三区| 国产盗摄女厕一区二区三区| 99热精品国产| 欧美日韩一区二区三区不卡| 欧美一区二区福利在线| 欧美大白屁股肥臀xxxxxx| 国产日韩亚洲欧美综合| 亚洲欧美一区二区三区国产精品| 亚洲电影一级黄| 丝袜美腿亚洲综合| 免费成人你懂的| 国产亚洲精品aa午夜观看| 国产精品超碰97尤物18| 亚洲综合精品久久| 蜜桃久久久久久| 成人精品一区二区三区中文字幕| 91搞黄在线观看| 亚洲精品一区二区三区99| 一区在线观看视频| 丝袜美腿亚洲一区二区图片| 日韩一区二区在线播放| 欧美激情综合五月色丁香 | 亚洲色图在线视频| 日韩高清一级片| www.日韩在线| 91麻豆精品国产91久久久久久| 国产亚洲欧美一区在线观看| 亚洲国产一区二区在线播放| 国产在线看一区| 欧美视频三区在线播放| 久久久久99精品一区| 香蕉乱码成人久久天堂爱免费| 国产精品18久久久久久久网站| 精品视频一区三区九区| 国产精品区一区二区三| 久久综合综合久久综合| 色哟哟日韩精品| 国产女同互慰高潮91漫画| 日韩成人免费看| 91成人在线精品| 国产欧美日韩久久| 久久精品72免费观看| 欧美三级韩国三级日本一级| 欧美韩日一区二区三区四区| 免费高清视频精品| 欧美三级电影一区| ...av二区三区久久精品| 国产美女一区二区三区| 欧美一区二区三区视频在线观看| 亚洲欧美韩国综合色| 成人性生交大合| 国产夜色精品一区二区av| 美腿丝袜在线亚洲一区 | 麻豆精品视频在线观看视频| 91久久线看在观草草青青| 国产精品青草久久| 国产成人精品www牛牛影视| 日韩三级视频在线看| 日本一道高清亚洲日美韩| 91麻豆国产福利在线观看| 中文字幕中文在线不卡住| 成人网在线免费视频| 久久午夜电影网| 免费黄网站欧美| 日韩一级精品视频在线观看| 亚洲成人精品一区| 91久久线看在观草草青青| 专区另类欧美日韩| 91麻豆国产在线观看| 亚洲女同一区二区| 91成人网在线| 一区二区三区在线不卡| 91碰在线视频| 亚洲精品成a人| 欧美色大人视频| 首页亚洲欧美制服丝腿| 欧美日本乱大交xxxxx| 日韩精品五月天| 欧美tk—视频vk| 国产一区二区看久久| 久久久夜色精品亚洲| 高清成人免费视频| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 9l国产精品久久久久麻豆| 一区二区三区精品视频在线| 欧美久久久久免费| 精品亚洲欧美一区| 国产嫩草影院久久久久| 91原创在线视频| 天使萌一区二区三区免费观看| 日韩一二三四区| 高清久久久久久| 亚洲激情在线播放| 欧美电影在线免费观看| 久久99国产精品尤物| 国产亚洲精品超碰| 色国产综合视频| 日韩av高清在线观看| 国产日韩欧美精品在线| 色综合一区二区| 免费久久99精品国产| 中文字幕日韩精品一区| 欧美日韩精品欧美日韩精品一综合|