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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? clock.asm

?? 數(shù)字鐘的單片機(jī)實(shí)現(xiàn)
?? ASM
字號(hào):
SCL   EQU P1.2
SDA   EQU P1.3

ORG   0000H
AJMP  MAIN

ORG   000BH
AJMP  TIME

ORG 0300H
MAIN:
MOV  20H,#00H	  ;25ms定時(shí)計(jì)數(shù)器
MOV	 21H,#50H	  ;秒
MOV  22H,#30H     ;分
MOV  23H,#12H     ;時(shí)
MOV  24H,#08H	  ;日
MOV  25H,#06H	  ;月
MOV  26H,#07H	  ;
MOV  27H,#20H	  ;年

MOV  30H,#00H     ;當(dāng)30H里的值為00H時(shí),數(shù)碼管顯示時(shí)間;
				  ;當(dāng)30H里的值為0FFH時(shí),數(shù)碼管顯示日期;
				  ;默認(rèn)顯示時(shí)間
MOV  31H,#00H     ;但31H里的值為00H時(shí),鬧鐘關(guān)閉
				  ;但31H里的值為0FFH時(shí),鬧鐘打開(kāi)
				  ;默認(rèn)為關(guān)閉,通過(guò)按鍵P3.7打開(kāi)

MOV  32H,#00H	  ;若32H為0FFH,則啟動(dòng)鬧鐘計(jì)數(shù)器,使鬧鐘響5秒

MOV  33H,#00H     ;鬧鐘計(jì)數(shù)器

MOV  34H,#00H	  ;鬧鐘調(diào)整:若為0FFH則進(jìn)入調(diào)整,使數(shù)碼管顯示鬧鐘時(shí)刻

MOV  40H,#00H	  ;鬧鐘,分
MOV  41H,#00H	  ;鬧鐘,時(shí)

MOV   A,#00H      ;24c02的讀地址,讀到數(shù)據(jù)為分
LCALL RD24
MOV   40H,A
NOP
MOV   A,#01H	  ;讀地址,讀到數(shù)據(jù)為時(shí)
LCALL RD24
MOV   41H,A

MOV  IP,#02H	  ;設(shè)置中斷優(yōu)先級(jí)
MOV  IE,#82H	  ;設(shè)置中斷允許
MOV  TMOD,#01H	  ;設(shè)置定時(shí)器T0的工作方式,16位計(jì)數(shù)器
MOV  TL0,#00H	  ;定時(shí)器的間隔為25ms,初值為A600H,晶振頻率為11.0592MHz
MOV  TH0,#0A6H
SETB TR0		  ;啟動(dòng)定時(shí)器T0

MOV  SP,#50H      ;重新設(shè)置堆棧指針

CLR  P1.0

NEXT:

MOV    A,31H		;判斷是否允許鬧鐘
CJNE   A,#0FFH,NOSPEAKER
LCALL  NAOZHONG
MOV    A,32H		;判斷是否到了鬧鐘時(shí)刻
CJNE   A,#0FFH,NOSPEAKER
LCALL  SPEAKER
NOSPEAKER:

MOV    A,31H		;鬧鐘開(kāi),LED燈點(diǎn)亮
CJNE   A,#0FFH,N_LED
CLR    P1.1
AJMP   LED_END
N_LED:
SETB   P1.1
LED_END:


;檢測(cè)是否有按鍵按下
LCALL  KEY
;MOV    A,R6
JNZ	   ANSKEY	   ;P3口有按鍵按下
MOV    A,B
JZ     DISP		   ;P1口沒(méi)有按鍵按下
MOV    A,#00H
ANSKEY:
LCALL  ANKEY

DISP:
MOV    A,34H
JNZ    G2

MOV    A,30H
JNZ    G0		  ;顯示年、月、日
		
LCALL  DISP2   ;調(diào)用時(shí)、分、秒顯示子程序
SJMP   G1

G0:
LCALL  DISP1   ;調(diào)用年、月、日顯示子程序
SJMP   G1

G2:
LCALL  DISP3   ;顯示鬧鐘時(shí)刻

G1:
SJMP   NEXT    ;循環(huán)顯示

;主程序結(jié)束

;定時(shí)器處理子程序
TIME:
PUSH  ACC
PUSH  PSW

MOV   TL0,#00H		      ;重置定時(shí)器初值
MOV   TH0,#0A6H

INC   20H
MOV   A,20H
CJNE  A,#40,RETITIME	 ;如果25ms計(jì)數(shù)器的值為40時(shí),即1秒到
MOV   20H,#00H

;--------------------------------------------
;鬧鐘計(jì)數(shù)器處理模塊
MOV   A,32H
CJNE  A,#0FFH,N_NAOZHONG
MOV   A,33H
INC   A
MOV   33H,A
CJNE  A,#05H,N_NAOZHONG
MOV   31H,#00H
MOV   32H,#00H
MOV   33H,#00H

N_NAOZHONG:
;--------------------------------------------


MOV   A,21H			     ;秒處理
ADD   A,#01H
DA    A
MOV   21H,A
CJNE  A,#60H,RETITIME	 ;1分到
MOV   21H,#00H


MOV   A,22H				 ;分處理
ADD   A,#01H
DA    A
MOV   22H,A
CJNE  A,#60H,RETITIME    ;1時(shí)到
MOV   22H,#00H

MOV   A,23H	    		 ;時(shí)處理
ADD   A,#01H
DA    A
MOV   23H,A
CJNE  A,#24H,RETITIME	 ;1天到
MOV   23H,#00H

MOV   A,24H				 ;天處理
ADD   A,#01H
DA    A
MOV   24H,A
ACALL MONTH
CJNE  A,24H,RETITIME	 ;1月到
MOV   24H,#01H

MOV   A,25H			     ;月處理
ADD   A,#01H
DA	  A
MOV   25H,A
CJNE  A,#13H,RETITIME    ;1年到
MOV   25H,#01H

MOV   A,26H				 ;年處理
CJNE  A,#99H,NO_OH_YEAR	 ;
MOV   26H,#00H			 ;100年到
AJMP  OH_YEAR
NO_OH_YEAR:
ADD   A,#01H
DA    A
MOV   26H,A
AJMP  RETITIME

OH_YEAR:
MOV	  A,27H
ADD   A,#01H
DA    A
MOV   27H,A

RETITIME:
POP   PSW
POP   ACC
RETI                ;時(shí)間處理子程序結(jié)束

;月份處理子程序,返回值為當(dāng)前月份數(shù),存在A中
MONTH:
MOV  A,25H
XRL  A,#01H
JZ	 LAB1	       ;一月
MOV  A,25H
XRL  A,#02H
JZ	 LAB2
MOV  A,25H
XRL  A,#03H
JZ	 LAB1
MOV  A,25H
XRL  A,#04H
JZ	 LAB3
MOV  A,25H
XRL  A,#05H
JZ	 LAB1
MOV  A,25H
XRL  A,#06H
JZ	 LAB3
MOV  A,25H
XRL  A,#07H
JZ	 LAB1
MOV  A,25H
XRL  A,#08H
JZ	 LAB1
MOV  A,25H
XRL  A,#09H
JZ	 LAB3
MOV  A,25H
XRL  A,#10H
JZ	 LAB1
MOV  A,25H
XRL  A,#11H
JZ	 LAB3
MOV  A,25H
XRL  A,#12H
LAB1:     
MOV	 A,#32H
AJMP RETMONTH
LAB2:	
MOV	 A,#29H
AJMP RETMONTH
LAB3:	
MOV	 A,#31H
RETMONTH:	
RET		;月份處理子程序結(jié)束

;年、月、日顯示子程序
DISP1:
MOV  A,24H      ;處理日數(shù)
ANL  A,#0FH
MOV  2FH,A		;2FH里為日的低4位譯碼
MOV  A,24H
ANL  A,#0F0H
SWAP A
MOV  2EH,A		;2EH里為日的高4位譯碼

MOV	 A,25H		;處理月數(shù)
ANL	 A,#0FH
MOV	 2DH,A
MOV  A,25H
ANL	 A,#0F0H
SWAP A
MOV  2CH,A

MOV	 A,26H		;處理年數(shù)
ANL  A,#0FH
MOV	 2BH,A
MOV	 A,26H
ANL	 A,#0F0H
SWAP A
MOV	 2AH,A

MOV	 A,27H
ANL	 A,#0FH
MOV	 29H,A
MOV  A,27H
ANL	 A,#0F0H
SWAP A
MOV	 28H,A

;對(duì)顯示數(shù)據(jù)譯碼
MOV  R0,#2FH    	;顯示數(shù)據(jù)的地址為:2FH--28H
MOV  R3,#08H    	;顯示在8個(gè)數(shù)碼管上
MOV  DPTR,#TABLE
MOV  A,#80H	   		;顯示數(shù)碼管地址
LOOP1:
MOV  B,A
MOV  P2,A      		;送出數(shù)碼管地址
MOV  A,@R0
MOVC A,@A+DPTR
MOV  P0,A
MOV  R2,#40H     	;延時(shí)
DJNZ R2,$        	;在當(dāng)前位置循環(huán)
DEC  R0 		 	;指向下一個(gè)顯示數(shù)據(jù)地址
MOV  A,B
RR   A 				;改變數(shù)碼管顯示地址
DJNZ R3,LOOP1
RET					;年、月、日顯示子程序結(jié)束

;時(shí)、分、秒顯示子程序
DISP2:
MOV  A,21H			;秒處理
ANL  A,#0FH
MOV  2FH,A			;低4位存在2FH里
MOV  A,21H
ANL  A,#0F0H
SWAP A
MOV  2EH,A

MOV  2DH,#0AH	   	;顯示一個(gè)“-”

MOV  A,22H			;分處理
ANL  A,#0FH
MOV  2CH,A
MOV  A,22H
ANL  A,#0F0H
SWAP A
MOV  2BH,A

MOV  2AH,#0AH	   	;顯示一個(gè)“-”

MOV  A,23H			;時(shí)處理
ANL  A,#0FH
MOV  29H,A
MOV  A,23H
ANL  A,#0F0H
SWAP A
MOV  28H,A

;對(duì)顯示數(shù)據(jù)譯碼
MOV  R0,#2FH
MOV  R3,#08H
MOV  DPTR,#TABLE
MOV  A,#80H
LOOP2:
MOV  B,A
MOV  P2,A
MOV  A,@R0
MOVC A,@A+DPTR
MOV  P0,A
MOV  R2,#40H
DJNZ R2,$
DEC  R0
MOV  A,B
RR   A
DJNZ R3,LOOP2
RET	              ;時(shí)、分、秒顯示子程序結(jié)束

;鬧鐘時(shí)刻顯示子程序
DISP3:
MOV  2FH,#0BH		;秒位置的數(shù)碼管滅
MOV  2EH,#0BH
MOV  2DH,#0BH	   	

MOV  A,40H			;分處理
ANL  A,#0FH
MOV  2CH,A
MOV  A,40H
ANL  A,#0F0H
SWAP A
MOV  2BH,A

MOV  2AH,#0AH	   	;顯示一個(gè)“-”

MOV  A,41H			;時(shí)處理
ANL  A,#0FH
MOV  29H,A
MOV  A,41H
ANL  A,#0F0H
SWAP A
MOV  28H,A

;對(duì)顯示數(shù)據(jù)譯碼
MOV  R0,#2FH
MOV  R3,#08H
MOV  DPTR,#TABLE
MOV  A,#80H
LOOP3:
MOV  B,A
MOV  P2,A
MOV  A,@R0
MOVC A,@A+DPTR
MOV  P0,A
MOV  R2,#40H
DJNZ R2,$
DEC  R0
MOV  A,B
RR   A
DJNZ R3,LOOP3
RET	              ;時(shí)、分、秒顯示子程序結(jié)束

TABLE:  DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH,0FFH   ;0,1,2,3,4,5,6,7,8,9,-, ;

;清除數(shù)碼管顯示子程序
CLEAR:
MOV  R3,#08H
MOV  A,#80H
LOOP4:
MOV  B,A
MOV  P2,A
MOV  P0,#0FFH
MOV  A,B
RR   A
DJNZ R3,LOOP4
RET    ;清除數(shù)碼管顯示子程序結(jié)束

;按鍵掃描子程序(思路:連續(xù)兩次讀入按鍵值,判斷是否為按鍵抖動(dòng),然后等待釋放按鍵)
KEY:	
ACALL CLEAR		   ;按下按鍵時(shí),數(shù)碼管不顯示

MOV	 P3,#0FFH	   ;第一次讀入按鍵值
MOV  A,P3
CPL  A
JZ   KEYTIAO	   ;P3口無(wú)按鍵按下

MOV  P3,#0FFH	   ;第二次讀入按鍵值
MOV  A,P3
CPL  A
JZ   KEYTIAO	    ;按鍵抖動(dòng),非期望

MOV  R6,A			;保存鍵值
LOOPKEY:
MOV  P3,#0FFH	    ;等待釋放按鍵
MOV  A,P3
CPL  A
JNZ  LOOPKEY
MOV  A,R6		    ;按鍵值存在A中
MOV  B,#00H
SJMP RETKEY

KEYTIAO:
;MOV	 P1,#0FFH	   ;第一次讀入按鍵值
MOV  A,P1
CPL  A
ANL  A,#0C0H
MOV  B,A
JZ   RETKEY 	   ;P1口無(wú)按鍵按下

;MOV  P1,#0FFH	   ;第二次讀入按鍵值
MOV  A,P1
CPL  A
ANL  A,#0C0H
MOV  B,A
JZ   RETKEY 	    ;按鍵抖動(dòng),非期望

MOV  R5,B			;保存鍵值
LOOPKEYTIAO:
;MOV  P1,#0FFH	    ;等待釋放按鍵
MOV  A,P1
CPL  A
ANL  A,#0C0H
MOV  B,A
JNZ  LOOPKEYTIAO
MOV  B,R5		    ;按鍵值存在B中
MOV  A,#00H
RETKEY:
RET 	;按鍵掃描子程序結(jié)束

;按鍵處理子程序(按鍵值從A中讀入)
ANKEY:

;MOV  A,R6
JB   ACC.0,K0
JB   ACC.1,K1
JB   ACC.2,K2
JB   ACC.3,K3
JB   ACC.4,K4
JB   ACC.5,K5
JB   ACC.6,K6
JB   ACC.7,K7

MOV  A,B
JB   ACC.6,KT
JB   ACC.7,KQ
AJMP  RETANKEY

K0:
LCALL KEY0
AJMP  RETANKEY

K1:
LCALL KEY1
AJMP  RETANKEY

K2:
LCALL KEY2
AJMP  RETANKEY

K3:
LCALL KEY3
AJMP  RETANKEY

K4:
LCALL KEY4
AJMP  RETANKEY

K5:
LCALL KEY5
AJMP  RETANKEY

K6:
LCALL KEY6
AJMP  RETANKEY

K7:
LCALL KEY7
AJMP  RETANKEY

KT:
LCALL KEYTIAOZHENG
AJMP  RETANKEY

KQ:
LCALL KEYQUEREN

RETANKEY:
RET		   		;按鍵處理子程序結(jié)束


;按鍵P3.0執(zhí)行的內(nèi)容:改變30H里的數(shù)值,使數(shù)碼管顯示年、月、日或者時(shí)、分、秒
KEY0:
MOV  A,30H
CPL  A
MOV  30H,A
RET 	  ;按鍵P3.0子程序結(jié)束

;按鍵P3.1執(zhí)行的內(nèi)容:年或者時(shí)+1
KEY1:
MOV   A,30H
CJNE  A,#0FFH,TA_HOUR
;進(jìn)行年+1
MOV   A,26H				 
CJNE  A,#99H,TA_NO_OH_YEAR
MOV   26H,#00H			 
AJMP  TA_OH_YEAR
TA_NO_OH_YEAR:
ADD   A,#01H
DA    A
MOV   26H,A
AJMP  RETKEY1
TA_OH_YEAR:
MOV	  A,27H
ADD   A,#01H
DA    A
MOV   27H,A 
AJMP  RETKEY1

;進(jìn)行時(shí)+1
TA_HOUR:
MOV   A,34H
JNZ   TA_HOUR_NAOZH
;時(shí)鐘時(shí)+1
MOV   A,23H	 
ADD   A,#01H
DA    A
MOV   23H,A
CJNE  A,#24H,RETKEY1
MOV   23H,#00H
AJMP  RETKEY1
;鬧鐘時(shí)+1
TA_HOUR_NAOZH:
MOV   A,41H	 
ADD   A,#01H
DA    A
MOV   41H,A
CJNE  A,#24H,RETKEY1
MOV   41H,#00H
RETKEY1:
RET		   ;按鍵P3.1子程序結(jié)束

;按鍵P3.2執(zhí)行的內(nèi)容::年或者時(shí)-1
KEY2:
MOV   A,30H
CJNE  A,#0FFH,TD_HOUR
;進(jìn)行年-1
MOV   A,26H				 
CJNE  A,#00H,TD_NO_OH_YEAR
MOV   26H,#99H			 
AJMP  TD_OH_YEAR
TD_NO_OH_YEAR:
CLR   C
LCALL BCDBIN
SUBB  A,#01H
LCALL BINBCD
MOV   26H,A
AJMP  RETKEY2
TD_OH_YEAR:
MOV	  A,27H
LCALL BCDBIN
CLR   C
SUBB  A,#01H
LCALL BINBCD
MOV   27H,A 
AJMP  RETKEY2

;進(jìn)行時(shí)-1
TD_HOUR:
MOV   A,34H
JNZ   TD_HOUR_NAOZH
;時(shí)鐘時(shí)-1
MOV   A,23H
CJNE  A,#00H,TD_NO_OD
MOV   23H,#23H
AJMP  RETKEY2
TD_NO_OD:
LCALL BCDBIN
CLR   C	 
SUBB  A,#01H
LCALL BINBCD
MOV   23H,A
AJMP  RETKEY2
;鬧鐘時(shí)-1
TD_HOUR_NAOZH:
MOV   A,41H
CJNE  A,#00H,TD_NO_OD_NAOZH
MOV   41H,#23H
AJMP  RETKEY2
TD_NO_OD_NAOZH:
LCALL BCDBIN
CLR   C	 
SUBB  A,#01H
LCALL BINBCD
MOV   41H,A
RETKEY2:
RET		  ;按鍵P3.2子程序結(jié)束

;按鍵P3.3執(zhí)行的內(nèi)容:月或者分+1
KEY3:
MOV   A,30H
CJNE  A,#0FFH,TA_MIN
;進(jìn)行月+1
MOV   A,25H			    
ADD   A,#01H
DA	  A
MOV   25H,A
CJNE  A,#13H,RETKEY3 
MOV   25H,#01H
AJMP  RETKEY3

;進(jìn)行分+1
TA_MIN:
MOV   A,34H
JNZ   TA_MIN_NAOZH
;時(shí)鐘分+1
MOV   A,22H	 
ADD   A,#01H
DA    A
MOV   22H,A
CJNE  A,#60H,RETKEY3
MOV   22H,#00H
AJMP  RETKEY3

TA_MIN_NAOZH:
;鬧鐘分+1
MOV   A,40H	 
ADD   A,#01H
DA    A
MOV   40H,A
CJNE  A,#60H,RETKEY3
MOV   40H,#00H

RETKEY3:
RET 		 ;按鍵P3.3子程序結(jié)束
 
;按鍵P3.4執(zhí)行的內(nèi)容:月或者分-1
KEY4:
MOV   A,30H
CJNE  A,#0FFH,TD_MIN
;進(jìn)行月-1
MOV   A,25H				 
CJNE  A,#01H,TD_NO_OM
MOV   25H,#12H			 
AJMP  RETKEY4
TD_NO_OM:
CLR   C
LCALL BCDBIN
SUBB  A,#01H
LCALL BINBCD
MOV   25H,A
AJMP  RETKEY4

;進(jìn)行分-1
TD_MIN:
MOV   A,34H
JNZ   TD_MIN_NAOZH
;時(shí)鐘的分-1
MOV   A,22H
CJNE  A,#00H,TD_NO_OH
MOV   22H,#59H
AJMP  RETKEY4
TD_NO_OH:
LCALL BCDBIN
CLR   C	 
SUBB  A,#01H
LCALL BINBCD
MOV   22H,A
AJMP  RETKEY4

TD_MIN_NAOZH:
;鬧鐘的分-1
MOV   A,40H
CJNE  A,#00H,TD_NO_OH_NAOZH
MOV   40H,#59H
AJMP  RETKEY4
TD_NO_OH_NAOZH:
LCALL BCDBIN
CLR   C	 
SUBB  A,#01H
LCALL BINBCD
MOV   40H,A
RETKEY4:
RET		   ;按鍵P3.4子程序結(jié)束

;按鍵P3.5執(zhí)行的內(nèi)容:日或者秒+1
KEY5:
MOV   A,30H
CJNE  A,#0FFH,TA_SEC
;進(jìn)行日+1
MOV   A,24H			
ADD   A,#01H
DA    A
MOV   24H,A
ACALL MONTH
CJNE  A,24H,RETKEY5	 
MOV   24H,#01H
AJMP  RETKEY5

;進(jìn)行秒+1
TA_SEC:
MOV   A,21H	 
ADD   A,#01H
DA    A
MOV   21H,A
CJNE  A,#60H,RETKEY3
MOV   21H,#00H

RETKEY5:
RET 	 ;按鍵P3.5子程序結(jié)束

;按鍵P3.6執(zhí)行的內(nèi)容:日或者秒-1
KEY6:
MOV   A,30H
CJNE  A,#0FFH,TD_SEC
;進(jìn)行日-1
MOV   A,24H				 
CJNE  A,#01H,TD_NO_ODAY
LCALL MONTH
DEC   A
MOV   24H,A			 
AJMP  RETKEY6
TD_NO_ODAY:
CLR   C
LCALL BCDBIN
SUBB  A,#01H
LCALL BINBCD
MOV   24H,A
AJMP  RETKEY4

;進(jìn)行秒-1
TD_SEC:
MOV   A,21H
CJNE  A,#00H,TD_NO_OMS
MOV   21H,#59H
AJMP  RETKEY6
TD_NO_OMS:
LCALL BCDBIN
CLR   C	 
SUBB  A,#01H
LCALL BINBCD
MOV   21H,A
RETKEY6: 
RET		   ;按鍵P3.6子程序結(jié)束

;按鍵P3.7子程序
KEY7:
MOV  A,31H
CPL  A
MOV  31H,A
MOV  32H,#00H
MOV  33H,#00H
RET         ;按鍵P3.7子程序結(jié)束

;按鍵P1.6,進(jìn)入鬧鐘調(diào)整
KEYTIAOZHENG:
MOV  34H,#0FFH
RET

;按鍵P1.7,確認(rèn)鬧鐘調(diào)整
KEYQUEREN:
MOV  34H,#00H
;---------------------------
;把鬧鐘設(shè)置寫(xiě)入24c02
;寫(xiě)分
MOV   A,40H
MOV   B,A
MOV   A,#00H
LCALL WT24
;寫(xiě)時(shí)
MOV   B,41H
MOV   A,#01H
LCALL WT24
RET

;BCD碼轉(zhuǎn)換成BIN碼
BCDBIN: 
PUSH   B
PUSH   PSW
PUSH   ACC
ANL	   A,#0F0H
SWAP   A
MOV	   B,#0AH
MUL	   AB
MOV	   B,A
POP	   ACC
ANL	   A,#0FH
ADD	   A,B
POP	   PSW
POP    B
RET

;BIN碼轉(zhuǎn)換成BCD碼
BINBCD:	
PUSH   PSW
PUSH   B
MOV    B,#10
DIV    AB
SWAP   A
ADD    A,B
POP    B
POP	   PSW
RET

;蜂鳴器子程序
SPEAKER:
MOV   R0,#0FFH
DJNZ  R0,$
SETB  P1.0
MOV   R0,#0FFH
DJNZ  R0,$
CLR   P1.0
RET	   ;蜂鳴器子程序結(jié)束


;鬧鐘子程序
NAOZHONG:
MOV   A,40H
CJNE  A,22H,RETNAOZHONG
MOV   A,41H
CJNE  A,23H,RETNAOZHONG
MOV   32H,#0FFH
RETNAOZHONG:
RET

;-------------------------------------------------------------
;24c02讀寫(xiě)相關(guān)子程序
RD24: 
PUSH  ACC ;讀24C02子程序。 
SETB  SDA 
CLR   SCL 
CALL  START24 
MOV   A,#0A0H 
CALL  SHIFT8 
CALL  ACK 
POP   ACC 
CALL  SHIFT8 
CALL  ACK 
CALL  START24 
MOV   A,#0A1H 
CALL  SHIFT8 
CALL  ACK 
SETB  SDA 
MOV   R7,#8 
CLR   A 
SETB  SDA 
RD000: 
RL    A 
SETB  SCL 
MOV   C,SDA 
MOV   ACC.0,C 
CLR   SCL 
DJNZ  R7,RD000 
RET 
;-------------------------------
;寫(xiě)入24C02程序: 
WT24: 
PUSH  ACC 
SETB  SDA 
CLR   SCL 
CALL  START24 
MOV   A,#0A0H 
CALL  SHIFT8 
CALL  ACK 
POP   ACC 
CALL  SHIFT8 
CALL  ACK 
MOV   A,B 
CALL  SHIFT8 
CALL  ACK 
CALL  STOP 
CALL  DELAY2
MOV   46H,#0FFH
DELAY:
CALL  DELAY1
DJNZ  46H,DELAY 
RET
; -------------------------------
;開(kāi)始條件
START24:
CLR   SDA 
SETB  SDA
SETB  SCL
CLR   SDA 
CLR   SCL
RET

;停止條件
STOP: 
CLR   SDA 
SETB  SCL
SETB  SDA
RET

;應(yīng)答信號(hào)
ACK: 
SETB  SCL 
CLR   SCL
RET

;讀、寫(xiě)數(shù)據(jù)
SHIFT8: 
MOV   R7,#8 
SH01: 
RLC   A
MOV   SDA,C
SETB  SCL
CLR   SCL
DJNZ  R7,SH01
RET

DELAY2:
NOP
NOP
NOP
NOP
RET

DELAY1:
MOV   45H,#01H
C_DELAY:
MOV   44H,#0FFH
DJNZ  44H,$
DJNZ  45H,C_DELAY
RET

END                 ;程序結(jié)束

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线免费观看日本一区| 色综合视频一区二区三区高清| 99久久久精品| 欧美videos大乳护士334| 一区二区三区蜜桃| 成人午夜电影网站| 欧美videossexotv100| 亚洲成人你懂的| 色婷婷av一区二区| 国产精品私房写真福利视频| 久久国产精品一区二区| 欧美三级乱人伦电影| 亚洲日本电影在线| 国产成人免费视频精品含羞草妖精| 91麻豆精品国产91久久久资源速度| 亚洲免费观看高清| 成人h动漫精品一区二| 久久久久国产精品厨房| 日本美女一区二区三区| 欧美无乱码久久久免费午夜一区 | 国产成a人亚洲| 日韩欧美一级在线播放| 午夜精品久久一牛影视| 91成人在线免费观看| 国产精品的网站| 成人综合在线观看| 国产亚洲精品bt天堂精选| 久久国内精品自在自线400部| 欧美久久久久久蜜桃| 亚洲综合色丁香婷婷六月图片| 99视频热这里只有精品免费| 欧美国产禁国产网站cc| 国产精品亚洲成人| 久久亚洲综合色一区二区三区| 老司机精品视频在线| 日韩一区二区三区在线观看 | 国产农村妇女毛片精品久久麻豆 | 一区二区三区久久| 色欧美日韩亚洲| 亚洲欧美区自拍先锋| 99精品黄色片免费大全| 国产精品久久久久永久免费观看| 丰满亚洲少妇av| 国产精品亲子伦对白| 成人永久免费视频| 国产精品乱码一区二区三区软件 | 国产精品123| www欧美成人18+| 国产精品中文字幕一区二区三区| 欧美电影免费观看高清完整版在线观看| 日韩精品亚洲一区| 欧美一区二区视频免费观看| 日韩av中文在线观看| 日韩一区二区三区电影| 久久99九九99精品| 精品国产91九色蝌蚪| 国产在线不卡一卡二卡三卡四卡| 久久久久久久久一| 成人午夜短视频| 亚洲欧美另类在线| 欧美日韩视频一区二区| 日韩福利视频导航| 久久香蕉国产线看观看99| 国产a级毛片一区| 中文字幕一区二区在线播放 | 精品制服美女久久| 欧美激情中文不卡| 91美女福利视频| 亚洲午夜久久久久久久久电影网 | 欧美一区二区福利视频| 精品一二三四区| 中文字幕精品在线不卡| 91美女在线观看| 午夜免费欧美电影| 337p日本欧洲亚洲大胆精品| 高清av一区二区| 一个色综合网站| 欧美一区二区女人| 国产成人午夜片在线观看高清观看| 国产精品人人做人人爽人人添| 在线免费亚洲电影| 久久国产精品色婷婷| 国产精品久久毛片a| 欧美日韩精品综合在线| 麻豆成人久久精品二区三区红| 国产欧美va欧美不卡在线| 在线影院国内精品| 精品一区二区精品| 亚洲精品高清视频在线观看| 欧美一二区视频| 99精品视频在线播放观看| 日韩国产在线一| 中文字幕乱码一区二区免费| 欧美日韩国产综合久久| 国产精品一区二区在线播放| 亚洲一级二级三级| 国产午夜精品一区二区三区嫩草| 日本韩国精品在线| 伦理电影国产精品| 一区二区三区四区高清精品免费观看 | 免费成人在线观看视频| 最新中文字幕一区二区三区| 56国语精品自产拍在线观看| 岛国av在线一区| 人人爽香蕉精品| 亚洲欧美成人一区二区三区| 日韩精品中文字幕在线不卡尤物| 91丝袜高跟美女视频| 久久成人免费日本黄色| 亚洲男帅同性gay1069| 精品国产一区二区三区久久影院| 日本高清无吗v一区| 国产一区二区精品久久91| 亚洲第一精品在线| 国产精品理伦片| 精品国产一区二区三区忘忧草| 欧美亚洲一区二区在线| 高清shemale亚洲人妖| 久久精品国产网站| 亚洲国产综合91精品麻豆| 国产精品午夜在线| 精品剧情v国产在线观看在线| 欧美亚洲高清一区| 成av人片一区二区| 国产美女久久久久| 免费亚洲电影在线| 亚洲444eee在线观看| 亚洲欧洲成人精品av97| 国产亚洲精品7777| 精品国产区一区| 欧美一区日韩一区| 精品视频999| 91久久香蕉国产日韩欧美9色| 成人性生交大片免费看中文| 精品一区二区三区的国产在线播放| 亚洲国产精品一区二区久久| 亚洲欧美日韩在线不卡| 亚洲国产精品国自产拍av| 欧美成人伊人久久综合网| 欧美精品xxxxbbbb| 色狠狠av一区二区三区| 99久久er热在这里只有精品66| 国产又黄又大久久| 精品系列免费在线观看| 日本在线不卡视频| 午夜精品一区二区三区电影天堂 | 亚洲自拍偷拍综合| 亚洲色图在线视频| 中文字幕亚洲欧美在线不卡| 国产欧美一区二区精品忘忧草| 精品蜜桃在线看| 精品伦理精品一区| 在线综合+亚洲+欧美中文字幕| 欧美日韩亚洲丝袜制服| 欧洲国内综合视频| 色噜噜狠狠成人网p站| 91视频国产观看| 91小视频在线| 色综合天天综合网国产成人综合天| aaa欧美大片| 91在线视频官网| 色哟哟精品一区| 91福利精品第一导航| 欧美私人免费视频| 欧美日韩国产一区二区三区地区| 欧美视频一区二区在线观看| 欧美三日本三级三级在线播放| 欧美色综合久久| 欧美精品在线观看一区二区| 欧美顶级少妇做爰| 欧美成人r级一区二区三区| 精品欧美一区二区三区精品久久 | 欧美日韩你懂的| 欧美顶级少妇做爰| 欧美videos中文字幕| 久久精品人人做人人综合| 欧美激情中文不卡| 亚洲美女一区二区三区| 亚洲一区自拍偷拍| 日本中文一区二区三区| 激情av综合网| 成人免费黄色大片| 91麻豆swag| 欧美精品久久一区| 精品国产乱码久久久久久久| 欧美激情中文字幕| 一区二区在线观看免费视频播放| 亚洲综合精品自拍| 蜜桃精品在线观看| 国产成都精品91一区二区三 | 蜜桃一区二区三区在线观看| 国产又粗又猛又爽又黄91精品| 不卡影院免费观看| 精品视频999| 久久综合色播五月| 亚洲色图第一区| 日韩avvvv在线播放| 国产精品亚洲第一| 在线精品亚洲一区二区不卡| 91精品国产手机|