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

正文內(nèi)容

(doc)-畢業(yè)設(shè)計(jì)--單片機(jī)自動(dòng)打鈴系統(tǒng)論文-畢業(yè)設(shè)計(jì)(編輯修改稿)

2024-09-02 05:00 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 電故障異常事件中斷請(qǐng)求信號(hào)都可以作為外部中斷源連/INT0、/INT1。定時(shí)器/計(jì)數(shù)器T0溢出中斷:TF0做標(biāo)志,;定時(shí)器/計(jì)數(shù)器T1溢出中斷:TF1做標(biāo)志,;片內(nèi)串行口產(chǎn)生的中斷:RX、TX。I/O口分配:P0口(~)為雙向8位三態(tài)I/O口,當(dāng)作為I/O口使用時(shí),可直接連接外部I/O設(shè)備。它是地址總線低8位及數(shù)據(jù)總線分時(shí)服用口,可驅(qū)動(dòng)8個(gè)TTL負(fù)載。一般作為擴(kuò)展時(shí)地址/數(shù)據(jù)總線口使用。P1口(~)的每一位都可以分別定義為輸入線和輸出線(做輸入時(shí),鎖存器必須置1),可驅(qū)動(dòng)4個(gè)TTL負(fù)載。P1口常用作通用I/O口,它是一個(gè)標(biāo)準(zhǔn)的準(zhǔn)雙向口。P2口(~)為8位準(zhǔn)雙向I/O口,當(dāng)作為I/O口使用時(shí),可直接連接外部I/O設(shè)備。它是地址總線的高8位復(fù)用,可驅(qū)動(dòng)4個(gè)TTL負(fù)載。一般作為擴(kuò)展地址總線的高8為使用。P3口(~)為8位準(zhǔn)雙向I/O口,是雙功能復(fù)用口,可驅(qū)動(dòng)4個(gè)TTL負(fù)載,能夠?qū)崿F(xiàn)第一功能,可作為通用I/O口。P3口的第二功能定義如表31所示:表31 P3口第二功能定義引腳定義功能引腳定義功能串行輸入口串行輸出口外部中斷0外部中斷1計(jì)時(shí)器0外部輸入計(jì)時(shí)器1外部輸入外部數(shù)據(jù)存儲(chǔ)器寫選通外部數(shù)據(jù)存儲(chǔ)器讀選通RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:地址鎖存允許信號(hào)輸出。在CPU訪問外部程序存儲(chǔ)器或外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE提供一個(gè)地址鎖存信號(hào),將低8位地址鎖存在片外鎖存器中。在與Flash并行編程/校驗(yàn)期間,該引腳也是編程負(fù)脈沖的輸入端。在正常操作狀態(tài)下,該引腳端口輸出恒定頻率的脈沖。其頻率為晶振頻率的1/6,可用作外部定時(shí)或其他觸發(fā)信號(hào)。如果需要,可通過SFR的第0位置禁止ALE操作,但ALE的禁止位不影響對(duì)外部存儲(chǔ)器的訪問。:片外程序存儲(chǔ)器選通信號(hào),低電平有效。當(dāng)AT89S51執(zhí)行來自外部程序存儲(chǔ)器的指令代碼時(shí),PSEN/每個(gè)機(jī)器周期兩次有效。在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),PSEN/無效。:片外程序存儲(chǔ)器訪問允許信號(hào),低電平有效。當(dāng)接地時(shí),CPU只執(zhí)行片外存儲(chǔ)器中的程序;當(dāng)接Vcc時(shí),CPU首先執(zhí)行片內(nèi)程序存儲(chǔ)器中的程序(0000H~0FFFH),然后自動(dòng)轉(zhuǎn)向執(zhí)行片外程序存儲(chǔ)器中的程序(1000H~FFFFH)。如果程序鎖定位LB1被編程(P),那么值將在復(fù)位時(shí)由片內(nèi)鎖存。在與Flash并行編程/校驗(yàn)期間,該引腳施加12V的編程電壓VPP。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。AT89S51引腳圖如圖34所示:圖34 AT89S51引腳圖 單片機(jī)最小系統(tǒng)電路單片機(jī)最小系統(tǒng)由晶振電路和復(fù)位電路組成。電路如圖35所示。晶振電路用于產(chǎn)生單片機(jī)工作時(shí)所需要的時(shí)鐘信號(hào),單片機(jī)的指令必須在時(shí)鐘信號(hào)下按照時(shí)序執(zhí)行。晶振電路通常用兩種設(shè)計(jì)方式:內(nèi)部振蕩方式和外部振蕩方式。內(nèi)部振蕩方式是在單片機(jī)的XTAL1和XTAL2引腳外接一個(gè)晶體振蕩器,與單片機(jī)內(nèi)部的振蕩器組成時(shí)鐘信號(hào);外部振蕩方式是在外部將已有的脈沖信號(hào)引入單片機(jī)內(nèi),一般用于使單片機(jī)的時(shí)鐘與外部信號(hào)保持同步。本設(shè)計(jì)選用內(nèi)部振蕩方式,在XTAL1和XTAL2引腳之間連接一個(gè)12MHz的晶振,再分別外接30p的對(duì)地電容。單片機(jī)在啟動(dòng)時(shí)需要復(fù)位,使系統(tǒng)各器件處于初始狀態(tài)。復(fù)位引腳為RST,當(dāng)系統(tǒng)上電后晶振電路穩(wěn)定后,RST引腳有一個(gè)高電平且持續(xù)2個(gè)機(jī)器周期以上,單片機(jī)系統(tǒng)就可以實(shí)現(xiàn)復(fù)位功能。復(fù)位一般有手動(dòng)復(fù)位和上電復(fù)位功能。手動(dòng)復(fù)位是在RST引腳設(shè)置按鍵,當(dāng)按鍵按下時(shí),RST引腳會(huì)有高電平,即可實(shí)現(xiàn)復(fù)位功能;上電復(fù)位是在RST引腳連接一個(gè)電解電容接至電源,再接一個(gè)電阻接地,系統(tǒng)上電時(shí),電容充電,只要電源的上升時(shí)間不超過1ms,就可以實(shí)現(xiàn)復(fù)位功能。本設(shè)計(jì)選用按鍵復(fù)位。圖35 單片機(jī)最小系統(tǒng)電路 顯示電路LCD1602為字符型液晶顯示器,分為帶背光和不帶背光兩種,主要技術(shù)參數(shù):顯示容量,162個(gè)字符;芯片工作電壓,;工作電流,;模塊最佳工作電壓,5V;字符尺寸。LCD1602共有16個(gè)引腳,引腳說明如下:1腳,VSS,電源地;2腳,VDD,電源正極,接+5V;3腳,VL,液晶顯示偏壓,接正電源時(shí)對(duì)比度較弱,接地時(shí)對(duì)比度最高;4腳,RS,數(shù)據(jù)/命令選擇,高電平時(shí)選擇數(shù)據(jù)寄存器,低電平時(shí)選擇指令寄存器;5腳,R/W,讀/寫選擇,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作,當(dāng)RS和R/W共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電平時(shí)可以寫入數(shù)據(jù);6腳,E,使能信號(hào),當(dāng)E端由高電平跳變?yōu)榈碗娖綍r(shí),液晶塊執(zhí)行命令;714腳,D0D7,8位雙向數(shù)據(jù)線;15腳,BLA,背光源正極;16腳,BLK,背光源負(fù)極。本設(shè)計(jì)中顯示電路如圖36所示。單片機(jī)的P2口作為L(zhǎng)CD1602的數(shù)據(jù)線端口,P3口控制LCD1602的使能端。單片機(jī)讀取數(shù)據(jù)后,通過控制LCD1602的讀寫端、復(fù)位端和使能端將其設(shè)置為寫入數(shù)據(jù)狀態(tài),再將數(shù)據(jù)通過P2口送入LCD1602實(shí)現(xiàn)顯示功能。圖36 顯示電路 打鈴電路 打鈴電路一般用聲音或音樂作為提醒,本設(shè)計(jì)選用蜂鳴器和LED燈實(shí)現(xiàn)聲光雙重打鈴功能,電路如圖37所示。打鈴時(shí)間到時(shí),三極管9013導(dǎo)通,繼而蜂鳴器和LED燈導(dǎo)通,實(shí)現(xiàn)蜂鳴和燈亮打鈴功能。圖37 打鈴電路4 系統(tǒng)軟件設(shè)計(jì) 軟件設(shè)計(jì)流程圖 系統(tǒng)軟件設(shè)計(jì)流程圖如圖41所示。圖41 軟件設(shè)計(jì)流程圖 程序設(shè)計(jì)過程:首先要定義單片機(jī)的引腳,然后初始化器件,再利用DS1307的讀寫時(shí)序讀取時(shí)間數(shù)據(jù)。再利用按鍵進(jìn)入時(shí)間設(shè)定狀態(tài),設(shè)定完時(shí)間后單片機(jī)通過比較時(shí)間是否到達(dá)設(shè)定的時(shí)間來確定是否到打鈴時(shí)間,如果達(dá)到打鈴時(shí)間,則控制蜂鳴器響LED燈亮。 讀取DS1307時(shí)間程序設(shè)計(jì)DS1307中的時(shí)間寄存器地址編碼為00H07H,而具有掉電保護(hù)的RAM寄存器的地址編碼為08H3FH。當(dāng)?shù)刂分羔樦赶騌AM的最后一個(gè)地址3FH時(shí),若進(jìn)行多字節(jié)操作,則地址指針將會(huì)復(fù)位而指向00H,這樣原來存在00H的數(shù)據(jù)將會(huì)丟失。DS1307的各類時(shí)間數(shù)據(jù)均以BCD碼的格式存儲(chǔ)在相應(yīng)的時(shí)間寄存器中,具體分配如表41所示:表41 DS1307寄存器分配00H01H02H03H04H05H06H07H秒分小時(shí)星期日期月年控制字單片機(jī)通過讀取DS1307相應(yīng)的寄存器字節(jié),可以獲取時(shí)鐘和日歷信息。時(shí)鐘和日歷信息以BCD碼的形式存放在寄存器中,寄存器0的第7位為時(shí)鐘停止位,振蕩器停止工作。由于在初次上電時(shí),所有寄存器的狀態(tài)是不確定的,所以在初始化時(shí)必須將寄存器0中的第7位設(shè)為0。DS1307可運(yùn)行在12/24小時(shí)模式下,并由時(shí)間控制器中的相應(yīng)位來進(jìn)行控制。根據(jù)小時(shí)寄存器的第6位是0還是1,置為1時(shí),是工作于12小時(shí)模式下,此時(shí),小時(shí)寄存器的第5位為AM/PM標(biāo)志。在24小時(shí)模式中,小時(shí)寄存器的第5位和第4位共同組成小時(shí)的十位數(shù)。時(shí)鐘模塊設(shè)計(jì)流程:?jiǎn)纹瑱C(jī)按如下順序?qū)?shù)據(jù)寫入到DS1307 寄存器或內(nèi)部RAM 中:START 信號(hào)寫SLA+W(0xd0)字節(jié),DS1307 應(yīng)答(ACK);寫1 字節(jié)內(nèi)存地址(在以下第四步寫入的第一字節(jié)將存入到DS1307 內(nèi)該地址處,DS1307應(yīng)答);寫數(shù)據(jù)(可寫多個(gè)字節(jié),每一字節(jié)寫入后DS1307 內(nèi)部地址計(jì)數(shù)器加一,DS1307 應(yīng)答);STOP 信號(hào)單片機(jī)讀取DS1307子程序流程圖如圖42所示:圖42 單片機(jī)讀取DS1307子程序流程圖 顯示程序設(shè)計(jì)LCD1602的基本操作時(shí)序:讀狀態(tài):輸入:RS=L,RW=H,E=H;輸出:D0D7=狀態(tài)字。寫指令:輸入:RS=L,RW=L,D0D7=指令碼,E=高脈沖;輸出:無。讀數(shù)據(jù):輸入:RS=H,RW=H,E=H;輸出:D0D7=數(shù)據(jù)。寫數(shù)據(jù):輸入:RS=H,RW=L,D0D7=數(shù)據(jù),E=高脈沖;輸出:無。LCD1602初始化過程:延時(shí)15ms;寫指令38H(不檢測(cè)忙信號(hào));延時(shí)5ms;寫指令38H(不檢測(cè)忙信號(hào));延時(shí)5ms;寫指令38H(不檢測(cè)忙信號(hào));以后每次寫指令、讀/寫數(shù)據(jù)操作均需要檢測(cè)忙信號(hào);寫指令38H,顯示模式設(shè)置;寫指令08H,顯示關(guān)閉;寫指令01H,顯示清屏;寫指令06H,顯示光標(biāo)移動(dòng)設(shè)置;寫指令0CH,顯示開及光標(biāo)設(shè)置。LCD有11條控制指令,如表42所示。表42LCD1602控制指令表序號(hào)指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001I/DS4顯示開/關(guān)控制0000001DCB5光標(biāo)或字符移位000001S/CR/L**6置功能00001DLNF**7置字符發(fā)生存儲(chǔ)器地址0001字符發(fā)生存儲(chǔ)器地址8置數(shù)據(jù)存儲(chǔ)器地址001顯示數(shù)據(jù)存儲(chǔ)器地址9讀忙標(biāo)志或地址01BF計(jì)數(shù)器地址10向CGRAM或DDRAM寫數(shù)10要寫的數(shù)據(jù)內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容LCD1602內(nèi)部自帶有808位的RAM緩沖區(qū),RAM地址映射如表43所示。表43 LCD1602的RAM地址映射表00010203040506070809404142434445464748490A0B0C0D0E0F10……274A4B4C4D4E4F50……67LCD1602寫操作時(shí)序如圖43所示。圖43 LCD1602寫操作時(shí)序向LCD1602寫數(shù)據(jù)程序子程序流程圖如圖44所示:圖44 向LCD1602寫數(shù)據(jù)程序子程序流程圖 按鍵設(shè)定程序設(shè)計(jì)單片機(jī)讀取按鍵的方式有2種:查詢方式和中斷方式。查詢方式是利用單片機(jī)引腳不斷查詢是否有按鍵按下,如果有按鍵按下,利用延時(shí)程序去除抖動(dòng)再次確認(rèn)后,進(jìn)入該按鍵對(duì)應(yīng)的子程序執(zhí)行命令。中斷方式是利用單片機(jī)的外部中斷功能來檢測(cè)是否有按鍵按下。利用中斷功能可以不用在主程序中不斷的執(zhí)行查詢命令,有中斷產(chǎn)生即有按鍵按下時(shí),再進(jìn)入中斷子程序中進(jìn)行處理。本設(shè)計(jì)選用查詢方式處理按鍵設(shè)定程序。每個(gè)獨(dú)立式按鍵直接接至單片機(jī)引腳,每個(gè)按鍵的鍵值與單片機(jī)端口的8個(gè)引腳的8位二進(jìn)制碼相對(duì)應(yīng)。單片機(jī)控制按鍵子程序流程圖如圖45所示:
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1