freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計-基于單片機的電子時鐘的設(shè)計-文庫吧

2025-05-17 15:59 本頁面


【正文】 盤電路。 圖 I/O 口與串行 口組成的行列式鍵盤 ② 行列式鍵盤的工作原理: 盡管構(gòu)成行列式鍵盤有多種形式,但它們的工作原理是相同的,現(xiàn)以圖 為例說 說明:行線 P1. 4~P1. 7 為輸出,列線 P1. 0~P1. 3 為輸入。 CPU 先使第一行( P1. 4)為“ 0”,其余行為“ 1”。 讀輸入口 P1. 0~P1. 3 的狀態(tài),若輸入緩沖器的狀態(tài)全部為“ 1”,則表示所在行無鍵按下, CPU 使一下行線為“ 0”,其余行線為“ 1”,掃描下一行,這樣在 P1. 4~P1. 7循環(huán)進行。若輸入緩沖器不全為“ 1”,說明所在行有鍵按下, CPU 停止當(dāng)前行線掃描,轉(zhuǎn)入到列線掃描, 列線 P1. 0 ~P1. 3 為“ 0”狀態(tài)的列表示對應(yīng)列有鍵按下。這樣,行線與列數(shù)交叉鍵就是掃描到的按鍵。 P1. 0 P1. 1 A B P1. 2 RXD TXD P1. 0 P1. 1 P1. 2 P0. 0 P0. 1 P0. 2 P0. 3 A B C ③ 鍵掃描方式: 程控掃描方式: CPU 從執(zhí)行程序就開始了鍵盤的掃描,等待來是鍵盤的命令。這種程控掃描方式,適用單任務(wù)多分支結(jié)構(gòu)。 定時掃描方式:在多任務(wù)應(yīng)用系統(tǒng)中,既要執(zhí)行當(dāng)前任務(wù),又要及時接受鍵盤命令,定時掃描方式適應(yīng)這種需要。具體做法是:在程序初始化時,先對定時 /計數(shù)器進行設(shè)置,使其每 10ms 中斷一次,每次中斷, CPU 將去掃描一次鍵盤,若兩次中斷掃描到有鍵按下(這里考慮了消抖動), CPU 將對鍵作相應(yīng)的處 理。 中斷掃描方式:采用中斷掃描方式必需有外部中斷接口,當(dāng)有鍵按下時,產(chǎn)生中斷請請求, CPU 響應(yīng)中斷,在中斷服務(wù)程序掃描鍵盤,作相應(yīng)處理。這是多任務(wù)應(yīng)用系統(tǒng)常用的一種方式。 復(fù)位操作 復(fù)位操作是單片機的初始化操作,單片機在進入運行前和在運行過程中程序出錯或操作失誤使系統(tǒng)不能正常運行時,需要進行復(fù)位操作。復(fù)位操作后,程序?qū)?0000H開始重新執(zhí)行。除此之外,復(fù)位操作還使單片機的 ALE 和 PSEN 引腳信號在復(fù)位期間變?yōu)闊o效狀態(tài)。單片機對復(fù)位信號的要求:一是復(fù)位信號為高電平,二是復(fù)位信號有效持續(xù)時間不少于 24 個振蕩脈沖(兩個機器周期)以上。在這里特別要提醒的是,在一個應(yīng)用系統(tǒng)中,如果有幾片單片機同時工作,在程序上有連接關(guān)系,系統(tǒng)復(fù)位時,應(yīng)確保每一片單片機同時復(fù)位。復(fù)位信號由單片機的 RST 引腳輸入,復(fù)位操作有上電自動復(fù)位、按鍵復(fù)位和外部脈沖復(fù)位三種方式。隨著單片機技術(shù)的發(fā)展,目前有些單片機內(nèi)部帶有看門狗電路,當(dāng)程序進行出錯或進入了無休止循環(huán)時,看門狗電路將利用軟件強行使系統(tǒng)復(fù)位。 顯示控制模塊 LCD1602 字符顯示器模塊是 2 行 X16 個字符的 LCD 顯示器。該器件由 32 個字符點陣塊組成,可以顯示 ASCII 碼表中的所有可顯示字符。 LCD1602 字符顯示器外形和引腳排列、名稱如圖 所示。 圖 LCD1602 1602 采用標準的 16 腳接口,其中 : 第 1 腳: VSS 為 地電源 第 2 腳: VDD 接 5V 正電源 第 3 腳: V0 為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產(chǎn)生 “鬼影 ”,使用時可以通過一個 10K 的電位器調(diào)整對比度 第 4 腳: RS 為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。 第 5 腳: RW 為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當(dāng) RS和 RW 共同為低電平時可以寫入指令或者顯示地址,當(dāng) RS 為低電平 RW 為高電平時可以讀忙信號,當(dāng) RS 為高電平 RW 為低電平時可以寫入數(shù)據(jù)。 第 6 腳: E 端為使能端,當(dāng) E 端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。 第 7~ 14 腳: D0~ D7 為 8 位雙向數(shù)據(jù)線。 第 15~ 16 腳:空腳 1602 液晶模塊內(nèi)部的字符發(fā)生存儲器( CGROM)已經(jīng)存儲了 160 個不同的點陣字符圖形,如表 1 所示,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母 “A”的代碼是01000001B( 41H),顯示時模塊把地址 41H 中的點陣字符圖形顯示出來,我們就能看到字母 “A” 表 1 1602 液晶模塊內(nèi)部的 控制器共有 11 條控制指令 , 如表 2 所示 表 2 序號 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 1 清顯示 0 0 0 0 0 0 0 0 0 1 2 光標返回 0 0 0 0 0 0 0 0 1 * 3 置輸入模式 0 0 0 0 0 0 0 1 I/D S 4 顯示開 /關(guān)控制 0 0 0 0 0 0 1 D C B 5 光標或字符移位 0 0 0 0 0 1 S/C R/L * * 6 置功能 0 0 0 0 1 DL N F * * 7 置字符發(fā)生存貯器地址 0 0 0 1 字符發(fā)生存貯器地址 8 置數(shù)據(jù)存貯器地址 0 0 1 顯示數(shù)據(jù)存貯器地址 9 讀忙標志或地址 0 1 BF 計數(shù)器地址 10 寫數(shù)字到 CGRAM 或 DDRAM) 1 0 要寫的數(shù)據(jù)內(nèi)容 11 從 CGRAM 或 DDRAM 讀數(shù) 1 1 讀出的數(shù)據(jù)內(nèi)容 它的讀寫操作、屏幕和光標的操作都是通過指令編程來實現(xiàn)的。(說明: 1 為高電平、 0 為低電平) 指令 1:清顯示,指令碼 01H,光標復(fù)位到地址 00H 位置 指令 2:光標復(fù)位,光標返回到地址 00H 指令 3:光標和顯示模式設(shè)置 I/D:光標移動方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效 指令 4:顯示開關(guān)控制。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 C:控制光標的開與關(guān),高電平表示有光標,低電平表示無光標 B:控制光標是否閃爍,高電平閃爍,低電平不閃爍 指令 5:光標或顯示移位 S/C:高電平時移動顯示的文字,低 電平時移動光標 指令 6:功能設(shè)置命令 DL:高電平時為 4 位總線,低電平時為 8 位總線 N:低電平時為單行顯示,高電平時雙行顯示 F: 低電平時顯示 5x7 的點陣字符,高電平時顯示 5x10 的點陣字符 (有些模塊是 DL:高電平時為 8 位總線,低電平時為 4 位總線) 指令 7:字符發(fā)生器 RAM 地址設(shè)置 指令 8: DDRAM 地址設(shè)置 指令 9:讀忙信號和光標地址 BF:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。 指令 10:寫數(shù)據(jù) 指令 11:讀數(shù)據(jù) 液晶顯示模塊是一個慢顯示器件,所 以在執(zhí)行每條指令之前一定要確認模塊的忙標志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,表 3 是 DM162 的內(nèi)部顯示地址 . 表 3 顯示字符 1 2 3 4 5 6 7 8 9 10 11 12 ... 第一行地址 00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 0BH ... 第二行地址 40H 41H 42H 43H 44H 45H 46H 47H 48H 49H 4AH 4BH ... 單片機與 LCD1602 典型連接 本單片機顯示模塊采用 LCD1602A1 型液晶顯示器,用單片機的 P2 口作為 1602的數(shù)據(jù)輸入端。同時讓 1602 的 E、 RW、 RS 針腳分別與單片機的 、 、 口相接。如圖 所示 圖 3 硬件電路設(shè)計 電子時鐘的電路圖 如圖 所示為 電路 圖。其工作原理為:接通電源后, 液晶顯示 00:00:00,按下 K1,可以調(diào)整秒,按下 K2 數(shù)值增一,按下 K3 數(shù)值減一,再次按下 K1,則可以調(diào)整分,再按下 K1,則可以調(diào)整時,再按次就可確定時間,開始工作。 K4 可以復(fù)位使液晶顯示 00:00:00。每按一次,蜂鳴器都 給出聲響提示 。 圖 電子時鐘電路原理圖 單元電路設(shè)計 鍵盤控制模塊 根據(jù)題目要求及另加的一些功能要求,總共只需要 4 個 按鍵 (如圖 ),故選用獨立按鍵模式。 這 4 個鍵分別為,調(diào)時選擇鍵 k加值鍵 k減值鍵 k單片機復(fù)位鍵 k4。下面具體介紹一下每個鍵的功能。 K1:時、分、秒的調(diào)時選擇鍵。 K2:加值鍵,每按一次所選的時間值加 1; K3:減值鍵,每按一次所選的時間值減 1; K4:單片機手動復(fù)位鍵; 圖 蜂鳴器電路模塊 蜂鳴器一腳與單片機的 相連,一腳接地。如圖 所示 圖 復(fù)位電路模塊 復(fù)位電路采用手動復(fù) 位和上電自動復(fù)位組合。如圖 所示 圖 當(dāng) MCS5l 系列單片機的復(fù)位引腳 RST(全稱 RESET)出現(xiàn) 2 個機器周期以上的高電平時,單片機就執(zhí)行復(fù)位操作。如果 RST 持續(xù)為高電平,單片機就處于循環(huán)復(fù)位狀態(tài)。根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位和上電或開關(guān)復(fù)位。上電復(fù)位要求接通電源后,自動實現(xiàn)復(fù)位操作。上電后,保持 RST 一段高電平時間 晶振電路模塊 本設(shè)計采用 12Mhz 的晶振, 30pF 的電容。如圖 所示 圖 外部中斷和內(nèi)部中斷并存,單片機硬件復(fù)位端,只要持續(xù) 4 個 機器周期的高電平即可實現(xiàn)復(fù)位,硬件復(fù)位后的各狀態(tài)可知寄存器以及存儲器的值都恢復(fù)到了初始值,因為本設(shè)計中功能中有倒計時時間的記憶功能,所以不能對單片機進行硬件復(fù)位,只能用軟件復(fù)位,軟件復(fù)位實際上就是當(dāng)程序執(zhí)行完之后,將程序通過一條跳轉(zhuǎn)指令讓它完成復(fù)位。 4 軟件設(shè)計 系統(tǒng)主程序設(shè)計 初始化程序:設(shè)置單片機的定時器 0 和 1 工作在模式 1( 16 位定時器),其中定時器 0 產(chǎn)生 24 小時時鐘模式的信號,定時器 1 產(chǎn)生 60 秒時鐘模式的信號;對定時器 0和 1 裝初值,開啟總中斷和定時器中斷 , LCD1602 的初始化及其他變量的聲明和賦初值。該部分程序, LCD1602 的初始化為重點。寫該部分程序應(yīng)該全面讀懂它的使用說明。 按鍵掃描程序:對 K1 到 K4 四個按鍵進行掃描,對按下不同的鍵讓單片機做出不同的響應(yīng)。因為每個按鍵都有不同的功能,所以程序中需要使用大量的 if 語句層層嵌套,這是本部分程序的兩個難點之一。另外一個難點就是對按鍵去抖動延時的設(shè)定,如果延時值太大了,則按鍵不靈敏;如果延時值太小,則出現(xiàn)重復(fù)操作的現(xiàn)象,解決這個問題需要在仿真時不斷的調(diào)試,以取個適中延時值。 定時中斷程序:完成對時鐘的在 LCD1602 顯示前的數(shù)據(jù)處理,產(chǎn)生秒,分。時。主要難點為秒分時之間的進位關(guān)系。 LCD 顯示程序 :LCD 顯示程序即包含在定時中斷程序里邊,也與前邊的 LCD 初始化程序有關(guān)。主要難點在將時鐘的變化顯示在 LCD1602 的正確位置,不要出現(xiàn)亂碼或者不符合時鐘的顯示格式。 開始 初始化 有按鍵按下? 是 否 寫入命令 顯示 延時 結(jié)束 程序的運行步驟如圖 所示 開始 初始化函數(shù) 有鍵按下? 是 K1 鍵 ? b 的次數(shù) 是 否 K4? K4? 否 是 時鐘復(fù)位 無效 是 否 選定秒位 選定分位 返回時鐘工作 選定時鐘 b=1 b=2 b=3 b=4 有鍵按下 K2? K3?
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1