導航:首頁 > 編程知識 > 博途編程如何計時時分秒

博途編程如何計時時分秒

發布時間:2023-03-26 03:13:50

『壹』 匯編語言要求編寫一個時鍾程序 用八位數碼管實現時分秒的計時功能

我以前做的一個6位數碼管的時鍾程序,你可以看看,其實6位足夠了。

KEYVAL EQU 30H

KEYTM EQU 31H

KEYSCAN EQU 32H

DAT EQU 33H

SCANLED EQU 39H

CLK EQU 77H

SEC EQU 78H

MIN EQU 79H

HOUR EQU 7AH

PAUSE BIT 00H

DOT BIT 01H

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP T0ISR ;50ms定時

ORG 001BH

LJMP T1ISR ;掃描顯示

ORG 0030H

MAIN:

MOV SP,#5FH

MOV TMOD,#11H

MOV TH0,#03CH

MOV TL0,#0B0H

MOV TH1,#0ECH

MOV TL1,#078H

MOV KEYVAL,#0

MOV SCANLED,#0

MOV 33H,#10H

MOV 34H,#10H

MOV 35H,#10H

MOV 36H,#10H

MOV 37H,#10H

MOV 38H,#10H

MOV SEC,#0

MOV MIN,#0

MOV HOUR,#0

MOV CLK,#0

CLR PAUSE

SETB EA

SETB ET1

SETB TR1

LOOP:

LCALL KEYSEL

MOV A,KEYVAL

CJNE A,#0FFH,LOOP1

SJMP LOOP

LOOP1:

CJNE A,#10,LOOP2 ;「絕森ON」啟動

SETB TR0

SETB ET0

SETB PAUSE

SJMP LOOP

LOOP2:

CJNE A,#11,LOOP3 ;「=」清零

MOV SEC,#0

MOV MIN,#0

MOV HOUR,#0

LCALL DISCHG

SJMP LOOP

LOOP3:

CJNE A,#15,LOOP4 ;「+」暫停

CLR TR0

CLR ET0

CLR PAUSE

SJMP LOOP

LOOP4:

CJNE A,#14,LOOP5 ;「-」清顯示暫停

MOV 33H,#10H

MOV 34H,#10H

MOV 35H,#10H

MOV 36H,#10H

MOV 37H,#10H

MOV 38H,#10H

CLR TR0

CLR ET0

CLR PAUSE

SJMP LOOP

LOOP5:

CJNE A,#10,LOOP6 ;數字鍵

LOOP6:

JC LOOP7

LJMP LOOP

LOOP7:

JNB PAUSE,LOOP8 ;暫停狀態可以輸入數字鍵槐宏備

LJMP LOOP

LOOP8:

MOV 33H,34H

MOV 34H,35H

MOV 35H,36H

MOV 36H,37H

MOV 37H,38H

MOV 38H,KEYVAL

MOV A,33H

SWAP A

ORL A,34H

LCALL BCDH

MOV HOUR,A

MOV A,35H

SWAP A

ORL A,36H

LCALL BCDH

MOV MIN,A

MOV A,37H

SWAP A

ORL A,38H

LCALL BCDH

MOV SEC,A

LJMP LOOP


;------------------

;BCD轉換為十六進制

BCDH:

MOV B,#10H

DIV AB

MOV R7,B

MOV B,#10

MUL AB

ADD A,R7

RET

;------------------

;十六進制轉換為BCD

HBCD:

MOV B,#10

DIV AB

SWAP A

ORL A,B

RET鉛毀

;------------------

KEYSEL:

MOV KEYVAL,#0

MOV KEYSCAN,#0EFH

LCALL GETKEY

MOV A,KEYTM

JZ KEYS1

MOV KEYVAL,A

SJMP KEYRTN

KEYS1:

MOV KEYSCAN,#0DFH

LCALL GETKEY

MOV A,KEYTM

JZ KEYS2

CLR C

ADD A,#4

MOV KEYVAL,A

SJMP KEYRTN

KEYS2:

MOV KEYSCAN,#0BFH

LCALL GETKEY

MOV A,KEYTM

JZ KEYS3

CLR C

ADD A,#8

MOV KEYVAL,A

SJMP KEYRTN

KEYS3:

MOV KEYSCAN,#7FH

LCALL GETKEY

MOV A,KEYTM

JZ KEYRTN

CLR C

ADD A,#12

MOV KEYVAL,A

KEYRTN:

LCALL CHGKEY

RET

;--------------------

GETKEY:

MOV KEYTM,#0

MOV A,KEYSCAN

MOV P3,A

NOP

MOV A,P3

ANL A,#0FH

XRL A,#0FH

JZ NOKEY

MOV R2,#10

LCALL DELAY

MOV A,P3

ANL A,#0FH

XRL A,#0FH

JZ NOKEY

MOV A,P3

ANL A,#0FH

MOV R7,A

SF:

MOV A,P3

ANL A,#0FH

XRL A,#0FH

JNZ SF

MOV A,R7

CJNE A,#0EH,NK1

MOV KEYTM,#1

SJMP NOKEY

NK1:

CJNE A,#0DH,NK2

MOV KEYTM,#2

SJMP NOKEY

NK2:

CJNE A,#0BH,NK3

MOV KEYTM,#3

SJMP NOKEY

NK3:

CJNE A,#07H,NOKEY

MOV KEYTM,#4

NOKEY: RET

;--------------------

DELAY:

MOV R3,#50

DELAY1:

MOV R4,#100

DJNZ R4,$

DJNZ R3,DELAY1

DJNZ R2,DELAY

RET

;--------------------

T0ISR:

PUSH ACC

CLR TR0

MOV TH0,#3CH

MOV TL0,#0B0H

SETB TR0

INC CLK

MOV A,CLK

CJNE A,#20,T0ISRE

MOV CLK,#0

INC SEC

MOV A,SEC

CJNE A,#60,T0ISRE

MOV SEC,#0

INC MIN

MOV A,MIN

CJNE A,#60,T0ISRE

MOV MIN,#0

INC HOUR

MOV A,HOUR

CJNE A,#24,T0ISRE

MOV SEC,#0

MOV MIN,#0

MOV HOUR,#0

T0ISRE:

LCALL DISCHG

POP ACC

RETI

;--------------------

DISCHG:

MOV A,HOUR

LCALL HBCD

PUSH ACC

ANL A,#0FH

MOV 34H,A

POP ACC

ANL A,#0F0H

SWAP A

MOV 33H,A

MOV A,MIN

LCALL HBCD

PUSH ACC

ANL A,#0FH

MOV 36H,A

POP ACC

ANL A,#0F0H

SWAP A

MOV 35H,A

MOV A,SEC

LCALL HBCD

PUSH ACC

ANL A,#0FH

MOV 38H,A

POP ACC

ANL A,#0F0H

SWAP A

MOV 37H,A

RET

;--------------------

T1ISR:

PUSH ACC

CLR TR1

MOV TH1,#0ECH

MOV TL1,#78H

SETB TR1

MOV DPTR,#LEDTAB

T100:

MOV R0,#DAT

MOV A,SCANLED

ADD A,R0

MOV R0,A

MOV A,SCANLED

JNZ T101

MOV P2,#01H

CLR DOT

SJMP T1DIS

T101:

DEC A

JNZ T102

MOV P2,#02H

SETB DOT

SJMP T1DIS

T102:

DEC A

JNZ T103

MOV P2,#04H

CLR DOT

SJMP T1DIS

T103:

DEC A

JNZ T104

MOV P2,#08H

SETB DOT

SJMP T1DIS

T104:

DEC A

JNZ T105

MOV P2,#10H

CLR DOT

SJMP T1DIS

T105:

MOV P2,#20H

CLR DOT

T1DIS:

MOV A,@R0

MOVC A,@A+DPTR

JNB DOT,T1DIS1

ORL A,#01H

T1DIS1:

CPL A

MOV P0,A

INC SCANLED

MOV A,SCANLED

CJNE A,#6,T1END

MOV SCANLED,#0

T1END:

POP ACC

RETI

;--------------------

CHGKEY:

MOV A,KEYVAL

JZ KV16

DEC A

JNZ KV01

MOV KEYVAL,#7

RET

KV01:

DEC A

JNZ KV02

MOV KEYVAL,#4

RET

KV02:

DEC A

JNZ KV03

MOV KEYVAL,#1

RET

KV03:

DEC A

JNZ KV04

MOV KEYVAL,#10

RET

KV04:

DEC A

JNZ KV05

MOV KEYVAL,#8

RET

KV05:

DEC A

JNZ KV06

MOV KEYVAL,#5

RET

KV06:

DEC A

JNZ KV07

MOV KEYVAL,#2

RET

KV07:

DEC A

JNZ KV08

MOV KEYVAL,#0

RET

KV08:

DEC A

JNZ KV09

MOV KEYVAL,#9

RET

KV09:

DEC A

JNZ KV10

MOV KEYVAL,#6

RET

KV10:

DEC A

JNZ KV11

MOV KEYVAL,#3

RET

KV11:

DEC A

JNZ KV12

MOV KEYVAL,#11

RET

KV12:

DEC A

JNZ KV13

MOV KEYVAL,#12

RET

KV13:

DEC A

JNZ KV14

MOV KEYVAL,#13

RET

KV14:

DEC A

JNZ KV15

MOV KEYVAL,#14

RET

KV15:

DEC A

JNZ KV16

MOV KEYVAL,#15

RET

KV16:

MOV KEYVAL,#0FFH

RET

;--------------------

LEDTAB: DB 0FCH ;"0" 00H

DB 60H ;"1" 01H

DB 0DAH ;"2" 02H

DB 0F2H ;"3" 03H

DB 66H ;"4" 04H

DB 0B6H ;"5" 05H

DB 0BEH ;"6" 06H

DB 0E0H ;"7" 07H

DB 0FEH ;"8" 08H

DB 0F6H ;"9" 09H

DB 0EEH ;"A" 0AH

DB 3EH ;"B" 0BH

DB 9CH ;"C" 0CH

DB 7AH ;"D" 0DH

DB 9EH ;"E" 0EH

DB 8EH ;"F" 0FH

DB 00H ;" " 10H

;--------------------

『貳』 博途中PLC選擇S7-300 ,如何設置和讀取年月日時分秒

創建DB全局數據塊宴核——雙擊打開DB塊——起名。。在數據類型下拉框中選擇DATE AND TIME 並且給穗祥基定時間。編譯——保存
DATE AND TIME佔用8個位元組
對應位元組如下
1年猜謹2月3日4時5分6秒7毫秒8微秒

『叄』 用匯編語言在c51單片機上實現6(時分秒)位倒計時程序,能夠調節設置時間,並能暫停,終止,繼續

ORG0000H
JMPBEGIN
ORG 000BH
LJMP T0INT
ORG 001BH
LJMP T1INT
LEDD EQU 30H
LEDC EQU36H
SECC EQU37H
MINC EQU38H
HOUR EQU39H
TCNT EQU3AH
ORG0030H
;---------------------------------------
TABLE:;共陰極數碼管顯示代碼
DB0FCH ;"0" 00H
DB60H ;"1" 01H
DB0DAH ;"2" 02H
DB0F2H ;"3" 03H
DB66H ;"4" 04H
DB0B6H ;"5" 05H
DB0BEH ;"6" 06H
DB0E0H ;"7" 07H
DB0FEH ;"8" 08H
DB0F6H ;"9" 09H
DB0EEH ;"A" 0AH
DB3EH ;"B" 0BH
DB9CH ;"C" 0CH
DB7AH ;"D"源碼碼 0DH
DB9EH ;"E" 0EH
DB8EH ;"F" 0FH
DB00H ;"" 10H
;DB3FH,06H,5BH,4FH,66H;12345
;DB6DH,7DH,07H,7FH,;6789
;---------------------------------------
DELAY:
MOVR6,#25
DLY01:
MOVR7,#100
DJNZR7,$
DJNZR6,DLY01
RET
;---------------------------------------
BEGIN:
MOVSP,#5FH
MOVTMOD,#11H
MOVTH0,#3CH
MOVTL0,#0B0H
MOVTH1,#0F4H
MOVTL1,#48H
MOVLEDC,#6
MOV雹哪R0,#LEDD
CLRA
INIT:
MOV@R0,A
INCR0
DJNZLEDC,INIT
SETBET1
SETBTR1
MOVP2,#0
MOVTCNT,#0
MOVHOUR,#0
MOVMINC,#0
MOVSECC,#0
SETBET0
SETBEA
LOOP:
JBP1.0,LOOP1
LCALLDELAY
JBP1.0,LOOP1
JNBP1.0,$
INCHOUR
MOVA,HOUR
CJNEA,#24,LOOPH
LOOPH:
JCLOOPH1
MOVHOUR,#0
LOOPH1:
LCALLDISHOUR
SJMPLOOP

LOOP1:
JBP1.1,LOOP2
LCALLDELAY
JBP1.1,LOOP2
JNBP1.1,$
MOVA,HOUR
JNZLOOPH2
MOVHOUR,#23
SJMPLOOPH3
LOOPH2:
DECHOUR
LOOPH3:
LCALLDISHOUR
SJMPLOOP

LOOP2:
JBP1.2,LOOP3
LCALLDELAY
JBP1.2,LOOP3
JNBP1.2,$
INCMINC
MOVA,MINC
CJNEA,#60,LOOPM
LOOPM:
JCLOOPM1
MOVMINC,#0
LOOPM1:
LCALLDISMIN
SJMPLOOP

LOOP3:
JBP1.3,LOOP4
LCALLDELAY
JBP1.3,LOOP4
JNBP1.3,$
MOVA,MINC
JNZLOOPM2
MOVMINC,#59
SJMPLOOPM3
LOOPM2:
DECMINC
LOOPM3:
LCALLDISMIN
SJMPLOOP

LOOP4:
JBP1.4,LOOP5
LCALLDELAY
JBP1.4,LOOP5
JNBP1.4,$
INCSECC
MOV模此A,SECC
CJNEA,#60,LOOPS
LOOPS:
JCLOOPS1
MOVSECC,#0
LOOPS1:
LCALLDISSEC
LJMPLOOP

LOOP5:
JBP1.5,LOOP6
LCALLDELAY
JBP1.5,LOOP6
JNBP1.5,$
MOVA,SECC
JNZLOOPS2
MOVSECC,#59
SJMPLOOPS3
LOOPS2:
DECSECC
LOOPS3:
LCALLDISSEC
LJMPLOOP

LOOP6:
JBP3.1,LOOP7
LCALLDELAY
JBP3.1,LOOP7
JNBP3.1,$
CPLTR0
LOOP7:
LJMPLOOP
;---------------------------------------
T1INT:
PUSHACC
CLRTR1
MOVTH1,#0F4H
MOVTL1,#48H
SETBTR1
MOVDPTR,#TABLE
MOVR0,#LEDD
MOVA,LEDC
T1INT0:
JNZT1INT1
MOVP2,#01H
MOVA,@R0
MOVCA,@A+DPTR
CPLA
MOVP0,A
SJMPT1INTD
T1INT1:
DECA
JNZT1INT2
MOVP2,#02H
INCR0
MOVA,@R0
MOVCA,@A+DPTR
CPLA
MOVP0,A
SJMPT1INTD
T1INT2:
DECA
JNZT1INT3
MOVP2,#04H
INCR0
INCR0
MOVA,@R0
MOVCA,@A+DPTR
CPLA
MOVP0,A
SJMPT1INTD
T1INT3:
DECA
JNZT1INT4
MOVP2,#08H
INCR0
INCR0
INCR0
MOVA,@R0
MOVCA,@A+DPTR
CPLA
MOVP0,A
SJMPT1INTD
T1INT4:
DECA
JNZT1INT5
MOVP2,#10H
INCR0
INCR0
INCR0
INCR0
MOVA,@R0
MOVCA,@A+DPTR
CPLA
MOVP0,A
SJMPT1INTD
T1INT5:
DECA
JNZT1INTD
MOVP2,#20H
INCR0
INCR0
INCR0
INCR0
INCR0
MOVA,@R0
MOVCA,@A+DPTR
CPLA
MOVP0,A
T1INTD:
INCLEDC
MOVA,LEDC
CJNEA,#6,T1INT6
T1INT6:
JCT1INTE
MOVLEDC,#0
T1INTE:
POPACC
RETI
;---------------------------------------
HBCD:
MOVB,#10
DIVAB
SWAPA
ORLA,B
RET
;---------------------------------------
T0INT:
PUSHACC
CLRTR0
MOVTH0,#3CH
MOVTL0,#0B0H
SETBTR0
INCTCNT
MOVA,TCNT
CJNEA,#20,T0INT1
T0INT1:
JCT0INTE
MOVTCNT,#0
MOVA,SECC
ORLA,MINC
ORLA,HOUR
JNZT0INT2
SETBP3.0
CLRTR0
POPACC
RETI
T0INT2:
MOVA,MINC
ORLA,HOUR
JNZT0INT3
MOVA,SECC
CJNEA,#6,T0INT21
T0INT21:
JNCT0INT22
CPLP3.0
T0INT22:
DECSECC
LCALLDISSEC
SJMPT0INTE
T0INT3:
MOVA,SECC
JZT0INT31
DECSECC
LCALLDISSEC
SJMPT0INTE
T0INT31:
MOVSECC,#59
LCALLDISSEC
MOVA,MINC
JZT0INT32
DECMINC
LCALLDISMIN
SJMPT0INTE
T0INT32:
MOVMINC,#59
LCALLDISMIN
DECHOUR
LCALLDISHOUR
T0INTE:
POPACC
RETI
;---------------------------------------
DISSEC:
MOVA,SECC
LCALLHBCD
PUSHACC
ANLA,#0FH
MOV30H,A
POPACC
SWAPA
ANLA,#0FH
MOV31H,A
RET
;---------------------------------------
DISMIN:
MOVA,MINC
LCALLHBCD
PUSHACC
ANLA,#0FH
MOV32H,A
POPACC
SWAPA
ANLA,#0FH
MOV33H,A
RET
;---------------------------------------
DISHOUR:
MOVA,HOUR
LCALLHBCD
PUSHACC
ANLA,#0FH
MOV34H,A
POPACC
SWAPA
ANLA,#0FH
MOV35H,A
RET
;---------------------------------------
END

『肆』 8進8出可編程時間繼電器如何設置時間說明

您好,8進8出可編程時間繼電器的設置時間說明如下:
1、您需要先准備一台8進8出可編程時間繼電器,並將其連接到電源上。
2、您可以使用按鈕或者軟體來設置時間,您可模肢段以根據自己的需要來設置飢頌時間,如果您使用軟體,您可以通過計算機來設置時間。
3、您可以設置每個輸出口的時間,比如您可以設置每個輸出口的時間為1秒,2秒,3秒等等。
4、您可以設置每個輸出口的輸出狀態,比如您可以設置每個輸出口的輸出狀態為開或關。
5、您可以設置每個輸出口的輸出模式,比如您可以設置每個輸出口的輸出模式為單次觸發或多次觸發。
6、您可以設置每個輸出口的輸出電流,比如您可以設置每個輸出口的輸出電流為1A,2A,3A等等。
7、您可以設置每個輸出口的輸出電壓,比如您可以設置每個輸出口的輸出電壓為12V,24V,36V等等。
8、您可以設置每個輸出口的輸出頻率,比如您可以設置每個輸出旦譽口的輸出頻率為50Hz,60Hz,100Hz等等。
9、您可以設置每個輸出口的輸出功率,比如您可以設置每個輸出口的輸出功率為1W,2W,3W等等。
10、您可以設置每個輸出口的輸出溫度,比如您可以

『伍』 博途1200時鍾脈沖設置

設置如下
1、先啟用時鍾儲存位元組,指定地址(不要和已用的M區重合)2,下載程序,下載前在離線模式編譯要選擇硬體(完全重建),否則不會生效
一般PLC裡面會有幾個固定的變數來作為時鍾基準,如千分之一秒,百分之一秒,十分之一秒以及一秒。它們會以相應的頻率進行不斷地脈沖觸發。有了這些變數對PLC編程提供了方便。西門子300系列的時鍾脈沖要在CPU的硬體組態中設置對應的時鍾寄存器才能生效,200系列有固定系統寄存器位(SMB)對應不同的時鍾脈沖,利潤SM0.5對應的是1赫茲脈沖。
TIA博途採用此新型、統一軟體框架,可在同一開發環境中組態西門子的所有可編程式控制制器、人機界面和驅動裝置。在控制器、驅動裝置和人機界面之間建立通信時的共享任務,可大大降低連接和組態成本。例如,用戶可方便地將變數從可編程式控制制器拖放到人機界面設備的畫面中。然後在人機界面內即時分配變數,並在後台自動建立控制器與人機界面的連接,無需手動組態。

『陸』 西門子TIA博途里怎麼直接調用一邊寫好的fc/fb塊,還有在博途里scl編程怎麼直接輸入i/o點,定時器計數器等

ET是查詢這個計時器的計時時間的,就是說看一下設定的PT時間走了多少。如果不需要查詢,ET這個可以不用管。
另外,大多數人一般都是用梯形圖編程,不用這個語言,不直觀。

『柒』 比賽時如何記錄時分秒

比賽時用秒錶計時器。
1.功能:
(1)根據用戶設置。按0.1秒或1秒為最小單位計時,滿60秒進為分鍾,最大單位是分鍾。
默認分鍾為兩位,超過兩位後自動變為三位分鍾耐此。
(2)顯示格式為:
1.最小計時單位為0.1秒昌氏迅時,顯示為:分鍾:秒:0.1秒。例如:02:07:5
2.最小計時單位為1秒時,顯示為:分鍾:秒。例如:02:07
2.操作步驟
(1)。按開始按鈕,開始計時,此時開始按鈕變為暫停按鈕
(2)。按暫停按鈕,暫停計時,顯示當前的計時時間
(3)。按停止按鈕,停止計時,暫停按鈕恢復為開始按鈕,時間顯示為:00:00:00
(4)按menu鍵彈出menu菜單,第一項為設置計時單位,含有子核笑菜單,可以設置計時單位為1秒或者為0.1秒。

『捌』 前端計算時分秒倒計時

//計算倒計時

var getTime 戚逗= function (hmin) {

if (hmin < 1000) {

return '00:00:00'

}

var time = parseInt(hmin / 1000)

var hour = Math.floor(time / 60 / 60)

time = time - hour * 60 * 60

if (hour < 10) {

hour = '0' + hour

}

var min = Math.floor(time / 60)

time = time - min * 60

if (min < 10) {

min = '0' + min

}

if (time < 10) {

time = '0' + time

}

if (hour >= 滲仔則240) {

return '大於10天'

}

return hour + '叢棚:' + min + ':' + time

}

mole.exports = {

getTime: getTime

}

閱讀全文

與博途編程如何計時時分秒相關的資料

熱點內容
文件上傳ie8 瀏覽:619
cleanmymac恢復文件 瀏覽:241
win10裝虛擬機沒有網路 瀏覽:283
安排什麼意思網路語言 瀏覽:837
順豐常州寄份文件到廣州多少錢 瀏覽:73
wow110掛機升級 瀏覽:967
請問有什麼app可以壓縮視頻 瀏覽:195
凱美瑞藍牙連接不了蘋果手機啊 瀏覽:923
手機無法搜索到網路列印機驅動 瀏覽:411
pdf文件如何將背景灰色的變成透明 瀏覽:269
南漳如何網路推廣 瀏覽:525
如何保存vba中的資料庫密碼 瀏覽:22
acer平板為什麼微信打不開 瀏覽:699
國外政府app 瀏覽:118
龍之谷如何玩轉90版本 瀏覽:486
如何進入今日頭條app發新聞 瀏覽:561
iphone視頻未知錯誤 瀏覽:230
哪些學科為工具學科 瀏覽:228
javachar與運算 瀏覽:347
如何在cad文件中插入源泉插件 瀏覽:362

友情鏈接