- 相關推薦
電子信息工程綜合實訓分析論文
摘要:該院電子信息工程專業《單片機應用技術》課程的綜合實訓項目是"簡易計算器",能輸入并顯示十進制數據的算術運算表達式及運算結果,同時顯示當前環境的溫濕度。該項目考察的知識點包括單片機的I/O端口、中斷系統、定時/計數器、串口以及傳感器通信,能很好地檢驗學生對單片機應用技術的掌握情況。
關鍵詞:綜合實訓;《單片機應用技術》
引言
《單片機應用技術》是我院電子信息工程專業的專業核心課程,在整個課程體系中起著承上啟下的重要作用。該課程的前導課程有《C語言程序設計》、《模擬電子技術》、《數字電子技術》等,后續課程有《電子產品系統設計》、《嵌入式系統》、《EDA技術》以及《傳感器應用技術》等,《單片機應用技術》課程開設于大二上學期,共120課時。一門課程的綜合實訓項目要求覆蓋該課程的重要知識點、針對性強、難度適中,并且具備一定的趣味性和實用性。基于以上幾點要求,課程組將綜合實訓項目確定為"簡易計算器"。簡易計算器的基本功能為:開機后顯示當前環境的溫度和濕度,能進行三位以內(包含三位)十進制整數的加、減、乘、除運算,顯示運算表達式及運算結果;當計算器進行運算時,運算指示燈亮,否則運算指示燈滅。
1硬件設計
簡易計算器能進行十進制數據的加、減、乘、除運算,需要輸入"0"-"9"十個數字,"+"、"-"、"*"、"/"和"="五個符號,故輸入設備中至少應有十五個按鍵;簡易計算器能顯示當前環境的溫濕度和兩個三位十進制數的算術運算表達式及結果,故輸出設備至少能顯示20個(6個字符顯示溫濕度,14個字符顯示算術表達式及結果)字符。
1.1輸入設備
輸入設備需要至少十五個按鍵(選用兩個觸點的彈性按鍵),按鍵與單片機的連接有獨立按鍵和矩陣鍵盤兩種形式。獨立按鍵與單片機連接時,按鍵的一個觸點連接單片機的一位I/O端口、另一個觸點接地,即每一個按鍵需要占用單片機的一位I/O端口,因此獨立按鍵形式適用于按鍵個數偏少(少于或等于八個)的場合。矩陣鍵盤與單片機連接時,按鍵按矩陣式排列、位于行列線的交叉點上,按鍵的一個觸點與所在行的行線連接、另一個觸點與其所在列的列線連接,即多個按鍵可共用一根行線或列線。矩陣鍵盤的一根行線或列線占用單片機的一位I/O端口,例如8*8(8行8列)的矩陣鍵盤共有64個按鍵,占用單片機16位I/O端口,因此矩陣鍵盤適用于按鍵數量相對較多(大于八個)的場合。在該項目中選用4*4(4行4列)16個按鍵的矩陣鍵盤作為輸入設備。4*4矩陣鍵盤由4行、4列組成,16個按鍵位于行、列線的交叉點上,每根行線、列線與單片機的一位I/O端口連接,且4根行線分別經上拉電阻接+5V電源。用單片機的P3口連接矩陣鍵盤(P3.0-P3.3連接4根行線,P3.4-P3.7連接4根列線)。16個按鍵分別表示數字"0"-"9"、"+"、"-"、"*"、"/"、"="和"清零"。
1.2輸出設備
單片機應用系統中常用的輸出設備有數碼管和液晶顯示器。雖然單片機控制數碼管顯示時硬件電路和軟件程序都相對簡單,但項目中輸出設備要顯示至少20個字符,即使數碼管采用動態掃描的方法顯示,單片機控制20位數碼管同時顯示不同的字符需要28位I/O端口。本課程所教授的單片機為STC89C52,共32位I/O端口,且矩陣鍵盤已占用了8位,所以數碼管顯示不可取。在本項目中選用LCD1602液晶顯示器作為輸出設備。LCD1602可顯示16*2(兩行顯示,每行顯示16個字符)共32個字符,需要占用單片機11位I/O端口。用單片機的P2口連接LCD1602的數據端口D0-D7,單片機的P0.1-P0.2連接LCD1602的第4-6引腳(分別為RS、RW和EN引腳)。簡易計算器的運算指示燈用一個LED即可,占用單片機一位I/O端口,用單片機的P0.3控制運算指示燈。
1.3傳感器
項目要求顯示當前環境的溫度和濕度,常用的溫濕度傳感器有DS18B20、HIH9000、DHT11等等。因DHT11既是溫度傳感器又是濕度傳感器,故本項目中選用DHT11溫濕度傳感器。DHT11與單片機串行通信,只需占用一位I/O端口,用單片機的P0.4接收DHT11傳送的數據。整個電路圖如圖1所示。
2軟件設計
項目的軟件程序需要處理讀鍵、LCD1602顯示字符、算術運算以及接收處理溫濕度傳感器的數據。
2.1讀鍵
單片機讀取矩陣鍵盤的信息通常有列掃描和行列反轉兩種方法。列掃描法的基本原理是:單片機首先掃描第1列:給第1列的列線輸出"0"電平、給其余三根列線輸出"1"電平,讀取4根行線的狀態,若4根行線全部為"1",則表示第1列中的四個按鍵無鍵被按下;若4根行線不全為"1",則表示第1列中的四個按鍵有鍵被按下,根據所讀行線的具體值確定被按下的是這一列四個按鍵中的哪一個;然后掃描第2列:給第2列的列線輸出"0"電平、給其余三列輸出"1"電平,讀取4根行線的值,通過行線的狀態確定第2列四個按鍵的狀態。按照同樣的方法掃描第3列和第4列,通過所讀行線值判斷第3列、第4列中四個按鍵的狀態。當四列都掃描完后,再從第1列開始,如此反復循環。行列反轉法的基本原理是:單片機先給四根列線同時輸出"0"電平,讀取行線的值并保存;然后單片機給四根行線同時輸出"0"電平,讀取列線的值并保存,再將行線值與列線值進行邏輯或運算,得到的數據稱為按鍵碼,單片機通過按鍵碼確定被按下的是哪個按鍵。在本項目中單片機采用行列反轉法讀鍵,若矩陣鍵盤中無鍵被按下,則按鍵碼為0xff;若矩陣鍵盤中有鍵被按下(假設同一時刻只有一個按鍵被按下),則16個按鍵被按下時的按鍵碼各不相同(0xee、0xed、0xeb、0xe7、0xde、0xdd、0xdb、0xd7、0xbe、0xbd、0xbb、0xb7、0x7e、0x7d、0x7b、0x77)。
2.2LCD1602顯示字符
根據LCD1602的通信時序以及指令格式編寫液晶顯示器的初始化子函數、讀指令子函數、寫指令子函數、寫數據子函數和忙檢測子函數。LCD1602第一行16個字符的地址分別為0x40-0x4f,根據字符顯示地址和LCD1602中常用字符的字符顯示代碼使液晶顯示器第一行顯示當前環境的溫度和濕度。LCD1602第二行16個字符的地址分別為0xc0-0xcf,根據字符顯示地址以及字符顯示代碼使液晶顯示器第二行顯示算術運算表達式及運算結果。利用單片機的定時/計數器定時10分鐘,使定時計數器T0工作于方式1,作為16位定時器,當晶體振蕩器頻率為fosc=12MHZ時,T0的最長定時時間為65.536ms。若使T0定時50ms,則T0定時初值的計算方法為:TH0=(65536-50000)/256(1)TH0=(65536-50000)%256(2)在T0的中斷服務子函數中,用全局變量T(初值為0)計數T0中斷的次數,若T的值累加到12000則表示10分鐘時間到,此時便更新溫濕度數據,T0中斷服務子函數的流程圖如圖2所示。
2.3接收傳感器信息
DHT11傳送給單片機的數據共5個字節,分別是濕度整數字節、濕度小數字節、溫度整數字節、溫度小數字節和校驗字節。在單片機接收到的數據中取第一個和第三個字節即濕度整數字節和溫度整數字節,通過LCD1602液晶顯示器的第一行顯示出來。2.4算術運算在程序中,當矩陣鍵盤有按鍵被按下時,運算指示燈亮,程序通過多分支選擇結構判斷輸入的運算符是"+"、"-"、"*"、"/"中的哪一個,從而進行相應的運算得出正確結果,通過LCD1602的第二行將算術運算表達式及結果顯示出來。運算結束后按下"清零"按鍵,液晶顯示器第二行顯示內容清除,運算指示燈滅,算術運算的流程圖如圖3所示。
3系統調試
將程序載入到單片機中,觀測簡易計算器的運行狀況。經檢測,開機后LCD1602第一行顯示溫濕度(例如:25℃73%),矩陣鍵盤輸入算術運算表達式后,運算指示燈亮,LCD1602第二行顯示運算表達式及結果(例如:25*368=9200),按"清零"按鍵后LCD1602第二行顯示內容清除,運算指示燈滅。
4結束語
在綜合實訓開始之前,授課教師通過在線學習平臺發布綜合實訓通知、項目要求以及作品功能演示視頻,讓同學們清楚直觀地了解實訓目標、提前進行思考、自行查閱相關資料;在綜合實訓進行的過程中,在在線學習平臺進行討論、搶答等活動,逐個突破難點;作品完成后,同學們將各自的作品拍照、錄功能檢測視頻,并將照片、視頻等文件上傳至在線學習平臺,讓大家充分地互相交流學習、互評自評;課后,每位同學將綜合實訓小結以作業形式上傳。教師根據學生的作品、互評自評以及小結給與學生最后的總評。《單片機應用技術》課程綜合實訓近兩年來學生作品完成情況很好,對學生綜合應用本課程的各知識點以及承接后續課程起到良好的作用。
【電子信息工程綜合實訓分析論文】相關文章:
電子信息工程的技術應用分析論文08-27
綜合材料在寫生與色彩實訓中的地位論文08-02
電子信息軟件工程的發展分析論文06-18
電子信息工程技術的發展應用分析論文06-11
實訓論文致謝詞07-15
關于電子信息工程的分析08-08
漢語言文學實訓教學行動分析論文06-13
臨床實訓兒科臨床論文09-24
電子信息工程論文模板07-25
電子信息工程相關論文10-04