欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
51單片機秒表程序+電路圖(匯編語言)
[打印本頁]
作者:
daniu
時間:
2014-12-27 17:17
標題:
51單片機秒表程序+電路圖(匯編語言)
本帖最后由 daniu 于 2014-12-27 17:19 編輯
下面是電路圖
;================================================================
;程序編寫人:蘭建文
;編寫地點:51hei培訓機構
;時間5月24日晚間 星期日
;功能:本程序?qū)崿F(xiàn)P0口的對數(shù)碼管動態(tài)顯示秒表的分、秒、1/100秒;
; 計時程序由中斷服務程序?qū)崿F(xiàn),采用定時計數(shù)器T0工作方式1;
; P2口實現(xiàn)對數(shù)碼管的片選功能
;================================================================
;==========================初始化================================
SHUCHU EQU P2 ;定義P0口為輸出口
PIANXUAN EQU P1 ;定義P2口為片選口
MIAO EQU 30H
FEN EQU 31H
MIAO0 EQU 32H
SHUZI EQU 33H
C_0 BIT 20H.0
;======================系統(tǒng)程序開始==============================
ORG 00H
LJMP START
ORG 03H
LJMP ON_OFF
ORG 0BH
LJMP T0_1
ORG 13H
LJMP RESET
ORG 30H
START:
CALL INIT
SETB C_0
MOV MIAO,#00
MOV MIAO0,#00
MOV FEN,#00
MOV DPTR,#TAB
MOV R2,#5
MAIN:
JNB C_0,$
CLR C_0
LL: CALL DISPLAY
CALL SHIJIAN
JMP MAIN
;========================時間子程序=============================
;輸入:"30H、31H、32H"
;輸出:無
;實現(xiàn)的功能:分、秒、百分之秒的計算。
;===============================================================
SHIJIAN:
DJNZ R2,TIAOCHU
MOV R2,#5
INC MIAO0
MOV R3,MIAO0
CJNE R3,#100,TIAOCHU
MOV MIAO0,#00
INC MIAO
MOV R3,MIAO
CJNE R3,#60,TIAOCHU
MOV MIAO,#00
INC FEN
MOV R3,FEN
CJNE R3,#60,TIAOCHU
MOV FEN,#00
TIAOCHU:RET
;========================顯示子程序=============================
;輸入:"A"
;輸出:"P2口"
;實現(xiàn)的功能:顯示秒、分、百分之妙
;===============================================================
DISPLAY:MOV SHUZI,MIAO0
CALL JISUAN
MOVC A,@A+DPTR
MOV SHUCHU,A ;顯示十位
MOV PIANXUAN,#10H ;片選
CALL DELAY
MOV PIANXUAN,#00H
MOV A,B
MOVC A,@A+DPTR
MOV SHUCHU,A ;顯示個位
MOV PIANXUAN,#20H ;片選
CALL DELAY ;延時
MOV PIANXUAN,#00H
MOV SHUZI,MIAO
CALL JISUAN
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,FEN
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
;========================計算子程序=============================
;輸入:30H
;輸出:"A和B"
;實現(xiàn)的功能:把33H中的數(shù)據(jù)十位和個位分離出來
;===============================================================
JISUAN:MOV A,SHUZI ;數(shù)據(jù)放在A中
MOV B,#10 ;除數(shù)放在B中
DIV AB ;商放在A中,余數(shù)放在B中
RET
;====================復位中斷服務程序============================
;輸入;無
;輸出: 無
;實現(xiàn)的功能:把30H、31H、32H中的數(shù)據(jù)清零。
;================================================================
RESET:PUSH ACC
MOV 30H,#00H
MOV 3H,#00H
MOV 32H,#00H
CALL DELAY
POP ACC
RETI
;====================啟停中斷服務程序============================
;輸入;無
;輸出: 無
;實現(xiàn)的功能:關閉定時器
;================================================================
ON_OFF:CPL TR0
CALL DELAY
RETI
;====================定時中斷0服務子程序========================
;輸入:無
;輸出:無
;實現(xiàn)的功能:實現(xiàn)定時20MS,影響標中斷志位C_0
;===============================================================
T0_1:MOV TL0,50H ;設置定時初值
MOV TH0,51H
SETB C_0 ;定時標志位清0
RETI
;========================中斷設置子程序=========================
;輸入:無
;輸出:無
;實現(xiàn)的功能:初始化設置定時器,設置初值,開中斷0、中斷1,定時器0.
;===============================================================
INIT:MOV TMOD,#01H ;定時器0工作方式1
MOV DPTR,#65536-20000
MOV 50H,DPL
MOV 51H,DPH
MOV TL0,50H ;設置定時初值
MOV TH0,51H
MOV IE,#87H ;開定時器中斷0
MOV TCON,#15H
RET
;======================延時程序==================================
;輸入;無
;輸出: 無
;實現(xiàn)的功能:延時一段時間
;================================================================
DELAY:MOV R6,#80
L7:MOV R5,#60
L8:DJNZ R5,$
DJNZ R6,L7
RET
;======================共陽查表數(shù)據(jù)==============================
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
;===========================結束=================================
END
復制代碼
作者:
lsx.13
時間:
2016-5-29 02:32
非常感謝
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1