***概述***
這個程序示例涉及到關于實時時鐘的兩種特殊指令:讀和寫日期及時鐘時間。
為了進行這些操作,需要有如下結構的8字節緩沖區:
字節0: 年(00-99) 字節4: 分(00-59)
字節1: 月(1-12) 字節5: 秒(00-59)
字節2: 日(1-31) 字節6: 未分配
字節3: 時(00-24) 字節7: 星期(1-7=Su-Sa)
為了讀或寫方便,這些數據用BCD碼存儲。當操作開關I0.0為1時,就將預定日期和時間寫入實時時鐘。為了顯示當前的秒值,將其值拷貝到輸出字節QB0.當I0.1=1時,則用BCD碼顯示;當I0.1=0時,則用二進制碼顯示。
***程序和注釋***
通過按輸入開關I0.0,可調用子程序0。這個子程序按照要求的時間和日期,預先將其值置入VB100到VB107這8個字節,然后用TODW指令,將此設置傳送給實時時鐘
每個周期都讀出實時時鐘的值,這些數據以BCD碼形式(4位代表0-9的數字)存儲在VB400到VB407這8個字節中。如果輸入I0.1為1,這些值就被直接拷貝到輸出字節QB0,以供顯示。
如果輸入開關I0.1為0,將數據從VW404拷貝到VW204,再將包含分鐘值的VW204清零。這一步是必須的,因為把秒值從BCD碼的形式轉換成二進制碼的形式,只能按字來轉換現時的二進制碼的秒值被傳輸到輸出字節QB0,以供顯示。
具體程序(有詳細中文注釋)可以下載直接調試:
tip0008.zip(6.27KB)