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

正文內容

51單片機教學實驗系統(tǒng)設計畢業(yè)論文(編輯修改稿)

2025-07-25 07:15 本頁面
 

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