⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timeclk.bas

📁 proteus 仿真实例
💻 BAS
字号:
'-----------------------------------------------------------------------------
' 
' Sample program clock and temperature guage
'
'
'
'
'
'
'
'
'		(C)2002, Advanced Digital Technologies
'                                                                                                                                                                                                      
'=============================================================================
'
'
SYMBOL	ticks	= B0
SYMBOL	count	= B1
SYMBOL	hours	= B2
SYMBOL	minutes	= B3
SYMBOL	seconds	= B4
SYMBOL	temp	= B5
SYMBOL	prnPos	= B6
SYMBOL	data	= B7
SYMBOL	clocks	= B8
SYMBOL	last	= B9
SYMBOL	I		= 254
SYMBOL	L2		= 192
SYMBOL	clr		= 1
SYMBOL	LCD		= 7
SYMBOL	CLK		= 2
SYMBOL	setRun	= PIN0
SYMBOL	incMin	= PIN1
SYMBOL	incHrs	= PIN2
SYMBOL	clkIn	= PIN3
SYMBOL	set		= 0
SYMBOL	hold 	= 1
SYMBOL	run		= 1
SYMBOL	timePos	= 135


'-----------------------------------------------------------------------------
' 
'                                                                                                                                                                                                      
'=============================================================================
Begin:
	LET			DIRS = $F0
	PAUSE		200
	
	SEROUT		LCD,N2400,(I,clr)
	SEROUT		LCD,N2400,("Time:")


'-----------------------------------------------------------------------------
' 
'                                                                                                                                                                                                      
'=============================================================================	
doTiming:	
	IF setRun = set THEN setClock
	IF clkIn = BIT0 THEN doTiming
'	LET			last = clkIn
	LET			ticks = ticks + 1 & %11
	IF ticks <> 3 THEN doTiming
	GOSUB		incTime
	GOSUB		showTime
	GOTO		doTiming
	
	
'-----------------------------------------------------------------------------
' 
'                                                                                                                                                                                                      
'=============================================================================	
setClock:
	IF setRun = run THEN doTiming
	LET			seconds = 0
	IF incMin = hold THEN ckHours
	GOSUB		incMinutes
	GOTO		setDone

ckHours:
	IF incHrs = hold THEN setClock
	GOSUB		incHours
	
setDone:
	GOSUB		showTime
	PAUSE		200
	GOTO		setClock
	
					
'-----------------------------------------------------------------------------
' 
'                                                                                                                                                                                                      
'=============================================================================	
showTime:
	SEROUT		LCD,N2400,(I,timepos)
	LET			count = hours
	GOSUB		showDigs
	SEROUT		LCD,N2400,(":")
	LET			count = minutes
	GOSUB		showDigs
	SEROUT		LCD,N2400,(":")
	LET			count = seconds
	GOSUB		showDigs
	RETURN
	
		
'-----------------------------------------------------------------------------
' 
'                                                                                                                                                                                                      
'=============================================================================	
showDigs:
	LET			temp = count / 10
	SEROUT		LCD,N2400,(#temp)
	LET			temp = count // 10
	SEROUT		LCD,N2400,(#temp)
	RETURN
	
	
'-----------------------------------------------------------------------------
' 
'                                                                                                                                                                                                      
'=============================================================================	
incTime:
	LET			seconds = seconds + 1
	IF seconds < 60 THEN done
	LET			seconds = 0
incMinutes:
	LET			minutes = minutes + 1
	IF minutes < 60 THEN done
	LET			minutes = 0
incHours:
	LET			hours = hours + 1
	IF hours < 13 THEN done
	LET			hours = 1
done:
	RETURN
				


			

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -