【正文】
N N N N N NY A\ Y Y Y Y Y N N N N N NY A\ Y Y Y Y Y N N N N N NY A\ Y Y Y Y Y N N N N N NY A\ Y Y Y Y Y N N N N N NY A\ Y Y Y Y Y N N NN A\ Y Y Y Y Y 鍵掃描 返回 鍵掃描 計數(shù)值減 1 計數(shù)完畢KEY4ON 返回 計數(shù)值減 1 計數(shù)完畢KEY4ON 重載初值 計數(shù)值減 1 計數(shù)值減 1 計數(shù)完畢KEY4ON 計數(shù)完畢KEY4ON 重載初值 重載初值 返回 KEY2ON KEY3ON KEY2ON KEY3ON KEY2ON KEY2ON KEY3ON KEY3ON KEY4ON KEY1ON KEY4ON KEY1ON KEY4ON KEY4ON KEY1ON KEY1ON 上接顯示鬧鐘 鍵掃描 設(shè)置時間狀態(tài): +、 、不變 實時顯示 設(shè)置時間狀態(tài): +、 、不變 實時顯示 實時顯示 鍵掃描 設(shè)置時間狀態(tài): +、 、不變 N A\ Y Y Y Y Y N N N N N N A\ Y Y Y Y N N N N N A\ Y Y Y N N N A\ Y Y Y N A\ Y Y Y Y Y N N N N N N A\ Y Y Y Y Y N N N N N A\ Y Y Y N N N A\ Y Y Y Y Y N A\ Y Y Y Y Y N N N N N N A\ Y Y Y Y N N N N N A\ Y Y Y Y Y N N N A\ Y Y Y N A\ Y Y Y Y Y N N N N N A\ Y Y Y Y Y N N N A\ Y Y Y 四川信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計說明書 第 21頁 共 31頁 第 4 章 系統(tǒng)測試 本設(shè)計的核心采用是 AT89C51單片機,以時鐘芯片 DS1307 和液晶 LCD1602 作為外圍元件,構(gòu)成了一個多功能的數(shù)字時鐘系統(tǒng)。因此這些器件的底層程序均可以移植到其它系統(tǒng)中,這就是采用 C語言開發(fā)的最大的優(yōu)點。 開始 初始化 讀取時間信息 液晶實時顯示 是否有按鍵 鍵值處理 啟動鬧鈴 鬧鈴工作 N N Y 四川信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計說明書 第 16頁 共 31頁 鍵盤處理模塊流程圖 系統(tǒng)設(shè)制了四個按鍵,分別是功能設(shè)置、定值上升、定值下降和返回鍵。 系統(tǒng)流程圖 系統(tǒng)的軟件主流程圖如圖 31所示。 C6 C71 32V VGNDIN OUTU2 C W 7 8 0 5R4D6C8C912342 2 0 / 1 0 V+5V220AC 圖 216 電源電路圖 開始 LCD 初始化 光標(biāo)定位 顯示字符 返回 四川信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計說明書 第 15頁 共 31頁 第 3 章 軟件設(shè)計 系統(tǒng)的軟件設(shè)計可以分為幾個部分,首先編寫各個模塊的底層驅(qū)動程序,而后是系統(tǒng)聯(lián)機調(diào)試,編寫上層系統(tǒng)程序。圖中,濾波電容 C6 和 C8的值為1000uF, C7和 C9 為 。 上電 延時 20ms 功能設(shè)置 延時 37us 顯示狀態(tài)設(shè)置 清屏 延時 輸入方式設(shè)置 返回 四川信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計說明書 第 14頁 共 31頁 圖 215 LCD 顯示程序流程圖 電源模塊 用 220V 市電經(jīng)整流、濾波、穩(wěn)壓后,輸出穩(wěn)定的 +5V 的直流電為其供電。 表 25 DDRAM 地址 row 1 2 3 4 5 ? 14 15 16 line1 80H 81H 82H 83H 84H ? 8dH 8eH 8fH line2 0c0H 0c1H 0c2H 0c3H 0c4H ? 0cdH 0ceH 0cfH 4)LCD 初始化 從通電開始通過延時,先經(jīng)過判忙后再進行功能設(shè)置,過一段時間后可以設(shè)制顯示狀態(tài)(如設(shè)置行、位或陣列)再經(jīng)過延時后清屏后再可以設(shè)置輸入方式,具體如圖214 所示。 表 24 SetDDRAMaddress 命令 RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 1 AC6 AC5 AC4 AC3 AC2 AC1 AC0 第 1 行 DDRAM 地址與第 2 行 DDRAM 地址并不連續(xù)。 Set DDRAM address 命令如表 23 所示。 表 23 命令字 指令名稱 控制信號 控制代碼 RS RW D7 D6 D5 D4 D3 D2 D1 D0 清屏 0 0 0 0 0 0 0 0 0 1 歸 HOME位 0 0 0 0 0 0 0 0 1 * 輸入方式設(shè)制 0 0 0 0 0 0 0 1 I/D S 顯示狀態(tài)設(shè)制 0 0 0 0 0 0 1 D C B 無標(biāo)畫面滾動 0 0 0 0 0 1 S/C RL * * 功能設(shè)置 0 0 0 0 1 DL N F * * CGRAM地址設(shè)制 0 0 0 1 A5 A4 A3 A2 A1 A0 DDRAM地址設(shè)制 0 0 1 A6 A5 A4 A3 A2 A1 A0 讀 BF和 A