




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課程設(shè)計(jì)報(bào)告課程名稱(chēng):微機(jī)原理課程設(shè)計(jì)題目:基于51單片機(jī)的光電編碼器測(cè)速摘要光電編碼器是高精度位置控制系統(tǒng)常用的一種位移檢測(cè)傳感器。在位置控制系統(tǒng)中,由于電機(jī)既可能正轉(zhuǎn),也可能反轉(zhuǎn),所以要對(duì)與其相連的編碼器輸出的脈沖進(jìn)行計(jì)數(shù),要求相應(yīng)的計(jì)數(shù)器既能實(shí)現(xiàn)加計(jì)數(shù),又能實(shí)現(xiàn)減計(jì)數(shù),即進(jìn)行可逆計(jì)數(shù)。其計(jì)數(shù)的方法有多種,包括純粹的軟件計(jì)數(shù)和硬件計(jì)數(shù)。文中分別對(duì)這兩種常用的計(jì)數(shù)方法進(jìn)行了分析,對(duì)其優(yōu)缺點(diǎn)進(jìn)行了對(duì)比,最后提出了一種新的計(jì)數(shù)方法,利用80C5im片機(jī)內(nèi)部的計(jì)數(shù)器實(shí)現(xiàn)對(duì)光電編碼器輸出脈沖的加減可逆計(jì)數(shù),既節(jié)省了硬件資源,又能得到較高的計(jì)數(shù)頻率。本設(shè)計(jì)就是由單片機(jī)STC89C52RC芯片,光電編碼
2、器和1602液晶為核心,輔以必要的電路,構(gòu)成了一個(gè)基于51單片機(jī)的光電編碼器測(cè)速器。該系統(tǒng)有兩個(gè)控制按鍵,分別用于控制每秒的轉(zhuǎn)速和每分鐘的轉(zhuǎn)速,并將速度用1602液晶顯示出來(lái)。該測(cè)速器測(cè)速精準(zhǔn),具有實(shí)時(shí)檢測(cè)的功能,操作簡(jiǎn)單。關(guān)鍵詞:光電編碼器,51單片機(jī),C語(yǔ)言,1602液晶目錄一、設(shè)計(jì)任務(wù)與要求4.1.1 設(shè)計(jì)任務(wù)41.2 設(shè)計(jì)要求4二、方案總體設(shè)計(jì)£.1 方案一51 方案二51 系統(tǒng)采用方案5三、硬件設(shè)計(jì)工.3.1 單片機(jī)最小系統(tǒng)73.2 液晶顯示模塊73.3 系統(tǒng)電源83.4 光電編碼器電路83.5 整體電路9四、軟件設(shè)計(jì).10keil軟件介紹10系統(tǒng)程序流程10五、仿真與實(shí)現(xiàn)
3、.12proteus軟件介紹12仿真過(guò)程12實(shí)物制作與調(diào)試13使用說(shuō)明14六、總結(jié)15設(shè)計(jì)總結(jié)15經(jīng)驗(yàn)總結(jié)15七、參考文獻(xiàn).16一、設(shè)計(jì)任務(wù)與要求設(shè)計(jì)任務(wù).對(duì)更多小器件的了解C語(yǔ)言的實(shí)際操作運(yùn)用.鞏固51單片機(jī)和C語(yǔ)言的知識(shí),熟悉單片機(jī)和.掌握仿真軟件的運(yùn)用和原理圖的繪制.加深焊接的技巧,提高焊接的能力.熟悉調(diào)試方法和技巧,提高解決實(shí)際問(wèn)題的能力.熟悉設(shè)計(jì)報(bào)告的編寫(xiě)過(guò)程設(shè)計(jì)要求.兩個(gè)按鍵控制顯示每分鐘和每秒鐘的功能.74LS74輔助光電編碼器測(cè)轉(zhuǎn)向.光電編碼器輸出脈沖計(jì)數(shù).1602液晶顯示轉(zhuǎn)速二、方案總體設(shè)計(jì)設(shè)計(jì)一個(gè)基于51單片機(jī)的光電編碼器測(cè)測(cè)速。設(shè)計(jì)一個(gè)電路來(lái)實(shí)現(xiàn)光電編碼器測(cè)量;利用單片機(jī)
4、內(nèi)部精確到微妙的定時(shí)計(jì)數(shù)器來(lái)實(shí)現(xiàn)一個(gè)周期的時(shí)間來(lái)統(tǒng)計(jì)脈沖數(shù);74LS74作為輔助芯片來(lái)完善光電編碼器測(cè)轉(zhuǎn)向的功能;P0和P2口控制1602液晶顯示轉(zhuǎn)速;利用PY1和P1A2來(lái)實(shí)現(xiàn)液晶顯示每秒鐘和每分鐘轉(zhuǎn)速的功能;利用復(fù)位按鍵功能來(lái)實(shí)現(xiàn)復(fù)位操作。調(diào)節(jié)藍(lán)白滑動(dòng)變阻器來(lái)調(diào)節(jié)液晶亮度。方案一51單片機(jī)的定時(shí)/計(jì)數(shù)器工作在模式2時(shí)是一個(gè)可以自動(dòng)重裝載的8位定時(shí)/計(jì)數(shù)器。工作時(shí)高八位和低八位裝入相同的初值,當(dāng)?shù)桶宋谎b滿(mǎn)時(shí),高八位的值自動(dòng)裝入到第八位中,從而可以省去用戶(hù)軟件中重裝初值常數(shù)的語(yǔ)句,可產(chǎn)生相當(dāng)精確的定時(shí)時(shí)間。由于只有八位參與計(jì)數(shù),所以其計(jì)數(shù)周期最大為256微妙。采用初值裝入0x38,每個(gè)200微
5、妙進(jìn)入一次中斷,5000次中斷為100毫秒,即實(shí)現(xiàn)周期為1秒的脈沖計(jì)數(shù)。光電編碼器的A相接在單片機(jī)的外部中斷,光電編碼器的B相接在單片機(jī)的P1A0OA相發(fā)出的脈沖每觸發(fā)一次中斷就就計(jì)數(shù)一個(gè)脈沖,并且再對(duì)P1P的高低電平進(jìn)行檢測(cè),如果為高電平則為反轉(zhuǎn),如果是低電平則為正轉(zhuǎn)。反向器中的兩個(gè)作為放大作用。再接兩個(gè)三極管作為開(kāi)關(guān)作用,組成一個(gè)直流電機(jī)的驅(qū)動(dòng)電路。P1A1和P1A2分別控制液晶顯示每分鐘的車(chē)t速和每秒鐘的轉(zhuǎn)速。P2口控制1602液晶的數(shù)據(jù)口,P0的三個(gè)引腳控制1602液晶的數(shù)據(jù)/命令選擇端、讀/寫(xiě)選擇端、使能端來(lái)顯示速度。方案二51單片機(jī)的定時(shí)/計(jì)數(shù)器工作在模式0時(shí)是一個(gè)16位位定時(shí)/計(jì)
6、數(shù)器。工作時(shí)高八位和低八位各裝入初值,當(dāng)?shù)桶宋谎b滿(mǎn)時(shí),高八位加1。由于是16位參與計(jì)數(shù),所以其計(jì)數(shù)周期最大為65536微妙。采用初值高八位裝入0xfc,初值低八位裝入0x18,每個(gè)1000微妙進(jìn)入一次中斷,1000次中斷為1秒,即形成周期為1秒的脈沖計(jì)數(shù)。本方案在方案1的基礎(chǔ)上外接一個(gè)74LS74的芯片。光電編碼器的A相接在單片機(jī)的P3A4的引腳,利用單片機(jī)的計(jì)數(shù)器1進(jìn)行脈沖計(jì)數(shù),同時(shí)接在74LS74的時(shí)鐘信號(hào)接口。光電編碼器的B相接在74LS74的D接口。Q端接在P3A2弓I腳,Q非端接在P3A3弓I腳。利用兩個(gè)外部中斷來(lái)判斷正反轉(zhuǎn)。P1A1和p1A2分別控制液晶顯示每分鐘的轉(zhuǎn)速和每秒鐘的轉(zhuǎn)
7、速。P2口控制1602液晶的數(shù)據(jù)口,P0的三個(gè)引腳控制1602液晶的數(shù)據(jù)/命令選擇端、讀/寫(xiě)選擇端、使能端來(lái)顯示速度。2.3系統(tǒng)米用方案1)總體設(shè)計(jì)圖1為設(shè)計(jì)總體框架圖,通過(guò)該圖大致的介紹了一下整個(gè)光電編碼器測(cè)速系統(tǒng)的各個(gè)主要部分。控制按鍵時(shí)鐘電路STC89C52編碼器電路液晶顯示系統(tǒng)圖1系統(tǒng)總體框架2)總體工作原理由于定時(shí)器工作模式2是八位,可裝入的值太小,每進(jìn)行一個(gè)周期的脈沖統(tǒng)計(jì)需要進(jìn)入5000次定時(shí)器中斷,由于進(jìn)入中斷的次數(shù)太多,所以很容易出現(xiàn)在低八位裝滿(mǎn)本應(yīng)觸發(fā)而程序還在中斷子程序中運(yùn)行,而無(wú)法觸發(fā)中斷的情況,所以不采用工作模式2。工作模式0只需要進(jìn)入定時(shí)中斷1000次就可以進(jìn)行一個(gè)周
8、期的脈沖統(tǒng)計(jì),所以選擇功能模式0。方案一中用,用純軟件計(jì)數(shù)雖然電路簡(jiǎn)單,但是計(jì)數(shù)速度慢,難以滿(mǎn)足實(shí)時(shí)性要求,而且容易出錯(cuò)。我們可以用單片機(jī)內(nèi)部的計(jì)數(shù)器來(lái)實(shí)現(xiàn)加減計(jì)數(shù)。單片機(jī)片內(nèi)有兩個(gè)16位定時(shí)計(jì)數(shù)器都可以用來(lái)脈沖計(jì)數(shù),用兩個(gè)外部中斷來(lái)檢測(cè)正反轉(zhuǎn),避免了每一個(gè)脈沖都要進(jìn)行高低電平檢測(cè)的步驟。控制按鍵,液晶和復(fù)位方面的設(shè)計(jì)在方案一和方案二中一樣。綜上考慮,最終方案確定為方O三、硬件設(shè)計(jì)單片機(jī)最小系統(tǒng)單片機(jī)要正常工作,首先要產(chǎn)生片內(nèi)時(shí)鐘信號(hào)。在單片機(jī)內(nèi)部的振蕩器的輸入端XTAL1和輸出端XTAL2之間接一個(gè)石英晶振就可以夠成一個(gè)自激振蕩器。再在兩端之間串聯(lián)接個(gè)電容并且在兩個(gè)電容之間接地以便于穩(wěn)定頻率
9、還對(duì)振蕩頻率有微調(diào)作用。電容通常選30PF左右,振蕩脈沖頻率范圍為024MHZ。該電路中選用12MHz晶振。時(shí)鐘電路圖如下:GND>|C1I22pF|0X2IIY1TXTAL圖2時(shí)鐘電路圖單片機(jī)在啟動(dòng)時(shí)與其他微處理器一樣,要讓CPU及系統(tǒng)各部件處于確定的初始狀態(tài),I并從初始開(kāi)始工作。這就需要復(fù)位操作。復(fù)位電路有兩種方式:上電自動(dòng)復(fù)位和按鍵自動(dòng)復(fù)位。上電自動(dòng)復(fù)位只是在開(kāi)始接通電源瞬間復(fù)位,接下來(lái)想要再次復(fù)位就需要斷電重啟,不方便。按鍵自動(dòng)復(fù)位不僅可以在開(kāi)始接通電源瞬間復(fù)位還可以通過(guò)按下按鍵復(fù)位隨時(shí)復(fù)位。所以選擇按鍵復(fù)位方式。復(fù)位電路如下:R110K|*GND圖3復(fù)位電路圖液晶顯小模塊該可調(diào)
10、直流電機(jī)最大速度為每分鐘1200轉(zhuǎn),采用1602液晶顯示。控制1602液晶亮度的是藍(lán)白滑動(dòng)變阻器。1602液晶有16個(gè)管腳。編號(hào)為1,2管腳為電源正負(fù)極管腳,15,16為背光源正負(fù)極管腳;714為dataI/O管腳與單片機(jī)的P0口相連,負(fù)責(zé)液晶與芯片之間的信息傳送;4,5,6分別為數(shù)據(jù)/命令選擇端、讀/寫(xiě)選擇端、使能端,與單片機(jī)的,P2A0、P2A1、P2A2相連,負(fù)責(zé)控制液晶與芯片之間數(shù)據(jù)命令的讀寫(xiě)操作;3為液晶顯示偏壓信號(hào)端,用于調(diào)整液晶顯示對(duì)比度。1602液晶顯示原理圖如下:32VCCGco1123GNDI1602誨KBamlb7bD6BD5bd4bD3BD2bD1BDOBDo-7363
11、o-53ot-43Q-239Iocco03GND圖4液晶顯示系統(tǒng)圖系統(tǒng)電源為了方便控制系統(tǒng)的上電與斷電,系統(tǒng)電源中連接了一個(gè)藍(lán)白自鎖開(kāi)關(guān)。此開(kāi)關(guān)兩邊各有三個(gè)引腳,不同的連接方式,開(kāi)關(guān)的控制方法就不同。電源的正負(fù)極各接在此開(kāi)關(guān)的兩邊。為了方便觀察電源是否接上,在電路中的VCC與GND之間接一個(gè)發(fā)光二極管并且加一個(gè)限流電阻防止發(fā)光二極管燒壞,電源通電時(shí)發(fā)光二極管亮,斷電時(shí),則暗。再接四個(gè)排針便兩邊的兩個(gè)排針用于外部電源給系統(tǒng)上電,中間的兩個(gè)排針是用于單片機(jī)燒錄程序。如圖所示:GND圖5系統(tǒng)電源圖光電編碼器電路這是一張光電編碼器部分的電路原理圖。圖上的74LS74芯片上就是兩個(gè)D觸發(fā)器。A相接在P3
12、A4的引腳用于計(jì)數(shù)器0采集脈沖。A相同時(shí)接在CLK端,B相接在D端,Q接在P3.2引腳,外部中斷0檢測(cè)和Q非接在P3.3外部中斷1來(lái)檢測(cè)。另外A相和B相各需接一個(gè)上拉電阻,阻值為1K。這樣輸出的脈沖就可以直接接在單片機(jī)上,進(jìn)行檢測(cè)了。另外74LS74芯片的SET引腳,CLR引腳,VCC引腳都接電源,GND引腳接地。整個(gè)電路就連接完成了。P212343B相4|-GNDP3.3c4P3.2匚而VCC1r12VCC13P3.4U4GNDVCC14Q2GNDQ2Q1SET2Q1CLK2SET1D2CLK1CLR2D1VCCCLR17654321Ab相相R6力R51K1K74LS74VCC圖6光電編碼器
13、電路整體電路這是采用網(wǎng)絡(luò)標(biāo)號(hào)的畫(huà)出的以一張整體電路圖。它將整張可調(diào)直流電機(jī)的電路原理圖分為七個(gè)部分:電源模塊,P0口上拉電阻,1602液晶模塊,51單片機(jī),復(fù)位晶振電路,控制按鍵和光電編碼器電路。整張?jiān)砜雌饋?lái)美觀,明了并且根據(jù)標(biāo)號(hào)很容易找到與之對(duì)應(yīng)的引腳。基于51單片機(jī)的光電編碼器測(cè)速設(shè)計(jì)電源模塊GNDP0口上拉電阻RP1VCCP0.0JP0.1.P0.2.P0.3SP0.4二P0.5-P0.6-P0.71602液晶模塊klbALB/BDOBDOBD4BDJBDZBDIbDUBDEVaovccvUNG51單片機(jī)P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST9RX
14、D10TXD11P3.212P3.313P3.414P3.515P3.616P3.717X218X119GND20P1.0U61P1.0VCCP1.1P0.0P1.2P0.1P1.3P0.2P1.4P0.3P1.5P0.4P1.6P0.5P1.7P0.6RSTP0.7P3.0/RXDEA/VPPP3.1/TXDale/prog-P3.2/INT0-PSENP3.3/INTTP2.7P3.4/T0P2.6P3.5/T1P2.5P3.6/WR"P2.4P3.7/RDP2.3XTAL2P2.2XTAL1P2.1GNDP2.039P0.038P0.137P0.236P0.335P0.434P
15、0.533P0.632P0.731VCC302928P2.727P2.626P2.525P2.424P2.323P2.222P2.121P2.040VCCVCCR1R2R3R4R5R6R7R810214晶ov3液2一二5nunp720061OQ.91CXCL8nu?po控制按鍵GND復(fù)位晶振電路光電編碼器電路74LS74VCC圖7整體電路圖四、軟件設(shè)計(jì)keil軟件介紹KeilC51是美國(guó)KeilSoftware公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng)。KeilC51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能
16、體會(huì)到KeilC51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。單片機(jī)開(kāi)發(fā)中除必要的硬件外,同樣離不開(kāi)軟件,我們寫(xiě)的匯編語(yǔ)言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種Keil軟件圖標(biāo)是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過(guò)匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS-51單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開(kāi)發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開(kāi)發(fā),單片機(jī)的開(kāi)發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開(kāi)發(fā)MCS-51系列單片機(jī)的軟件,這從近年來(lái)各仿真機(jī)廠商紛紛宣布全面
17、支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uVision)將這些部份組合在一起。運(yùn)行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤(pán)空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對(duì)于使用51系列單片機(jī)的愛(ài)好者來(lái)說(shuō)是十分必要的,如果你使用C語(yǔ)言編程,那么Keil幾乎就是你的不二之選(目前在國(guó)內(nèi)你只能買(mǎi)到該軟件、而你買(mǎi)的仿真機(jī)也很可能只支持該軟件),即使不使用C語(yǔ)言而僅用匯編語(yǔ)言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工
18、具也會(huì)令你事半功倍。KeilC51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過(guò)匯編語(yǔ)言后再使用C來(lái)開(kāi)發(fā),體會(huì)更加深刻。系統(tǒng)程序流程1)主程序流程圖8為光電編碼器測(cè)速系統(tǒng)的主程序流程圖。通過(guò)該圖可以直觀的了解到整個(gè)調(diào)控程序的大致走向?yàn)橄葤呙杳棵腌娝俣群兔糠昼娝俣鹊目刂瓢存I,確定了是顯示速度的方式之后,再執(zhí)行液晶顯示程序,顯示出速度。接著又重新回到控制按鍵掃描的程序中,如此不斷重復(fù)循環(huán)。(初始化)秒速分速鍵掃描2)中斷程序流程圖9為光電編碼器測(cè)速系統(tǒng)
19、的中斷程序流程圖。脈沖計(jì)數(shù)周期主要是由單片機(jī)內(nèi)部精確到毫秒的定時(shí)器每次以間隔相同的時(shí)間進(jìn)入中斷,中斷1000次才形成一個(gè)周期。一個(gè)周期的時(shí)間到了,就進(jìn)行一次脈沖計(jì)算。一個(gè)周期時(shí)間沒(méi)到就進(jìn)入主程序。從而控制每個(gè)周期的方波高電平和低電平各自持續(xù)的時(shí)間,即控制了方波的占空比。通過(guò)該圖也可以清晰明了的知道,該中斷程序主要涉及的就是方波的調(diào)控。先是判斷高電平是否未達(dá)到調(diào)控的時(shí)間,如果未達(dá)到則讓gdp+1,即讓繼續(xù)高電平保持。如果gdp為100則說(shuō)明主程序已經(jīng)把方波調(diào)控到一直保持高電平,就讓gdp為0,就可以一直輸出高電平了。如果高電平達(dá)到了調(diào)控的時(shí)間,就讓控制電機(jī)的兩個(gè)引腳都為低電平并讓ddp+1,即讓
20、繼續(xù)低電平保持。如果低電平未達(dá)到了調(diào)控的時(shí)間,就進(jìn)入主程序繼續(xù)保持低電平等待下一次中斷。如果低電平達(dá)到了調(diào)控的時(shí)間,就讓ddp=gdp=0,即重新開(kāi)始下一個(gè)方波。圖9定時(shí)器中斷程序流程圖五、仿真與實(shí)現(xiàn)5.1proteus軟件介紹Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430
21、等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持KEIL,IAR和MPLAB等多種編譯器。PROTEUS不僅可將許多單片機(jī)實(shí)例功能形象化,也可將許多單片機(jī)實(shí)例運(yùn)行過(guò)程形象化。前者可在相當(dāng)程度上得到實(shí)物演示實(shí)驗(yàn)的效果,后者則是實(shí)物演示實(shí)驗(yàn)難以達(dá)到的效果。它的元器件、連接線(xiàn)路等卻和傳統(tǒng)的單片機(jī)實(shí)驗(yàn)硬件高度對(duì)應(yīng)。這在相當(dāng)程度上替代了傳統(tǒng)的單片機(jī)實(shí)驗(yàn)教學(xué)的功能,例:元器件選擇、電路連接、電路檢測(cè)、電路修改、軟件調(diào)試、運(yùn)行結(jié)果等。使用Proteus軟件進(jìn)行單片機(jī)系統(tǒng)仿真設(shè)計(jì),是虛擬仿真技術(shù)和計(jì)算機(jī)多媒體技術(shù)相結(jié)合的綜合運(yùn)用,有利于培養(yǎng)學(xué)生的電路設(shè)計(jì)
22、能力及仿真軟件的操作能力;在單片機(jī)課程設(shè)計(jì)和全國(guó)大學(xué)生電子設(shè)計(jì)。實(shí)踐證明,在使用Proteus進(jìn)行系統(tǒng)仿真開(kāi)發(fā)成功之后再進(jìn)行實(shí)際制作,能極大提高單片機(jī)系統(tǒng)設(shè)計(jì)效率。因此,Proteus有較高的推廣利用價(jià)值。由于該設(shè)計(jì)的光電編碼器測(cè)速在仿真軟件中無(wú)法仿真,只能仿真液晶顯示部分,所以仿真原理圖忽略。5.2仿真過(guò)程圖10為使用keil軟件編寫(xiě)程序時(shí)的調(diào)試過(guò)程圖。我用的是C語(yǔ)言來(lái)編寫(xiě)。第一次編寫(xiě)完程序后,然后編譯一下,出現(xiàn)的對(duì)話(huà)框中顯示有幾個(gè)錯(cuò)誤,點(diǎn)擊錯(cuò)誤提示,主程序會(huì)出現(xiàn)光標(biāo)只向錯(cuò)誤的地方,根據(jù)這個(gè)錯(cuò)誤提示,然后進(jìn)行更改,再編譯一下,程序還是顯示有錯(cuò)誤,再重復(fù)上次的操作,進(jìn)過(guò)了幾次修改后,就如圖所示
23、沒(méi)有錯(cuò)誤提示了。編寫(xiě)程序就是這樣,需要不斷修改,程序才能準(zhǔn)確。程序編寫(xiě)好,還要編譯成HEX文件。只有HEX文件才能燒錄到到單片機(jī)上。亦如出3I且平曷4良丁:NiiIL,:.1*rKtMEq*-附愕w吐*.?號(hào)MtK同cilncxhuiiu-jzFLJiHjrfaCknCDHi'siCiriiECV.dvLiyilljIHVI'll1圖10keil軟件仿真圖實(shí)物制作與調(diào)試圖11為實(shí)物圖的背面,圖12為實(shí)物圖的正面。原理圖和洞洞板圖畫(huà)好,程序?qū)懞煤缶涂梢蚤_(kāi)始焊接了。在剛開(kāi)始焊好后,燒錄程序進(jìn)去,但液晶卻不能顯示,于是我就在protues中仿真了液晶顯示部分,仿真中能實(shí)現(xiàn)正確顯示,再
24、檢查一下有沒(méi)有焊接錯(cuò)誤,也沒(méi)有發(fā)現(xiàn)任何錯(cuò)誤,我就想如果我能正確控制1602液晶的引腳,它就應(yīng)該能夠顯示,于是我在出現(xiàn)中令P2=0xaa,en=1,rw=0,rs=1,然后用萬(wàn)用電表檢查液晶上的液晶是否是如我所設(shè)定的那樣,電平引腳和我設(shè)置的一樣。我再令P2=0x55,en=0,rw=1,rs=0,結(jié)果我發(fā)現(xiàn)rs液引腳為高電平,而我設(shè)置的為低電平。我用萬(wàn)用電表檢查,發(fā)現(xiàn)rs引出的那根導(dǎo)線(xiàn)與電源短路了,可是我根本看不出來(lái)哪里短路了,我就先把rs引出的那根導(dǎo)線(xiàn)焊開(kāi)分成兩段,再檢查其中有一段是短路的,接著再焊開(kāi)成兩段,繼續(xù)檢查,最后找到了短路的地方,原來(lái)是兩個(gè)焊盤(pán)本身就是連在一起。我就把其中一個(gè)焊盤(pán)用電
25、烙鐵焊掉,用走線(xiàn)連接,一上電,液晶立刻就顯示正常。圖11實(shí)物圖背面使用說(shuō)明如圖12所示:此光電編碼器測(cè)速系統(tǒng)包含的元器件有:STC89C52單片機(jī)一塊,光電編碼器,一塊74LS74芯片,40個(gè)腳IC插座一個(gè),14個(gè)腳IC插座一個(gè)排阻一個(gè),一個(gè)16腳的排母,1602液晶一塊,一個(gè)3M紅色LED燈,六個(gè)排針,三個(gè)四腳輕觸開(kāi)關(guān),四個(gè)個(gè)電阻,一個(gè)電解電容,兩個(gè)瓷片電容,一個(gè)六角自鎖開(kāi)關(guān),一個(gè)晶振和一個(gè)103藍(lán)白滑動(dòng)變阻器。整個(gè)光電編碼器測(cè)速系統(tǒng)布置在一塊20X10大小的洞洞板上。1602液晶用于顯示所測(cè)的轉(zhuǎn)速,單片機(jī)下方的兩個(gè)按鍵為控制按鍵,從左往右第一個(gè)為顯示每秒轉(zhuǎn)速控制鍵,第二個(gè)為顯示每分鐘的轉(zhuǎn)速
26、。控制按鍵右邊為一塊74LS74芯片,四個(gè)排針(用于接光電編碼器)和兩個(gè)1K電阻組成組成光電編碼器測(cè)速電路部分。單片機(jī)右邊藍(lán)白滑動(dòng)變阻器,通過(guò)調(diào)節(jié)藍(lán)白滑動(dòng)變阻器來(lái)調(diào)節(jié)液晶亮度。那個(gè)按鍵為復(fù)位按鍵,每按一次系統(tǒng)就復(fù)位一次,回到初始狀態(tài)。復(fù)位按鍵下方的藍(lán)白自鎖開(kāi)關(guān)為電源開(kāi)關(guān),當(dāng)排針接好電源后,按下藍(lán)白自鎖開(kāi)關(guān)則系統(tǒng)上電,按起藍(lán)白自鎖開(kāi)關(guān)則系統(tǒng)斷電。藍(lán)白自鎖開(kāi)關(guān)上方的紅色發(fā)光二極管為電源指示燈,當(dāng)系統(tǒng)接通電源時(shí),指示燈亮,當(dāng)系統(tǒng)斷開(kāi)電源時(shí),指示燈暗。藍(lán)白自鎖開(kāi)關(guān)下方的四個(gè)排針從上至下依次接5V的VCC,RXD,TXD,GND。使用前應(yīng)先上電。接上電源后由于開(kāi)關(guān)斷開(kāi)系統(tǒng)還未上電,按下藍(lán)白自鎖開(kāi)關(guān)后,電
27、源接通。通上電時(shí),首先單片機(jī)連接電源時(shí),先是1602液晶第一行顯示welcometouse的字樣,第二行顯示real_speed:0000。可以按顯示每秒速度的按鍵,也可以按每分鐘顯示的速度,轉(zhuǎn)動(dòng)主軸,液晶上就會(huì)顯示與所按下的控制鍵相對(duì)應(yīng)得轉(zhuǎn)速。如果是正轉(zhuǎn),液晶第二行就會(huì)顯示real_speed:xxxx,如果為反轉(zhuǎn),液晶上就會(huì)顯示real_speed:-xxxx。如果不按控制鍵液晶第二行就顯示real_speed:0000。六、總結(jié)設(shè)計(jì)總結(jié)我的課題是基于51單片機(jī)的光電編碼器測(cè)速。當(dāng)我選擇了這個(gè)課題的時(shí)候,我就先開(kāi)始想在平常生活中光電編碼器是怎樣的,可以怎樣測(cè)速,需要一些什么器件。在確定了自
28、己要設(shè)計(jì)一個(gè)怎樣的測(cè)速系統(tǒng)之后就開(kāi)始列出做這個(gè)測(cè)速系統(tǒng)所需要的元器件。這個(gè)光電編碼器測(cè)速系統(tǒng)是基于給定的顯示系統(tǒng)上設(shè)計(jì)的,所以在設(shè)計(jì)電路原理圖之前,我先要掌握給定的顯示系統(tǒng)原理圖的連接方式和連接原理。這一些都弄明白之后,我再考慮如何在現(xiàn)有的基礎(chǔ)上進(jìn)行外圍設(shè)計(jì)使之達(dá)到預(yù)想的功能。經(jīng)過(guò)一番斟酌,確定我的外圍硬件只需添加兩個(gè)輕觸開(kāi)關(guān),一些電阻,一塊74LS74芯片就可以實(shí)現(xiàn)光電編碼器測(cè)速的功能。由于我的希望焊得盡量緊湊。所以為了以后方便焊接,減少焊接錯(cuò)誤,需要在洞洞板軟件中的畫(huà)出洞洞板圖,設(shè)計(jì)線(xiàn)路的時(shí)候要盡量減少飛線(xiàn)的使用,畫(huà)完之后和給出的圖進(jìn)行對(duì)照,確定我沒(méi)有連接錯(cuò)誤之后,修正洞洞板圖,使線(xiàn)路沒(méi)有
29、斷路并且更加筆直,接點(diǎn)處沒(méi)有連線(xiàn)出頭,修正完后保存洞洞板圖。硬件設(shè)想好了,接下來(lái),我就要給我所要設(shè)計(jì)的光電編碼器測(cè)速系統(tǒng)進(jìn)行軟件設(shè)計(jì),使之實(shí)現(xiàn)智能化。進(jìn)過(guò)了幾次調(diào)試之后,在keil軟件中我的程序顯示0erroro就開(kāi)始畫(huà)DXP原理圖,采用網(wǎng)絡(luò)標(biāo)號(hào)的形式更加方便,只需要把系統(tǒng)分成各個(gè)小模塊,在元器件的接口上標(biāo)明該接口所連接單片機(jī)的對(duì)應(yīng)的引腳,再分區(qū)放置標(biāo)明模塊。圖的大體結(jié)構(gòu)畫(huà)完之后再和給出的圖進(jìn)行對(duì)照,確定我沒(méi)有連接錯(cuò)誤之后,修正DXP原理圖,使線(xiàn)路沒(méi)有斷路并且更加筆直。DXP原理圖畫(huà)完后,整個(gè)電路設(shè)計(jì)就算完成了。我的設(shè)計(jì)過(guò)程與思路大體就是這樣子。經(jīng)驗(yàn)總結(jié)我覺(jué)得一個(gè)課題設(shè)計(jì)中的心得體會(huì)是非常重要
30、的一部分,這是一個(gè)經(jīng)驗(yàn)的積累與總結(jié)。通過(guò)這次單片機(jī)課程設(shè)計(jì),我不僅加深了對(duì)單片機(jī)理論的理解,將理論很好地應(yīng)用到實(shí)際當(dāng)中去,而且我還學(xué)會(huì)了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。創(chuàng)新可以是在原有的基礎(chǔ)上進(jìn)行改進(jìn),使之功能不斷完善,成為真己的東西。們安排了這次單片機(jī)課程設(shè)計(jì),給了我們學(xué)以致用的做好的實(shí)踐。對(duì)于這次課程設(shè)計(jì),我們花費(fèi)了比較多的心思,既是對(duì)課程理論內(nèi)容的一次復(fù)習(xí)和鞏固,還讓我們豐富了更多與該專(zhuān)業(yè)相關(guān)的其他知識(shí),比如軟件應(yīng)用等,在摸索中學(xué)習(xí),在摸索中成長(zhǎng),在學(xué)習(xí)的過(guò)程中帶著問(wèn)題去學(xué)我發(fā)現(xiàn)效率很高,這是我做這次課程設(shè)而應(yīng)該讓人一看就能明白你的思路,這樣也能為資料的保存和交流
31、提供了方便;我覺(jué)得在設(shè)計(jì)課程過(guò)程中遇到問(wèn)題是很正常,但我們應(yīng)該將每次遇到的問(wèn)題記錄下來(lái),并分析清楚,以免下次再碰到同樣的問(wèn)題的課程設(shè)計(jì)又出錯(cuò)了。此次的設(shè)計(jì),其實(shí)也是我們所學(xué)知識(shí)的一次綜合運(yùn)用,讓我深深的認(rèn)識(shí)到了學(xué)習(xí)單片機(jī)要有一定的基礎(chǔ),要有電子技術(shù)方面的數(shù)字電路和模擬電路等方面的理論基礎(chǔ),特別是數(shù)字電路;也要有編程語(yǔ)言的匯編語(yǔ)言或C語(yǔ)言。要想成為單片機(jī)高手,我們首先要學(xué)好匯編語(yǔ)言,然后轉(zhuǎn)入C語(yǔ)言學(xué)習(xí),所以我們不能學(xué)到后面就忘了前面的知識(shí),更應(yīng)該將所學(xué)的知識(shí)緊緊的結(jié)合在一起,綜合運(yùn)用,所謂設(shè)計(jì),就是要求創(chuàng)新,只有將知識(shí)綜合運(yùn)用起來(lái)才能真正的設(shè)計(jì)好。七、參考文獻(xiàn)1楊長(zhǎng)興、劉衛(wèi)國(guó).C+程序設(shè)計(jì):中國(guó)
32、鐵道部出版社2李朝青.單片機(jī)原理及接口技術(shù)(第三版):北京航空航天大學(xué)出版社3康華光.電子技術(shù)基礎(chǔ)(第五版):高等教育出版社4劉坤、趙紅波、張憲棟.51單片機(jī)C語(yǔ)言運(yùn)用(第二版):人民郵電出版社5閻石數(shù)字電子計(jì)數(shù)基礎(chǔ)(第五版):高等教育出版社附錄源程序#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbiten=P0A2;/使能位sbitrw=P0A1;/讀/寫(xiě)選擇位sbitrs=P0A0;/數(shù)據(jù)/命令選擇位sbitfensu=P1A1;/分速鍵sbitmiaosu=P1A2;/型1速鍵floatw;fl
33、oata=0;uchark=2;/實(shí)際正反轉(zhuǎn)標(biāo)志位ucharreal_gw,real_sw,real_bw,real_qw,expc_gw,expc_sw,expc_bw設(shè)置速度與實(shí)際速度的各個(gè)四位ucharnum1,num2;floatreal;uintt;/定時(shí)器1中斷次數(shù)ucharcodetable1="welcometouse"/顯示設(shè)定速度ucharcodetable2="real_speed:0000"/顯示實(shí)際速度voiddelay(ucharz)(ucharx,y;for(x=100;x>0;x-)for(y=z;y>0;y-
34、);)voidwrite_com(ucharcom)寫(xiě)命令函數(shù)rw=0;rs=0;en=0;P2=com;delay(5);en=1;delay(5);en=0;)voidwrite_date(uchardate)/W數(shù)據(jù)函數(shù)(rw=0;rs=1;en=0;P2=date;delay(5);en=1;delay(5);en=0;)voiddisplay(ucharadd,ucharexpc_date)猊示速度(whte_com(0x80+add);寫(xiě)命令指針指向要寫(xiě)數(shù)據(jù)的地址whte_date(expc_date);/寫(xiě)數(shù)據(jù)delay(10);/延時(shí)顯示)voidinit()(TCON=0X0F;TMOD=0X15;EX1=1;EX0=1;EA=1;開(kāi)總中斷ET1=1;/開(kāi)啟T1中斷TR1=1;允許T1
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 申報(bào)金融課題的申請(qǐng)書(shū)
- 健身房承包合同協(xié)議書(shū)
- 主播與直播平臺(tái)合作協(xié)議
- 個(gè)人借款質(zhì)押合同協(xié)議書(shū)范例
- 健康課題申報(bào)書(shū)
- 強(qiáng)化微生物檢驗(yàn)培訓(xùn)的策略試題及答案
- 水務(wù)項(xiàng)目的財(cái)務(wù)風(fēng)險(xiǎn)控制計(jì)劃
- 2025年注冊(cè)會(huì)計(jì)師考試備考心態(tài)調(diào)整試題及答案
- 行政管理師核心技能題及答案
- 證券交易行為與市場(chǎng)反應(yīng)的試題及答案
- (三診)綿陽(yáng)市高中2022級(jí)高三第三次診斷性考試地理試卷A卷(含答案)
- 店長(zhǎng)勞務(wù)合同協(xié)議
- 乳腺癌診治指南與規(guī)范(2025年版)解讀
- 肺癌化療護(hù)理查房
- JJG 693-2011可燃?xì)怏w檢測(cè)報(bào)警器
- 廉潔合作承諾書(shū)(簡(jiǎn)單版)
- GB/T 35347-2017機(jī)動(dòng)車(chē)安全技術(shù)檢測(cè)站
- 人工智能發(fā)展史課件
- 醫(yī)院定量檢驗(yàn)性能驗(yàn)證實(shí)驗(yàn)方案設(shè)計(jì)
- 《組織行為學(xué)》題庫(kù)(含答案)
- 重醫(yī)大小兒外科學(xué)教案11先天性腸閉鎖、腸狹窄及腸旋轉(zhuǎn)不良
評(píng)論
0/150
提交評(píng)論