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

正文內(nèi)容

基于s51單片機的開發(fā)板設(shè)計畢業(yè)論文(已改無錯字)

2022-07-25 18:48:51 本頁面
  

【正文】 程序流程圖如圖 45 所示:S51 開發(fā)板的設(shè)計24開始TLC5615 片選使能時鐘上升沿讀取數(shù)據(jù)12 位數(shù)據(jù)讀取完畢TLC5615 片選禁能YN圖 45 DA 程序流程圖 DS1302 時鐘模塊程序設(shè)計a DS1302 的工作時序DS1302 的復(fù)位特征和時鐘控制要求:復(fù)位(~RST) 輸入有兩種功能:首先,用于接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,用于終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送。當(dāng)為~RST高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302 進行操作。如果在傳送過程中~RST置為低電平,則會終止此次數(shù)據(jù)傳送,并且I/ O 引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc≥,~RST必須保持低電平。另外,當(dāng)~RST 為高電平時,SCLK必須為低電平。DS1302 的數(shù)據(jù)輸入輸出:向DS1302 寫入數(shù)據(jù)時,數(shù)據(jù)在控制字節(jié)輸入后的下一個SCLK周期的上升沿被寫入,多余的SCLK 將被忽略。數(shù)據(jù)寫入時從低位(位0) 開始;同樣,從DS1302 讀取數(shù)據(jù)時,數(shù)據(jù)在緊跟控制字節(jié)后的下一個SCLK的下降沿讀出,讀出數(shù)據(jù)時也是從低位(0位) 到高位(7位) ,只要~RST 保持高電平,額外的SCLK將導(dǎo)致數(shù)據(jù)字節(jié)的持續(xù)讀出,這個特性用于實現(xiàn)該芯片的突發(fā)讀模式。數(shù)據(jù)讀寫時序如圖46所示:S51 開發(fā)板的設(shè)計25圖 46 DS1302 的讀寫時序突發(fā)模式下,可以一次性讀出所有日歷時鐘數(shù)據(jù)或RAM數(shù)據(jù)。b DS1302 的寄存器DS1302 共有12 個寄存器,其中有7 個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為BCD 碼格式。其日歷、時間寄存器及其控制字見表41:表 41 DS1302 的寄存器命令字 各位內(nèi)容寄存器名寫操作 讀操作取值范圍7 6 5 4 3 2 1 0秒寄存器 80H 81H 0059 啟動 十位 個位分寄存器 82H 83H 0059 0 十位 個位時寄存器 84H 85H 0012或0023 12/24 0 10/AP 十位 個位日寄存器 86H 87H 0128,29,30,31 0 0 十位 個位月寄存器 88H 89H 0112 0 0 0 十位 個位周寄存器 8AH 8BH 0107 0 0 0 0 0 個位年寄存器 8CH 8DH 0099 十位 個位c DS1302 時鐘程序流程圖 DS1302 時鐘程序流程圖如圖 47 所示:S51 開發(fā)板的設(shè)計26 開始讀取 DS1302 的秒值寫入允許時鐘芯片關(guān)閉N寫入初始化時間寫入禁止獲取時鐘芯片的時間時間、日期數(shù)據(jù)轉(zhuǎn)化為液晶字符顯示Y圖 47 DS1302 時鐘程序流程圖在程序中定義了一個結(jié)構(gòu)體,用來存儲秒、分、時、星期、日、月、年信息,對 DS1302 的寄存器地址進行了聲明,方便在編程時使用,依據(jù) DS1302 讀寫單字節(jié)數(shù)據(jù)時序圖編寫實時時鐘讀寫一個字節(jié)的函數(shù),依據(jù) DS1302 讀寫數(shù)據(jù)時序圖編寫向 DS1302 某地址寫入數(shù)據(jù)和從 DS1302 某地址讀出數(shù)據(jù)的函數(shù),從 DS1302 某地址讀出數(shù)據(jù)可以獲取時鐘芯片的時鐘數(shù)據(jù)到自定義的結(jié)構(gòu)型數(shù)組中,這樣單片機就可以實時的從 DS1302 獲取時間了,向 DS1302 某地址寫入數(shù)據(jù)可以實現(xiàn)單片機對 DS1302 進行時間的初始化和修改操作。 測溫模塊程序設(shè)計a DS18B20 的工作時序單總線在任何時刻只能有一個控制信號或數(shù)據(jù),數(shù)據(jù)要能在單片機和單總線芯片之間實現(xiàn)可靠的傳送,遵循單總線處理次序通信協(xié)議,確保數(shù)據(jù)有條不紊地傳送,單總線處理次序圖如圖48所示:S51 開發(fā)板的設(shè)計27圖 48 單總線處理次序圖處理次序操作時,一般有以下 4 個過程:(1)初始化。基于單總線上的所有傳輸過程都是以初始化開始的,初始化過程由主機發(fā)出的復(fù)位脈沖和從機的應(yīng)答脈沖組成。應(yīng)答脈沖使主機知道總線上有從機設(shè)備,且準備就緒。(2)ROM 操作命令。在主機檢測到應(yīng)答信號后,主機可以發(fā)出 ROM 操作命令之一。所有的 ROM 命令都是 8 位,而且這些命令與各個從機設(shè)備的唯一 64 位 ROM 代碼相關(guān),允許主機在單總線上連接多個從機設(shè)備時,指定操作某個從機設(shè)備??砂l(fā)送的 ROM 命令有:讀 ROM,匹配 ROM,搜索 ROM,跳過 ROM,超ROM,超速跳過 ROM,條件查找 ROM。(3)RAM 操作命令。當(dāng)成功執(zhí)行上述某個 ROM 操作命令后,總線可以發(fā)出一個 RAM 命令來訪問和控制 RAM??砂l(fā)送的 RAM 命令有:寫暫存 RAM,讀暫存 RAM,復(fù)制暫存 RAM,數(shù)據(jù)轉(zhuǎn)換,回讀 E2PROM,讀電源模式。(4)數(shù)據(jù)交換。主機和從機之間進行數(shù)據(jù)的傳輸,所有的數(shù)據(jù)都是從低位開始讀寫的。所有的單總線器件要求采用嚴格的通信協(xié)議,以保證數(shù)據(jù)的完整性。該協(xié)議定義了幾種信號:復(fù)位脈沖、應(yīng)答脈沖、寫 0、寫 讀 0 和讀 1。這些信號當(dāng)中,除了應(yīng)答信號是由從機發(fā)給主機的以外,其他的信號都是由主機發(fā)出同步信號,并且發(fā)送所有的命令和數(shù)據(jù)都是從字節(jié)的低位開始的。單總線上的所有通信都是以初始化時序開始,包括主機發(fā)出的復(fù)位脈沖及從機的應(yīng)答脈沖,初始化時序如圖 49 所示:圖 49 初始化時序當(dāng)主機把數(shù)據(jù)從邏輯高電平拉到邏輯低電平時,寫時序開始,寫“1”和“0” , 寫時序如圖 410 所示:S51 開發(fā)板的設(shè)計28圖 410 寫時序 圖 411 讀時序b 測溫程序流程圖測溫程序流程圖如圖 412 所示: S51 開發(fā)板的設(shè)計29開始DS18B20 初始化跳過讀序列號操作啟動溫度轉(zhuǎn)換延時DS18B20 初始化跳過讀序列號操作讀取溫度寄存器值延時讀取溫度值低位讀取溫度值高位相加的溫度值溫度值轉(zhuǎn)化為液晶字符圖 412 DS18b20 溫度傳感器程序流程圖根據(jù)初始化時序?qū)?DS18B20 進行初始化,根據(jù)讀寫時序?qū)?DS18B20 進行讀寫編程,另外,在循環(huán)讀取溫度數(shù)據(jù)后,要將讀取的溫度數(shù)據(jù)轉(zhuǎn)換為可以在液晶上顯示的液晶字符。 串行通信模塊程序設(shè)計a RS232 通信模塊程序設(shè)計單片機通過 MAX232 與 PC 機通訊程序流程圖 413 所示: S51 開發(fā)板的設(shè)計30開始串口初始化保存數(shù)據(jù)發(fā)送數(shù)據(jù)RI 等于 1YNTI 等于 1RI 置零TI 置零YN413 單片機通過 MAX232 與 PC 機通訊程序流程圖在 PC 機串口調(diào)試助手的發(fā)送窗口發(fā)送數(shù)據(jù)到單片機,單片機接收到數(shù)據(jù)后發(fā)送給 PC 機,并在串口調(diào)試助手接收窗口中顯示。 b RS485 通信模塊程序設(shè)計單片機通過 MAX485 與 PC 機通訊程序流程圖如圖 414 所示:S51 開發(fā)板的設(shè)計31開始串口初始化保存數(shù)據(jù)發(fā)送數(shù)據(jù)RI 等于 1YNTI 等于 1RI 置零TI 置零YN485 接收485 發(fā)送414 單片機通過 MAX485 與 PC 機通訊程序流程圖在程序中,當(dāng)串口要接收數(shù)據(jù)時,使 為低電平,當(dāng)串口要發(fā)送數(shù)據(jù)時,使 為高電平。在 PC 機串口調(diào)試助手的發(fā)送窗口發(fā)送數(shù)據(jù)到單片機,單片機接收到數(shù)據(jù)后發(fā)送給 PC 機,并在串口調(diào)試助手接收窗口中顯示。 顯示模塊程序設(shè)計a 數(shù)碼管程序數(shù)碼管的顯示方式可以分為動態(tài)和靜態(tài)的。動態(tài)的也叫掃描方式,是利用發(fā)光二極管的余輝效應(yīng)和人眼的視覺暫留效應(yīng)來實現(xiàn)的,只要在在一定時間內(nèi)數(shù)碼管的筆段亮的頻率夠快,人眼就看不出閃爍,一般外圍硬件較少,但是對單片機資源耗用巨大。靜態(tài)的也叫鎖存方式,單片機送出數(shù)據(jù)后控制外圍鎖存器件鎖存數(shù)據(jù),這樣數(shù)碼管筆段里的電流不變,數(shù)碼管穩(wěn)定顯示,這樣單片機S51 開發(fā)板的設(shè)計32可以干別的活不用管數(shù)碼管了。這種方案的優(yōu)點是對單片機的 P 口資源和時間耗用很少,但是數(shù)碼管的外圍輔助電路復(fù)雜。在本程序中使用動態(tài)掃描法控制數(shù)碼管顯示,數(shù)碼管程序流程圖如圖 415所示:開始“4”段碼送 P0 口位碼送 P1 口選中第四位數(shù)碼管“3”段碼送 P0 口位碼送 P1 口選中第三位數(shù)碼管“2”段碼送 P0 口位碼送 P1 口選中第二位數(shù)碼管“1”段碼送 P0 口位碼送 P1 口選中第一位數(shù)碼管圖 415 數(shù)碼管程序流程圖P0 口提供數(shù)碼管顯示所需的段碼,1 四位數(shù)字對應(yīng)的共陰數(shù)碼管的段碼分別賦給變量 dis0、disdisdis3 ,在主函數(shù)中,依次將dis0、 dis disdis3 送至 P0 口,由于八個數(shù)碼管的每個段所對應(yīng)的連線連在一起,只有被片選的數(shù)碼管才會點亮。因此在將段碼送至 P0 口的同時,還要用P1 口送出位碼片選中要顯示的數(shù)碼管,這樣片選中的數(shù)碼管就會顯示特定的數(shù)字。程序中由低位到高位循環(huán)點亮數(shù)碼管顯示 1。由于間隔時間的總和小于 秒,根據(jù)人眼的視覺暫留效應(yīng),四個數(shù)碼管看起來同時點亮。S51 開發(fā)板的設(shè)計33b LCD1602 顯示程序1602 液晶模塊內(nèi)部的控制器共有 11 條控制指令,如表 42 所示:表 42 控制指令表序號 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D01 清顯示 0 0 0 0 0 0 0 0 0 12 光標(biāo)返回 0 0 0 0 0 0 0 0 1 *3 置輸入模式 0 0 0 0 0 0 0 1 I/D S4 顯示開/關(guān)控制 0 0 0 0 0 0 1 D C B5 光標(biāo)或字符移位 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 讀忙標(biāo)志或地址 0 1 BF 計數(shù)器地址10 寫數(shù)到 CGRAM 或 DDRAM) 1 0 要寫的數(shù)據(jù)內(nèi)容11 從 CGRAM 或 DDRAM讀數(shù) 1 1 讀出的數(shù)據(jù)內(nèi)容1602 液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實現(xiàn)的。(說明:1 為高電平、0 為低電平)指令 1—清顯示,指令碼 01H,光標(biāo)復(fù)位到地址 00H 位置。指令 2—光標(biāo)復(fù)位,光標(biāo)返回到地址 00H。指令 3—光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。指令 4—顯示開關(guān)控制。D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo) B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。指令 5—光標(biāo)或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標(biāo)。指令 6—功能設(shè)置命令 DL:高電平時為 4 位總線,低電平時為 8 位總線 S51 開發(fā)板的設(shè)計34N:低電平時為單行顯示,高電平時雙行顯示 F: 低電平時顯示 5x7 的點陣字符,高電平時顯示 5x10 的點陣字符。指令 7—字符發(fā)生器 RAM 地址設(shè)置。指令 8—DDRAM 地址設(shè)置。指令 9—讀忙信號和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令 10—寫數(shù)據(jù)。指令 11—讀數(shù)據(jù)。讀寫操作時序如圖 416 和 417 所示:圖 416 讀操作時序圖 417 寫操作時序LCD1602 顯示程序流程圖如圖 418 所示: S51 開發(fā)板的設(shè)計35開始顯示兩個字符串結(jié)束設(shè)置顯示模式關(guān)閉顯示顯示清屏顯示光標(biāo)移動設(shè)置顯示開及光標(biāo)設(shè)置圖 418 LCD1602 顯示程序流程圖液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,LCD1602 的內(nèi)部顯示地址見表43:表 43 LCD1602 的內(nèi)部顯示地址1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16第一行 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F第二行 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F比如第二行第一個字符的地址是 40H,那么是否直接寫入 40H 就可以將光標(biāo)定位在第二行第一個字符的位置呢?這樣不行,因為寫入顯示地址時要求最高位 D7 恒定為高電平 1 所以實際寫入的數(shù)據(jù)應(yīng)該是 01000000B(40H)+10000000B(80H)=11000000B(C0H)。c LCD12864 顯示程序 模塊控制芯片提供兩套控制命令,基本指令和擴充指令見表 44:S51 開發(fā)板的設(shè)計36表 44 基本指令表和擴充指令表指 指 令 碼 功 能令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 清除顯示 0 0 0 0 0 0 0 0 0 1 將 DDRAM填 滿 20H, 并 且 設(shè) 定 DDRAM的 地址 計 數(shù) 器 (AC)到 00H地址歸位 0 0 0 0 0 0 0 0 1 X設(shè) 定 DDRAM的 地 址 計 數(shù) 器 (AC)到 0
點擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1