單片原理與接口技術課程設計壓力檢測系統設計(WORD檔)P34_第1頁
單片原理與接口技術課程設計壓力檢測系統設計(WORD檔)P34_第2頁
單片原理與接口技術課程設計壓力檢測系統設計(WORD檔)P34_第3頁
單片原理與接口技術課程設計壓力檢測系統設計(WORD檔)P34_第4頁
單片原理與接口技術課程設計壓力檢測系統設計(WORD檔)P34_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、單片機原理與接口技術課 程 設 計成績評定表設計課題壓力檢測系統設計學院名稱: 電氣工程學院專業(yè)班級: 自動1002 學生姓名:學號:指導教師:設計地點 :設計時間 :2012-12-172012-12-28指導教師意見:成績: 簽名: 年 月 日單片機原理與接口技術課程設計任務書學生姓名專業(yè)班級自動1002學號題目壓力檢測系統設計課題性質工程設計課題來源自擬指導教師王黎、臧海河、周剛主要內容(參數)89C52的壓力檢測保護系統可以實現以下功能:1.實現開機后自動恢復供電;2壓力超過上限值或下限制會自動報警;3采用聲光報警,使用者可以及時發(fā)現和處理電路事故。任務要求(進度)第1-2天:熟悉課程

2、設計任務及要求,查閱技術資料,確定設計方案。第3-4天:按照確定的方案設計單元電路。要求畫出單元電路圖,元件及元件參數選擇要有依據,各單元電路的設計要有詳細論述。第5-6天:軟件設計,編寫程序。第7-8天:實驗室調試。第9-10天:撰寫課程設計報告。要求內容完整、圖表清晰、文理流暢、格式規(guī)范、方案合理、設計正確,篇幅合理。主要參考資料1 張迎新單片微型計算機原理、應用及接口技術(第2版)M北京:國防工業(yè)出版社,20042偉福LAB6000系列單片機仿真實驗系統使用說明書3閻石數字電路技術基礎(第五版)北京:高等教育出版社,20064單片機開發(fā)板的原理圖及系統。審查意見系(教研室)主任簽字: 年

3、 月 日 目 錄1 引言52 總體方案設計62.1硬件組成62.2 方案論證62.3 總體方案83 硬件電路設計103.1 時鐘電路103.2復位電路113.3 AD轉換原理與系統電路113.4 聲光報警接口電路133.5 顯示及鍵盤接口電路134 系統軟件設計174.1 主程序設計175 系統調試與總結205.1 系統功能測試205.2 技術指標測試206心得體會206.1為何不采用8255了?206.2為何不采用A/D0809?216.3在幫助同學的過程中我學到了什么?21參考文獻21附錄A 系統原理圖22附錄B 源程序1附錄C 調試結果圖 10引言壓力監(jiān)測普遍用于工業(yè)領域,并對國家的發(fā)展

4、產生了深厚的影響,小到體重計,大到工業(yè)中反應爐的氣壓聲電報警。甚至航空航天,智能儀表。以及機器人。本設計就是工業(yè)中最普遍的氣壓監(jiān)測報警系統。所以,這個系統采用自動檢測反應爐中的壓力大小,通過傳感器,并實時進行在液晶1602上進行顯示,還有在液晶上進行參考上限電壓值的設置和參考下限電壓值的的設置。并通過在單片機內部進行比較計算,來實現整個壓力監(jiān)測系統的聲光電報警。本系統的設計基于A/D0804芯片和AT89C52單片機,并采用液晶1602作為顯示輸出,系統雖小卻包含了工業(yè)要求的各個方面,作為聲電報警模塊,主要用到蜂鳴器和發(fā)光二極管。當監(jiān)測壓力低于下限值和高于上限值就會進行聲光報警。此次系統設計就

5、是針對工業(yè)的反應爐的壓力監(jiān)測,甚至可做體重計到最小的方面。本設計純?yōu)閭€人設計。程序也在開發(fā)板驗證成功,如有任何疑問,都可通過實驗調試驗證。2 總體方案設計2.1硬件組成1. 控制器??刂破魇窍到y的核心部分,可以用工業(yè)計算機PLC、或者單片機。2. A /D轉換器,A/D轉換器可以把測得的模擬量轉換成數字量輸出,可以直接讀取。3. 聲光報警裝置,通過蜂鳴器和LED小燈實現報警效果。4. 鍵盤,通過鍵盤可以設置限制電流大小。5. 液晶顯示,液晶可以顯示設置電流以及實時電流值大小。 如圖2.0所示: 圖2.0 硬件組成圖2.2 方案論證1.控制器控制器選擇STC 89C52RC 40C單片機來控制壓

6、力的測量顯示。目前國內外使用較多的微控制器是以51內核擴展出的單片機,51單片機的使用已經發(fā)展到很高的一個層次,編程多以C語言為主,操作簡單,用途廣泛,易于控制。下面通過標號STC 89C51RC 40C的解釋來對該單片機進行詳細的介紹:STC:前綴,表示芯片為STC公司生產的產品。8:表示該芯片為8051內核芯片9:表示內部含Flash EEPROM存儲器。C:表示該器件為CMOS產品,CMOS常指保存計算機基本啟動信息的 芯片,可由主板的電池供電,即使系統掉電,信息也不會丟失。5:固定不變1:表示該芯片內部程序存儲空間的大小,1為4KB,2為8KB,3為12KB等,程序空間的大小決定了一個

7、芯片所能裝入的執(zhí)行代碼的多少。RC:表示STC單片機內部RAM(隨機讀寫存儲器)為512KB。40:表示該芯片外部晶振最高可接入40MHz。C:產品級別,表示該芯片使用溫度范圍,C表示商業(yè)級,溫度范圍為0度-+70度。該單片機的存儲器相對設計任務來說,對程序代碼的儲存足夠了,所以無需再加外圍的擴展存儲器。如圖2.1所示: 圖2.1 52單片機引腳圖2.A/D轉換器圖3.5 ADC0804規(guī)格及引腳分配圖本試驗采用的A/D芯片為ADC0804,它是CMOS 8位單通道逐次漸近型的模/數轉換器,其規(guī)格及引腳圖如圖3.5所示,根據手冊我們可以得到各個引腳的大致功能如上:2.3 總體方案按照上述方案論

8、證的結果,首先通過鍵盤設定電流值,然后檢測電流值,轉換成數字量通過數碼管顯示出來。當電流過大時繼電器動作,切斷電路,保護用電器。如圖2.2,2.3所示。圖2.2總體方案框圖整個系統流程圖如下:圖2.3系統流程圖3 硬件電路設計3.1 時鐘電路單片機片內有一個高增益的反相放大器,反相放大器的輸入端為XTAL1,輸出端為XTAL2,由該放大器構成的振蕩電路和時鐘電路一起構成了單片機的時鐘方式。在內部方式時鐘電路中,必須在XTAL1和XTAL2引腳兩端跨接石英晶體振蕩器和兩個微調電容構成振蕩電路,通常C1和C2一般取30pF,晶振的頻率取值在1.2MHz12MHz之間。對于外接時鐘電路,要求XTAL

9、1接地,XTAL2腳接外部時鐘,對于外部時鐘信號并無特殊要求,只要保證一定的脈沖寬度,時鐘頻率低于12MHz即可。晶體振蕩器的振蕩信號從XTAL2端送入內部時鐘電路,它將該振蕩信號二分頻,產生一個兩相時鐘信號P1和P2供單片機使用。時鐘信號的周期稱為狀態(tài)時間S,它是振蕩周期的2倍,P1信號在每個狀態(tài)的前半周期有效,在每個狀態(tài)的后半周期P2信號有效。CPU就是以兩相時鐘P1和P2為基本節(jié)拍協調單片機各部分有效工作。如圖3.1所示。 圖3.1單片機時鐘電路3.2復位電路在上電或復位過程中,控制CPU的復位狀態(tài):這段時間內讓CPU保持復位狀態(tài),而不是一上電或剛復位完畢就工作,防止CPU發(fā)出錯誤的指令

10、、執(zhí)行錯誤操作,也可以提高電磁兼容性能。單片機在啟動時都需要復位,以使CPU及系統各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。單片機系統的復位方式有:手動按鈕復位和上電復位 。復位方式有手動復位、上電復位和積分型復位。如圖3.2所示。圖3.2 復位電路3.3AD轉換原理與系統電路 模擬/數字轉換就是我們通常所說的A/D轉換,它將輸入的模擬信號(如電壓)轉換成控制芯片(如單片機,ARM)所能識別的二進制形式,然后經過運算,既可以還原出輸入模擬信號的值。A/D轉換是一種非常重要的技術手段,是單片機等控制芯片與外界信號的接口部分,如圖3.3所示。圖3.3圖3.4 AD外圍設計原理圖CS:芯片片選信號

11、,低電平有效,即/CS=0,該芯片才能正常工作,在外接多個ADC0804芯片時,該信號可以作為選擇地址使用,通過不同的地址信號使能不同的ADC0804芯片,從而可以實現多個ADC通道的分時復用。WR:啟動ADC0804進行ADC采樣,該信號低電平有效,即/WR信號由高電平變成低電平時,觸發(fā)一次ADC轉換。RD:低電平有效,即/RD=0時,可以通過數據端口DB0DB7讀出本次的采樣結果。UIN(+)和UIN(-):模擬電壓輸入端,模擬電壓輸入接UIN(+)端,UIN(-)端接地。雙邊輸入時UIN(+)、UIN(-)分別接模擬電壓信號的正端和負端。當輸入的模擬電壓信號存在“零點漂移電壓”時,可在U

12、IN(-)接一等值的零點補償電壓,變換時將自動從UIN(+)中減去這一電壓。VREF/2:參考電壓接入引腳,該引腳可外接電壓也可懸空,若外界電壓,則ADC的參考電壓為該外界電壓的兩倍,如不外接,則Vref與Vcc共用電源電壓,此時ADC的參考電壓即為電源電壓Vcc的值。CLKR和CLKIN:外接RC電路產生模數轉換器所需的時鐘信號,時鐘頻率CLK = 1/1.1RC,一般要求頻率范圍100KHz1.28MHz。AGND和DGND:分別接模擬地和數字地。INT:中斷請求信號輸出引腳,該引腳低電平有效,當一次A/D轉換完成后,將引起/INT=0,實際應用時,該引腳應與微處理器的外部中斷輸入引腳相連

13、(如51單片機的INT0,INT1腳),當產生/INT信號有效時,還需等待/RD=0才能正確讀出A/D轉換結果,若ADC0804單獨使用,則可以將/INT引腳懸空。DB0DB7:輸出A/D轉換后的8位二進制結果。AD外圍電路圖中Vin(+)接電位器的中間滑動端,Vin(-)接地,因為這兩端可以輸入差分電壓,即它可以測量這兩端之間的電壓,此時,Vin(-)即為ADC0804的模擬輸入電壓。Vin(+)與電位器之間串聯一個10歐電阻,目的是限制電流。防止電流過大而燒壞芯片。如圖3.6所示。 3.4 聲光報警接口電路采用聲光報警裝置有一下幾大優(yōu)點,1.在遠距離是可以可以通過聲音及時通知2.在近距離可

14、以通過視聽覺做出反應3.在嘈雜的環(huán)境中可以通過視覺通知4.兩種器件配合更加安全可靠具體外圍電路如3.7所示。圖3.5聲光報警裝置3.5 顯示及鍵盤接口電路(1)顯示器接口電路如圖3.8所示圖3.6 顯示器接口電路圖第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器對比度調整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產生“鬼影”,使用時可以通過一個10K的電位器調整對比度。第4腳:RS為寄存器選擇,高電平時選擇數據寄存器、低電平時選擇指令寄存器。第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和R/W共同為低電平時可以寫入指令或

15、者顯示地址,當RS為低電平R/W為高電平時可以讀忙信號,當RS為高電平R/W為低電平時可以寫入數據。第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第714腳:D0D7為8位雙向數據線。第15腳:背光源正極。第16腳:背光源負極。1602LCD的RAM地址映射液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認模塊的忙標志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,表四是1602的內部顯示地址。表四 1602LCD內部顯示地址例如第二行第一個字符的地址是40H,那么是否直接寫入40H就可以將光標定位在第二行

16、第一個字符的位置呢?這樣不行,因為寫入顯示地址時要求最高位D7恒定為高電平1所以實際寫入的數據應該是01000000B(40H)+10000000B(80H)=11000000B(C0H)。在對液晶模塊的初始化中要先設置其顯示模式,在液晶模塊顯示字符時光標是自動右移的,無需人工干預。每次輸入指令前都要判斷液晶模塊是否處于忙的狀態(tài)。1602LCD的一般初始化(復位)過程延時15mS寫指令38H(不檢測忙信號)延時5mS寫指令38H(不檢測忙信號)延時5mS寫指令38H(不檢測忙信號)以后每次寫指令、讀/寫數據操作均需要檢測忙信號寫指令38H:顯示模式設置寫指令08H:顯示關閉寫指令01H:顯示清

17、屏寫指令06H:顯示光標移動設置寫指令0CH:顯示開及光標不閃爍(2)鍵盤接口電路如圖3.7所示圖3.7 鍵盤接口電路第一個鍵S4:表示功能切換鍵 ,按第一下表示進行調節(jié)上下限 ,按第二下表示不再調表,開始進行AD轉換。第二個鍵S1: 表示調節(jié)上限和下限值,按第一下表示調上限值液晶光標閃爍,按第二下液晶不再閃爍,表示調節(jié)結束。第三個鍵S2,在按下參考壓力值遞增,上限當超過90時復位為0,下限值當超過30時復位為0,液晶光標一直閃爍。第四個鍵S3在按下參考壓力值遞減,當上限值減到0時置位為90,下限值減到0時置位為30, 液晶光標一直閃爍。4 系統軟件設計系統軟件分為主程序、中斷服務程序和子程序

18、三部分。4.1 主程序設計主程序是系統上電或復位后首先要執(zhí)行的程序,主程序主要完成系統的初始化、掃描顯示、掃描鍵盤,AD轉換等工作。主程序上電自動復位,也可手動復位;主程序執(zhí)行時,分別進行鍵盤掃描,AD轉化,以及液晶顯示。如圖4.0所示圖4.0 主程序流程圖主程序分三步執(zhí)行:1、系統上電后,即開始在默認的設置最小下限參考電和最大參考電壓的顯示在第一行即:P-T Down:25Up:60(參考壓力的 上下限值)Real-time Pre:12(實時監(jiān)測的壓力)(P-T)即Press Test( Real-time Pre)即Real time press2、本設計設置4個功能鍵,3、AD轉換模塊

19、及顯示模塊,壓力傳感器檢測到壓力后,通過模擬量轉換量,通過單片機計算,把數字量在1602液晶上顯示出來。調試結果如圖4.1所示 圖4.1 硬件顯示結果圖4.2 部分主要子程序的設計系統主要子程序包括顯示子程序、鍵處理子程序,顯示子程序的設計。 既包含三大模塊: 1,鍵盤掃描的子程序設計; 2,A/D0804的子程序設計 3,1602液晶顯示的子程序設計 4,初始化液晶和單片機的子程序設計5 系統調試與總結系統研制完成后,首先在實驗室進行了系統功能測試和技術指標測試。并力求完全達到工業(yè)要求的水準。5.1 系統功能測試系統上電后,顯示正常,進行了以下測試。1.上電開始默認顯示測試。2.按鈕s1功能

20、鍵測試。3.按鈕s2數值增測試。4.按鈕s3數值減測試。 6按鈕S4鍵的A/D切換與調節(jié)參考上下限的功能轉換測試7.上下限最值測試。8.AD顯示測試。9.AD轉換結果測試。10.報警裝置測試。上述測試結果最終與預期相符。5.2 技術指標測試1.硬件電路測試此次課程設計首先采用PROTEUS軟件仿真,而后進行硬件電路的設計。在軟件仿真中初步形成了程序的調試與修改。此過程采用三個步驟,(1)了解各個功能模塊的作用與聯系。(2)單獨寫出各個模塊的控制程序,進行單獨調試。(3)各個模塊進行有機組合,實現目的功能。此過程遇到的問題比較少,但了解到了完成一個較大工程所需要具備的素質及技巧。完成此系統問題主

21、要出現在硬件的調試6心得體會6.1 為何不采用8255了?我想這篇心得體會一定要加上的,忙碌了兩個星期,終于在周五的晚上成功了。我做的這個系統是很復雜的,當初硬件電路設計時,我本想用8255作為擴展IO口使用,并用PC口做位尋址進行片選操作,同時用PA口控制1602,PB口做輸入接A/D0804,但是8255的操作復雜程度會使整個設計顯得臃腫而且多余,最后我決定取消用8255作為整個電路的實現。6.2為何不采用A/D0809? 最后敲定采用了單輸入的A/D0804作為A/D轉換,之所以不采用8路輸入的A/D0809為我所要選的A/D轉換器件,是因為這個8路輸入進行片選輸入有點浪費系統,而且,在

22、幫同學解決難題的時候我都推薦使用了A/D0809,對于它的操作我也是非常熟悉的。但為了能夠由硬件電路作為我的課程設計結果的證明。我采用了我自買板子的硬件資源。6.3在幫助同學的過程中我學到了什么?整個課程設計下來,我積累了豐富的經驗,分別幫同學做了斷電保護系統,步進電機的正反轉加速減速,還有數字音樂盒的輔助調試。在幫同學解決問題的同時,也是我的知識結構更加完善。我也進一步掌握了調程序的方法,比如說:我自創(chuàng)在檢查程序中用LED小燈,比如說在各個功能跳轉時再養(yǎng)從while語句中跳到另一個while語句中。參考文獻【1】單片機微型計算機原理、應用及接口技術 張迎新 國防工業(yè)出版社【2】 C程序設計

23、譚永強 清華大學出版社【3】閻石數字電路技術基礎(第五版)北京:高等教育出版社,2006【4】單片機開發(fā)板的原理圖及系統。附錄A 系統原理圖附錄B 源程序#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit cs=P32;sbit rd=P37;sbit wr=P36;uchar value;sbit eg=P34;sbit rs=P35;sbit s1=P20;sbit s2=P21;sbit s3=P22;sbit s4=P23;sbit dula=P26;sbit wela=P27;

24、uchar uper,low;uchar s1num,num;uchar table="P-T Down:25Up:60"uchar table1="Real-time Pre:12"void delay(uint z)/延遲函數 uchar x,y; for(x=z;x>0;x-) for(y=110;y>0;y-); void sweep() if(s4=0) delay(5); if(s4=0) num+; if(num=2) num=0; while(!s4); void write_com(uchar com);/寫命令函數void

25、 write_dat(uchar dat);/寫數據函數void chushi();/關閉LED,并對LCD初始化,利用數組;void write_press(uchar addr,uchar dat)/此函數可把十進制數寫入對應位的液晶中 uchar a,b; a=dat/10; b=dat%10; write_com(0x80+addr); write_dat(0x30+a); write_dat(0x30+b); void write_press2(uchar addr,uchar dat) uchar a,b; a=dat/10; b=dat%10; write_com(0x80+0x

26、40+addr); write_dat(0x30+a); write_dat(0x30+b); uchar AD_divert() uchar a; cs=0; wr=0; delay(200); wr=1; cs=1; delay(1000); cs=0; rd=0; delay(100); a=P1; rd=1; cs=1; a=a%10+17; return a; void AD_display() value=AD_divert(); write_press2(14,value); write_com(0x80+14); void display();void keyscan() if

27、(s1=0) delay(5); if(s1=0) s1num+; while(!s1); if(s1num=1) write_com(0x80+10); write_com(0x0f); if(s1num=2) write_com(0x80+15); write_com(0x0f); if(s1num=3) s1num=0;/注意加5不是16進制 write_com(0x0c); if(s2=0) delay(5); if(s2=0) while(!s2); if(s1num=1) low-; if(low=0) low=30; write_press(9,low); write_com(0x80+10); if(s1num=2) uper-; if(uper=0) uper=90; write_press(14,uper); write_com(0x80+15); if(s3=0) delay(5); if

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論