- ;張培
- ;本程序實現外控控數字鐘
- ;功能:1.計時
- ; 2.3種顯示模式
- ; 時間顯示模式
- ; 月日顯示模式
- ; 溫度顯示模式
- ;******************************************************
- ;字節(jié)單元定義
- TEMPER_L EQU 29H;用于保存讀出溫度的低8位
- TEMPER_H EQU 28H;用于保存讀出溫度的高8位
- FLAG1 EQU 38H;是否檢測到DS18B20標志位
- a_bit EQU 20H;數碼管個位數存放內存位置
- b_bit EQU 21H;數碼管十位數存放內存位置
- PIANXUAN EQU P3 ;P3為片選口
- SHUCHU EQU P2 ;P2為輸出
- MIAO EQU 30H;秒存儲單元
- FEN EQU 31H;分存儲單元
- SHI EQU 32H;時存儲單元
- SHUZI EQU 33H;中轉存儲單元
- YUE EQU 34H;月存儲單元
- CRI EQU 35H;日存儲單元
- DAIMAZHI EQU 36H;代碼存儲單元
- LINGSHI EQU 37H;鬧鈴時存儲單元
- LINGFEN EQU 50H;鬧鈴分存儲單元
- KONGSHI EQU 39H;外部控制時存儲單元
- KONGFEN EQU 61H;外部控制時存儲單元
- QIEHUAN BIT 22H.0;切換標志位
- ANJIAN BIT 22H.1;按鍵1標志位
- ANJIAN1 BIT 22H.2;按鍵2標志位
- ANJIAN2 BIT 22H.3;按鍵3標志位
- ANJIAN3 BIT 22H.4;按鍵4標志位
- ANJIAN4 BIT 22H.5
- ANJIAN5 BIT 23H.2
- WENDU BIT 22H.6;溫度標志位
- GONG BIT 22H.7
- C_0 BIT 23H.0;20MS的標志位
- SHANSHUO BIT 23H.1
- ;**********************************************************
- ;**************************主程序**************************
- ORG 0000H
- JMP START
- ORG 000BH
- JMP TT0
- ORG 0030H
- START: CALL CHUSHIHUA
-
- MAIN: JNB C_0,MAIN ;節(jié)拍等待
- CLR C_0
- CALL JIACHULI ;計算時間
- CALL SHJIAN_GN ;判斷時間鬧鈴及控制功能
-
- CALL PANWENDU ;溫度按鍵判斷
- JNB WENDU,NEXT0 ;
- CALL XIANSHIWENDU ;溫度標志位為1就顯示溫度
- JMP MAIN
-
- NEXT0:CALL PANGONGNENG ;判斷功能鍵
- JNB GONG,NEXT1 ;沒有功能鍵按下顯示時間
- CALL CANSHU ;代碼加一
- CALL XIANSHIMA ;有功能鍵按下,則顯示功能代碼
- CALL SHEZHI ;根據代碼設置相應的功能
- JMP MAIN ;返回
-
- NEXT1:CALL PANANJIAN ;切換月日、時間顯示
- JNB QIEHUAN,NEXT ;沒有按鍵按下,則顯示時間
- CALL XIANSHI2 ;顯示月日
- JMP MAIN ;返回
- NEXT:CALL XIANSHI1 ;顯示時間
- DEC 66H
- MOV A,66H
- CJNE A,#00,NEXT5
- MOV 66,#50
- CPL P2.7
- NEXT5:JMP MAIN ;返回
- ;========================設置子程序========================
- SHEZHI:MOV A,DAIMAZHI
- MOV DPTR,#TAB1
- JMP @A+DPTR
- TAB1:AJMP SUB0
- AJMP SUB1
- AJMP SUB2
- AJMP SUB3
- AJMP SUB4
- AJMP SUB5
- AJMP SUB6
- AJMP SUB7
- ;========================設置月份===========================
- SUB0:MOV SHUZI,YUE
- CALL XIANSHI3
- JB P1.3,PAN
- JB ANJIAN2,PAN
- SETB ANJIAN2
- INC YUE
- MOV R1,YUE
- CJNE R1,#13,PAN
- MOV YUE,#01
- PAN:JNB P1.3,PANJIAN1
- CLR ANJIAN2
- PANJIAN1:JB P1.4,TAIQI3
- JB ANJIAN3,TAIQI3
- SETB ANJIAN3
- DEC YUE
- MOV R1,YUE
- CJNE R1,#00,TAIQI3
- MOV YUE,#12
- TAIQI3:JNB P1.4,OUT7
- CLR ANJIAN3
- OUT7:RET
- ;=========================設置日=============================
- SUB1:MOV SHUZI,CRI
- CALL XIANSHI3
- JB P1.3,TAIQI4
- JB ANJIAN2,TAIQI4
- SETB ANJIAN2
- INC CRI
- MOV R1,CRI
- CJNE R1,#32,TAIQI4
- MOV CRI,#01
- TAIQI4:JNB P1.3,PANJIAN2
- CLR ANJIAN2
- PANJIAN2:JB P1.4,TAIQI5
- JB ANJIAN3,TAIQI5
- SETB ANJIAN3
- DEC CRI
- MOV R1,CRI
- CJNE R1,#00,TAIQI5
- MOV CRI,#32
- TAIQI5:JNB P1.4,OUT8
- CLR ANJIAN3
- OUT8:RET
- ;==========================設置分=============================
- SUB2:MOV SHUZI,FEN
- CALL XIANSHI3
- JB P1.3,TAIQI8
- JB ANJIAN2,TAIQI8
- SETB ANJIAN2
- INC FEN
- MOV R1,FEN
- CJNE R1,#60,TAIQI8
- MOV FEN,#01
- TAIQI8:JNB P1.3,PANJIAN4
- CLR ANJIAN2
- PANJIAN4:
- JB P1.4,TAIQI9
- JB ANJIAN3,TAIQI9
- SETB ANJIAN3
- DEC FEN
- MOV R1,FEN
- CJNE R1,#00,TAIQI9
- MOV FEN,#59
- TAIQI9:JNB P1.4,OUT10
- CLR ANJIAN3
- OUT10:RET
- ;==========================設置時===========================
- SUB3:MOV SHUZI,SHI
- CALL XIANSHI3
- JB P1.3,TAIQI6
- JB ANJIAN2,TAIQI6
- SETB ANJIAN2
- INC SHI
- MOV R1,SHI
- CJNE R1,#24,TAIQI6
- MOV SHI,#00
- TAIQI6:JNB P1.3,PANJIAN3
- CLR ANJIAN2
- PANJIAN3:JB P1.4,TAIQI7
- JB ANJIAN3,TAIQI7
- SETB ANJIAN3
- DEC SHI
- MOV R1,SHI
- CJNE R1,#00,TAIQI7
- MOV SHI,#23
- TAIQI7:JNB P1.4,OUT9
- CLR ANJIAN3
- OUT9:RET
- ;==========================設置鬧鈴時===========================
- SUB4:MOV SHUZI,LINGSHI
- CALL XIANSHI3
- JB P1.3,TAIQI10
- JB ANJIAN2,TAIQI10
- SETB ANJIAN2
- INC LINGSHI
- MOV R1,LINGSHI
- CJNE R1,#24,TAIQI10
- MOV LINGSHI,#00
- TAIQI10:JNB P1.3,PANJIAN5
- CLR ANJIAN2
- PANJIAN5:JB P1.4,TAIQI11
- JB ANJIAN3,TAIQI11
- SETB ANJIAN3
- DEC LINGSHI
- MOV R1,LINGSHI
- CJNE R1,#00,TAIQI11
- MOV LINGSHI,#23
- TAIQI11:JNB P1.4,OUT11
- CLR ANJIAN3
- OUT11:RET
- ;==========================設置鬧鈴分===========================
- SUB5:MOV SHUZI,LINGFEN
- CALL XIANSHI3
- JB P1.3,TAIQI12
- JB ANJIAN2,TAIQI12
- SETB ANJIAN2
- INC LINGFEN
- MOV R1,LINGFEN
- CJNE R1,#60,TAIQI12
- MOV LINGFEN,#01
- TAIQI12:JNB P1.3,PANJIAN6
- CLR ANJIAN2
- PANJIAN6:JB P1.4,TAIQI13
- JB ANJIAN3,TAIQI13
- SETB ANJIAN3
- DEC LINGFEN
- MOV R1,LINGFEN
- CJNE R1,#00,TAIQI13
- MOV LINGFEN,#59
- TAIQI13:JNB P1.4,OUT12
- CLR ANJIAN3
- OUT12:RET
- ;==========================設置控制時===========================
- SUB6:MOV SHUZI,KONGSHI
- CALL XIANSHI3
- JB P1.3,TAIQI14
- JB ANJIAN2,TAIQI14
- SETB ANJIAN2
- INC KONGSHI
- MOV R1,KONGSHI
- CJNE R1,#24,TAIQI14
- MOV KONGSHI,#00
- TAIQI14:JNB P1.3,PANJIAN7
- CLR ANJIAN2
- PANJIAN7:JB P1.4,TAIQI15
- JB ANJIAN3,TAIQI15
- SETB ANJIAN3
- DEC KONGSHI
- MOV R1,KONGSHI
- CJNE R1,#00,TAIQI15
- MOV KONGSHI,#23
- TAIQI15:JNB P1.4,OUT13
- CLR ANJIAN3
- OUT13:RET
- ;==========================設置控制分===========================
- SUB7:MOV SHUZI,KONGFEN
- CALL XIANSHI3
- JB P1.3,TAIQI16
- JB ANJIAN2,TAIQI16
- SETB ANJIAN2
- INC KONGFEN
- MOV R1,KONGFEN
- CJNE R1,#60,TAIQI16
- MOV KONGFEN,#01
- TAIQI16:JNB P1.3,PANJIAN8
- CLR ANJIAN2
- PANJIAN8:JB P1.4,TAIQI17
- JB ANJIAN3,TAIQI17
- SETB ANJIAN3
- DEC KONGFEN
- MOV R1,KONGFEN
- CJNE R1,#00,TAIQI17
- MOV KONGFEN,#59
- TAIQI17:JNB P1.4,OUT14
- CLR ANJIAN3
- OUT14:RET
- ;=======================鬧鈴與外部控制子程序====================
- SHJIAN_GN:MOV A,SHI
- CJNE A,LINGSHI,NEXT2
- MOV A,FEN
- CJNE A,LINGFEN,NEXT4
- SETB P1.6
- JMP NEXT2
- NEXT4:CLR P1.6
- NEXT2:MOV A,KONGSHI
- CJNE A,KONGSHI,NEXT3
- MOV A,FEN
- CJNE A,KONGFEN,NEXT3
- NEXT3:RET
- ;===============溫度時間顯示切換判斷子程序=================
- PANWENDU:JB P1.5,TAIQI0
- JB ANJIAN4,TAIQI0
- SETB ANJIAN4
- CPL WENDU
- TAIQI0:JNB P1.5,KK
- CLR ANJIAN4
- KK:RET
- ;==========================顯示3子程序==========================
- XIANSHI3:CALL JISUAN
- MOV DPTR,#TAB
- MOVC A,@A+DPTR
- MOV SHUCHU,A
- MOV PIANXUAN,#04H;顯示十位
- CALL DELAY
- MOV PIANXUAN,#00H;關片選
- MOV A,B
- MOVC A,@A+DPTR
- MOV SHUCHU,A
- MOV PIANXUAN,#08H;顯示個位
- CALL DELAY
- MOV PIANXUAN,#00H;關片選
-
- MOV SHUCHU,#0BFH
- MOV PIANXUAN,#02H;
- CALL DELAY
- MOV PIANXUAN,#00H;關片選
- RET
- ;=======================參數鍵判斷子程序========================
- CANSHU:JB P1.2,TAIQI2
- JB ANJIAN5,TAIQI2
- SETB ANJIAN5
- CALL DAIMA ;設置代碼
- TAIQI2:JNB P1.2,OUT5
- CLR ANJIAN5
- OUT5:RET
- ;========================代碼子程序=============================
- DAIMA:INC DAIMAZHI
- MOV R7,DAIMAZHI
- CJNE R7,#08,PP
- MOV DAIMAZHI,#00
- PP:RET
- ;========================顯示代碼===============================
- XIANSHIMA:MOV A,DAIMAZHI
- MOV DPTR,#TAB
- MOVC A,@A+DPTR
- MOV SHUCHU,A
- MOV PIANXUAN,#01H
- CALL DELAY
- MOV PIANXUAN,#00
- RET
- ;=======================功能鍵判斷子程序========================
- PANGONGNENG:JB P1.1,TAIQI1
- JB ANJIAN1,TAIQI1
- SETB ANJIAN1
- CPL GONG
- TAIQI1:JNB P1.1,OUT4
- CLR ANJIAN1
- OUT4:RET
- ;=========================按鍵判斷子程序========================
- PANANJIAN:JB P1.0,TAIQI
- JB ANJIAN,TAIQI
- SETB ANJIAN
- CPL QIEHUAN
- TAIQI:JNB P1.0,OUT1
- CLR ANJIAN
- OUT1:RET
- ;***********************溫度顯示子程序*********************************
- ; 輸入:
- ; 輸出:
- ;實現功能:實現溫度的顯示
- XIANSHIWENDU:
- LCALL GET_TEMPER;調用讀溫度子程序
- ;進行溫度顯示
- ;顯示范圍00到99度,顯示精度為1度
- ;因為12位轉化時每一位的精度為0.0625度,我們不要求顯示小數所以可以拋棄29H的低4位
- ;將28H中的低4位移入29H中的高4位,這樣獲得一個新字節(jié),這個字節(jié)就是實際測量獲得的溫度
- MOV A,29H
- MOV C,40H;將28H中的最低位移入C
- RRC A
- MOV C,41H
- RRC A
- MOV C,42H
- RRC A
- MOV C,43H
- RRC A
- MOV 29H,A
- LCALL DISPLAY;調用數碼管顯示子程序
- RET
- ; 這是DS18B20復位初始化子程序
- INIT_1820:
- SETB P3.5
- NOP
- CLR P3.5
- ;主機發(fā)出延時537微秒的復位低脈沖
- MOV R1,#3
- TSR1:
- MOV R0,#107
- DJNZ R0,$
- DJNZ R1,TSR1
- SETB P3.5;然后拉高數據線
- NOP
- NOP
- NOP
- MOV R0,#25H
- TSR2:
- JNB P3.5,TSR3;等待DS18B20回應
- DJNZ R0,TSR2
- LJMP TSR4 ; 延時
- TSR3:
- SETB FLAG1 ; 置標志位,表示DS1820存在
- LJMP TSR5
- TSR4:
- CLR FLAG1 ; 清標志位,表示DS1820不存在
- LJMP TSR7
- TSR5:
- MOV R0,#117
- TSR6:
- DJNZ R0,TSR6 ; 時序要求延時一段時間
- TSR7:
- SETB P3.5
- RET
- ; 讀出轉換后的溫度值
- GET_TEMPER:
- SETB P3.5
- LCALL INIT_1820 ;先復位DS18B20
- JB FLAG1,TSS2
- RET ; 判斷DS1820是否存在,若DS18B20不存在則返回
- TSS2:
- MOV A,#0CCH ; 跳過ROM匹配
- LCALL WRITE_1820
- MOV A,#44H ; 發(fā)出溫度轉換命令
- LCALL WRITE_1820
- ;這里通過調用顯示子程序實現延時一段時間,等待AD轉換結束,12位的話750微秒
- LCALL DISPLAY
- LCALL INIT_1820 ;準備讀溫度前先復位
- MOV A,#0CCH ; 跳過ROM匹配
- LCALL WRITE_1820
- MOV A,#0BEH ; 發(fā)出讀溫度命令
- LCALL WRITE_1820
- LCALL READ_18200 ; 將讀出的溫度數據保存到35H/36H
- RET
- ;寫DS18B20的子程序(有具體的時序要求)
- WRITE_1820:
- MOV R2,#8;一共8位數據
- CLR C
- WR1:
- CLR P3.5
- MOV R3,#6
- DJNZ R3,$
- RRC A
- MOV P3.5,C
- MOV R3,#23
- DJNZ R3,$
- SETB P3.5
- NOP
- DJNZ R2,WR1
- SETB P3.5
- RET
- ; 讀DS18B20的程序,從DS18B20中讀出兩個字節(jié)的溫度數據
- READ_18200:
- MOV R0,#2 ; 將溫度高位和低位從DS18B20中讀出
- MOV R1,#29H ; 低位存入29H(TEMPER_L),高位存入28H(TEMPER_H)
- RE00:
- MOV R2,#8;數據一共有8位
- RE01:
- CLR C
- SETB P3.5
- NOP
- NOP
- CLR P3.5
- NOP
- NOP
- NOP
- SETB P3.5
- MOV R3,#9
- RE10:
- DJNZ R3,RE10
- MOV C,P3.5
- MOV R3,#23
- RE20:
- DJNZ R3,RE20
- RRC A
- DJNZ R2,RE01
- MOV @R1,A
- DEC R1
- DJNZ R0,RE00
- RET
- ;**********************顯示子程序*****************************
- display:
- mov a,29H ;將29H中的十六進制數轉換成10進制
- mov b,#10 ;10進制/10=10進制
- div ab
- mov b_bit,a ;十位在a
- mov a_bit,b ;個位在b
- mov dptr,#numtab ;指定查表啟始地址
- mov r0,#8
- dpl1:
- mov r1,#255 ;顯示1000次
- dplop:
- mov a,a_bit ;取個位數
- MOVC A,@A+DPTR ;查個位數的7段代碼
- mov p2,a ;送出個位的7段代碼
-
- SETB p3.3 ;開個位顯示
- acall d1ms ;顯示1ms
- CLR p3.3
- mov a,b_bit ;取十位數
- MOVC A,@A+DPTR ;查十位數的7段代碼
- mov p2,a ;送出十位的7段代碼
- SETB p3.2 ;開十位顯示
- acall d1ms ;顯示1ms
- CLR p3.2
- djnz r1,dplop ;250次沒完循環(huán)
- djnz r0,dpl1 ;4個250次沒完循環(huán)
- ret
- ;*************************延時子程序***************************
- ; 輸入:
- ; 輸出:
- ;實現功能:1MS延時(按12MHZ算)
- ;**************************************************************
- D1MS:
- MOV R7,#80
- DJNZ R7,$
- RET
- ;************************查表代碼*******************************
- numtab:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
- ;************************顯示時分子程序*************************
- ; 輸入:FEN,YUE
- ; 輸出:A
- ;實現功能:實現時分的顯示
-
- XIANSHI1:
- MOV SHUZI,FEN
- CALL JISUAN
- MOV DPTR,#TAB
- MOVC A,@A+DPTR
- MOV SHUCHU,A
- MOV PIANXUAN,#04H;顯示分的十位
- CALL DELAY
- MOV PIANXUAN,#00H;關片選
- MOV A,B
- MOVC A,@A+DPTR
- MOV SHUCHU,A
- MOV PIANXUAN,#08H;顯示分的個位
- CALL DELAY
- MOV PIANXUAN,#00H;關片選
- MOV SHUZI,SHI
- CALL JISUAN
- MOVC A,@A+DPTR
- MOV SHUCHU,A
- MOV PIANXUAN,#01H;顯示時的十位
- CALL DELAY
- MOV PIANXUAN,#00H;關片選
- MOV A,B
- MOVC A,@A+DPTR
- MOV SHUCHU,A
- MOV PIANXUAN,#02H;顯示時的個位
- CALL DELAY
- MOV PIANXUAN,#00H;關片選
- RET
- ;************************顯示月日子程序*************************
- ; 輸入:CRI,YUE
- ; 輸出:A
- ;實現功能:實現月日的顯示
- XIANSHI2:
- MOV SHUZI,CRI
- CALL JISUAN
- MOV DPTR,#TAB
- MOVC A,@A+DPTR
- MOV SHUCHU,A
- MOV PIANXUAN,#04H;顯示日的十位
- CALL DELAY
- MOV PIANXUAN,#00H;關片選
- MOV A,B
- MOVC A,@A+DPTR
- MOV SHUCHU,A
- MOV PIANXUAN,#08H;顯示日的個位
- CALL DELAY
- MOV PIANXUAN,#00H;關片選
-
- MOV SHUZI,YUE
- CALL JISUAN
- MOVC A,@A+DPTR
- MOV SHUCHU,A
- MOV PIANXUAN,#01H;顯示月的十位
- CALL DELAY
- MOV PIANXUAN,#00H;關片選
- MOV A,B
- MOVC A,@A+DPTR
- MOV SHUCHU,A
- MOV PIANXUAN,#02H;顯示月的個位
- CALL DELAY
- MOV PIANXUAN,#00H;關片選
- RET
- JIACHULI:
- DJNZ R4,OUT3;判斷是否到一秒
- MOV R4,#50
- INC MIAO ;到一秒后秒位加1
- MOV R7,MIAO
- CJNE R7,#60,OUT3;判斷是否到60秒
- MOV MIAO,#00
- INC FEN
- MOV R7,FEN
- CJNE R7,#60,OUT3;判斷是否到60分
- MOV FEN,#00
- INC SHI
- MOV R7,SHI
- CJNE R7,#24,OUT3;判斷是否都24小時
- MOV SHI,#00
- INC CRI;到24小時后把日加一
- MOV R7,CRI
- MOV R4,YUE
- CJNE R4,#01,JIXU1
- CJNE R7,#32,OUT3
- INC YUE
- MOV CRI,#00
- OUT3:JMP OUT2
- JIXU1:CJNE R4,#02,JIXU2
- CJNE R7,#29,OUT3
- INC YUE
- MOV CRI,#00
- JMP OUT2
- JIXU2:CJNE R4,#03,JIXU3
- CJNE R7,#32,OUT2
- INC YUE
- MOV CRI,#00
- JMP OUT2
- JIXU3:CJNE R4,#04,JIXU4
- CJNE R7,#31,OUT2
- INC YUE
- MOV CRI,#00
- JMP OUT2
- JIXU4:CJNE R4,#05,JIXU5
- CJNE R7,#32,OUT2
- INC YUE
- MOV CRI,#00
- JMP OUT2
- JIXU5:CJNE R4,#06,JIXU6
- CJNE R7,#31,OUT2
- INC YUE
- MOV CRI,#00
- JMP OUT2
- JIXU6:CJNE R4,#07,JIXU7
- CJNE R7,#32,OUT2
- INC YUE
- MOV CRI,#00
- JMP OUT2
- JIXU7:CJNE R4,#08,JIXU8
- CJNE R7,#32,OUT2
- INC YUE
- MOV CRI,#00
- JMP OUT2
- JIXU8:CJNE R4,#09,JIXU9
- CJNE R7,#31,OUT2
- INC YUE
- MOV CRI,#00
- JMP OUT2
- JIXU9:CJNE R4,#10,JIXU10
- CJNE R7,#32,OUT2
- INC YUE
- JMP OUT2
- JIXU10:CJNE R4,#11,JIXU11
- CJNE R7,#31,OUT2
- INC YUE
- MOV CRI,#00
- JMP OUT2
- JIXU11:CJNE R4,#12,OUT2
- CJNE R7,#32,OUT2
- MOV YUE,#01
- MOV CRI,#00
- OUT2:RET
- ;**********************初始化子程序*************************
- CHUSHIHUA:MOV SP,#7FH
- MOV TMOD,#01H;T0工作方式1
- MOV TH0,#0B1H;20MS的初值
- MOV TL0,#0E0H
- SETB ET0;開啟中斷TO
- SETB EA ;開啟中斷總開關
- SETB TR0;定時器溢出標志位
- CLR QIEHUAN
- CLR ANJIAN
- CLR ANJIAN1
- CLR ANJIAN2
- CLR ANJIAN3
- CLR ANJIAN4
- CLR ANJIAN5
- CLR WENDU ;顯示溫度標志位清0
- CLR SHANSHUO
- CLR GONG
- CLR P1.6
- SETB C_0
- MOV MIAO,#55
- MOV FEN,#59
- MOV SHI,#21
- MOV YUE,#06
- MOV CRI,#23
- MOV DAIMAZHI,#00
- MOV LINGSHI,#00
- MOV LINGFEN,#00
- MOV KONGSHI,#00
- MOV KONGFEN,#00
- MOV DPTR,#TAB
- MOV R4,#50
- MOV 66H,#50
- RET
- ;///////計算子程序///////////////////////
- ;輸入:"30H"
- ;輸出:"A,B"
- ;實現的功能:查A在TAB位置的數
- JISUAN:
- MOV A,SHUZI
- MOV B,#10
- DIV AB
- RET
- ;/////////////////中斷到來重置初值程序/////////////////////////
- ;輸入;無
- ;輸出: 無
- ;實現的功能中斷到來重置初值
- TT0:
- MOV TH0,#0B1H
- MOV TL0,#0E0H
- SETB C_0
- RETI
- ;//////////////////////////延時程序/////////////////////////
- ;輸入;無
- ;輸出: 無
- ;實現的功能:延時一段時間
- DELAY:
- MOV R5,#20H
- L8: MOV R6,#20H
- DJNZ R6,$
- DJNZ R5,L8
- RET
- TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
- ;///////結束//////////////////////////////
- END
復制代碼
|