版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
全國大學(xué)生電子設(shè)計競賽模擬題PCB坐標(biāo)定位系統(tǒng)
PCB板坐標(biāo)定位系統(tǒng)任務(wù):在一個10cm(長)×6cm(寬)的PCB覆銅板上,制作一個PCB坐標(biāo)定位系統(tǒng),要求如下:基本要求:1、當(dāng)用信號筆點(diǎn)擊PCB板平面上的任何位置,可以在LCD上的相應(yīng)位置顯示坐標(biāo)點(diǎn);2、當(dāng)用信號筆在PCB板平面上繪制簡單圖形時,能夠在LCD上顯示所繪制的圖形;3、要求坐標(biāo)識別精度<=2mm,并盡可能的提高系統(tǒng)分辨率。提高要求:1、提高繪制速度,實現(xiàn)即繪制即顯示,減小延遲;2、能夠?qū)崿F(xiàn)圖形存儲,回放功能。
摘要本系統(tǒng)以飛思卡爾半導(dǎo)體公司的16位MC9S12XS128單片機(jī)為核心,采用數(shù)字式CMOS圖像傳感器OV7620進(jìn)行數(shù)據(jù)采集,設(shè)計并制作了一個分辨率為64×32的PCB坐標(biāo)定位系統(tǒng)。該定位系統(tǒng)可以快速實現(xiàn)坐標(biāo)顯示,圖形繪制,圖形存儲及回放。將10×6cm的PCB板相對應(yīng)的像素點(diǎn)顯示在龍丘生產(chǎn)的Oled12864迷你型液晶上,并且具有高分辨率。并且通過按鍵可以實現(xiàn)不同功能之間的切換。通過單片機(jī)的控制實現(xiàn)各種顯示存儲功能.關(guān)鍵詞:MC9S12XS128OV7620PCBOled12864
目錄第一章 系統(tǒng)方案比較與選擇 31.1總實現(xiàn)方案 31.2主控制器方案比較與選擇 31.3液晶模塊的選取 3第二章 理論分析與計算 32.1畫線算法設(shè)計 32.2畫圓算法設(shè)計 32.3描點(diǎn).劃線.簡單圖形算法設(shè)計 3第三章系統(tǒng)電路設(shè)計 33.1系統(tǒng)主板工作原理 3第四章系統(tǒng)程序設(shè)計 34.1系統(tǒng)總流程圖 34.2系統(tǒng)總體模塊圖 3第五章系統(tǒng)測試與結(jié)果 35.1描點(diǎn),坐標(biāo)確定,劃線,畫圓,圖形存儲與回放的測試和結(jié)果 35.2表筆的測試結(jié)果 3第六章結(jié)論 3參考文獻(xiàn) 3附1:系統(tǒng)主板原理圖 3附2:完整的測試結(jié)果 3附3:部分核心源代碼 3
系統(tǒng)方案比較與選擇1.1總實現(xiàn)方案方案一:采用電阻屏的原理,電阻式觸摸屏是一種壓力傳感器,基本上是薄膜加上玻璃的結(jié)構(gòu),薄膜和玻璃相鄰的一面上均涂有ITO(納米銦錫金屬氧化物)涂層,ITO具有很好的導(dǎo)電性和透明性。當(dāng)觸摸操作時,薄膜下層的ITO會接觸到玻璃上層的ITO,經(jīng)由感應(yīng)器傳出相應(yīng)的電信號,經(jīng)過轉(zhuǎn)換電路送到處理器,通過運(yùn)算轉(zhuǎn)化為屏幕上的X、Y值,而完成點(diǎn)選的動作,并呈現(xiàn)在屏幕上??紤]電容屏原理,在10×6cm的PCB板做到識別精度<=2mm,我們目標(biāo)精度是在板上做到64×32個像素點(diǎn)的精度,采用板上層64列,下層32行,組成64×32陣列!分別掃描行和列以確定坐標(biāo)點(diǎn)。然后通過顯示在Oled12864型液晶上,做到高精度的顯示。方案二:采用電容屏的原理,電容技術(shù)觸摸屏CTP(CapacityTouchPanel)是利用人體的電流感應(yīng)進(jìn)行工作的。電容屏是一塊四層復(fù)合玻璃屏,玻璃屏的內(nèi)表面和夾層各涂一層ITO(納米銦錫金屬氧化物),最外層是只有0.0015mm厚的矽土玻璃保護(hù)層,夾層ITO涂層作工作面,四個角引出四個電極,內(nèi)層ITO為屏層以保證工作環(huán)境。當(dāng)用戶觸摸電容屏?xí)r,由于人體電場,用戶手指和工作面形成一個耦合電容,因為工作面上接有高頻信號,于是手指吸收走一個很小的電流,這個電流分別從屏的四個角上的電極中流出,且理論上流經(jīng)四個電極的電流與手指頭到四角的距離成比例,控制器通過對四個電流比例的精密計算,得出位置??梢赃_(dá)到99%的精確度,具備小于3ms的響應(yīng)速度。通過電流大小與觸點(diǎn)到電極的距離成正比就可以確定觸點(diǎn)的坐標(biāo)。確定坐標(biāo)后就可以通過液晶來進(jìn)行顯示。
方案三:采用OV7620是CMOS彩色/黑白圖像傳感器。它支持連續(xù)和隔行兩種掃描方式,VGA與QVGA兩種圖像格式;最高像素為664492,幀速率為30fp8;能夠滿足一般圖像采集系統(tǒng)的要求。利用OV7620攝像頭采集圖像數(shù)據(jù)并對其進(jìn)行二值化,分離出圖像信號將10×6cm的PCB板二值化為白,在其周圍貼上黑色膠帶并通過程序處理二值化為黑。然后用黑色的表筆靠近PCB板時形成黑白信號,即可設(shè)為高低電平。然后通過行列掃描就可以確定PCB板上的坐標(biāo)XY并通過液晶對其進(jìn)行顯示。通過對三個方案的對比選擇,方案一由于要做到64×32個那就要最少考慮到2048個點(diǎn)就要2048個電阻器件,將如此數(shù)量器件焊接在10×6cm的PCB板上將是極大焊接工程,考慮到時間的限制,及人工焊接的不穩(wěn)定性,放棄此方案。在方案二中測量及數(shù)據(jù)采集要求極高,在比賽中條件限制。因此最后我們采用了方案三。1.2主控制器方案比較與選擇 為了完成在短時間快速掃描全屏和存儲圖形,主控器件必須有較高的CPU工作頻率和存儲空間。方案一:采用51系列加強(qiáng)型STC12C5A60S2作為主控器件,用來實現(xiàn)題目所要求的各種功能。此方案最大的特點(diǎn)是系統(tǒng)規(guī)模可以做得很小,成本較低。操作控制簡單。但是,我們在利用單片機(jī)處理高速信號快速掃描及存儲圖形時顯得吃力,且題目中要求要求坐標(biāo)識別精度<=2mm,并盡可能的提高系統(tǒng)分辨率,并要做到圖形的存儲與回放,51系列單片機(jī)很難實現(xiàn)這一要求。方案二:采用飛思卡爾半導(dǎo)體公司16位MC9S12XS128單片機(jī)為核心控制器件,由16位中央處理單元(CPU12X)、128KB程序Flash(P-lash)、8KB
RAM、8KB數(shù)據(jù)Flash(D-lash)組成片內(nèi)存儲器,指令系統(tǒng)與S12兼容CPU工作頻率最高可達(dá)80MHz,16通道高達(dá)12位精度A/D采集模塊,7級中斷嵌套和7個中斷優(yōu)先級,CRG模塊,COP看門狗,實時中斷及時鐘監(jiān)視器。如此能夠?qū)崿F(xiàn)快速掃描和數(shù)據(jù)處理!按照題目的要求,綜合考慮我們最終選擇了方案二,采用16位MC9S12XS128單片機(jī)為核心控制器件。1.3液晶模塊的選取方案一:采用1602液晶模塊程序簡單,成本較低,但是局限于其無法對漢字進(jìn)行顯示,及顯示的點(diǎn)陣像素有限,并且題目要求功能較多,存在多個功能間的切換,圖形的繪制,為了滿足各功能間的切換及操作的簡單就需要文字性的說明,而1602就無法滿足這點(diǎn)方案二:采用Oled12864液晶模塊,OLED12864是128×64行點(diǎn)陣的OLED單色、字符、圖形顯示模塊。模塊內(nèi)藏64×64的顯示數(shù)據(jù)RAM,其中的每位數(shù)據(jù)都對應(yīng)于OLED屏上一個點(diǎn)的亮、暗狀態(tài);其接口電路和操作指令簡單,具有8位并行數(shù)據(jù)接口,讀寫時序適配6800系列時序強(qiáng)大的顯示功能,可以滿足題目的所有要求。綜合考慮之后我們決定采用12864液晶模塊做為顯示模塊
理論分析與計算2.1畫線算法設(shè)計通過對攝像頭信號的分離,二值化,并對整屏進(jìn)行行列掃描得到了點(diǎn)的坐標(biāo)值,而劃線要求剛好需要點(diǎn)的坐標(biāo)。大家都知道,兩點(diǎn)確定一條直線。高中數(shù)學(xué)中,我們就知道直線方程有點(diǎn)斜式,截距式,兩點(diǎn)式。用其中任意一個公式我們都能得到一個正確的直線方程。設(shè)計中,先點(diǎn)亮一個點(diǎn)再點(diǎn)亮另外一個點(diǎn)來確定直線,這正好滿足兩點(diǎn)式的要求。算法中首先通過起點(diǎn)坐標(biāo)(X1,Y1)和終點(diǎn)坐標(biāo)(X2,Y2)來確定線段的方程,然后比較X2-X1與Y2-Y1的大小,若X2-X1>Y2-Y1,則通過X1+1,X1+2…X1+n來確定對應(yīng)Y的坐標(biāo),直到X1+n=Y為止,同理若X2-X1<Y2-Y1,則通過Y1+1,Y1+2…Y1+n來確定對應(yīng)X的坐標(biāo)!,這樣我們就得到了起點(diǎn)到終點(diǎn)的所有坐標(biāo),再將對應(yīng)的坐標(biāo)全部顯示出來就實現(xiàn)了兩點(diǎn)畫線功能。2.2畫圓算法設(shè)計有了兩點(diǎn)畫線算法,那么兩點(diǎn)畫圓算法也就簡單了,首先通過前后畫的2點(diǎn)坐標(biāo)求出2點(diǎn)的距離,也就是圓的半徑R,而我們都知道圓的方程為X*X+Y*Y=R*R,這樣一來我們就確定了圓的方程式,然后比較X2-X1與Y2-Y1的大小,若X2-X1>Y2-Y1,則通過X1+1,X1+2…X1+n來確定對應(yīng)Y的坐標(biāo),直到X1+n=Y為止,同理若X2-X1<Y2-Y1,則通過Y1+1,Y1+2…Y1+n來確定對應(yīng)X的坐標(biāo)!如果我們將對應(yīng)的坐標(biāo)直接顯示時會忽略一個問題,那就是對應(yīng)坐標(biāo)的點(diǎn)是否超過了點(diǎn)陣屏幕的范圍,因此在顯示時我們要進(jìn)行判斷,若超出了范圍那么對應(yīng)的點(diǎn)也就不顯示。這樣我們就得到了起點(diǎn)到終點(diǎn)的所有有效坐標(biāo),再將對應(yīng)的坐標(biāo)全部顯示出來就實現(xiàn)了兩點(diǎn)畫圓功能。2.3描點(diǎn).劃線.簡單圖形算法設(shè)計 通過信號的采集,二值化,確定表筆筆尖為接觸點(diǎn)并并通過掃描確定其在PCB板上XY的坐標(biāo)位置。通過對點(diǎn)的保持,筆尖滑動就可以確定其他點(diǎn)從而由點(diǎn)連成線。同理,其他圖形的算法原理一樣。
第三章系統(tǒng)電路設(shè)計3.1系統(tǒng)主板工作原理系統(tǒng)主板主要由5V電源模塊,3.3V電源模塊,按鍵部分,液晶顯示模塊,蜂鳴器模塊,以及以飛思卡爾半導(dǎo)體公司16位MC9S12XS128單片機(jī)為核心控制模塊。5V電源模塊:此設(shè)計采用7.2V電池供電,通過穩(wěn)壓芯片LM2940一腳輸入三腳輸出將7.2V輸入轉(zhuǎn)變?yōu)?V輸出,來給單片機(jī)供電。3.3V電源模塊:3.3V電源輸出是由AM1117穩(wěn)壓芯片三腳輸入5V二腳輸出來進(jìn)行轉(zhuǎn)換按鍵模塊:本系統(tǒng)板中設(shè)計了四個按鍵,通過按鍵來對不同功能來進(jìn)行切換演示。液晶模塊:液晶模塊采用龍丘生產(chǎn)的Oled12864液晶來顯示,Oled12864液晶具有功能強(qiáng)大,連接簡單等優(yōu)勢。蜂鳴器模塊:蜂鳴器模塊主要是用來作為指示作用,當(dāng)表筆接觸到PCB板時蜂鳴器發(fā)出接觸警報,圖3-1系統(tǒng)主板工作原理圖第四章系統(tǒng)程序設(shè)計4.1系統(tǒng)總流程圖4.2系統(tǒng)總體模塊圖MC9S12XS128MC9S12XS128單片機(jī)驅(qū)動OLED12864表筆檢測按鍵LCD顯示電源電路
第五章系統(tǒng)測試與結(jié)果5.1描點(diǎn),坐標(biāo)確定,劃線,畫圓,圖形存儲與回放的測試和結(jié)果各模塊均調(diào)通,將調(diào)好的模塊連在一起,打開電源,啟動進(jìn)行系統(tǒng)初始化。按鍵進(jìn)入描點(diǎn)模式,用表筆在PCB板上書寫,可以看到接觸的點(diǎn)點(diǎn)亮,并在OLED12864液晶上顯示亮點(diǎn)的精確坐標(biāo)。按下按鍵,進(jìn)行劃線的測試,將表筆在PCB板上任意確定起點(diǎn)滑動在液晶上將顯示表筆劃過的軌跡,劃線測試成功。按下按鍵進(jìn)入畫圓功能,通過功能切換很好的實現(xiàn)了畫圓的高階功能!按鍵切換進(jìn)入圖形繪制與存儲的功能,在PCB上畫任意圖形,在液晶上顯示相應(yīng)圖形斷電后再次進(jìn)入之前圖形被保持。因此實現(xiàn)了功能的存儲與回放。最后經(jīng)過反復(fù)的測試,所有的功能都能很好的實現(xiàn),系統(tǒng)正常工作。5.2表筆的測試結(jié)果因為是采用分離攝像頭的黑白信號來進(jìn)行坐標(biāo)的確定,因此我們選擇了黑色表筆,并從黑色表筆筆尖引出導(dǎo)線,鏈接到128單片機(jī)的PB2口,上拉接高電平,并且將PCB銅板接地,如此當(dāng)表筆接觸到銅板時給單片機(jī)發(fā)送信號,確認(rèn)進(jìn)行掃描。這樣就將黑色表筆剛靠近PCB板時的干擾完美去除。
第六章結(jié)論本作品完成了題目的基本要求和發(fā)揮部分的全部要求,系統(tǒng)性能良好。通過對作品的各項進(jìn)行優(yōu)化,使系統(tǒng)的性能有了提高。飛思卡爾半導(dǎo)體公司的16位MC9S12XS128單片機(jī)擁有強(qiáng)大的數(shù)據(jù)處理能力和理想的運(yùn)行速度,并且使電路簡單。同時也提高了系統(tǒng)的集成度和可靠性。
參考文獻(xiàn)《電子設(shè)計制作基礎(chǔ)》,王港元,江西科學(xué)技術(shù)出版社,2011年;《模擬技術(shù)基礎(chǔ)》,康華光,高等教育出版社,1998年;《數(shù)字電子技術(shù)基礎(chǔ)》,閻石著,高等教育出版社,1997年;《高頻電子線路》,張肅文,高等教育出版社,2009;《嵌入式系統(tǒng)設(shè)計實踐》,王宜懷,曹金華,北京航空航天大學(xué)出版社;2011年;《電子設(shè)計與制版》,趙景波,徐江偉,人民郵電出版社,2009年;
附錄附1:系統(tǒng)主板原理圖
附2:完整的測試結(jié)果附2—1畫圓實物圖附2—2劃線實物圖附3:部分核心源代碼#include<hidef.h>/*commondefinesandmacros*/#include"derivative.h"/*derivative-specificdefinitions*/#include<MC9S12XS128.h>#include"LQ12864.h"#include"displaydata.h"#include"moduleinit.h"#include"ledfuncdis.h"#include"key.h"#include"DP_Flash.h"#definerow_start20#definerow_max40#defineline_max72#defineinterval5#definepenPORTB_PB4uintArr[4]={0x5555,0x2222,0x3333,0x4444};uintArr0[4];ulongaddress=0x007E0000;uintaddr=0x0000;byterow_image;byterow_count,c_flag=0,h_flag=0,cc=0,g_SampleMFlag=0;byteimage_data[row_max][line_max];byteY_XLen[row_max][2];byteX_YLen[line_max][2];byteX_YDis[2][5]={{"X:55"},{"Y:55"}};byteshu[]={"0123456789"};byteg_Orig=0;//起點(diǎn)原點(diǎn)左標(biāo)是否以確定voidLED_ON(){DDRE=0x40;PORTE=0x00;}voidLED_OFF(){DDRE=0x20;PORTE=0x00;}voidImageDeal();voidDisUpdataData();voidLedDis(ucharkeypos);voiddelay_s(ucharx){unsignedinti,j,z;for(i=0;i<5000;i++)for(j=0;j<1000;j++)for(z=x;z>0;z--)asmnop;}voiddelay(intz){intx,y;for(x=10000;x>0;x--)for(y=z;y>0;y--);}voidGetImage(){cc++;while(h_flag!=1); if(0==pen){ ImageDeal();DisUpdataData();LedDisDataBase(); }h_flag=0;}voiddelay1(unsignedintz){while(z--)asmnop;}voidmain(void){/*putyourowncodehere*/unsignedchariii,jjj;DisableInterrupts;init_SCI();init_PLL();Flash_Init();delay_s(2);Time_Init();delay(10);TIE=0x00; EnableInterrupts; delay(100); DDR1AD0=0xaa;ATD0DIENL=0xff;DDRB=0x00;DDRA=0x00;//cameraGPIOINITLCD_Init();DisDataInit(0xff);//LinePrintf(0,TitleDis,1);LedDis(0);delay_s(2);TIE=0x05; GetImage(); for(iii=0;iii<row_max;iii++)for(jjj=0;jjj<line_max;jjj++)image_data[iii][jjj]=255; for(;;){//TIE=0x05; GetImage(); while(c_flag==1); //TIE=0x00; c_flag=1; TIE=0x01; if(0==key_flag) { ScanKey(); LedDis(keypos); } } }voidImageDeal(){uchari,j,temp;for(j=1;j<row_max-1;j++){for(i=2;i<line_max-2;i++){if(255==image_data[j][i]){for(i;i<line_max-2;i++){if((0==image_data[j][i])&&(0==image_data[j][i+1])){temp=i;for(i;i<line_max-2;i++){if((255==image_d
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年印刷包裝材料采購合同
- 2025年代理商權(quán)益分成協(xié)議
- 2025年增資協(xié)議許可證授權(quán)
- 2025年汽車修理廠租賃合同包含國際維修標(biāo)準(zhǔn)認(rèn)證2篇
- 2025年親子鑒定委托協(xié)議
- 2025年合資協(xié)議簽約樣式格式范本
- 二零二五年度進(jìn)口貨車車輛買賣與售后服務(wù)保障合同3篇
- 二零二五年風(fēng)機(jī)發(fā)電機(jī)組性能優(yōu)化合同3篇
- 二零二五年度預(yù)制件加工與品牌建設(shè)合同3篇
- 2025年蔬菜配送與農(nóng)產(chǎn)品電商合作合同范本2篇
- GB/T 34241-2017卷式聚酰胺復(fù)合反滲透膜元件
- GB/T 12494-1990食品機(jī)械專用白油
- 運(yùn)輸供應(yīng)商年度評價表
- 成熙高級英語聽力腳本
- 北京語言大學(xué)保衛(wèi)處管理崗位工作人員招考聘用【共500題附答案解析】模擬試卷
- 肺癌的診治指南課件
- 人教版七年級下冊數(shù)學(xué)全冊完整版課件
- 商場裝修改造施工組織設(shè)計
- 統(tǒng)編版一年級語文上冊 第5單元教材解讀 PPT
- 加減乘除混合運(yùn)算600題直接打印
- ASCO7000系列GROUP5控制盤使用手冊
評論
0/150
提交評論