(精品論文)邵文文的畢業(yè)論文_第1頁
(精品論文)邵文文的畢業(yè)論文_第2頁
(精品論文)邵文文的畢業(yè)論文_第3頁
(精品論文)邵文文的畢業(yè)論文_第4頁
(精品論文)邵文文的畢業(yè)論文_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

論文題目:單擺實驗自動計時器的設計制作 專 業(yè):電子科學與技術0602班學 生:邵 文 文 簽名: 指導老師:李 旭 虹 簽名: 摘 要本文介紹了一種新穎的智能單擺試驗儀的設計方法,它是基于STC89C52為核心,利用液晶顯示技術輸出顯示擺長,周期和重力加速度。加1,減1和輸入按鍵可以自動控制單擺經平衡位置的次數。單擺小球擺至最低點擋住激光,光敏電阻的阻值顯著差異使得由NE555連接的施密特觸發(fā)器輸出的電平發(fā)生變化,并以此脈沖信號的上升沿控制單片機工作,利用20ms定時中斷計數可以算出單擺擺動的總時間,從而可以求出周期T和重力加速度g。該方法具有測量快,精度高,成本低,體積小,使用方便等優(yōu)點,提高了單擺實驗質量。【關鍵詞】單擺實驗;單片機;液晶顯示【論文類型】應用型Title:The design of automatic timer in pendulum experimentMajor:Electronic science and technology Name:Shao wenwen Signature: Supervisor:Li Xuhong Signature: ABSTRACTThis paper introduces a novel designing method of intelligent simple pendulum experimental apparatus, which is based STC89C52 as the core, outputs and displays pendulum length, period and acceleration of gravity by using LCD display technology. Plus 1, minus 1 and enter buttons can control the number of simple pendulum when passing the Equilibrium position. The small simple pendulum ball swings to the lowest point and blocks the laser, a significant difference of Photosensitive resistors resistance makes the voltage level which is outputted from the Schmitt trigger linked by NE555 changes, and use the rising edge of pulse signal to control MCU, counting 20ms timer interrupt can be calculated the total time of the pendulum swing, So they can find the period T and the acceleration of gravity g. this method has many advantages of fast measuring, high precision, low cost, small volume, convenient use, etc. It can improve the quality of the pendulum experiment.【Key words】Simple pendulum experiment;MCU;LCD display【Type of Thesis】Application type前 言單擺實驗儀已廣泛應用于工業(yè)測量,中大學的實驗教學等領域。作為一種精密的測量儀器,單擺試驗儀隨著電子技術的發(fā)展也在不斷的完善,現今市場上有各種各樣設計方法制成的單擺試驗儀,與傳統的單擺試驗儀相比,新型的實驗單擺具有非常突出的優(yōu)點。傳統的實驗單擺在精度和操作上都存在諸多問題,由于采用人工計時計數的方法測周期,這顯然會有很大的誤差,而且操作很不方便,不能滿足現代測量和教學要求。由于現行的實驗單擺儀實現了自動化控制,所以在測量誤差上有了很明顯的改善,而且現代顯示技術非常的成熟,特別是液晶顯示技術,使得實驗結果更直觀,功能也更多。該課題的設計要求是:1) 最多可記錄9個擺動周期;2) 最大計時99.9秒;3) 分辨率為0.1秒。由于市場上電子元器件的品種多樣,利用電子技術設計實驗單擺儀的方法多種多樣,但要實現自動化控制,其基本思路是不變的,首先要采集單擺擺動到某一固定位置的電平信號,經過多次往復可以計算出平均周期,所以必須要有一個采集信號電路。另外的一個主要模塊就是對信號的處理并輸出顯示,本課題也是緊扣這兩條主線而提出的一種設計方法。本文介紹的設計方法是基于STC89C52單片機的控制為核心,利用液晶顯示技術輸出顯示,其顯示輸出包括擺長,周期,重力加速度。在信號采集方面,也用了非常巧妙而且電路搭接簡單的方法,它是利用了光敏電阻接收激光信號的方法,因為光敏電阻的反應靈敏,使得最后經脈沖整形電路輸出的脈沖信號有非常好的效果。相比于其他的利用單片機設計的實驗單擺儀,還有一點也是非常新穎的,市場上流行的基于單片機控制的實驗單擺儀采用的基本上是外部中斷控制,而本文應用了單片機采集輸入至P3.0口的脈沖上升沿來實現計時計數的。在程序設計方面,電路更簡潔,結構更簡單,而且精度也得到了提高。本課題屬于應用型,所以不僅需要一定的理論基礎,而且在實踐過程中也需要一些應用經驗,本文涉及到的理論基礎課程包括模擬數字電路,單片機原理與接口技術,C語言程序設計,仿真采用proteus軟件,這些課程都是電子技術專業(yè)的基礎課,也是作為一名電子技術專業(yè)學生必須懂得的基礎課程。通過這次的畢業(yè)設計,加深了這些課程的理解,而且也將枯燥的理論真正融入到自己的大腦。在焊接電路過程中,也遇到了很多的小問題,但最后能通過理論的推敲一一化解,體會最深的就是完成一項工程,需要條理清晰,而且對整個系統也要有一定的把握。目 錄1 單擺儀測量原理及設計方案11.1 測量原理11.2設計方案11.2.1信號產生電路模塊設計21.2.2 信號輸入單片機方式31.2.3顯示輸出41.3總設計框圖和電路圖62 硬件設計及工作原理72.15V直流電源的組成72.2信號產生92.2.1 激光產生及參數分析92.2.2 光接收及信號波形整形102.3 STC89C52單片機組成及外部擴展112.3.1 STC89C52單片機的結構112.3.2STC89C52單片機最小系統組成112.3.3 時鐘電路和復位電路122.3.4 液晶顯示擴展技術132.3.5 單片機與PC機間的通信152.4Proteus軟件仿真162.4.1 Proteus ISIS簡介162.4.2 Proteus運行流程162.4.3系統設計和調試 163 程序設計193.1C與8051193.2設計思路及流程圖203.3源程序設計224畢業(yè)設計總結27致謝附錄參考文獻35單擺實驗自動計時器的設計制作1.單擺儀測量原理及設計方案1.1 測量原理由物理學知識可知,單擺在擺動角小于5度時的運動可近似認為是簡諧運動,且其運動周期T和重力加速度g之間有如下關系: (1-1)因此可以通過測量單擺簡諧運動的周期T,得到其頻率: (1-2)給出擺長可以測得重力加速度: (1-3)根據以上物理學知識,可知單擺實驗儀的關鍵在于能夠準確測量單擺運動的周期或頻率,單擺擺長一般處于0.1m-1m之間,由式(1-1)計算可得: 可知單擺運動的頻率較低,對于高速運行的單片機來說,測得高頻信號可以直接測量其頻率,而對于低頻信號采用測量周期的辦法可以減小測量誤差。1.2 設計方案利用單片機設計的單擺實驗儀其基本電路模塊可已分成信號產生模塊,信號處理模塊,單片機控制模塊和顯示模塊四部分組成。其系統組成如圖1-1所示。圖1-11.2.1 信號產生電路模塊設計方案一:利用紅外探測技術可以實現單擺擺動周期的監(jiān)測,其組成電路由紅外發(fā)射和接收兩大部分組成。1) 紅外線發(fā)射電路。一般是用LM555定時器IC接成無穩(wěn)定的多諧振蕩模式,工作頻率由接入到2,6兩端的電阻和電容決定。2) 紅外線接收電路。由于紅外接收發(fā)送波長需匹配,所以在接收過程中提取發(fā)射的紅外線波長,電路一般包括前置放大,限幅放大器,帶通濾波器,檢波器,積分器和整形電路。CX20106是紅外接收專用集成電路芯片,圖1-2是該芯片控制的一種紅外接收電路。圖 1-2方案二:利用光敏器件在光照和避光的情況下特性相差很大的特點,同樣可以檢測運動物體的移動。光敏器件可以是光敏電阻,光敏三極管,光敏二極管等,光照可以是普通光,也可以是激光,但為了得到很好的亮暗差異,使用激光效果最好。較之方案一,方案二的電路結構簡單,易實現,成本低.圖1-3是本文所采用的電路,它是利用光敏電阻接收激光信號,單擺放置于激光棒與光敏電阻之間,當單擺經過最低點時,振子小球擋住光信號,使得光敏電阻阻值很大,在接收電路中,R1的阻值遠遠小于光敏電阻的暗阻,所以LM555的2,6兩端為低電平,經整形后3端輸出高電平,單擺來回擺動時,就可以形成一連串的脈沖信號。圖 1-31.2.2 信號輸入單片機方式方案一:輸入單片機的脈沖信號,可以作為外部中斷信號,STC89C52單片機有6個中斷源,包括三個定時/計數器溢出中斷,兩個外部中斷和一個串行口輸入中斷。在本課題中,若采用中斷控制,其基本思路可以是這樣實現,當單擺擺到最低點時,有信號產生并整形后得到的高電平經反相器接入中斷0或是中斷1,單片機響應中斷,并啟動定時/計數器中斷,因為要實現自動計數周期和總時間,所以可以設計兩個定時中斷,也可以在程序里面先設定一個擺動周期數,利用循環(huán)減1最后為0而解除定時器的工作。方案二:利用脈沖信號的上升下降沿控制單片機工作是一種很常見的思路,首先是避免了外部中斷和定時中斷嵌套的問題,所以易實現,思路也較易理解,當小球經過最低點時,信號由低電平變?yōu)楦唠娖剑瑔纹瑱C采集到該上升沿信號,控制定時器工作,當小球再次經過最低點時,控制擺動次數的循環(huán)程序運行,此時定時器一直在連續(xù)工作,并將溢出的次數賦給一全局變量,當最后的一次上升沿采集到時,定時器停止工作,最后是控制液晶顯示輸出。方案二同方案一相比,程序結構簡單,易編寫,也容易實現精確計算,方案一需用到中斷嵌套和中斷不能返回值的問題,所以本課題先前采用方案一,但最后還是選用了二方案。1.2.3 顯示輸出在單片機顯示系統中,顯示輸出是很關鍵的部件,是構成人機對話的一種基本方式。顯示器顯示控制過程和結果,有兩種方式,一種是LED發(fā)光器件,還有一種是LCD液晶顯示。方案一: LED發(fā)光器件一般常用的有2類:數碼管和點陣。數碼管分共陰和共陽兩種,一般8字型,分為A B C D E F G P段,其中P位小數點,數碼管常用的有10根管腳(單位),每段一根管腳,另外兩根管腳為公共端,2根是通的。點陣常用的為8*8,以前還有5*8(現在不大用了),都是單管芯,分(行)共陰和(行)共陽,一般都用5v供電。8*8點陣為16根管腳(單色, 也有24根的, 可能是作廢的雙色點陣或者為了能在同一種線路板上實現單色雙色都可用而設計的, 也比較常見)8根行8根綠,雙色為24根管腳, 8根行, 8根列紅, 8根列綠。LED發(fā)光器件的顯示基本原理分為靜態(tài)(只有數碼管能實現)和動態(tài),靜態(tài)的比較好實現,動態(tài)顯示是運用視覺惰性而設計的快速掃描數碼管。下圖5是一種數碼管于單片機的連接電路,U1的P0口和P2口的部份引腳構成了6位LED數碼管驅動電路,數碼管采用共陽型,使用PNP型三極管作為片選端的驅動,所有三極管的發(fā)射極連在一起,接到正電源端,它們的基極則分別連P2.0P2.5,當P2.0P2.5中某引腳輸是低電平時,三極管導通,給相應的數碼管供電,該位數碼管點亮哪些筆段,則取決于筆段引腳是高或低電平。圖1-4中看出,所有6位數碼管的筆段連在一起,通過限流電阻后接到P0口,因此,哪些筆段亮就取決于P0口的8根線的狀態(tài)。圖1-4方案二:液晶顯示的原理是利用液晶的物理性質,即通電時導通,排列變得有秩序,使光線容易通過;不通電時排列混亂,阻止光線通過的原理制成的。液晶顯示器的驅動方式一般有靜態(tài)和分割驅動兩種。本課題采用的是液晶顯示,型號為TH1602A,具體工作原理會在下一章描述。其電路如圖1-5所示圖 1-5單片機系統中應用晶液顯示器作為輸出器件有以下幾個優(yōu)點:1)顯示質量高。由于液晶顯示器每一個點在收到信號后就一直保持那種色彩和亮度,恒定發(fā)光,而不像陰極射線管顯示器(CRT)那樣需要不斷刷新新亮點。因此,液晶顯示器畫質高且不會閃爍。2)數字式接口。液晶顯示器都是數字式的,和單片機系統的接口更加簡單可靠,操作更加方便。3)質量小,重量輕。液晶顯示器通過顯示屏上的電極控制液晶分子狀態(tài)來達到顯示的目的,在重量上比相同顯示面積的傳統顯示器要輕得多。4)功耗低。相對而言,液晶顯示器的功耗主要消耗在其內部的電極和驅動IC上,因而耗電量比其它顯示器要少得多。1.3 總設計框圖和電路圖根據以上分析,按照課題的要求,可以將整個方案分成兩大部分:硬件和軟件。硬件主要是以單片機為核心,根據程序設計思路,將信號產生電路接入到單片機信號輸入口(P3.0),加1,減1和輸入開關控制設置的周期數,顯示部分輸出用P1口做數據輸出接液晶顯示,P2.4,P2.5,P2.6用來控制液晶顯示器的控制信號,另外由于工作電壓都為5V,所以將市電變壓整流濾波穩(wěn)壓后可以直接供給這幾個模塊式使用。所以該方案的硬件框圖如圖1-6所示,圖1-7為總的電路圖(由于在proteus仿真軟件中沒有光敏電阻和激光電筒,所以仿真時用光耦器件代替)。軟件部分主要是將采集信號計數,并計時,待計數完成時,停止計時,利用計時溢出次數算出總時間,然后除于擺動周期,根據,便可以算出重力加速度,最后利用液晶控制信號的控制,輸出擺長,周期,和重力加速度。其顯示格式為第一行顯示L= ,T= ,第二行顯示g= 。圖 1-6圖 1-72 硬件設計及工作原理2.1 5V直流電源的組成 小功率穩(wěn)壓電源是由電源變壓器、整流、濾波和穩(wěn)壓電路等四部分組成的。其框圖如圖2-1所示。 圖 2-1 直流穩(wěn)壓電源組成框圖電源變壓器:將交流電網220V交流電壓變成所需的交流電壓。變壓過程通常由變壓器來完成,如收錄機、VCD、黑白電視機等設備的電源,大都是用變壓器來降低電網電壓的。整流器:將交流電壓變成脈動的直流電壓。整流電路通常有半波整流電路、全波整流、橋式整流電路等,橋式整較為常用。濾波器:將整流所得的脈動直流電(大小發(fā)生規(guī)律性變化)中的交流成分濾除,常用的濾波電路有電容濾波、電感濾波及阻容濾波等電路。穩(wěn)壓器:濾波后的電壓還會隨電網電壓波動(一般有左右的波動)和隨負載和溫度的變化而變化。穩(wěn)壓電路的作用是克服電網電壓波動、負載和溫度變化時所引起的輸出電壓的變化,維持輸出直流電壓穩(wěn)定。直流穩(wěn)壓電源的種類很多,常見的主要有以下四類:第一類是穩(wěn)壓二極管穩(wěn)壓電源,它的特點是電路結構簡單,但功率較小,穩(wěn)壓精度低;第二類是晶體管串聯調整式穩(wěn)壓電源,它的主要特點是電路結構比較簡單,工作可靠,功率較大,穩(wěn)壓精度高,無電磁干擾,但效率低;第三類是集成穩(wěn)壓器,它的特點是體積小,可靠性高以及溫度特性好,而且使便、價格便宜。第四類是開關式穩(wěn)壓電源,它的主要特點是: 效率高,溫升低,電路便于集成化,但電路較復雜,并有高頻干擾存在。當負載要求功率較大且效率高時,常采用開關型穩(wěn)壓電源。圖2-2為該課題所用電源,最后輸出為5V直流。圖 2-22.2 信號產生2.2.1 激光產生及參數分析激光電筒價廉物美,有極高的性價比,主要特點是聚光性能優(yōu)良,射距達1200m1500m,肉眼觀察,數百米外光點仍然很小,故廣泛用于教學、導游、娛樂。經試驗,可作遠距離的防護警戒及遙控傳輸數據。如圖2-3所示為激光電筒原理圖,器件均為貼片元件,故體積很小,但因激光功率較大,不可對著人眼直射。圖 2-3下圖2-4為650nm鐳射激光定位指示器實物圖,其參數如下:波長:650nm 型號:FU650L5-C9供電電壓:DC 2.8-5.0(V) 發(fā)散角:0.5-2.0mrad運轉方式:連續(xù)激光器 光斑模式:一字線狀工作電流:10-25mA(與輸出功率大小成正比)激勵方式:電激勵式激光器圖 2-4本課題所設計的激光產生電路電源為5V,所以為了保護激光電筒,串聯一個較小的電阻。2.2.2 光接收及信號波形整形圖1-3是光電控制電路,由LM555電路為核心組成,當光敏電阻有激光照射時電阻變小(經測得在總電路中亮阻為800-900,暗組為700k左右),觸發(fā)端2,6兩端上升4V以上,于是3腳輸出低電平,當激光被遮檔切斷,光敏電阻阻值變大,使得遠遠大于9.1k,2,6管腳變?yōu)榈碗娖剑?腳輸出高電平。該圖中的核心為LM555(內部結構如圖2-5所示),所接成的電路為施密特觸發(fā)電路,用于波形變換、脈沖整形、信號的鑒頻等方面,本電路中用于波形整形。施密特觸發(fā)器具有類似于磁滯回線形狀的電壓傳輸特性,如圖2-6所示。我們把這種形狀的特性曲線稱為滯回特性或施密特觸發(fā)特性。圖 2-5 (a)反相輸出型(b)同相輸出型 圖 2-6它有兩個特點,第一,輸入電壓上升時和下降時,特性曲線轉折點所對應的輸入電壓UT+和UT-是不同的。我們把UT+叫做正向閾值電壓,把UT-叫做負向閾值電壓。同時,把UT+與UT-之差定義為回差電壓,用UT表示,即:UT = UT+UT-,第二,電壓傳輸特性轉折時的上升時間和下降時間極短,或者說上升沿和下降沿非常陡。由于施密特觸發(fā)器具有滯回特性,在脈沖整形電路中得到了廣泛的應用。2.3 STC89C52單片機組成及外部擴展2.3.1 STC89C52單片機的結構STC89C52處理芯片引腳如圖2-7 圖 2-7STC89C52 是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統可編程Flash 存儲器。使用高密度非易失性存儲器技術制造,與工業(yè)80C51 產品指令和引腳完全兼容。片上Flash允許程序存儲器在系統可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在線系統可編程Flash,使得STC89C52為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案。 STC89C52具有以下標準功能: 8k字節(jié)Flash,256字節(jié)RAM, 32 位I/O 口線,看門狗定時器,2 個數據指針,三個16 位 定時器/計數器,一個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外,STC89C52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時器/計數器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。2.3.2 STC89C52單片機最小系統組成單片機的最小系統如下圖所示,18引腳和19引腳接時鐘電路,XTAL1接外部晶振和微調電容的一端,在片內它是振蕩器倒相放大器的輸入,XTAL2接外部晶振和微調電容的另一端,在片內它是振蕩器倒相放大器的輸出。第9引腳為復位輸入端,接上電容,電阻及開關后夠上電復位電路,20引腳為接地端,40引腳為電源端。 圖 2-82.3.3 時鐘電路和復位電路單片機的時鐘一般需要多相時鐘,所以時鐘電路由振蕩器和分頻器組成。STC89C52單片機內部有一個用于構成振蕩器的可控高增益反相放大器。兩個引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。在片外跨接一晶振和兩個匹配電容C1,C2如圖2-8所示。就構成一個自激振蕩器。振蕩頻率根據實際要求的工作速度,從幾百千赫至24MHz可適當選取某一頻率。匹配電容C1,C2要根據石英晶體振蕩器的要求選取。當晶振頻率為12MHz時,C1,C2一般選30pF左右。圖2-9中PD是電源控制寄存器PCON.1的掉電方式位。上述電路是靠STC89C52單片機內部電路產生振蕩的。也可以由外部振蕩器或時鐘直接驅動單片機,但一般不采用外部時鐘輸入方式,除非一些特殊場合如多CPU系統。圖 2-9復位是單片機的初始化操作。其功能主要是將程序(PC)初始化為0000H,使單片機從0000H單元開始執(zhí)行程序,并將特殊功能寄存器賦一些特定值。復位是上電的第一個操作,然后程序從0000H開始執(zhí)行。在運行中,外界干擾等因素可能會使單片機的程序陷入死循環(huán)狀態(tài)或“跑飛”。要使其進入正常狀態(tài),唯一辦法是將單片機復位,以重新啟動。復位也是使單片機退出低功耗工作方式而進入正常狀態(tài)一種操作。RST引腳是復位端,高電平有效。在該引腳輸入至少連續(xù)兩個周期以上的高電平,單片機復位。RST引腳內部有一個斯密特ST觸發(fā)器以對輸入信號整形,保證內部復位電路的可靠,所以外部輸入信號不一定要求數字波形。使用時,一般在此引腳與Vss引腳之間接一個約9.1k的下拉電阻,與Vcc引腳之間接一個約一個10vF的電解電容,即可保證上電自動復位。本課題使用的電路如圖3-7所示。電容C和電阻9.1k實現上電自動復位。增加按鍵開關S和電阻R2又可實現按鍵復位功能。2.3.4 液晶顯示擴展技術1) 液晶顯示原理:液晶顯示的原理是利用液晶的物理特性, 通過電壓對其顯示區(qū)域進行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規(guī)模集成電路直接驅動、易于實現全彩色顯示的特點,目前已經被廣泛應用在便攜式電腦、數字攝像機、PDA移動通信工具等眾多領域。2) 液晶顯示器的分類:液晶顯示的分類方法有很多種,通常可按其顯示方式分為段式、字符式、點陣式等。除了黑白顯示外,液晶顯示器還有多灰度有彩色顯示等。如果根據驅動方式來分,可以分為靜態(tài)驅動(Static)、單純矩陣驅動(Simple Matrix)和主動矩陣驅動(Active Matrix)三種。3) 液晶顯示器各種圖形的顯示原理:線段的顯示:點陣圖形式液晶由MN個顯示單元組成,假設LCD顯示屏有64行,每行有128列,每8列對應1字節(jié)的8位,即每行由16字節(jié),共168=128個點組成,屏上6416個顯示單元與顯示RAM區(qū)1024字節(jié)相對應,每一字節(jié)的內容和顯示屏上相應位置的亮暗對應。例如屏的第一行的亮暗由RAM區(qū)的000H00FH的16字節(jié)的內容決定,當(000H)=FFH時,則屏幕的左上角顯示一條短亮線,長度為8個點;當(3FFH)=FFH時,則屏幕的右下角顯示一條短亮線;當(000H)=FFH,(001H)=00H,(002H)=00H,(00EH)=00H,(00FH)=00H時,則在屏幕的頂部顯示一條由8段亮線和8條暗線組成的虛線。這就是LCD顯示的基本原理。字符的顯示:用LCD顯示一個字符時比較復雜,因為一個字符由68或88點陣組成,既要找到和顯示屏幕上某幾個位置對應的顯示RAM區(qū)的8字節(jié),還要使每字節(jié)的不同位為“1”,其它的為“0”,為“1”的點亮,為“0”的不亮。這樣一來就組成某個字符。但由于內帶字符發(fā)生器的控制器來說,顯示字符就比較簡單了,可以讓控制器工作在文本方式,根據在LCD上開始顯示的行列號及每行的列數找出顯示RAM對應的地址,設立光標,在此送上該字符對應的代碼即可。漢字的顯示:漢字的顯示一般采用圖形的方式,事先從微機中提取要顯示的漢字的點陣碼(一般用字模提取軟件),每個漢字占32B,分左右兩半,各占16B,左邊為1、3、5右邊為2、4、6根據在LCD上開始顯示的行列號及每行的列數可找出顯示RAM對應的地址,設立光標,送上要顯示的漢字的第一字節(jié),光標位置加1,送第二個字節(jié),換行按列對齊,送第三個字節(jié)直到32B顯示完就可以LCD上得到一個完整漢字。4) 1602字符型LCD簡介:字符型液晶顯示模塊是一種專門用于顯示字母、數字、符號等點陣式LCD,目前常用16*1,16*2,20*2和40*2行等的模塊。下面以長沙太陽人電子有限公司的1602字符型液晶顯示器為例,介紹其用法。一般1602字符型液晶顯示器實物如圖:(1602LCD基本參數及管腳功能見附錄【1】) 圖 2-9 1602字符型液晶顯示器實物圖2.3.5 單片機與PC機間的通信單片機有一個全雙工的串行通訊口,所以單片機和電腦之間可以方便地進行串口通訊。進行串行通訊時要滿足一定的條件,比如電腦的串口是RS232電平的,而單片機的串口是TTL電平的,兩者之間必須有一個電平轉換電路,我們采用了專用芯片MAX232進行轉換,雖然也可以用幾個三極管進行模擬轉換,但是還是用專用芯片更簡單可靠。我們采用了三線制連接串口,也就是說和電腦的9針串口只連接其中的3根線:第5腳的GND、第2腳的RXD、第3腳的TXD。這是最簡單的連接方法,但是對我們來說已經足夠使用了,MAX232的第10腳和單片機的11腳連接,第9腳和單片機的10腳連接,第15腳和單片機的20腳連接,連接圖2-10和實物圖2-11如下:圖 2-10圖 2-112.4 Proteus軟件仿真2.4.1 Proteus ISIS簡介Proteus ISIS是英國Labcenter公司開發(fā)的電路分析與實物仿真軟件。它運行于Windows操作系統上,可以仿真、分析(SPICE)各種模擬器件和集成電路。該軟件的特點是:1) 全部滿足我們提出的單片機軟件仿真系統的標準,并在同類產品中具有明顯的優(yōu)勢。2)具有模擬電路仿真、數字電路仿真、單片機及其外圍電路組成的系統的仿真、RS232動態(tài)仿真、I2 C調試器、SPI調試器、鍵盤和LCD系統仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。3)目前支持的單片機類型有:ARM7系列、68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。4)支持大量的存儲器和外圍芯片。總之,該軟件是一款集單片機和SPICE分析于一身的仿真軟件,功能極其強大 ,可仿真ARM、51、AVR、PIC。2.4.2 Proteus運行流程Proteus ISIS的工作界面是一種標準的Windows界面,包括:標題欄、主菜單、標準工具欄、繪圖工具欄、狀態(tài)欄、對象選擇按鈕、預覽對象方位控制按鈕、仿真進程控制按鈕、預覽窗口、對象選擇器窗口、圖形編輯窗口。運行Proteus程序后,進入軟件的主界面。通過左側工具欄中的P(從庫中選擇元件命令)命令,在Pick Devices 左側窗口中選擇所需元件的關鍵字,然后放置元件并調整方向和位置以及參數設置,最后進行連線。在元器件庫中沒有光敏電阻和激光棒,最終采用光耦來代替,并運用開關控制它的工作最終達到控制555的2,6兩端的電平。2.4.3 系統設計和調試硬件方面:1)應注意激光鐳射管的工作參數,與5V電壓串聯需接限流電阻220歐姆。2)本方案要用到光敏電阻,所以應有良好的避光處理。3)為了實現單擺小球擺至平衡位置遮光時555能輸出高電平,遠離平衡置時555輸出低電平,在555的5端口,2,6兩端口應注意電阻的分壓選取,這要根據電路中光敏電阻的亮暗阻來確定,本方案最終在5端口用兩 個9.1k的電阻分壓5v直流電,在2,6相連與地之間接上了9.1k, 經計算和測試能夠達到要求。4)LCD的背光管腳應連接一個10k的可變電阻,這樣可以實現亮度調節(jié)。5)焊接過程中應注意元器件的布置以及焊接順序。軟件方面:1) 單擺經最低點的脈沖信號輸入單片機P3.0,程序中采集的是脈沖上升沿信號,而不是以高低電平為準。2)輸入擺動次數值和擺球經過最低點時,按鍵都有抖動,所以在程序中加上按鍵防抖程序。3) 最后在LCD顯示屏上顯示擺長,周期和重力加速度,擺長為一定值0.8m,周期和重力加速度的輸出格式為T=0.01S,g=00.01m/s2.4)計算周期和單擺時,要注意擺動經最低點的次數與周期次數的轉化,設loop為擺動次數,則周期數為n=(loop-1)/2.5)LCD顯示的上下兩行最多可以分別顯示16個字符,應注意溢出的問題,每次寫數據之前都要檢測忙信號。6)主程序結束時,應加一個死循環(huán)語句,以免程序跑飛,最終在不斷電情況下,一直顯示擺長,周期和重力加速度。7)為了計數中斷T0的溢出次數測總時間,需要將這個變量設為全局變量,這樣便可實現調用中斷中的數據。調試的順序:開電源-調節(jié)LCD的亮度單片機復位調節(jié)擺動次數放單擺待單擺穩(wěn)定擺動后輸入擺動數實驗結果及誤差分析:按上述操作步驟測得如下實驗數據:(西安市的標準重力加速度為9.7944m/s2)擺動次數(loop)周期次數 (n)擺長L單位:m周期T單位:s重力加速度g單位: m/s21990.81.789.821990.81.789.7921100.81.789.7821100.81.789.8223110.81.789.7823110.81.789.78 25 12 0.8 1.78 9.77 25 12 0.8 1.78 9.81 41 20 0.8 1.78 9.81 41 20 0.8 1.78 9.79 43 21 0.8 1.78 9.81 43 21 0.8 1.78 9.79表2-1 實驗結果比實際值要大,在誤差允許范圍內基本符合要求,其主要誤差來自于擺動過程中擺球擺動不規(guī)則,因為標準的操作是在偏離平衡位置5度的位置放開單擺,擺球擺動必須是一條視線上,而實際上經常是一些橢圓,這樣就會使周期測得不精準,另外擺線的長度和擺球的各種規(guī)格都會帶來一定的誤差。在程序中的計算也會因小數部分的舍去而帶來誤差,比如說在計算的過程中直接用g=31.58/(T*T),實際上它是省略了4*的小數部分。3 程序設計3.1 C與8051 KEILC51標準C編譯器為8051微控制器的軟件開發(fā)提供了C語言環(huán)境,同時保留了匯編代碼高效,快速的特點。C51編譯器的功能不斷增強,使你可以更加貼近CPU本身,及其它的衍生產品。C51已被完全集成到uVision2的集成開發(fā)環(huán)境中,這個集成開發(fā)環(huán)境包含:編譯器,匯編器,實時操作系統,項目管理器,調試器。uVision2IDE可為它們提供單一而靈活的開發(fā)環(huán)境。C51V7版本是目前最高效、靈活的8051開發(fā)平臺。它可以支持所有8051的衍生產品,也可以支持所有兼容的仿真器,同時支持其它第三方開發(fā)工具。因此,C51V7版本無疑是8051開發(fā)用戶的最佳選擇。工程(project)是由源文件、開發(fā)工具選項以及編程說明三部分組成的。一個單一的uVision2工程能夠產生一個或多個目標程序。產生目標程序的源文件構成“組”。開發(fā)工具選項可以對應目標,組或單個文件。uVision2包含一個器:件數據庫(devicedatabase),可以自動設置匯編器、編譯器、連接定位器及調試器選項,來滿足用戶充分利用特定微控制器的要求。此數據庫包含:片上存儲器和外圍設備的信息,擴展數據指針(extradatapointer)或者加速器(mathaccelerator)的特性。 uVision2可以為片外存儲器產生必要的連接選項:確定起始地址和規(guī)模。uVision2的強大功能有助于用戶按期完工。 1)集成源極瀏覽器利用符號數據庫使用戶可以快速瀏覽源文件。用詳細的符號信息來優(yōu)化用戶變數存儲器。 2)文件尋找功能:在特定文件中執(zhí)行全局文件搜索。 3)工具菜單:允許在V2集成開發(fā)環(huán)境下啟動用戶功能。 4)可配置SVCS接口:提供對版本控制系統的入口。 5)PCLINT接口:對應用程序代碼進行深層語法分析。 6)Infineon的EasyCase接口:集成塊集代碼產生。 7)Infineon的DAVE功能:協助用戶的CPU和外部程序。DAVE工程可被直接輸入uVision2。KEILC51編譯器在遵循ANSI標準的同時,為8051微控制器系列特別設計。語言上的擴展能讓用戶使用應用中的所有資源。 一、 存儲器和特殊功能寄存器的存取 C51編譯器可以實現對8051系列所有資源的操作。SFR的存取由sfr和sbit兩個關鍵字來提供。變量可旋轉到任一個地址空間。用關鍵字at還能把變量放入固定的存儲器存儲模式(大,中,小)決定了變量的存儲類型。連接定位器支持的代碼區(qū)可達32個,這就允許用戶在原有64K ROM的8015基礎上擴展程序。在V2的編譯器和許多高性能仿真器中,可以支持應用程序的調試。二、 中斷功能 C51允許用戶使用C語言編寫中斷服務程序,快速進、出代碼和寄存器區(qū)的轉換功能使C語言中斷功能更加高效??稍偃牍δ苁怯藐P鍵字來定義的。多任務,中斷或非中斷的代碼要求必須具備可再入功能。 三、 靈活的指針 C51提供了靈活高效的指針。通用指針用3個字節(jié)來存儲存儲器類型及目標地址,可以在8051的任意存儲區(qū)內存取任何變量。特殊指針在聲明的同時已指定了存儲器類型,指向某一特定的存儲區(qū)域。由于地址的存儲只需12字節(jié),因此,指針存取非常迅速。3.2 設計思路及流程圖 本課題的設計題目是單擺自動計時計數器的制作,對課題的要求是:1) 最多可記錄9個擺動周期;2) 最大計時99.9秒;3) 分辨率為0.1秒根據上述要求及分析,為了最終測出重力加速度,需要測算出周期,周期的測量是根據傳統的方法,也就是計時給定周期次數的總時間,然后經除法運算便能算出。使用P1口輸出液晶顯示,P2.4,P2.5,P2.6分別控制使能信號端E,讀/寫操作端RW,寄存器選擇端RS.P3.0口作為單擺脈沖信號輸入端。P0.1,P0.2,P0.3口用來控制擺動次數,實現加,減和輸入的功能。程序設計是該課題的一個重要實現環(huán)節(jié),它需要完成的任務包括以下幾個方面:1) 控制LCD的顯示。在單擺開始擺動前,需要輸入一個擺動次數,功能的實現在硬件可以通過加1鍵,減1鍵和輸入數值鍵來實現,在程序設計過程中,需要注意按鍵防抖動問題,而且還要注意顯示擺動次數的格式問題(占用兩個字符,第0行的第0和第1個字符分別顯示十位和各位;最終輸出顯示中包括擺長L,周期T和重力加速度g,L是給定的一個值0.8m,周期T和重力加速度g顯示的格式為0.01s和00.01m/s2,并且擺長L和周期T在LCD的第0行顯示,重力加速度g在第1行顯示。2) 采集單擺經過平衡位置的脈沖信號。根據硬件的要求(單擺小球擺動到最低點時P3.0口為低電平),本方案程序編寫采用采集脈沖上升沿信號,數值輸入鍵控制擺動次數(也就是脈沖上升的個數)。采集到第1個上升延時需要開T0中斷,并計數溢出次數(每一次溢出20ms,由溢出次數可以算出總時間),采集到最后的一個脈沖上升沿,需要關閉中斷,根據溢出次數算出周期和重力加速度顯示,在此過程中,需要將溢出次數變量設為全局變量,這樣可以實現該值的調用。3) 程序設計的最后需要加上一個死循環(huán),以免程序跑飛,最終是一直顯示擺長L,周期T和重力加速度g。運用本方案最終設計的技術指標是:1) 最多可記錄48個擺動周期;(因為顯示次數最大為99)2) 最大計時2e32*0.02秒;(因為計數變量為無符號長整型最大為2e32)3) 分辨率為0.01秒軟件流程圖3-1如下:圖 3-13.3 源程序設計主程序設計:(子程序見附錄【2】)/LCD的D0-D7分別接P1.0-P1.7,RS接P2.4,RW接P2.5,E接P2.6/P3.0輸入脈沖信號/P0.1加1,P0.2減1,P0.3輸入擺動次數#include#define uchar unsigned char#define uint unsigned int#define LCM_Data P1 #define Busy 0x80 /用于檢測LCM狀態(tài)字中的Busy標識sbit LCM_RS=P24;sbit LCM_RW=P25; /定義引腳sbit LCM_E=P26;/-子函數-void WriteDataLCM(unsigned char WDLCM); /寫數據void WriteCommandLCM(unsigned char WCLCM,BuysC); /寫指令unsigned char ReadStatusLCM(void); /讀狀態(tài)void LCMInit(void); /LCM初始化void culate(); /計算周期和重力加速度,并分別按照0.01,和00.01的格式輸出 void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData); /顯示一個字符void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData); /顯示一串字符void delay(); /延時10msvoid Delay5Ms(void); /延時5msvoid key_delay(void); /按鍵防抖unsigned long int count = 0;double T,g;unsigned int i,j,k,temp;unsigned char loop = 19; /開機給定的19個擺動次數(也就是9個周期)/-TO中斷定時計數-/T0定時器中斷初始化void init_timer0 () TMOD = 0x1; /T0,工作方式1 TH0 = 0xb1; /20ms定時 TL0 = 0xe0; ET0 = 1; /允許T0定時器中斷 EA = 1; /開啟總中斷允許 TR0 = 0; /初始狀態(tài),定時器關閉/開定時中斷void st

溫馨提示

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

評論

0/150

提交評論