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

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

?? alarm.asm

?? ateml89s51單片機
?? ASM
字號:
;測試版
;***************************************************************
RS             	BIT     P3.4
R_W             BIT     P3.5
ENABLE          BIT     P3.3
ALARM		BIT	P3.2				;鬧鐘指示
TIME_GO_FLAG	BIT	00H				;標志位,1表示定時1秒鐘到
ALARM_FLAG	BIT	01H				;鬧鈴標志,1設定狀態(tài),0設定結束
DB0_DB7         DATA    P1
;****************************************************************
;R6,R7:延時程序用于計數
;R3,R4,R5終端中使用
;R2:KEY_SCAN子程序:鍵掃描計數
;****************************************************************		
		ORG	0000H
		SJMP	MAIN
		ORG	000BH
		LJMP	INTERRUPT
		ORG	0040H
MAIN:		MOV	SP,#5FH
		
		LCALL	ALARM_INITIAL			;鬧鐘緩沖區(qū)初始化
		LCALL	DISBUF_INITIAL
		
		MOV	TIME_50MS,#20			;定時計數,一次50ms,20次1秒
		SETB	F0				;標志位,標志是否進入時間設定狀態(tài),
							;F0=1,進入時間設定狀態(tài)
		MOV	TMOD,#01H			;定時初始化,定時50ms
		MOV	TL0,#0B0H
		MOV	TH0,#3CH
	
		SETB	EA
		
	
		LCALL	CLS
		LCALL	LCD_INITIAL			;LCD初始化
		

		MOV     A,#10000000B           		 ;set the address
                CALL    Write_instruction
                MOV     DPTR,#SET_TIME
                CALL    PR_STRING

MAIN_LOOP:   	LCALL	DISPLAY
		MOV	C,TIME_GO_FLAG
		JNC	NEXT
		LCALL	TIME_GO
		LCALL	CHECK_ALARM
NEXT:		LCALL	KEY_SCAN
		CJNE	A,#08H,DELAY_YES		;無鍵按下,不需要延時
		SJMP	JMP_DELAY
DELAY_YES:	LCALL	DELAY1
JMP_DELAY:	MOV	TEMP,A				;散轉
		RL	A
		ADD	A,TEMP
		MOV	DPTR,#PMTB
		JMP	@A+DPTR
PMTB:		LJMP	PM0
		LJMP	PM1
		LJMP	PM2
		LJMP	PM3
		LJMP	PM4
		LJMP	PM5
		LJMP	PM6
		LJMP	PM7
		LJMP    MAIN_LOOP

;*****************************************************************
;PM0:定時設定開關,k0按下,開始時間設定,再次按下,結束設定
;*****************************************************************
PM0:		MOV	C,F0				;進入設定狀態(tài)
		JC	SET_OVER
		CLR	ET0
		CLR	TR0
		SETB	F0
				
		LCALL	CLS
		MOV     A,#10000000B            ;set the address
                CALL    Write_instruction
                MOV     DPTR,#SET_TIME
                CALL    PR_STRING

		LJMP	MAIN_LOOP

SET_OVER:	MOV	TH0,#3CH
		MOV	TL0,#0B0H
		SETB	ET0
		SETB	TR0				;結束設定狀態(tài),返回
		CLR	F0
		LCALL	CLS
	
		MOV     A,#10000000B            	;set the address
                CALL    Write_instruction
                MOV     DPTR,#LINE1
                CALL    PR_STRING

		LJMP	MAIN_LOOP
;*****************************************************************
;PM1:k1按下,秒加1
;*****************************************************************
PM1:		MOV	C,F0
		JNC	RET_PM1

		MOV	A,SECOND
		CJNE	A,#59,SEC_UP
		MOV	SECOND,#0
		LJMP	MAIN_LOOP
SEC_UP:		INC	SECOND
RET_PM1:	LJMP	MAIN_LOOP
;*****************************************************************
;PM2:k2按下,分加1
;*****************************************************************
PM2:		MOV	C,ALARM_FLAG
		JC	ALARM_MIN_SET			;鬧鐘設定有效	
		MOV	C,F0
		JNC	RET_PM2
		MOV	A,MINUTE			;時間設定有效
		CJNE	A,#59,MIN_UP
		MOV	MINUTE,#0
		SJMP	RET_PM2

ALARM_MIN_SET:	MOV	A,ALARM_MIN		
		CJNE	A,#59,ALARM_MIN_UP
		MOV	ALARM_MIN,#0
		SJMP	RET_PM2
MIN_UP:		INC	MINUTE
		SJMP	RET_PM2
ALARM_MIN_UP:	INC	ALARM_MIN
RET_PM2:	LJMP	MAIN_LOOP
;*****************************************************************
;PM3:k3按下,時加1
;*****************************************************************
PM3:		MOV	C,ALARM_FLAG
		JC	ALARM_HOU_SET
		MOV	C,F0
		JNC	RET_PM3
		MOV	A,HOUR
		CJNE	A,#23,HOU_UP
		MOV	HOUR,#0
		SJMP	RET_PM3

ALARM_HOU_SET:	MOV	A,ALARM_HOU
		CJNE	A,#23,ALARM_HOU_UP
		MOV	ALARM_HOU,#0
		SJMP	RET_PM3
HOU_UP:		INC	HOUR
		SJMP	RET_PM3
ALARM_HOU_UP:	INC	ALARM_HOU
RET_PM3:	LJMP	MAIN_LOOP

PM4:		LJMP	MAIN_LOOP
PM5:		LJMP	MAIN_LOOP
PM6:		LJMP	MAIN_LOOP
;*****************************************************************
;PM7:k7按下,鬧鈴設定開啟
;*****************************************************************
PM7:		MOV	C,F0
		JC	RET_ALARM
		MOV	C,ALARM_FLAG
		JC	ALARM_SET_OVER
		SETB	ALARM_FLAG

		LCALL	CLS
		MOV     A,#10000000B            ;set the address
                CALL    Write_instruction
                MOV     DPTR,#ALARM_SET
                CALL    PR_STRING

		SJMP	RET_ALARM
ALARM_SET_OVER:	CLR	ALARM_FLAG
		
		LCALL	CLS
		MOV     A,#10000000B            ;set the address
                CALL    Write_instruction
                MOV     DPTR,#LINE1
                CALL    PR_STRING

RET_ALARM:	LJMP	MAIN_LOOP
;*****************************************************************
;INTERRUPT:中斷處理程序
;*****************************************************************
INTERRUPT:	PUSH	ACC
		PUSH	PSW
		PUSH	00H				;R0入棧保護
		MOV	TL0,#0B0H
		MOV	TH0,#3CH
		DJNZ	TIME_50MS,RET_INT
		SETB	TIME_GO_FLAG
		MOV	TIME_50MS,#20			;1秒鐘	
RET_INT:	POP	00H
		POP	PSW
		POP	ACC
		RETI
;*****************************************************************
;CHECK_ALARM子程序:判鬧鐘時間到
;*****************************************************************
CHECK_ALARM:	MOV	A,HOUR
		MOV	TEMP,ALARM_HOU
		CJNE	A,TEMP,NO_ALARM
		MOV	A,MINUTE
		MOV	TEMP,ALARM_MIN
		CJNE	A,TEMP,NO_ALARM
		MOV	A,ALARM_SEC
		CJNE	A,#0,RET_CHECK
		CLR	ALARM
		SJMP	RET_CHECK
NO_ALARM:	SETB	ALARM
RET_CHECK:	RET
;*****************************************************************
;KEY_SCAN子程序:鍵掃描
;*****************************************************************
KEY_SCAN:
		MOV	A,P0
		CJNE	A,#0FFH,KEY_CONFIRM
		SJMP	NO_KEY_DOWN
KEY_CONFIRM:	LCALL	DELAY
		MOV	A,P0
		CJNE	A,#0FFH,KEY_DOWN
		SJMP	NO_KEY_DOWN
KEY_DOWN:	MOV	KEY,#0
		MOV	R2,#8
KEY_LOOP:	RRC	A
		JNC	FOUND
		INC	KEY
		DJNZ	R2,KEY_LOOP
FOUND:		MOV	A,KEY
		RET
NO_KEY_DOWN:	MOV	A,#08H
		RET
;*****************************************************************
;TIME_GO子程序:時鐘增長
;*****************************************************************
TIME_GO:	
		MOV	A,SECOND
		CJNE	A,#59,SEC_ADD
		MOV	SECOND,#0
		MOV	A,MINUTE
		CJNE	A,#59,MIN_ADD
		MOV	MINUTE,#0
		MOV	A,HOUR
		CJNE	A,#23,HOU_ADD
		MOV	HOUR,#0
		SJMP	RET_GO
HOU_ADD:	INC	HOUR
		SJMP	RET_GO
MIN_ADD:	INC	MINUTE
		SJMP	RET_GO
SEC_ADD:	INC	SECOND
RET_GO:		CLR	TIME_GO_FLAG
		RET

;*****************************************************************
;BINARY_TO_BCD子程序
;入口R3,出口R4
;*****************************************************************
BINARY_TO_BCD:	
		MOV	R4,#0
		MOV	R5,#8
		
BCD_LOOP:	CLR	C
		MOV	A,R3
		RLC	A
		MOV	R3,A
		MOV	A,R4			;低位在R4
		ADDC	A,R4
		DA	A
		MOV	R4,A
		DJNZ	R5,BCD_LOOP
		RET
;*****************************************************************
;DISBUF_INITIAL子程序
;初始化時鐘顯示緩沖區(qū)
;*****************************************************************
DISBUF_INITIAL:
		MOV	A,#00H
		MOV	R7,#8
		MOV	R0,#HOU_HIGH
CLR_BUF:	MOV	@R0,A				
		INC	R0
		DJNZ	R7,CLR_BUF
		MOV	42H,#0AH			;分秒中間的'-'
		MOV	45H,#0AH
;***************** 時間二進制緩沖區(qū)初始化 ***********************
		MOV	SECOND,#00H
		MOV	MINUTE,#00H
		MOV	HOUR,#00H
		RET

;*****************************************************************
;ALARM_INITIAL子程序
;初始化鬧鐘顯示緩沖區(qū)
;*****************************************************************
ALARM_INITIAL:
		MOV	5AH,#0				;鬧鐘緩沖時清零
		MOV	5BH,#0				;鬧鐘緩沖分清零
		MOV	5CH,#0				;鬧鐘緩沖秒清零
		SETB	ALARM				;鬧鐘關閉
		CLR	ALARM_FLAG			;清除鬧鐘標志,初始不進入鬧鐘設定狀態(tài)
		RET
;*****************************************************************
;DISPLAY子程序
;時鐘顯示
;*****************************************************************
DISPLAY:		
		MOV     A,#11000000B          		;設置顯示初始位置,第二行開始顯示
                CALL    Write_instruction

		MOV	C,ALARM_FLAG
		JC	ALARM_DISP
              	
		MOV	R3,SECOND
		LCALL	TO_SEC_BUF			;將時鐘秒值轉移到秒的顯示緩沖
		MOV	R3,MINUTE
		LCALL	TO_MIN_BUF
		MOV	R3,HOUR
		LCALL	TO_HOU_BUF
		SJMP	DIS_START

ALARM_DISP:	MOV	R3,ALARM_SEC
		LCALL	TO_SEC_BUF
		MOV	R3,ALARM_MIN
		LCALL	TO_MIN_BUF
		MOV	R3,ALARM_HOU
		LCALL	TO_HOU_BUF

DIS_START:	MOV	R0,#HOU_HIGH
DIS_LOOP:	MOV	A,@R0
                MOV	DPTR,#TABLE
		MOVC	A,@A+DPTR
                CALL    WriteLCDData
		INC	R0
                CJNE	R0,#48H,DIS_LOOP
               
		RET
;*****************************************************************
;TO_SEC_BUF子程序
;將時鐘秒值轉移到秒的顯示緩沖,入口參數R3
;*****************************************************************
TO_SEC_BUF:	LCALL	BINARY_TO_BCD
		MOV	A,R4
		ANL	A,#0FH
		MOV	SEC_LOW,A
		MOV	A,R4
		ANL	A,#0F0H
		SWAP	A
		MOV	SEC_HIGH,A
		RET
;*****************************************************************
;TO_MIN_BUF子程序
;將時鐘分值轉移到分的顯示緩沖,入口參數R3
;*****************************************************************
TO_MIN_BUF:	LCALL	BINARY_TO_BCD
		MOV	A,R4
		ANL	A,#0FH
		MOV	MIN_LOW,A
		MOV	A,R4
		ANL	A,#0F0H
		SWAP	A
		MOV	MIN_HIGH,A
		RET
;*****************************************************************
;TO_HOU_BUF子程序
;將時鐘時值轉移到時的顯示緩沖,入口參數R3
;*****************************************************************
TO_HOU_BUF:	LCALL	BINARY_TO_BCD
		MOV	A,R4
		ANL	A,#0FH
		MOV	HOU_LOW,A
		MOV	A,R4
		ANL	A,#0F0H
		SWAP	A
		MOV	HOU_HIGH,A
		RET
;*****************************************************************
;LCD_INITIAL子程序
;定LCM使用8bits匯流排、顯示兩行、使用5×7字型、顯示器要顯示、光標
;要顯示但不閃爍
;*****************************************************************
LCD_INITIAL:
                MOV     A,#00111000B
                CALL    Write_instruction

                MOV     A,#00001100B
                CALL    Write_instruction

                MOV     A,#00000110B
                CALL    Write_instruction
                RET
;*****************************************************************
;CheckBusy

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品欧美一区二区三区麻豆 | 精品国产乱码久久久久久老虎| 精品国产99国产精品| 午夜欧美在线一二页| 日韩中文字幕一区二区三区| 成人性生交大片免费看中文| 美女视频黄 久久| av一本久道久久综合久久鬼色| 51午夜精品国产| 一二三区精品视频| 国产精品18久久久久| 欧美一区二区三区思思人 | 91在线视频免费91| 欧美成人官网二区| 亚洲r级在线视频| 91啪亚洲精品| 中文av字幕一区| 国产一区二区主播在线| 欧美二区在线观看| 亚洲香蕉伊在人在线观| 91视频com| 中文字幕日韩av资源站| 国产69精品久久777的优势| 欧美tk丨vk视频| 日韩成人精品视频| 欧美剧在线免费观看网站| 亚洲乱码国产乱码精品精的特点| 国产精品一区二区男女羞羞无遮挡| 日韩欧美中文一区| 日韩—二三区免费观看av| 欧美日韩国产成人在线免费| 亚洲午夜一二三区视频| 欧美日韩午夜在线视频| 亚洲国产aⅴ成人精品无吗| 在线看国产一区| 亚洲成人av电影在线| 欧美人妇做爰xxxⅹ性高电影 | 国产精品乱子久久久久| 成人综合婷婷国产精品久久| 国产欧美一区二区精品秋霞影院| 国产精品一二三区在线| 亚洲国产精品av| 92国产精品观看| 亚洲国产一区在线观看| 在线播放中文一区| 麻豆成人91精品二区三区| 337p日本欧洲亚洲大胆色噜噜| 捆绑变态av一区二区三区| 精品美女在线播放| 成人在线一区二区三区| 亚洲欧美日韩国产成人精品影院| 欧美综合色免费| 日韩 欧美一区二区三区| 精品电影一区二区三区| 国产成人夜色高潮福利影视| 国产精品国产精品国产专区不片 | 麻豆专区一区二区三区四区五区| 精品成人佐山爱一区二区| 国产一区二区三区在线观看免费| 中文字幕va一区二区三区| 色一区在线观看| www.欧美日韩| 性感美女极品91精品| 2021国产精品久久精品| 99re热这里只有精品视频| 亚洲国产欧美另类丝袜| 久久婷婷国产综合国色天香| 99久久99久久久精品齐齐| 全部av―极品视觉盛宴亚洲| 国产天堂亚洲国产碰碰| 欧美中文字幕一二三区视频| 精品一区二区三区av| 亚洲欧美日韩在线| 精品国产一区二区在线观看| 91麻豆视频网站| 久久国产麻豆精品| 尤物在线观看一区| 日韩一区二区三区在线观看| 99国产欧美另类久久久精品| 日韩精品免费视频人成| 国产精品初高中害羞小美女文| 7777精品伊人久久久大香线蕉最新版| 国产成人综合在线播放| 婷婷国产v国产偷v亚洲高清| 综合久久国产九一剧情麻豆| 精品国产乱码久久久久久图片| 91久久久免费一区二区| 国产高清亚洲一区| 日韩电影在线一区二区| 亚洲特黄一级片| 欧美精彩视频一区二区三区| 日韩一区二区影院| 欧美日韩在线一区二区| 91丝袜国产在线播放| 国产美女视频91| 久久91精品久久久久久秒播| 性做久久久久久久免费看| 亚洲欧洲中文日韩久久av乱码| 国产日韩欧美综合一区| 欧美精品一区视频| 欧美一区二区三区成人| 欧美日本一道本在线视频| 色综合天天在线| www.亚洲免费av| 成人夜色视频网站在线观看| 国产精品综合二区| 韩国欧美国产1区| 久久99精品国产.久久久久久| 丝袜诱惑亚洲看片| 亚洲国产欧美日韩另类综合| 亚洲乱码国产乱码精品精可以看 | 久久久久99精品国产片| 欧美人伦禁忌dvd放荡欲情| 99久久国产综合色|国产精品| 不卡一区中文字幕| 狠狠狠色丁香婷婷综合激情 | 91福利视频在线| www.在线欧美| 丁香亚洲综合激情啪啪综合| 国产成人午夜99999| 久久成人av少妇免费| 日本欧美一区二区三区乱码| 一区二区三区欧美| 亚洲精品免费在线| 久久婷婷成人综合色| 国产精品美女久久久久久久| 国产午夜一区二区三区| 久久婷婷综合激情| 久久久久久久久99精品| 欧美大片拔萝卜| 美国十次了思思久久精品导航| 午夜精品久久一牛影视| 亚洲福中文字幕伊人影院| 亚洲三级视频在线观看| 亚洲欧美激情在线| 欧美大胆人体bbbb| 久久精品人人做| 国产精品午夜久久| 国产精品久久久久毛片软件| 国产精品国产三级国产专播品爱网| 久久九九久久九九| 最新高清无码专区| 亚洲综合久久av| 亚洲国产精品影院| 日韩精品一二区| 精品在线免费观看| 成人自拍视频在线| 91久久免费观看| 91精品国产免费| 久久久亚洲午夜电影| 国产欧美一区二区三区鸳鸯浴 | 日本成人在线不卡视频| 乱一区二区av| 精久久久久久久久久久| 国产精品99久久久久久似苏梦涵| 成人午夜伦理影院| 色婷婷综合久久久| 欧美电影在哪看比较好| 精品国产一区二区三区久久影院| 3d动漫精品啪啪1区2区免费| 久久综合中文字幕| 亚洲欧美日韩精品久久久久| 日韩精品国产精品| 国产成人午夜精品5599| 91精品国产一区二区人妖| 久久久亚洲高清| 亚洲黄色免费网站| 蜜桃久久av一区| 91婷婷韩国欧美一区二区| 精品国产污网站| 一区二区日韩av| 国产在线不卡一卡二卡三卡四卡| www.日本不卡| 精品噜噜噜噜久久久久久久久试看| 亚洲色欲色欲www| 国内外成人在线| 欧美日韩一区小说| 亚洲国产成人自拍| 视频一区在线播放| yourporn久久国产精品| 久久久久97国产精华液好用吗| 亚洲一区二三区| 国产老妇另类xxxxx| 欧美日韩久久不卡| 久久综合九色综合欧美98| 亚洲精品国产一区二区三区四区在线| 久久99久久久久| 欧美三级资源在线| 国产精品网站在线观看| 国产精品一二三四| 欧美一区二区啪啪| 一区二区成人在线视频| 懂色av一区二区三区蜜臀 | 欧美一卡2卡3卡4卡| 一区二区三区在线视频观看 | 日韩亚洲电影在线| 一区二区三区电影在线播| 国产成人精品在线看| 亚洲va在线va天堂| 精品无人区卡一卡二卡三乱码免费卡|