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

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

?? key_scan.asm

?? 智能玩具實際文件
?? ASM
字號:
;****************************************************************;
; Key Scan Function
;
; Key input pin: PRTD[7]
; Include two part: scan key when power on; 
;                   scan key in the course of movement
; Written by: lixy
; Date: 2004-02-16
;****************************************************************;

;================================================================;
;Constant Area
;================================================================;
c_prtd0_1		equ	#00000001b
c_prtd0_0		equ	#11111110b
c_offset_f_ini		equ	#0
c_rnd_range_f_ini	equ	#8
c_offset_stop		equ	#232		;=29(row)*8(colunm)
c_rnd_range_stop	equ	#0
c_dly_dbc_h		equ	#0ch		;key pressed debounce delay constant


;================================================================;
;Data Area
;================================================================;
       .area       key_scan_var(data)

;flg_key_pressed_1st::	.ds	1	;the flag of key pressed for the first time
;flg_key_ok::		.ds	1	;the flag of key pressed and released the first times when power on
;flg_key_scan::		.ds	1
;flg_key_pressed::	.ds	1	;the flag of key pressed
temp_dly_dbc::		.ds	2	;key press debounce delay time variable
flg_nose_pressed::	.ds	1	;if it be set,not decrease 50 point untill release the nose key
flg_touched_key::	.ds	1	;0:this key isn't pressed
					;1:the key is pressed with broadcast ir received,motor will stop,wait for touched ir sign
					;2:touched if sign isn't received within 4s,will decrease 50point,then be clear 
;================================================================;
;Code Area
;================================================================;
       .area       scan_key_code(code)
;----------------------------------------------------------------;
; Key Scan (for starting when power on)
;----------------------------------------------------------------;
scan_key_start::
	clrwdt
	call	lcd_display		;initial value is set in initial part of main program
;--------------/*04-02-17*/-----------------------;
;random number initial value counter keep counting,	
;until key is pressed and released when powered on.
	lda     cnt_rnd_num_ini
	inca
	sta	cnt_rnd_num_ini
	lda	cnt_rnd_num_ini+1
	addc	#00h
	sta	cnt_rnd_num_ini+1
;-------------------------------------------------;
	lda	#0ffh		;stop motor and set prtd0,1,2 7 to input pin
	sta	r_prtd
	nop
	nop
	lda	r_prtd
	anda	#c_prtd0_1       ;if nose key is pressed,z=0
	brnz	scan_key_start
	lda	#0ffh
	sta	r_prtd
	call	debounce	;key pressed debouncing
	lda	r_prtd
	anda	#c_prtd0_1
	brnz	scan_key_start 	;key invalid,re-scan
waitkey_release:
	clrwdt
	lda	r_prtd
	ora	#00000111b	;d0 is nose,d1 is trap,d2 is stall
	sta	r_prtd
	nop
	nop
	lda	r_prtd		;key valid,wait for key release
	anda	#c_prtd0_1
	brz	waitkey_release
	call	debounce
	lda	r_prtd
	ora	#00000111b	;d0 is nose,d1 is trap,d2 is stall
	sta	r_prtd
	nop
	nop
	lda	r_prtd
	anda	#c_prtd0_1
	brz	waitkey_release
	lda	cnt_rnd_num_ini+1	;load random initial value(high 8bit)裝載隨機數的初值
 	sta	rnd_num_16+1
 	lda	cnt_rnd_num_ini		;load random initial value(low 8bit)
	sta	rnd_num_16
 	call	generate_random
	lda	#0
	sta	cnt_point_free
;	sta	flg_rcv_barrier		;clear receive barrier flag 
	lda	#1
	sta	flg_new_random		;need generate new random(turn left,turn right,go ahead)
	call 	select_sound_normal
 	ret
;----------------------------------------------------------------;
; Key Scan (for stopping in the course of the movement)
;----------------------------------------------------------------;
scan_key::
	lda	flg_touched_key
	cmpe	#2		;4s after touched key,touched ir sign isn't received,the flg is 2
	brz	decrease_50point ;shall decrease 50 points(nose key)
	lda	r_prtd
	ora	#10000111b	;d0 is nose,d1 is trap,d2 is stall
	sta	r_prtd
	nop
	nop
	nop
	lda	r_prtd
	anda	#00000111b
	cmpe	#00000111b
	brnz	if_key_pressed
	lda	#0
	sta	flg_nose_pressed	;clear the nose key pressed flag
	ret			;no any key is pressed
if_key_pressed:
	call debounce
	lda	r_prtd
	ora	#10000111b	;d0 is nose,d1 is trap,d2 is stall
	sta	r_prtd
	nop
	nop
	lda	r_prtd
	anda	#00000111b
	cmpe	#00000100b	;stall,Acc>0100b,c=1
	brnc	stall_motor
	anda	#00000011b
	cmpe	#00000010b	;trap
	brnc	entry_trap
	anda	#00000001b
	brz	nose_pressed
	ret
entry_trap:
	lda	#0
	sta	cnt_point
	sta	cnt_point+1
	call 	lcd_display
	br	mouse_fail	
stall_motor:
	anda	#00000010b
	brz	entry_trap
nose_pressed:
	lda	flg_rcv_broadcast	;if broadcast sign is received,
	cmpe	#1
	brz	cheese_touched_key
	lda	flg_nose_pressed
	cmpe	#1
	brz	if_nose_released
decrease_50point:
	lda	#0
	sta	flg_touched_key
	lda	cnt_point
	suba	#50             ;barrier
	sta	cnt_point
	lda	cnt_point+1      
	subc	#0
	sta	cnt_point+1     ;(cnt_point+1)cnt_point decrease 1,if the result>=0,c=1(Note)
	brnc	entry_trap   ;cy=0,cnt_point<0,die
	call	select_sound_barrier
if_nose_released:
	lda	#0
	sta	flg_touched_key
	call	lcd_display
	lda	r_prtd
	ora	#10000001b	;d0 is nose,d1 is trap,d2 is stall
	sta	r_prtd
	nop
	nop
	lda	r_prtd 		;judge if release the nose key
	anda	#00000001b	;if =0(z=1),nose released,clear flg_nose_pressed
	brnz	nose_released
	lda	#1		;nose key isn't released
	sta	flg_nose_pressed
nose_released:
	lda	#1
	sta	flg_rcv_barrier
	sta	flg_last_barrier  ;there is barrier at the front,
	call	Run_backup
 	ret
   
cheese_touched_key:		;wait for cheese touched ir sign
	lda	#1
	sta	flg_touched_key ;note:key value =2,is the key is wrong regarded as the wrong key.
		                ;it shall receive the touched ir sign,if not,it is wrong.
	lda	#11111111b	;motor will stop(r_prtd3,4,5,6, other port are input)
	sta 	r_prtd
	ret
;----------------------------------------------------------------;
;Debounce Subroutine
;----------------------------------------------------------------;
debounce::				;key pressed debounce time = 18*256*(#cnst_dly_dbc_h)*1.5/4M = 20.16ms
	lda	#00h
	sta	temp_dly_dbc
	sta	temp_dly_dbc+1
delay_debounce:
;	clrwdt
	adda	#00h			;clear c
	lda	temp_dly_dbc
	inca
	sta	temp_dly_dbc
	lda	#00h
	addc	temp_dly_dbc+1
	sta	temp_dly_dbc+1
	cmpe	#c_dly_dbc_h
	brnz 	delay_debounce
debounce_end:
        ret

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费av网站| 中文字幕不卡在线| 国产一区二区三区av电影| 欧美韩国日本不卡| 91精品国产综合久久小美女| 国产一区二区三区免费在线观看| 精品国产乱码久久久久久免费| 91蜜桃免费观看视频| 日韩av电影天堂| 亚洲欧美经典视频| 精品成人免费观看| 色婷婷av一区| 国产综合色在线视频区| 一区二区三区精品视频在线| 久久精品在线免费观看| 欧美日韩精品专区| 亚洲黄一区二区三区| 美女视频网站黄色亚洲| 国产欧美一区二区三区网站| 欧美日韩午夜在线视频| 在线精品视频小说1| 狠狠色丁香久久婷婷综合_中| 一卡二卡三卡日韩欧美| 久久精品日产第一区二区三区高清版 | 精品久久国产老人久久综合| 91在线观看美女| 美美哒免费高清在线观看视频一区二区| 亚洲精品视频一区二区| 久久久久久久久久看片| 精品国产不卡一区二区三区| 一区二区三区久久| 一区二区欧美精品| 精品少妇一区二区三区在线播放 | 婷婷开心激情综合| 欧美精品九九99久久| 91亚洲精品乱码久久久久久蜜桃| 亚洲.国产.中文慕字在线| 国产婷婷色一区二区三区| 欧美亚洲日本国产| 波多野结衣一区二区三区| 老司机精品视频线观看86 | 91精品国产麻豆国产自产在线 | 狠狠色丁香婷婷综合| 肉丝袜脚交视频一区二区| 亚洲欧美电影一区二区| 亚洲国产精品黑人久久久| 欧美不卡一区二区| 91精品国产综合久久久久久久| 欧洲日韩一区二区三区| 国产三级精品视频| 欧美电影免费观看高清完整版在线 | 奇米一区二区三区| 国产精品理论片在线观看| 久久久久国产一区二区三区四区| 欧美妇女性影城| 欧美日韩午夜在线| 欧美精选午夜久久久乱码6080| 欧美日韩国产首页在线观看| 欧美三级电影网站| 欧美三级韩国三级日本一级| 欧美视频一区在线观看| 欧美亚洲国产怡红院影院| 在线观看91精品国产入口| 欧美综合久久久| 欧美日韩一区二区电影| 欧美日韩aaaaaa| 91精品欧美综合在线观看最新 | 欧美日韩国产在线观看| 欧美艳星brazzers| 色成人在线视频| 欧美在线免费视屏| 欧美精品粉嫩高潮一区二区| 91精品国产综合久久久久久漫画| 欧美日韩一区中文字幕| 8v天堂国产在线一区二区| 精品视频1区2区3区| 精品视频一区 二区 三区| 制服丝袜激情欧洲亚洲| 日韩情涩欧美日韩视频| 久久精子c满五个校花| 国产日产欧产精品推荐色| 亚洲婷婷综合色高清在线| 亚洲一区二区三区自拍| 日韩av电影免费观看高清完整版 | 精品久久久网站| 国产精品妹子av| 一区二区久久久| 蜜臀国产一区二区三区在线播放| 国产一区激情在线| aaa亚洲精品| 在线电影欧美成精品| 欧美变态凌虐bdsm| 中文天堂在线一区| 亚洲国产精品影院| 偷拍与自拍一区| 亚洲狼人国产精品| 欧美国产一区视频在线观看| 亚洲你懂的在线视频| 午夜电影网一区| 国产成人免费视频一区| 欧美在线观看你懂的| 久久综合av免费| 一级日本不卡的影视| 黄色精品一二区| 色综合久久九月婷婷色综合| 精品奇米国产一区二区三区| 亚洲欧洲日韩一区二区三区| 日韩高清不卡一区| 成人av影视在线观看| 91精品国产高清一区二区三区| 国产精品色婷婷久久58| 免费看日韩a级影片| 91色视频在线| 精品免费国产一区二区三区四区| 亚洲欧美日韩中文播放| 麻豆91精品视频| 99精品国产热久久91蜜凸| 日韩免费福利电影在线观看| 亚洲黄一区二区三区| 国产a级毛片一区| 在线综合+亚洲+欧美中文字幕| 国产精品国模大尺度视频| 琪琪一区二区三区| 色偷偷88欧美精品久久久| 久久无码av三级| 日本亚洲一区二区| 色丁香久综合在线久综合在线观看| 久久品道一品道久久精品| 婷婷综合久久一区二区三区| 99精品在线免费| 国产农村妇女精品| 亚洲国产欧美在线| www.视频一区| 久久久久久久久久久久久久久99| 一区二区三区四区av| 成人av第一页| 欧美国产欧美综合| 久久国产乱子精品免费女| 欧美日韩大陆一区二区| 亚洲卡通动漫在线| aaa亚洲精品一二三区| 国产日韩av一区| 亚洲成人精品一区二区| 欧美视频一区在线| 一区二区三区加勒比av| 久久无码av三级| 久久www免费人成看片高清| 欧美日本在线看| 自拍av一区二区三区| 91视频观看视频| 日本一区二区三区电影| 日本不卡123| 欧美亚州韩日在线看免费版国语版| 专区另类欧美日韩| 97精品国产97久久久久久久久久久久| 欧美极品另类videosde| 国产成人日日夜夜| 国产精品午夜在线观看| 国产成人在线电影| 国产精品毛片大码女人| 99在线热播精品免费| 18成人在线视频| 成人av电影在线网| 亚洲激情自拍偷拍| 欧美日韩五月天| 老司机一区二区| 91精品国产乱码久久蜜臀| 日韩精品久久理论片| 7777精品久久久大香线蕉| 日本一区中文字幕| 欧美日韩你懂得| 免费一级片91| 久久久久久久久岛国免费| 国产一区二区三区在线看麻豆 | 日本一区二区三区电影| 欧美日韩国产高清一区| 国产精品久久久久精k8| 欧美日韩免费视频| 国产精品一区二区三区乱码| 亚洲精品视频一区二区| 欧美一区二区高清| 色综合色狠狠天天综合色| 老色鬼精品视频在线观看播放| 亚洲国产成人在线| 欧美一区二区黄| 97精品国产97久久久久久久久久久久| 免费在线观看一区二区三区| 国产精品久久久久久久蜜臀| 91麻豆精品久久久久蜜臀| www.99精品| 精品一区二区日韩| 一个色妞综合视频在线观看| 国产日韩欧美亚洲| 欧美日韩大陆在线| 91免费在线播放| 国产精品18久久久久久久网站| 午夜精品福利一区二区三区av | 欧美美女直播网站| 不卡一区二区在线| 激情深爱一区二区|