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

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

?? time-name.asm

?? 用匯編語言實現時間和姓名在LCD上實現的程式
?? ASM
?? 第 1 頁 / 共 4 頁
字號:
	   jsr     F_ShowChar    
	   .ENDM	   
%S_Show_TimeDots	 .MACRO
	   ldx     #cTurn_On
	   lda     #cIcon_ClockDot
	   jsr     F_ShowChar    
	   .ENDM
%S_FlashClock	 .MACRO
	   ldx     TimeTwoDotsValue
	   lda     #cIcon_Clock
	   jsr     F_ShowChar
	   .ENDM
%S_Shut_Clock	 .MACRO
	   ldx     #cTurn_Off
	   lda     #cIcon_Clock
	   jsr     F_ShowChar
	   .ENDM
%S_Show_Clock	 .MACRO
	   ldx     #cTurn_On
	   lda     #cIcon_Clock
	   jsr     F_ShowChar
	   .ENDM	 	   	   
%S_ShutSET	 .MACRO
	   ldx     #cTurn_Off
	   lda     #cIcon_SET
	   jsr     F_ShowChar
	   .ENDM
;%S_Shut_START	 .MACRO
;	   ldx     #cTurn_Off
;	   lda     #cIcon_START
;	   jsr     F_ShowChar
;	   .ENDM
;-------------------------------
.CODE
RESET:
		sei
  	ldx	#FFH
  	txs
;***************************************************************************************
 		lda	#0
		ldx	#80H
L_ClearRam:
  	sta	$00H,x
  	inx
  	bne	L_ClearRam				;Clear Ram	(80H-ffH)
		%X32KStrongMode
		%S_Show_FullBattery
		lda	#D_Pump_CLK_8K+D_1_8_Duty+D_1_3_Bias+D_Dots_On	;
		sta	P_04H_LCD_CTL

		lda	P_04H_LCD_CTL			;LCD set to normal mode
  	and	#.NOT.D_LCD_Mask
  	ora	#D_LCD_Normal
		sta	P_04H_LCD_CTL
		jsr	S_WatchDogClear
;-------------------------------------------------------------------
;; Initialize and display the initialization value
;-------------------------------------------------------------------
  	lda	#rTiming_Initialize_Sec
		sta	rTimingValue
DisplayNameRick:
		jsr	S_DisplayNameOnLCD
	
  	lda	#rHour_Initialize
  	sta	rHourData				
  	jsr	F_Display_hour					;;show hour "0":00
		%S_Show_TimeDots
		lda	#rMinutes_Initialize
 		sta	rMinutesData
  	jsr	F_DisplayResult_minutes	;;show minutes 0:"00"
 	
		jsr	S_DisplayZeroOnSec
		jsr	S_500ms_Delay
;------------------------------------------------------------------
; 					Initialize INB&IOA
;------------------------------------------------------------------
		lda	#sP_A0_Reverse
		sta	TimeTwoDotsValue
		lda	#P_ADir_High       
		STA	P_01H_PortA_Dir	
		lda	#P_AAttrib_High     	    ;;Initialize IOA output is high
		STA	P_02H_PortA_Attrib	
		lda	#P_AData_High     	
		STA	P_00H_PortA_Data

		lda	#P_B_initialize
		sta	P_10H_IO_Config						;;initislize INB
  	sta	P_03H_PortB_Data		
;------------------------------------------------------------------
  	lda	#D_CPU_CLK_HSCK_2					;set CPU clock	to HSCK/2
		sta	P_05H_CPU_CLK
		%X32KStrongMode
;------------------------------------------------------------------
; 					0.5s interrupt
;===========*****==========*****==========*****==========*****==========	
		lda	#P_0AH_TimerLow
		sta	P_0AH_TimerLow_Data
		lda	#P_0BH_TimerHigh
		sta	P_0BH_TimerHigh_Data		;;set timer is 0.5s

		lda	#D_Timer_Source1_VDD+D_Timer_Source2_LSCK+D_Timer_Enable	 ;enable timer	 
		sta	P_09H_Timer_Set
;===========*****==========*****==========*****==========*****==========
		LDA	#D_2Hz_1Hz_SEL				;Set real-time clock 1Hz
		STA	P_0DH_Timer_Source2
		lda	#D_INT_T2HZ+D_INT_KEYC+D_INT_TMO   
  	sta	P_0EH_INT_SET					;Set Interrupt source: 1HZ+KeyC+TMO
  	lda	#D_WKU_T2HZ+D_WKU_KEYC+D_WKU_TMO					
		sta	P_07H_WKU_Set					;Set wakeup source: 1HZ+KeyChange+TMO
		cli
;===========================================================================
;	Start KeyCheck&Time Working
;===================================
LoopStartTest:									;Loop Check Funkey&Modekey
;---------------------------------------------
; 		Modify Hour
;---------------------------------------------
F_KeyProcess_Hour:
		jsr	S_WatchDogClear
		
		lda	P_03H_PortB_Data
		and	#FunSetTime;P_B0_Value
		bne	F_KeyProcess_Hour
F_ModeKeyProcess_Hour:
		jsr	S_WatchDogClear
		lda	P_03H_PortB_Data
		and	#FunSetTime;P_B0_Value
		beq	F_ModeKeyProcess_Hour		;;wait hour Modekey putup
F_ModifyHour:										;key press,goto midify Day
		%S_ShowSET
		jsr	S_ModifyHour
  	jsr	S_DisplayZeroOnSec
;---------------------------------------------
; 						Modify Minutes
;---------------------------------------------	
F_ModifyMinutes:							;key press,goto midify Minutes
		jsr	S_ModifyMinutes
  	jsr	S_DisplayZeroOnSec
F_OKKeyProcess:
		%S_ShutSET
		%S_ShowOK
		jsr	S_500ms_Delay
		%S_TurnOffOK
		jsr	S_DisplayZeroOnSec
		jmp	LoopStartTest
IRQ:
		pha
  	txa
		pha		        
  	lda	P_07H_WKU_Set
		tax
		jsr	S_WatchDogClear
;;---Check IRQ flag	
L_IRQ_ChechFlagLSCK:
		txa
		and	#D_WKU_LSCK_INT
		beq	L_IRQ_ChechFlagT2Hz
		lda	#D_WKU_LSCK_INT
		sta	P_08H_WKU_CLR		;;Clear interrupt flag
		jmp	lExitIRQ
L_IRQ_ChechFlagT2Hz:	
		txa
		and	#D_WKU_T2HZ
		beq	L_IRQ_CheckTMO
		lda	#D_WKU_T2HZ
		sta	P_08H_WKU_CLR		;;Clear interrupt flag
		jmp	Loop1HzProcess
L_IRQ_CheckTMO:
		txa
		and	#D_WKU_TMO
		beq	L_IRQ_CheckEXT1		;;Time Overflow
		lda	#D_WKU_TMO
		sta	P_08H_WKU_CLR			;;Clear interrupt flag
		jmp	Loop1_2HzProcess	;0.5s interrupt
L_IRQ_CheckEXT1:
		txa
		and	#D_WKU_EXT1
		beq	L_IRQ_OtherIRQ		;;EXT INT1-->recevie clock
		lda	#D_WKU_EXT1
		sta	P_08H_WKU_CLR			;;Clear interrupt flag
		jmp	lExitIRQ
L_IRQ_OtherIRQ:	
		lda	#D_WKU_HSCK_N+D_WKU_EXT2+D_WKU_KEYC;;Clear interrupt flag
		sta	P_08H_WKU_CLR
		jmp	lExitIRQ	
;;-----Check IRQ flag Over
;=*=*=*=*=*=*=*=*==*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*	
;;							1/2S Process
;=*=*=*=*=*=*=*=*==*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Loop1_2HzProcess:
		jsr	S_WatchDogClear
		lda	TimeTwoDotsValue
		eor	#sP_A0_Reverse
		sta	TimeTwoDotsValue
		%S_Show_TimeTwoDots				;;TimerTwoDots show per 1/2S
;		%S_FlashClock
		lda	R_KeyMenuLevel
 		and	#FlagLCDFlash
 		beq	L_IRQDoNotFlashLCD
 		%S_FlashClock							;;When modify the date,the "Clock" will flash
 		jsr	S_LCDFlashOneDigital
L_IRQDoNotFlashLCD:	
		jmp	lExitIRQ
;=*=*=*=*=*=*=*=*==*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*	
;;															1Hz	Process
;=*=*=*=*=*=*=*=*==*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Loop1HzProcess:								;tbd by RickDing
		jsr	S_WatchDogClear
		inc	rTimingValue
		jsr	F_DisplayInitializeSecondes	;;Show secondes
;--*****-------------****-------------****---------****--------------****------**---
L_LoopTimingTest:
		lda	rTimingValue
		cmp	#rOneMin
		bne	lExitIRQ		         ;;judge one minute(60 second),60s?YES--rMinutesData+1;NO--F_ExitIRQ,Loop Test 
		lda	#rTiming_Initialize_Sec
  	sta	rTimingValue			 	;;1 minute;clear second to 0S
;--*****-------------****-------------****---------****--------------****------**---
  	jsr	S_DisplaySecondes	 	;Test 1S	
;---****-------------****--------------****--------****--------------****------**---
		inc	rMinutesData
  	jsr	F_DisplayResult_minutes	;;after 60s,minutesdata+1&show minutes

  	lda	rMinutesData
		cmp	#rOneHour
  	bne	lExitIRQ					;;judge one hour(60 minutes)
  	lda	#InitializationValue
  	sta	rMinutesData			;60 minutes[one hour] later,set minutes=$00h
  	sta	rTimingValue			;60 minutes[one hour] later,set second=$00h	
  	jsr	F_DisplayResult_minutes
  	jsr	S_DisplaySecondes	
  	inc	rHourData
  	jsr	F_Display_hour
    
  	lda	rHourData
  	cmp	#rOneDay
  	bne	lExitIRQ								;;judge one day(24 hours)
    	
  	lda	#rHour_Initialize
  	sta	rHourData			
  	jsr	F_Display_hour					;;24 hours later,set hour=$00h&display
  
  	lda	#rMinutes_Initialize
  	sta	rMinutesData
  	jsr	F_DisplayResult_minutes ;;24 hours later,set minutes=$00h&display
  
  	lda	#rTiming_Initialize_Sec
  	sta	rTimingValue						;;one day[24 hours]later,set Second=$00h
  	jsr	S_DisplaySecondes
lExitIRQ:       
		pla
		tax	
		pla
		rti
	
NMI:
		nop
		nop
		rti
;--------------------Subroutine---------------------------
;;##########################################################################
;Function: Transfer Bin into BCD
;Input: rBcdBuffer,rBcdBuffer+1  十六進制數放入
;Input Data Format: Low byte-->rResult;High byte-->rResult+1
;Output:rBcdBuffer+1,rBcdBuffer  BCD十進制數放入
;Output Data Format: Low byte-->rBcdBuffer;High byte-->rBcdBuffer+3
;Example:FFB1(Hex) --> 65457(BCD)
;        rResult=B1,rResult+1=FF
;        rBcdBuffer=57,rBcdBuffer+1=54,rBcdBuffer+2=06
;Used Register and RAM:x,a,rResult,rResult+1
;called subroutine: none
;By: Tony Kuai 2007/10/14
;;############################################################################
F_HexToBcd:
		lda	rBcdBuffer
		sta	rResult
		lda	rBcdBuffer+1
		sta	rResult+1				;save input data
		sed									; Switch to decimal mode
		ldx	#16
		lda	#0
		sta	rBcdBuffer
		sta	rBcdBuffer+1
		sta	rBcdBuffer+2		;clear result regs
		clc
LoopGetBCD:		
		rol	rResult					; Shift out one bit
		rol	rResult+1				; Shift out one bit
		lda	rBcdBuffer			; And add into result
		adc	rBcdBuffer
		sta	rBcdBuffer
		lda	rBcdBuffer+1		; And add into result
		adc	rBcdBuffer+1
		sta	rBcdBuffer+1		   	
		lda	rBcdBuffer+2		; And add into result
		adc	rBcdBuffer+2                                 
		sta	rBcdBuffer+2                                 	
		dex									; And repeat for next bit
		bne		LoopGetBCD
		cld									; Back to binary
		rts 
;;***********************************************************
;;Function: Diaplay the Result,Include Digital and Unit
;;input:    rBcdBuffer,rBcdBuffer+1,rBcdBuffer+2
;;***********************************************************
F_Display_hour: 
		lda	rHourData
		sta	rBcdBuffer
		lda	#InitializationValue	;;display the minutes
    sta	rBcdBuffer+1
    jsr	F_HexToBcd
    lda	rBcdBuffer
		ror	a
		ror	a
		ror	a
		ror	a							
		and	#$0fh
		sta	rBcdBuffer+2			    		
		lda	rBcdBuffer					;;rBcdBuffer+2--0;rBcdBuffer+1--1
		and	#$0fh
		sta	rBcdBuffer+1
lDisplayNineBit:	
		lda	#Digital_9
 		ldx	rBcdBuffer+1				;;	    lcd 8 9
 		jsr	F_ShowDigital 		  ;;show hour 0 1 :
lDisplayEightBit:
		lda	#Digital_8
 		ldx	rBcdBuffer+2
 		jsr	F_ShowDigital 
 	
		rts 
;;***********************************************************
;;subroutine: S_DisplayInitializeSecondesOnLCD
;;Function: Display InitializeSecondes on LCD
;;input:    rBcdBuffer,rTimingValue
;;Output:	
;;Action:
;;Destroy:
;;Notes:
;;***********************************************************	
F_DisplayInitializeSecondes:
  	lda	rTimingValue
		sta	rBcdBuffer
		jsr	S_DisplaySecondes
	
		rts
;;***********************************************************
;;subroutine: S_DisplayInitializeSecondesOnLCD
;;Function: Display InitializeSecondes on LCD
;;input:    rTimingValue
;;Output:	
;;Action:
;;***********************************************************
S_DisplayZeroOnSec:		
		lda	#rTiming_Initialize_Sec
 		sta	rTimingValue
 		jsr	S_DisplaySecondes
 		 	
 		rts
;;***********************************************************
;;subroutine: S_DisplayYearlOnLCD
;;Function: Display year on LCD
;;input:    rBcdBuffer,rBcdBuffer+1
;;Output:	
;;Action:
;;Destroy:
;;Notes:
;;***********************************************************	
S_DisplayNameOnLCD:
L_DisplayFirstDigital:	
		lda	#Digital_1
 		ldx	#NumberR
 		jsr	F_ShowDigital 
L_DisplaySecondDigital:
		lda	#Digital_2
 		ldx	#Numberi
 		jsr	F_ShowDigital 
 L_DisplayThirdDigital:	
		lda	#Digital_3
 		ldx	#NumberC
 		jsr	F_ShowDigital 
L_DisplayFourDigital:
		lda	#Digital_4
 		ldx	#Numberk
 		jsr	F_ShowDigital
 		
 		rts
;;***********************************************************
;;Function: Diaplay the Result,Include Digital and Unit
;;input:    rBcdBuffer,rBcdBuffer+1,rBcdBuffer+2
;;***********************************************************
F_DisplayResult_minutes:
		lda	rMinutesData
		sta	rBcdBuffer
		lda	#InitializationValue	;;display the minutes

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品999在线播放| 最新国产成人在线观看| av在线这里只有精品| 亚洲国产成人精品视频| 久久久91精品国产一区二区三区| 在线免费观看日本欧美| 国产综合色产在线精品| 亚洲一区中文在线| 国产精品天干天干在观线| 91精品一区二区三区久久久久久| 99久久国产综合精品色伊| 精品在线一区二区三区| 性欧美疯狂xxxxbbbb| 国产精品国产三级国产专播品爱网| 欧美片在线播放| 日本道色综合久久| 岛国一区二区在线观看| 蓝色福利精品导航| 亚洲制服丝袜av| 综合激情网...| 久久色在线观看| 日韩亚洲欧美在线| 精品1区2区3区| 97久久超碰国产精品| 国产乱人伦偷精品视频免下载| 日韩在线一区二区| 一区二区三区美女视频| 国产精品理伦片| 国产亚洲精品免费| 久久久久久麻豆| 精品成人在线观看| 日韩女优毛片在线| 51午夜精品国产| 欧美日本国产一区| 欧美精品v国产精品v日韩精品| 91福利视频久久久久| 在线亚洲免费视频| 欧美在线观看视频一区二区| 日韩精品一区二区三区视频播放 | 中文字幕免费一区| 久久久久国色av免费看影院| 日韩一区二区三区免费看| 欧美日韩亚洲综合在线| 欧美日韩国产成人在线免费| 在线不卡中文字幕播放| 欧美美女网站色| 91精品国产免费| 日韩情涩欧美日韩视频| 精品久久国产老人久久综合| 欧美成人性福生活免费看| 精品久久久久久亚洲综合网 | 综合自拍亚洲综合图不卡区| 中文字幕一区三区| 中文字幕日本不卡| 中文字幕一区二区三区不卡| 亚洲视频在线观看三级| 一区二区久久久| 亚洲狠狠爱一区二区三区| 亚洲高清久久久| 日本不卡在线视频| 精品午夜久久福利影院| 精品写真视频在线观看 | 91.xcao| 欧美久久久久久久久久| 欧美一三区三区四区免费在线看| 日韩美一区二区三区| 日本一区二区三区在线不卡| 日韩美女精品在线| 日本午夜一本久久久综合| 国产一区二区三区在线看麻豆| 丁香婷婷综合网| 在线精品视频一区二区| 日韩欧美成人一区二区| 国产精品久久久久久久久动漫 | 国产精品欧美久久久久无广告| 亚洲日韩欧美一区二区在线| 亚洲二区视频在线| 九九**精品视频免费播放| 成人午夜视频网站| 欧美视频在线一区| 精品国产乱码久久久久久老虎 | 亚洲精品高清视频在线观看| 性做久久久久久| 国产91精品一区二区麻豆亚洲| 91黄色激情网站| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 91精品国产综合久久久蜜臀粉嫩| 久久综合网色—综合色88| 亚洲综合在线视频| 国产在线精品免费av| 色伊人久久综合中文字幕| 精品久久久久香蕉网| 夜夜嗨av一区二区三区四季av| 国产最新精品免费| 欧美在线高清视频| 欧美国产综合色视频| 天堂一区二区在线免费观看| 风间由美一区二区av101| 欧美美女bb生活片| 国产精品久久久99| 激情小说欧美图片| 欧美色成人综合| 国产精品久久网站| 免费在线看成人av| 91蜜桃传媒精品久久久一区二区 | 一区二区三区国产精品| 国产成人亚洲综合色影视| 欧美一区二区视频在线观看2020| 椎名由奈av一区二区三区| 国产呦精品一区二区三区网站| 欧美日韩国产中文| 亚洲黄色小说网站| av在线播放成人| 久久久久久99久久久精品网站| 午夜电影一区二区三区| 91丨porny丨在线| 国产精品久久免费看| 国产综合久久久久久久久久久久| 欧美日韩大陆一区二区| 亚洲视频一区在线| 成人毛片老司机大片| 26uuu欧美| 久久99精品视频| 欧美乱熟臀69xxxxxx| 一区二区三区成人在线视频| www.色综合.com| 国产精品乱人伦中文| 成人性生交大片免费| 亚洲国产精品v| 成人免费av在线| 国产精品短视频| av亚洲精华国产精华精华| 国产精品人妖ts系列视频| 国产精品一区二区三区网站| 精品99久久久久久| 国产成人自拍网| 国产亚洲精品7777| av电影在线不卡| 综合久久一区二区三区| 91精品办公室少妇高潮对白| 亚洲裸体xxx| 欧美性猛交xxxxxxxx| 亚洲成a人v欧美综合天堂下载 | 国产自产v一区二区三区c| 欧美大胆一级视频| 国产原创一区二区三区| 欧美高清一级片在线观看| 成人精品小蝌蚪| 日韩毛片高清在线播放| 一本大道久久a久久综合| 一区二区三区产品免费精品久久75| 在线观看三级视频欧美| 亚洲va欧美va天堂v国产综合| 91精品黄色片免费大全| 国产乱对白刺激视频不卡| 中文字幕第一页久久| 91久久精品一区二区二区| 午夜精品久久久久久久久| 日韩欧美视频在线| 国产黄色91视频| 一区二区三区在线免费播放| 欧美日韩精品一区二区天天拍小说 | 久久精品二区亚洲w码| 久久只精品国产| 99久久国产综合精品麻豆| 香蕉成人伊视频在线观看| 日韩欧美精品三级| 国产99久久久国产精品潘金网站| 综合久久给合久久狠狠狠97色| 欧美专区日韩专区| 美国三级日本三级久久99| 欧美国产日本韩| 欧美日韩高清影院| 国产高清视频一区| 亚洲午夜久久久久久久久电影网 | 欧美电影一区二区| 国产另类ts人妖一区二区| 亚洲另类色综合网站| 日韩一区二区电影| 成人18视频在线播放| 婷婷中文字幕综合| 国产欧美日韩视频一区二区| 欧美亚洲一区二区三区四区| 九九九久久久精品| 亚洲精品va在线观看| wwwwww.欧美系列| 欧美影院一区二区三区| 国产毛片精品视频| 亚洲一级二级三级| 国产日韩三级在线| 欧美精品三级日韩久久| 成人高清av在线| 麻豆成人av在线| 夜夜揉揉日日人人青青一国产精品 | 免费的国产精品| 一区二区日韩电影| 中文字幕免费在线观看视频一区| 欧美人与性动xxxx| 色婷婷国产精品久久包臀| 国产成人午夜视频|