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

正文內(nèi)容

51單片機(jī)教學(xué)實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)畢業(yè)論文(編輯修改稿)

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

【文章內(nèi)容簡(jiǎn)介】 蜂鳴器模塊原理圖如圖318所示流水燈模塊包含8個(gè)LED燈,單片機(jī)的P0口接10K上拉電阻,八個(gè)LED的負(fù)極依次連接單片機(jī)P0口的8個(gè)引腳,八個(gè)LED的正極依次與510歐姆的排阻的八個(gè)端子相連,排阻的公共端連接短路插針的一端,短路插針的另一端與電源相連,因此,若將短路插針用短路帽短路,則八個(gè)LED的正極上拉到高電平, LED低電平點(diǎn)亮。如圖319所示,,Q1導(dǎo)通,Q1的發(fā)射極與集電極導(dǎo)通,將發(fā)射極下拉為低電平,蜂鳴器兩端出現(xiàn)電位差,蜂鳴器發(fā)聲;,Q1不導(dǎo)通,蜂鳴器兩端沒(méi)有電流流過(guò),蜂鳴器不發(fā)聲。 本章小結(jié)對(duì)硬件的設(shè)計(jì)采用模塊化設(shè)計(jì)方法,采用的電路為典型應(yīng)用電路,資源配置合理,通過(guò)使用短路帽連接相應(yīng)的功能模塊,降低了功耗,減弱了器件之間的相互干擾,提高了系統(tǒng)穩(wěn)定性,硬件工作穩(wěn)定可靠。注意:除第一章緒論外,其他每一章都應(yīng)該有一個(gè)本章小結(jié)第4章 總體設(shè)計(jì) 整體程序設(shè)計(jì)軟件部分主要包括數(shù)碼管程序、鍵盤(pán)程序、AD程序、DA程序、DS1302時(shí)鐘程序、DS18b20溫度傳感器程序、串行通信程序、顯示程序和其他簡(jiǎn)單模塊程序[10]。 分模塊程序設(shè)計(jì)依據(jù)開(kāi)發(fā)板上硬件資源,進(jìn)行程序的開(kāi)發(fā),在軟件的設(shè)計(jì)過(guò)程中,采用模塊化的設(shè)計(jì)方法,依次分別為每個(gè)模塊設(shè)計(jì)軟件。下面分別介紹以上各個(gè)模塊的程序設(shè)計(jì)。 鍵盤(pán)模塊程序設(shè)計(jì)矩陣式鍵盤(pán)的按鍵識(shí)別方法為:判斷鍵盤(pán)中有無(wú)鍵按下:將全部行線KEY0KEY3置低電平,然后檢測(cè)列線的狀態(tài)。只要有一列的電平為低,則表示鍵盤(pán)中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個(gè)按鍵之中。若所有列線均為高電平,則鍵盤(pán)中無(wú)鍵按下。 判斷閉合鍵所在的位置:在確認(rèn)有鍵按下后,即可進(jìn)入確定具體閉合鍵的過(guò)程。其方法是:依次將行線置為低電平,即在置某根行線為低電平時(shí),其它線為高電平。在確定某根行線位置為低電平后,再逐行檢測(cè)各列線的電平狀態(tài)。若某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。 矩陣式鍵盤(pán)的按鍵編碼處理:將行線和列線依次進(jìn)行數(shù)值編碼,然后進(jìn)行一定規(guī)則的運(yùn)算,就是對(duì)鍵值的編碼。 鍵盤(pán)程序流程圖如圖41所示:開(kāi)始鍵盤(pán)掃描有鍵按下取鍵值YN原有鍵值不變鍵值P0口選通數(shù)碼管圖41 鍵盤(pán)程序流程圖鍵盤(pán)采用的是行掃描法確定鍵值,在程序中具體是這樣掃描鍵盤(pán)的:將鍵盤(pán)掃描碼送入P2口,先是使行線依次為低電平,順序?yàn)镵EYKEYKEYKEY4,在某一行線為低電平的狀態(tài)下,讀取P2口的狀態(tài),將狀態(tài)值依次右移四位,這樣便將KEY5KEY8的狀態(tài)值移到了低四位,再將高四位狀態(tài)值置一,將處理后的狀態(tài)值與當(dāng)前的掃描碼比較,如果此時(shí)的狀態(tài)值與四個(gè)掃描碼中的一個(gè)相同,證明有鍵按下,此時(shí)保存掃描碼的數(shù)組下標(biāo)和與狀態(tài)值相等的掃描碼數(shù)組下標(biāo),并將兩個(gè)值按照鍵盤(pán)編碼值進(jìn)行某一規(guī)則的四則運(yùn)算后返回給主函數(shù)中的某一變量;如果在全部行線依次為低電平情況下的狀態(tài)值與四個(gè)掃描碼中沒(méi)有一個(gè)相同,證明沒(méi)有鍵按下,返回1到主函數(shù)。在主函數(shù)中調(diào)用鍵盤(pán)掃描函數(shù)對(duì)鍵盤(pán)進(jìn)行掃描,判斷返回鍵值,若返回值不為1,證明右鍵按下,在某一個(gè)數(shù)碼管上顯示鍵值,若返回值為1,證明沒(méi)有鍵按下,顯示先前按下的按鍵鍵值。 DA模塊程序設(shè)計(jì)1.TLC5615的工作時(shí)序 TLC5615的工作時(shí)序如圖42所示:圖42 TLC5615的時(shí)序圖由時(shí)序圖可以看出,當(dāng)片選CS為低電平時(shí),輸入數(shù)據(jù)DIN由時(shí)鐘SCLK同步輸入或輸出,而且最高有效位在前,低有效位在后。輸入時(shí)SCLK的上升沿把串行輸入數(shù)據(jù)DIN移入內(nèi)部的16位移位寄存器,SCLK的下降沿輸出串行數(shù)據(jù)DOUT,片選CS的上升沿把數(shù)據(jù)傳送至DAC寄存器。當(dāng)片選CS為高電平時(shí),串行輸入數(shù)據(jù)DIN不能由時(shí)鐘同步送入移位寄存器;輸出數(shù)據(jù)DOUT保持最近的數(shù)值不變而不進(jìn)入高阻狀態(tài)。由此要想串行輸入數(shù)據(jù)和輸出數(shù)據(jù)必須滿足兩個(gè)條件:第一時(shí)鐘SCLK的有效跳變;第二片選CS為低電平。這里,為了使時(shí)鐘的內(nèi)部饋通最小,當(dāng)片選CS為高電平時(shí),輸入時(shí)鐘SCLK應(yīng)當(dāng)為低電平。 串行數(shù)模轉(zhuǎn)換器TLC5615的使用有兩種方式,即級(jí)聯(lián)方式和非級(jí)聯(lián)方式。如不使用級(jí)聯(lián)方式,DIN只需輸入12位數(shù)據(jù)。DIN輸入的12位數(shù)據(jù)中,前10位為TLC5615輸入的D/A轉(zhuǎn)換數(shù)據(jù),且輸入時(shí)高位在前,低位在后,后兩位必須寫(xiě)入數(shù)值為零的低于LSB的位,因?yàn)門LC5615的DAC輸入鎖存器為12位寬。如果使用TL5615的級(jí)聯(lián)功能,來(lái)自DOUT的數(shù)據(jù)需要輸入16位時(shí)鐘下降沿,因此完成一次數(shù)據(jù)輸入需要16個(gè)時(shí)鐘周期,輸入的數(shù)據(jù)也應(yīng)為16位。輸入的數(shù)據(jù)中,前4位為高虛擬位,中間10位為D/A轉(zhuǎn)換數(shù)據(jù),最后2位為低于LSB的位即零[11]。2.DA程序流程圖DA程序流程圖如圖43所示:Y開(kāi)始TLC5615片選使能時(shí)鐘上升沿讀取數(shù)據(jù)12位數(shù)據(jù)讀取完畢TLC5615片選禁能YNN圖43 DA程序流程圖 DS1302時(shí)鐘模塊程序設(shè)計(jì)1.DS1302的工作時(shí)序DS1302 的復(fù)位特征和時(shí)鐘控制要求:復(fù)位(~RST) 輸入有兩種功能:首先,用于接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,用于終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送。當(dāng)為~RST高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302 進(jìn)行操作。如果在傳送過(guò)程中~RST置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,并且I/ O 引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc≥,~RST必須保持低電平。另外,當(dāng)~RST為高電平時(shí),SCLK必須為低電平。DS1302 的數(shù)據(jù)輸入輸出:向DS1302 寫(xiě)入數(shù)據(jù)時(shí),數(shù)據(jù)在控制字節(jié)輸入后的下一個(gè)SCLK周期的上升沿被寫(xiě)入,多余的SCLK將被忽略。數(shù)據(jù)寫(xiě)入時(shí)從低位(位0) 開(kāi)始;同樣,從DS1302 讀取數(shù)據(jù)時(shí),數(shù)據(jù)在緊跟控制字節(jié)后的下一個(gè)SCLK的下降沿讀出,讀出數(shù)據(jù)時(shí)也是從低位(0位) 到高位(7位) ,只要~RST 保持高電平,額外的SCLK將導(dǎo)致數(shù)據(jù)字節(jié)的持續(xù)讀出,這個(gè)特性用于實(shí)現(xiàn)該芯片的突發(fā)讀模式。數(shù)據(jù)讀寫(xiě)時(shí)序如圖44所示:圖44 DS1302的讀寫(xiě)時(shí)序突發(fā)模式下,可以一次性讀出所有日歷時(shí)鐘數(shù)據(jù)或RAM數(shù)據(jù)。2.DS1302的寄存器DS1302 共有12 個(gè)寄存器,其中有7 個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD 碼格式。其日歷、時(shí)間寄存器及其控制字見(jiàn)表41[12]:表41 DS1302的寄存器寄存器名命令字取值范圍各位內(nèi)容寫(xiě)操作讀操作76543210秒寄存器80H81H0059啟動(dòng)十位個(gè)位分寄存器82H83H00590十位個(gè)位時(shí)寄存器84H85H001或002312/24010/AP十位個(gè)位日寄存器86H87H0128,29,30,3100十位個(gè)位月寄存器88H89H0112000十位個(gè)位周寄存器8AH8BH010700000個(gè)位年寄存器8CH8DH0099十位個(gè)位3.DS1302時(shí)鐘程序流程圖 DS1302時(shí)鐘程序流程圖如圖45所示:開(kāi)始讀取DS1302的秒值寫(xiě)入允許時(shí)鐘芯片關(guān)閉N寫(xiě)入初始化時(shí)間寫(xiě)入禁止獲取時(shí)鐘芯片的時(shí)間時(shí)間、日期數(shù)據(jù)轉(zhuǎn)化為液晶字符顯示YNY 圖45 DS1302時(shí)鐘程序流程圖在程序中定義了一個(gè)結(jié)構(gòu)體,用來(lái)存儲(chǔ)秒、分、時(shí)、星期、日、月、年信息,對(duì)DS1302的寄存器地址進(jìn)行了聲明,方便在編程時(shí)使用,依據(jù)DS1302讀寫(xiě)單字節(jié)數(shù)據(jù)時(shí)序圖編寫(xiě)實(shí)時(shí)時(shí)鐘讀寫(xiě)一個(gè)字節(jié)的函數(shù),依據(jù)DS1302讀寫(xiě)數(shù)據(jù)時(shí)序圖編寫(xiě)向DS1302某地址寫(xiě)入數(shù)據(jù)和從DS1302某地址讀出數(shù)據(jù)的函數(shù),從DS1302某地址讀出數(shù)據(jù)可以獲取時(shí)鐘芯片的時(shí)鐘數(shù)據(jù)到自定義的結(jié)構(gòu)型數(shù)組中,這樣單片機(jī)就可以實(shí)時(shí)的從DS1302獲取時(shí)間了,向DS1302某地址寫(xiě)入數(shù)據(jù)可以實(shí)現(xiàn)單片機(jī)對(duì)DS1302進(jìn)行時(shí)間的初始化和修改操作。 測(cè)溫模塊程序設(shè)計(jì)1.DS18B20的工作時(shí)序單總線在任何時(shí)刻只能有一個(gè)控制信號(hào)或數(shù)據(jù),數(shù)據(jù)要能在單片機(jī)和單總線芯片之間實(shí)現(xiàn)可靠的傳送,遵循單總線處理次序通信協(xié)議,確保數(shù)據(jù)有條不紊地傳送,單總線處理次序圖如圖46所示:圖46 單總線處理次序圖處理次序操作時(shí),一般有以下4 個(gè)過(guò)程:(1)初始化?;趩慰偩€上的所有傳輸過(guò)程都是以初始化開(kāi)始的,初始化過(guò)程由主機(jī)發(fā)出的復(fù)位脈沖和從機(jī)的應(yīng)答脈沖組成。應(yīng)答脈沖使主機(jī)知道總線上有從機(jī)設(shè)備,且準(zhǔn)備就緒。(2)ROM 操作命令。在主機(jī)檢測(cè)到應(yīng)答信號(hào)后,主機(jī)可以發(fā)出ROM 操作命令之一。所有的ROM 命令都是8 位,而且這些命令與各個(gè)從機(jī)設(shè)備的唯一64位ROM代碼相關(guān),允許主機(jī)在單總線上連接多個(gè)從機(jī)設(shè)備時(shí),指定操作某個(gè)從機(jī)設(shè)備??砂l(fā)送的ROM 命令有:讀ROM,匹配ROM,搜索ROM,跳過(guò)ROM,超ROM,超速跳過(guò)ROM,條件查找ROM。(3)RAM 操作命令。當(dāng)成功執(zhí)行上述某個(gè)ROM 操作命令后,總線可以發(fā)出一個(gè)RAM 命令來(lái)訪問(wèn)和控制RAM??砂l(fā)送的RAM 命令有:寫(xiě)暫存RAM,讀暫存RAM,復(fù)制暫存RAM,數(shù)據(jù)轉(zhuǎn)換,回讀E2PROM,讀電源模式。(4)數(shù)據(jù)交換。主機(jī)和從機(jī)之間進(jìn)行數(shù)據(jù)的傳輸,所有的數(shù)據(jù)都是從低位開(kāi)始讀寫(xiě)的。所有的單總線器件要求采用嚴(yán)格的通信協(xié)議,以保證數(shù)據(jù)的完整性。該協(xié)議定義了幾種信號(hào):復(fù)位脈沖、應(yīng)答脈沖、寫(xiě)0、寫(xiě)讀0 和讀1。這些信號(hào)當(dāng)中,除了應(yīng)答信號(hào)是由從機(jī)發(fā)給主機(jī)的以外,其他的信號(hào)都是由主機(jī)發(fā)出同步信號(hào),并且發(fā)送所有的命令和數(shù)據(jù)都是從字節(jié)的低位開(kāi)始的。單總線上的所有通信都是以初始化時(shí)序開(kāi)始,包括主機(jī)發(fā)出的復(fù)位脈沖及從機(jī)的應(yīng)答脈沖,初始化時(shí)序如圖47所示:圖47 初始化時(shí)序當(dāng)主機(jī)把數(shù)據(jù)從邏輯高電平拉到邏輯低電平時(shí),寫(xiě)時(shí)序開(kāi)始,寫(xiě)“1”和“0”, 寫(xiě)時(shí)序如圖48所示:圖48 寫(xiě)時(shí)序圖49 讀時(shí)序2.測(cè)溫程序流程圖測(cè)溫程序流程圖如圖410所示:開(kāi)始DS18B20初始化跳過(guò)讀序列號(hào)操作啟動(dòng)溫度轉(zhuǎn)換延時(shí)DS18B20初始化跳過(guò)讀序列號(hào)操作讀取溫度寄存器值延時(shí)讀取溫度值低位讀取溫度值高位相加的溫度值溫度值轉(zhuǎn)化為液晶字符圖410 DS18b20溫度傳感器程序流程圖根據(jù)初始化時(shí)序?qū)S18B20進(jìn)行初始化,根據(jù)讀寫(xiě)時(shí)序?qū)S18B20進(jìn)行讀寫(xiě)編程,另外,在循環(huán)讀取溫度數(shù)據(jù)后,要將讀取的溫度數(shù)據(jù)轉(zhuǎn)換為可以在液晶上顯示的液晶字符。 串行通信模塊程序設(shè)計(jì)1.RS232通信模塊程序設(shè)計(jì)單片機(jī)通過(guò)MAX232與PC機(jī)通訊程序流程圖411所示: Y開(kāi)始串口初始化保存數(shù)據(jù)發(fā)送數(shù)據(jù)RI等于1?YNTI等于1?RI置零TI置零YNNNY圖411 單片機(jī)通過(guò)MAX232與PC機(jī)通訊程序流程圖在PC機(jī)串口調(diào)試助手的發(fā)送窗口發(fā)送數(shù)據(jù)到單片機(jī),單片機(jī)接收到
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1