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

正文內(nèi)容

基于at89c51單片機(jī)的電子萬(wàn)年歷設(shè)計(jì)(編輯修改稿)

2025-07-11 15:24 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 1)根據(jù)要求選擇方式,確定方式控制字,寫入方式控制寄存器 TMOD。 (2)根據(jù)要求計(jì)算定時(shí) /計(jì)數(shù)器的計(jì)數(shù)值,再由計(jì)數(shù)值求得初值,寫入初 值寄存器。 (3)根據(jù)需要開放定時(shí) /計(jì)數(shù)器中斷。 (4)設(shè)置定時(shí) /計(jì)數(shù)器控制寄存器 TCON 的值,啟動(dòng)定時(shí) /計(jì)數(shù)器開始工作。 (5)等待定時(shí) /計(jì)數(shù)時(shí)間到,則執(zhí)行中斷服務(wù)程序;如果查詢處理則編寫查詢程序,判斷溢出標(biāo)志,溢出標(biāo)志等于 1,則進(jìn)行相應(yīng)處理。 T F 1T R 1T F 0T R 0G A T EC / TM 1M 0G A T EC / TM 1M 01amp?!?110T 0 引 腳I N T 0 引 腳10機(jī) 器 周 期T H 0 T L 08 位 8 位溢 出T C O NT M O DD 0D 7D 7D 0申 請(qǐng)中 斷 VI 中斷系統(tǒng) 中斷概述 中斷是指計(jì)算機(jī)在執(zhí)行某一程序的過(guò)程中 , 由于計(jì)算機(jī)系統(tǒng)內(nèi)、 外的某種原因 , 而必須中止原程序的執(zhí)行 , 轉(zhuǎn)去執(zhí)行相應(yīng)的處理程序 , 待處理結(jié)束之后 , 再回來(lái)繼續(xù)執(zhí)行被中止的原程序的過(guò)程。 中斷的主要功能 及優(yōu)先級(jí) 1)實(shí)現(xiàn) CPU 與外部設(shè)備的速度配合 2)實(shí)現(xiàn)實(shí)時(shí)控制 3)實(shí)現(xiàn)故障的及時(shí)發(fā)現(xiàn)與處理 4)實(shí)現(xiàn)人機(jī)聯(lián)系 中斷優(yōu)先級(jí)越高 , 則響應(yīng)優(yōu)先權(quán)就越高。當(dāng) CPU 正在執(zhí)行中斷服務(wù)程序時(shí) , 又有中斷優(yōu)先級(jí)更高的中斷申請(qǐng)產(chǎn)生 , 這時(shí) CPU 就會(huì)暫停當(dāng)前的中斷服務(wù)轉(zhuǎn)而處理高級(jí)中斷申請(qǐng) , 待高級(jí)中斷處理程序完畢再返回原中斷程序斷點(diǎn)處繼續(xù)執(zhí)行 , 這一過(guò)程稱為中斷嵌套。 80C51 定時(shí)中斷 定時(shí)中斷是為滿足定時(shí)或計(jì)數(shù)的需要而設(shè)置的 。當(dāng)計(jì)數(shù)器發(fā)生計(jì)數(shù)溢出時(shí),表明設(shè)定的定時(shí)時(shí)間到或計(jì)數(shù)值滿,這時(shí)可以向 CPU 申請(qǐng)中斷。由 于定時(shí)器 /計(jì)數(shù)器在單片機(jī)內(nèi)部,所以定時(shí)中斷屬內(nèi)部中斷。 80C51 有二個(gè) 定時(shí) 中斷源,即: (1) TF0()— T0 溢出中斷 (2) TF1()— T1 溢出中斷 中斷響應(yīng)的過(guò)程 (1) 在每條指令結(jié)束后 , 系統(tǒng)都自動(dòng)檢測(cè)中斷請(qǐng)求信號(hào) , 如果有中斷請(qǐng)求,且 CPU 處于開中斷狀態(tài)下 , 則響應(yīng)中斷。 (2) 保護(hù)現(xiàn)場(chǎng) , 在保護(hù)現(xiàn)場(chǎng)前 , 一般要關(guān)中斷 , 以防止現(xiàn)場(chǎng)被破壞。保護(hù)現(xiàn)場(chǎng)一般是用堆棧指令將原程序中用到的寄存器推入堆棧。 (3) 中斷服務(wù) , 即為相應(yīng)的中斷源服務(wù)。 (4) 恢復(fù)現(xiàn)場(chǎng) , 用堆棧指令將 保護(hù)在堆棧中的數(shù)據(jù)彈出來(lái) , 在恢復(fù)現(xiàn)場(chǎng)前要關(guān)中斷 , 以防止現(xiàn)場(chǎng)被破壞。在恢復(fù)現(xiàn)場(chǎng)后應(yīng)及時(shí)開中斷。 (5) 返回 , 此時(shí) CPU將推入到堆棧的斷點(diǎn)地址彈回到程序計(jì)數(shù)器 , 從而使 CPU繼續(xù)執(zhí) VII 行剛才被中斷的程序。 8051 中 斷 源 串 行接 口 串行接口的基本概念 (1) 同步方式是將一大批數(shù)據(jù)分成幾個(gè)數(shù)據(jù)塊 , 數(shù)據(jù)塊之間用同步字符予以隔開 , 而傳輸?shù)母魑欢M(jìn)制碼之間都沒有間隔。 其基本特征是發(fā)送與接收時(shí)鐘始終保持嚴(yán) 格同步。 (2)異步通信是按幀傳送數(shù)據(jù) , 它利用每一幀的起、止信號(hào)來(lái)建立發(fā)送與接收之間的同步 ,每幀內(nèi)部各位均采用固定的時(shí)間間隔 , 但幀與幀之間的時(shí)間間隔是隨機(jī)的。其基本特征是每個(gè)字符必須用起始位和停止位作為字符開始和結(jié)束的標(biāo)志 , 它是以字符為單位一個(gè)個(gè)地發(fā)送和接收的。 80C51 串行口的結(jié)構(gòu) 示意圖如下圖( ) ≥ 1S B U F發(fā) 送 控 制 器接 收 控 制 器移 位 寄 存 器控 制 門T IR IAT X DR X D去 串 口 中 斷S M O D01T H 1 T L 1247。 2247。 1 6S B U FT 1 溢 出 率 VIII 圖( ) 有兩個(gè)物理上獨(dú)立的接收、發(fā)送緩沖器 SBUF,它們占用同一地址 99H ;接收器是雙緩沖結(jié)構(gòu) ;發(fā)送緩沖器,因?yàn)?發(fā)送時(shí) CPU 是主動(dòng)的,不會(huì)產(chǎn)生重疊錯(cuò)誤。 串行口控制寄存器 SCON SCON 用于控制和監(jiān)視串行口的工作狀態(tài) , 其各位定義如圖 所示。相應(yīng)的各位功能介紹如下 : SM0、 SM1: 用于定義串行口的操作模式 , 兩個(gè)選擇位對(duì)應(yīng) 4 種模式 ,見表。其中 fOSC 是振蕩器頻率 , UART 為通用異步接收和發(fā)送器的英文縮寫。 SM2: 多機(jī)通信時(shí)的接收允許標(biāo)志位。 在模式 2 和 3 中 , 若 SM2 = 1, 且接收到的第 9 位數(shù)據(jù)( RB8)是 0, 則接收中斷標(biāo)志( RI)不會(huì)被激活。在模式 1 中 , 若 SM2=1 且沒有接收到有效的停止位 , 則 RI不會(huì)被激活。 在模式 0 中 , SM2 必須是 0 串行口操作模式選擇 表 ( ) 表( ) 80C51 串行口的工作方式 方式 1 方式 1 是 10 位數(shù)據(jù)的異步通信口。 TXD 為數(shù)據(jù)發(fā)送引腳, RXD 為數(shù)據(jù)接收引腳,傳送一幀數(shù)據(jù)的格式如圖所示。其中 1 位起始位, 8 位數(shù)據(jù)位, 1 位停止位 。 原理如下圖( ) 。 停止位數(shù) 據(jù) 位 8 位起始位L S B M S B空閑空閑D 0D 71 幀 共 1 0 位 IX 圖( ) 用軟件置 REN 為 1 時(shí),接收器以所選擇波特率的 16 倍速率采樣 RXD 引腳電平,檢測(cè)到 RXD 引腳輸入電平發(fā)生負(fù)跳變時(shí),則說(shuō)明起始位有效,將其移入輸入移位寄存器,并開始接收這一幀信息的其余位。接收過(guò)程中,數(shù)據(jù)從輸入移位寄存器右邊移入,起始位移至輸入移位寄存器最左邊時(shí),控制電路進(jìn)行最后一次移位。當(dāng) RI=0,且 SM2=0(或接收到的停止位為 1)時(shí),將接收到的 9 位數(shù)據(jù)的前 8位數(shù)據(jù)裝入接收 SBUF,第 9 位(停止位)進(jìn)入 RB8,并置 RI=1,向 CPU 請(qǐng)求中斷。 矩陣式鍵盤接口電路 矩陣式鍵盤接口電路的組成 矩陣式鍵盤接口電路是由行線 、列線和按鍵組成的,按鍵位于行線和列線的交叉點(diǎn)上。 按鍵的連線引到行線、列線的交叉點(diǎn)出,行線、列線分別連接到按鍵開關(guān)的兩端,行線通過(guò)上拉電阻接到 +5V 電平上。無(wú)按鍵動(dòng)作時(shí),行線處于高電平狀態(tài);當(dāng)有按鍵按下時(shí),行線電平狀態(tài)將由與其連接的列線電平?jīng)Q定。如果列線電平為低,則行線電平為低;如果列線電平為高,則行線電平也為高。這一點(diǎn)是識(shí)別矩陣式鍵盤的按鍵是否被按下的關(guān)鍵。 由于矩陣式鍵盤中行線、列線為多鍵公用,各按鍵均影 響該鍵所在行和列的電平,因此各按鍵彼此將相互發(fā)生影響,所以必須將行線、列線信號(hào)配合起來(lái) 并作適當(dāng)處理,才能確定閉合鍵的位置。 矩陣式鍵盤的按鍵識(shí)別 及特點(diǎn) 在 矩陣式鍵盤接口電路中,按鍵識(shí)別的方法有兩種:一種是掃描法;另一種是線反轉(zhuǎn)法。 用掃描法識(shí)別按鍵狀態(tài)時(shí)分兩步進(jìn)行: 1) 識(shí)別按鍵有無(wú)按下。讓所有列線均置為 0 電平,檢查各行線電平有無(wú)變化。若有,則說(shuō)明有鍵按下;若無(wú),則說(shuō)明武鍵按下。除此之外,實(shí)際編程時(shí)還要用軟件消抖得的方法進(jìn)行消抖處理。 X 2) 采用掃描法識(shí)別具體的按鍵。逐列置零電平,其余各列置高電平, 再檢查 行線電平的變化。如果行電平由高電平變成低電平,則可確定此行和此列交叉點(diǎn)處的按鍵被按下。 矩陣式鍵盤采用線反轉(zhuǎn)法識(shí)別鍵狀態(tài)方法: 1) 將行線編程為輸入線,列線編程為輸出線,并使輸出線的輸出全為零電平,則行線中電平由高到低所在行為按鍵所在行。 2) 同第 1)步完全相反,將行線編程為輸出線,并使輸出線的輸出全為零電平,則行線中電平由高到低所在行為按鍵所在行。 矩陣式鍵盤特點(diǎn) 在矩陣式鍵盤接口中,對(duì)鍵盤應(yīng)當(dāng)做三個(gè)層次的工作: 1) 第一層:監(jiān)視鍵盤的輸入。體現(xiàn)在鍵盤工作方式上就是編程掃描、定時(shí)掃描和中斷掃描三種工作方式。 2) 第二層: 確定具體按鍵。體現(xiàn)在鍵盤識(shí)別方法上就是掃描法和線反轉(zhuǎn)法。 3) 第三層:鍵功能程序執(zhí)行。 同獨(dú)立式按鍵的接口一樣,一般可用下列方法組成矩陣式鍵盤接口。 1) 直接用 8051 的 I/O 口線。 2) 用并行接口芯片擴(kuò)展 I/O 口線。 3) 用三態(tài)緩沖鎖存器擴(kuò)展 I/O 口線。 還可用 8051 的串行端口 RXD和 TXD線擴(kuò)展矩陣式鍵盤的掃描線或用譯碼器擴(kuò)展掃描線。 由 8052 PI 口的高低字節(jié)構(gòu)成 4 4 矩陣式鍵盤接口電路 原理圖如下圖 () XI 圖 () LED 動(dòng)態(tài)顯示電路 動(dòng)態(tài)顯示的特點(diǎn) 動(dòng)態(tài)顯示的特點(diǎn)是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。這樣一來(lái),就沒有必要每一位數(shù)碼管配一個(gè)鎖存器,從而大大地簡(jiǎn)化了硬件電路。選亮數(shù)碼管采用動(dòng)態(tài)掃描顯示。所謂動(dòng)態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數(shù)碼管同時(shí)都在顯示。動(dòng)態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時(shí)應(yīng)略小于靜態(tài)顯示電路中的。 LED 顯示器的接法 接法如下圖 ( ) XII 圖( ) 第三章 Keil C 軟件使用 1) 建立一個(gè)新工程 單擊 Project 菜單,在彈出的下拉菜單中選中 New Project 選項(xiàng) 3) 然后選擇你要保存的路徑 ,輸入工程文件的名字 ,比如保存到 C51 目錄里 ,工程文件的名字為 C51,然后點(diǎn)擊保存 . 3) 這時(shí)會(huì)彈出一個(gè)對(duì)話框 ,要求你選擇單片機(jī)的型號(hào) ,你可以根據(jù)你使用的單片 機(jī)來(lái)選擇 ,keil c51 幾乎支持所有的 51 核的單片機(jī) ,我這里還是以大家用的比較多 的Atmel 的 89C51來(lái)說(shuō)明 ,如下圖所示 ,選擇 89C51之后 ,右邊欄是對(duì)這個(gè)單片機(jī) 的基本的說(shuō)明 ,然后點(diǎn)擊確定 . XIII 4) 完成上一步驟后,屏幕如下圖所示 到現(xiàn)在為止,我們還沒有編寫一句程序,下面開始編寫我們的第一個(gè)程序。 5) 在下圖中,單擊 “File” 菜單,再在下拉菜單中單擊 “New” 選項(xiàng) 新建文件后屏幕如下圖所示 此時(shí)光標(biāo)在編輯窗口里閃爍,這時(shí)可以鍵入用戶的應(yīng)用程序了,但筆者建議首先保存該空白的文件,單擊菜單上的 “File” ,在下拉菜單中選中 “Save As” 選項(xiàng)單擊,屏幕如下圖所示,在 “ 文件名 ” 欄右側(cè)的編輯框中,鍵入欲使用的文件名,同時(shí),必須鍵入正確的擴(kuò)展名。注意,如果用C語(yǔ)言編寫程序,則擴(kuò)展名為 (.c);如果用匯編語(yǔ)言編寫程序,則擴(kuò)展名必須為 (.asm)。然后,單擊 “ 保存 ” 按鈕。 XIV 6) 回到編輯界面后,單擊 “Target 1” 前面的 “ + ” 號(hào),然后在 “Source Gro up 1”上單擊右鍵,彈出如下菜單 然后單擊 “Add File to Group ?Source Group 1?” 選中 ,然后單擊 “Add ” 屏幕好下圖所示 注意到 “Source Group 1” 文件夾中多了一個(gè)子項(xiàng) “” 了嗎?子項(xiàng)的多少與所增加的源程序的多少相同 7) 現(xiàn)在,請(qǐng)輸入 C語(yǔ)言源程序 在輸入上述程序時(shí),讀者已經(jīng)看到了事先保存待編輯的文件的好處了吧,即 Keil c51 會(huì)自動(dòng)識(shí)別關(guān)鍵字,并以不同的顏色提示用戶加以注意,這樣會(huì)使用戶少犯錯(cuò)誤,有利于提高編程效率 8) 在上圖中,單擊 “Project ” 菜單,再在下拉菜單中單擊 “Built Target” 選項(xiàng)(或者使用快捷鍵 F7),編譯成功后,再單擊 “Project” 菜單,在下拉菜 單 XV 中單擊 “Start/Stop Debug Session” (或者使用快捷鍵 Ctrl+F5) ,屏幕如下所示 9) 調(diào)試程序 :在上圖 中,單擊 “Debug” 菜單,在下拉菜單中單擊 “Go” 選項(xiàng),(或者使用快捷鍵 F5),然后再單擊 “Debug” 菜單,在下拉菜單中單擊 “Stop Running” 選項(xiàng)(或者使用快捷鍵 Esc);再單擊 “View” 菜單,再在下拉菜單中單擊 “Serial Windows 1” 選項(xiàng),就可以看到程序運(yùn)行后的結(jié)果 10) 單擊 “Project” 菜單,再在下拉菜單中單擊 “ ” ,單擊 “ Output” 中單擊 “ Create HEX File” 選項(xiàng) ,使程序編譯后產(chǎn)生 HEX 代碼,供下載器軟件使用。把程序下載到 AT89S51 單片機(jī)中。 第四章 設(shè)計(jì)流程圖 總體設(shè)計(jì)流程圖 XVI 此萬(wàn)年歷具有顯示時(shí)間和調(diào)整時(shí)間的功能 ;外設(shè)有六個(gè)按鍵,一個(gè)為復(fù)位開關(guān),一個(gè)為分層顯示時(shí)間,其余按鍵為調(diào)整時(shí)間。當(dāng)時(shí)間有誤差時(shí),按照說(shuō)明選擇相應(yīng)位來(lái)調(diào)整時(shí)間。 系統(tǒng)初
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1