版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 中文摘要</b></p><p> 隨著農(nóng)業(yè)現(xiàn)代化的到來(lái),在施肥、灌溉、噴藥、測(cè)產(chǎn)、收割等方面都利用機(jī)械來(lái)完成,農(nóng)田的面積及形狀是現(xiàn)代化作業(yè)的主要依據(jù)。林業(yè)方面,在森林資源調(diào)查、退耕還林、工程造林等方面,森林的面積及形狀也是非常重要的。在日常生活中,還有很多需要測(cè)量面積的地方,例如魚(yú)塘、水庫(kù)等。</p><p> 基于以上的分析,本文
2、研究的內(nèi)容為利用GPS原理測(cè)量面積和周長(zhǎng),本文所做的工作及研究成果如下:</p><p> 本文在GPS和算法方面作了深入研究。利用STC單片機(jī)設(shè)計(jì)硬件電路并制作PCB板,深入研究在平面幾何中測(cè)量不規(guī)則圖形的面積和周長(zhǎng)的算法,尤其是面積,凸多邊形的面積容易得到,凹多邊形的面積較難,本文在這方面作了大量的研究,并提出解決問(wèn)題的算法,然后把地球作近似,研究在地面上不規(guī)則圖形的面積和周長(zhǎng)的算法,利用GPS可以得出多邊
3、形頂點(diǎn)的坐標(biāo),并在算法的基礎(chǔ)上利用C51編程,從而實(shí)現(xiàn)面積和周長(zhǎng)的測(cè)量。應(yīng)用本文的方法測(cè)量面積的精度較高,且方便、快捷,有很好的使用價(jià)值。</p><p> 關(guān)鍵詞:GPS,單片機(jī),面積,測(cè)量</p><p><b> ABSTRACT</b></p><p> With the arrival of agricultural moder
4、nization, using the machine in the fertilizing, irrigation, spraying, surveying output and reaping, etc, the area and shape of farmland is the main basis of modern operating. In the Forest industry, in forest resource su
5、rvey and returning land for farming to forestry and afforestation construction, etc, forest area and shape also is very important.In everyday life, there are a lot of places to measure, such as pond, reservoir, etc.</
6、p><p> Based on the above analysis, this paper studies the contents of principle for using GPS measurement area and perimeter. This paper work and research results are as follows:</p><p> This pa
7、per researchs on the GPS and algorithm depthly.Using the STC microcontroller hardware circuit and making PCB, thorough researching algorithm about perimeter and area of irregular region in the in plane geometry, especial
8、ly the area, the area of convex polygons is easy, concave polygon to get more difficult, in the area in the aspects of the research, and put forward the algorithm of solution to the problem. Then approximating, researchi
9、ng algorithm of irregular area and perimeter of the o</p><p> Keywords: GPS, Microcontroller, area, Measurement</p><p><b> 目 錄</b></p><p><b> 中文摘要I</b>&l
10、t;/p><p> ABSTRACTII</p><p><b> 目 錄III</b></p><p><b> 第一章 緒論1</b></p><p><b> 1.1 引言1</b></p><p> 1.2 課題背景及研究現(xiàn)狀1&
11、lt;/p><p> 1.3本文的主要工作和結(jié)構(gòu)安排2</p><p> 第二章 硬件設(shè)計(jì)3</p><p><b> 2.1 引言3</b></p><p> 2.2 整體電路3</p><p> 2.2.1 單片機(jī)選型3</p><p> 2.2.2
12、最小系統(tǒng)的設(shè)計(jì)4</p><p> 2.2.3 液晶模塊4</p><p> 2.2.4 GPS接收模塊的設(shè)計(jì)5</p><p> 2.2.5 存儲(chǔ)模塊的設(shè)計(jì)5</p><p> 2.2.6 STC程序下載模塊6</p><p> 2.2.7 供電模塊7</p><p>
13、 2.3 本章小結(jié)8</p><p> 第三章 算法實(shí)現(xiàn)9</p><p><b> 3.1 引言9</b></p><p> 3.2 算法研究10</p><p> 3.2.1求地球表面上兩點(diǎn)間距離10</p><p> 3.2.2求地球表面上多邊形面積12</p&g
14、t;<p> 3.3 算法的可行性論證16</p><p> 3.4 本章小結(jié)19</p><p> 第四章 軟件設(shè)計(jì)20</p><p><b> 4.1 引言20</b></p><p> 4.2軟件設(shè)計(jì)20</p><p><b> 第五章 總結(jié)
15、24</b></p><p><b> 參考文獻(xiàn)25</b></p><p><b> 附錄26</b></p><p><b> 致謝36</b></p><p><b> 第一章 緒論</b></p><
16、p><b> 1.1 引言</b></p><p> GPS ( Global Positioning System)為全球定位系統(tǒng)。是一種利用衛(wèi)星支持的無(wú)線電導(dǎo)航系統(tǒng),自20世紀(jì)90年代應(yīng)用以來(lái),以其速度快、效率高、精度能滿足要求的一系列特點(diǎn),深受廣大用戶的青睞[1]。</p><p> GPS的空間部分是由24顆工作衛(wèi)星組成,它位于距地表20200km
17、的上空,均勻分布在6 個(gè)軌道面上(每個(gè)軌道面4顆),軌道傾角為55°。此外,還有3顆有源備份衛(wèi)星在軌運(yùn)行。衛(wèi)星的分布使得在全球任何地方、任何時(shí)間都可觀測(cè)到4 顆以上的衛(wèi)星,并能在衛(wèi)星中預(yù)存的導(dǎo)航信息。</p><p> 本文利用GPS模塊可以得出所在位置的經(jīng)緯度,然后利用算法計(jì)算出閉合的不規(guī)則的區(qū)域的面積和周長(zhǎng)。用戶可以手持GPS測(cè)量?jī)x,走出一個(gè)閉合的區(qū)域,GPS測(cè)量?jī)x定時(shí)得出所在位置的經(jīng)緯度,用戶在
18、走的過(guò)程中,GPS測(cè)量?jī)x進(jìn)行計(jì)算,用戶走出閉合區(qū)域后,GPS測(cè)距儀自動(dòng)算出用戶所走出的閉合區(qū)域的面積和周長(zhǎng),非常方便實(shí)用。</p><p> 1.2 課題背景及研究現(xiàn)狀</p><p> 在農(nóng)業(yè)、林業(yè)方面,以及日常生活中,有很多需要測(cè)量面積的地方,如灌溉、測(cè)產(chǎn)、收割、森林資源調(diào)查、修建水庫(kù)、工程建筑等方面,面積及形狀是非常重要的信息。如果是規(guī)則的小面積區(qū)域測(cè)量面積和周長(zhǎng),人為可以實(shí)現(xiàn),
19、如果是大面積或不規(guī)則區(qū)域測(cè)量面積和周長(zhǎng),人為很難實(shí)現(xiàn),本文正是從以上分析出發(fā),采用STC90LE58RD+單片機(jī)和GPS模塊實(shí)現(xiàn)不規(guī)則區(qū)域測(cè)量面積和周長(zhǎng),簡(jiǎn)單實(shí)用,且穩(wěn)定可靠。</p><p> 本文重點(diǎn)研究如何利用GPS模塊測(cè)得所在位置的經(jīng)緯度來(lái)實(shí)現(xiàn)不規(guī)則區(qū)域測(cè)量面積和周長(zhǎng)。文獻(xiàn)[1]中,夏友福介紹 GPS在森林資源調(diào)查、退耕還林、工程造林中的面積測(cè)量方法,測(cè)量林地邊界的經(jīng)緯度,采用 CASIOfx-4500
20、P編程計(jì)算器的程序便可計(jì)算林地面積.結(jié)合應(yīng)用實(shí)例,詳細(xì)介紹其方法的優(yōu)點(diǎn)及其應(yīng)用前景。文獻(xiàn)[2]中,孟慶川等通過(guò)分析現(xiàn)有的火場(chǎng)面積的計(jì)算方法,提出了新的計(jì)算火場(chǎng)面積的方法一基于GPS的火場(chǎng)面積計(jì)算方法,該方法是將三角剖分法和GPS技術(shù)相結(jié)合,使計(jì)算火場(chǎng)面積更加準(zhǔn)確,有較強(qiáng)的實(shí)用性,更有利于在基層林場(chǎng)推廣。文獻(xiàn)[3]中,武志明等為了滿足實(shí)施精細(xì)農(nóng)業(yè)時(shí)計(jì)算田塊面積的需要,通過(guò)用解析法之一的坐標(biāo)法來(lái)計(jì)算多邊形田塊的面積,并利用 VB6.0設(shè)計(jì)該
21、方法求面積的程序。采用 GPS接收機(jī)實(shí)時(shí)地測(cè)量農(nóng)田邊界的定位信息,經(jīng)過(guò)坐標(biāo)轉(zhuǎn)換之后,將邊界元素代入編制好的程序進(jìn)行計(jì)算。實(shí)際運(yùn)用表明,該方法測(cè)量面積的精度達(dá)到 98.6%。文獻(xiàn)[4]中,夏友福介紹了手持 GPS在森林資源調(diào)查、工程造林中林地面積測(cè)量的精度,選擇已知面積作為測(cè)量對(duì)象,對(duì)測(cè)量誤差及其精度進(jìn)行分析計(jì)算,結(jié)果表明:手持 GPS測(cè)量林</p><p> 本文在此基礎(chǔ)上展開(kāi)研究工作,通過(guò)分析,總結(jié)出計(jì)算周長(zhǎng)
22、的兩種算法和計(jì)算面積的三種算法,利用實(shí)例計(jì)算誤差,得出最佳算法,為軟件編程打下了基礎(chǔ)。</p><p> 1.3本文的主要工作和結(jié)構(gòu)安排</p><p> 本文首先是GPS測(cè)量?jī)x的硬件設(shè)計(jì),硬件是軟件設(shè)計(jì)的基礎(chǔ),硬件設(shè)計(jì)得好,系統(tǒng)的穩(wěn)定性就會(huì)得到提高,分別對(duì)單片機(jī)選型、最小系統(tǒng)的設(shè)計(jì)、液晶模塊、GPS接收模塊的設(shè)計(jì)、存儲(chǔ)模塊、STC程序下載模塊、供電模塊進(jìn)行了研究和介紹。</p&
23、gt;<p> 其次研究的是算法,硬件上的GPS模塊測(cè)得所在位置的經(jīng)緯度,如何利用得到的經(jīng)緯度計(jì)算出不規(guī)則區(qū)域的面積和周長(zhǎng),正是通過(guò)算法所要解決的問(wèn)題。</p><p> 最后是軟件的設(shè)計(jì),有了硬件和算法,利用C51語(yǔ)言編程,實(shí)現(xiàn)GPS測(cè)量?jī)x的功能。</p><p> 本論文的結(jié)構(gòu)安排為:</p><p> 第一章 緒論,介紹課題的背景和意義,
24、以及本文的主要工作和結(jié)構(gòu)安排;</p><p> 第二章 硬件設(shè)計(jì),研究和介紹單片機(jī)選型、最小系統(tǒng)的設(shè)計(jì)、液晶模塊、GPS接收模塊的設(shè)計(jì)、存儲(chǔ)模塊、STC程序下載模塊、供電模塊;</p><p> 第三章 算法實(shí)現(xiàn),解決如何利用得到的經(jīng)緯度計(jì)算出不規(guī)則區(qū)域的面積和周長(zhǎng);</p><p> 第四章 軟件設(shè)計(jì),利用C51語(yǔ)言編程,實(shí)現(xiàn)GPS測(cè)量?jī)x測(cè)量不規(guī)則區(qū)域的面
25、積和周長(zhǎng);</p><p> 第五章 總結(jié),對(duì)本文做了展望和總結(jié),以及還需在哪些方面應(yīng)作進(jìn)一步的深入研究。</p><p><b> 第二章 硬件設(shè)計(jì)</b></p><p><b> 2.1 引言</b></p><p> 由于測(cè)量面積一般是由使用者手持,環(huán)繞所要測(cè)量的區(qū)域走閉合曲線,邊走
26、邊計(jì)算面積,走成閉合區(qū)域后,面積可自動(dòng)在液晶上顯示,所以要求系統(tǒng)必須要低功耗,使用電池供電,考慮可重復(fù)利用,所以本系統(tǒng)采用鋰電池供電。</p><p><b> 2.2 整體電路</b></p><p> 本系統(tǒng)的硬件電路設(shè)計(jì)如下:</p><p> 圖2.2.1 整體電路</p><p> 2.2.1 單片機(jī)選
27、型</p><p> 由于本系統(tǒng)在測(cè)量的過(guò)程中要不斷計(jì)算周長(zhǎng)和面積,所以需要較大的Flash ROM和RAM,因此本系統(tǒng)的MCU采用STC90LE58RD+單片機(jī)。此類型的單片機(jī)具有32KB的Flash ROM,1280Byte的SRAM,29KB的EEPROM,超強(qiáng)抗干擾,超強(qiáng)抗靜電,高速,高可靠,低價(jià)格,低功耗,2.4-3.6V供電,掉電模式時(shí)的功耗小于0.1uA,掉電模式可由外部中斷喚醒,適用于電池供電系
28、統(tǒng),水表、氣表,便攜設(shè)備等。故本系統(tǒng)采用3.3V鋰電池供電。</p><p> 且STC90LE58RD+單片機(jī)可直接取代89系列單片機(jī),軟硬件無(wú)需改動(dòng)。</p><p> 看門(mén)狗的主要功能就是當(dāng)程序發(fā)生故障時(shí)能使受控系統(tǒng)重新啟動(dòng)。</p><p> 2.2.2 最小系統(tǒng)的設(shè)計(jì)</p><p><b> 1、復(fù)位電路<
29、/b></p><p> 復(fù)位電路采用上電復(fù)位,C1和R2組成RC充放電電路,當(dāng)RST引腳上有兩個(gè)機(jī)器周期以上的高電平時(shí),系統(tǒng)就可靠復(fù)位。1N4148二極管的作用是斷電后,加速電容的放電。</p><p> 圖2.2.2 復(fù)位電路</p><p><b> 2、時(shí)鐘電路</b></p><p> 時(shí)鐘電路采
30、用外接石英晶體的內(nèi)部時(shí)鐘方式,晶振的頻率選用22.1184MHz,C2、C3選用22pF的瓷片電容,對(duì)振蕩頻率起微調(diào)作用。</p><p> 圖2.2.3 時(shí)鐘電路</p><p> 2.2.3 液晶模塊</p><p> J1外接液晶,A0和接單片機(jī)的P2.6和P2.7引腳上,接單片機(jī)的寫(xiě)信號(hào)引腳,接單片機(jī)的讀信號(hào)引腳,此時(shí)將液晶視為片外數(shù)據(jù)存儲(chǔ)器的一個(gè)單元
31、,可以用總線方式對(duì)液晶進(jìn)行操作,P0作為數(shù)據(jù)總線,P2作為地址總線的高8位。LED+接單片機(jī)的P3.3引腳,接單片機(jī)的P3.4T0引腳。</p><p> C20和C19組成電源的濾波電路,小容量的電容濾高頻,大容量的電容濾低頻。</p><p> 圖2.2.4 液晶模塊電路</p><p> 2.2.4 GPS接收模塊的設(shè)計(jì)</p><p
32、> 本系統(tǒng)GPS接收模塊采用MLT-2082芯片。MLT-2082是一款高性能、高靈敏度、低功耗、定位更快更準(zhǔn)確GPS接收模塊,專用于導(dǎo)航系統(tǒng)定位。同時(shí)具有65個(gè)通道搜索引擎。8百多萬(wàn)個(gè)起動(dòng)搜索引擎相關(guān)器。 精確度:≤2.5米。</p><p> J2接天線;27引腳是LED狀態(tài)引腳,接發(fā)光二極管,當(dāng)工作時(shí),發(fā)光二極管被點(diǎn)亮;3引腳是串行發(fā)送端,4引腳是串行接收端。通過(guò)3和4引腳,MLT-2082芯片和
33、STC單片機(jī)可以實(shí)現(xiàn)串行通信。</p><p> 圖2.2.5 GPS接收模塊電路</p><p> 2.2.5 存儲(chǔ)模塊的設(shè)計(jì)</p><p> 由于運(yùn)算的過(guò)程中要用到浮點(diǎn)數(shù),并且對(duì)地球表面計(jì)算不規(guī)則多邊形的面積和周長(zhǎng)需要大量的RAM,所以本系統(tǒng)外擴(kuò)一片AT45DB081D,AT45DB081D是ATMEL公司生產(chǎn)的串行接口的Flash存儲(chǔ)器,容量為8MB,
34、AT45DB081D工作在獨(dú)立的2.5V至3.6V或者2.7V至3.6V電壓下。AT45DB081D還包含2個(gè)256/264字節(jié)的SRAM緩沖區(qū)。緩沖區(qū)允許在對(duì)主存儲(chǔ)器的頁(yè)面重新編程時(shí)接收數(shù)據(jù),也可寫(xiě)入連續(xù)的數(shù)據(jù)串。通過(guò)獨(dú)立的“讀-改-寫(xiě)”三步操作,可以輕松實(shí)現(xiàn)EEPROM仿真。</p><p> AT45DB081D可通過(guò)片選引腳使能,并通過(guò)3-wire接口訪問(wèn),3-wire由串行輸入(SI),串行輸出(SO
35、),和串行時(shí)鐘(SCK)組成。</p><p> 圖2.2.6 Flash存儲(chǔ)器電路</p><p> 系統(tǒng)除了擴(kuò)展Flash存儲(chǔ)器,還擴(kuò)展了E2PROM,本系統(tǒng)選用AT24C16,AT24C16是一個(gè)16K串行CMOS E2PROM,內(nèi)部含有2048個(gè)8位字節(jié),AT24C16有一個(gè)16字節(jié)頁(yè)寫(xiě)緩沖器,該器件通過(guò)I2C 總線接口進(jìn)行操作,有一個(gè)專門(mén)的寫(xiě)保護(hù)功能。1.8V~6.0V的工作
36、電壓。</p><p> 圖2.2.7 E2PROM擴(kuò)展電路</p><p> 2.2.6 STC程序下載模塊</p><p> 本系統(tǒng)還包含了STC程序下載模塊,可以方便把程序下載到單片機(jī)中,然后運(yùn)行。通過(guò)USB口轉(zhuǎn)化為和電腦串口一樣的電氣接口,再通過(guò)TXD,RXD分別直接連到單片機(jī)的RXD,TXD上面進(jìn)行下載。USB采用Mini B型5Pin接口,這種接口
37、由于體積小巧,所以比較實(shí)用。</p><p> 圖2.2.8 STC程序下載模塊電路</p><p> 2.2.7 供電模塊</p><p> 本系統(tǒng)采用鋰電池供電,J3外接鋰電池,C4和C5組成電源的濾波電路,C4濾高頻,C5濾低頻。</p><p> 圖2.2.9 供電電路</p><p> 便攜電子設(shè)備
38、不管是由交流市電經(jīng)過(guò)整流后供電,還是由蓄電池組供電,工作過(guò)程中,電源電壓都將在很大范圍內(nèi)變化。例如鋰電池充足電時(shí)的電壓為4.2V,放完電后的電壓為2.3V,變化范圍很大。為了保證供電電壓穩(wěn)定不變,幾乎所有的電子設(shè)備都采用穩(wěn)壓器供電,在電源的輸入端加入線性穩(wěn)壓器,以保證電源電壓恒定和實(shí)現(xiàn)有源噪聲濾波。</p><p> 本系統(tǒng)采用超低靜態(tài)電流250mA低壓差穩(wěn)壓器TPS76633D,以保證電源電壓恒定。</
39、p><p> 圖2.2.10 穩(wěn)壓器電路</p><p><b> 2.3 本章小結(jié)</b></p><p> 本章對(duì)硬件電路的設(shè)計(jì)進(jìn)行了研究,分別對(duì)單片機(jī)選型、最小系統(tǒng)的設(shè)計(jì)、液晶模塊、GPS接收模塊的設(shè)計(jì)、存儲(chǔ)模塊、STC程序下載模塊、供電模塊進(jìn)行了研究和介紹。硬件是系統(tǒng)得以實(shí)現(xiàn)的物質(zhì)基礎(chǔ),只有硬件設(shè)計(jì)得正確,抗干擾能力強(qiáng),軟件才能穩(wěn)定的
40、工作,整機(jī)效果才會(huì)比較穩(wěn)定可靠,由此可見(jiàn)硬件設(shè)計(jì)的重要性。本章硬件電路在設(shè)計(jì)過(guò)程中查閱了很多的資料,也做了相應(yīng)的實(shí)驗(yàn)來(lái)保證系統(tǒng)穩(wěn)定性。</p><p><b> 第三章 算法實(shí)現(xiàn)</b></p><p><b> 3.1 引言</b></p><p> 經(jīng)緯度就是圓周360度的角度。 緯度是以赤道為0度。經(jīng)度東經(jīng)為+
41、,西經(jīng)為—,緯度北緯為+,南緯為-。地心到某地連線與地心到赤道連線的夾角就是某地緯度。所以兩極的緯度就是90度。經(jīng)度也差不多。就是以英國(guó)倫敦附近的格林尼治天文臺(tái)為0度。向東西兩邊逐加分別為東經(jīng)和西經(jīng)。東西180°經(jīng)線合為一條經(jīng)線。用西經(jīng)20°和東經(jīng)160°的經(jīng)線圈,將地球分為東、西兩個(gè)半球。</p><p> 如圖3.1.1中,A點(diǎn)的經(jīng)度為東經(jīng)α度,緯度為北緯β度。</p&g
42、t;<p><b> 圖 3.1.1</b></p><p> 本章重點(diǎn)研究如何利用GPS模塊得到的經(jīng)緯度算出不規(guī)則圖形的面積和周長(zhǎng),本章的算法是軟件實(shí)現(xiàn)的重要基礎(chǔ),只有在理論上得出如何計(jì)算不規(guī)則圖形的面積和周長(zhǎng),才能利用軟件編程實(shí)現(xiàn)在液晶模塊上顯示出區(qū)域的面積和周長(zhǎng)。本章總結(jié)了幾種算法,并做了比較,并對(duì)可行性做了分析,通過(guò)兩個(gè)例子給出了利用幾種算法得出的面積和周長(zhǎng)的精度。
43、</p><p><b> 3.2 算法研究</b></p><p> 3.2.1求地球表面上兩點(diǎn)間距離</p><p> 已知球面的兩點(diǎn),為了方便起見(jiàn),以經(jīng)緯度來(lái)唯一標(biāo)識(shí)點(diǎn)的位置,要求計(jì)算出它們的球面距離。</p><p> 地球形狀是一個(gè)兩極部位略扁的不規(guī)則的球體。地球的平均半徑為6371千米,赤道半徑637
44、8千米,極半徑6357千米。赤道周長(zhǎng)約為4萬(wàn)千米。在普通測(cè)量中可把地球作為圓球看待,其半徑為6371km。</p><p><b> 算法一:</b></p><p> GPS定位出來(lái)的經(jīng)緯度是WGS-84坐標(biāo)系,可以轉(zhuǎn)換成地心直角坐標(biāo)X、Y、Z 表示,其中,直角坐標(biāo)系原點(diǎn)位于地心;Z 軸為極軸,向北為正;X 軸穿過(guò)本初子午線與赤道的交點(diǎn);Y 軸穿過(guò)赤道與東經(jīng)90
45、°的交點(diǎn)。</p><p> 地球的經(jīng)緯度坐標(biāo)是球坐標(biāo)(x,y),x是經(jīng)度,y是緯度。</p><p> 先把經(jīng)緯度的角度值轉(zhuǎn)換成弧度值:</p><p> Px=x*pi/180;</p><p> Py=y*pi/180;</p><p> 再把它轉(zhuǎn)換成空間直角坐標(biāo)系(X,Y,Z)。</p
46、><p> 設(shè)地球半徑為r,海拔高度為H。</p><p><b> 則有轉(zhuǎn)換式:</b></p><p> X=(r+H)*cos(Py)*cos(Px)</p><p> Y=(r+H)*cos(Py)*sin(Px)</p><p> Z=(r+H)*sin(Py)</p>
47、<p> 分別得到A(Px1,Py1),B(Px2,Py2)兩點(diǎn)的直角坐標(biāo)A(X1,Y1,Z1),B(X2,Y2,Z2)</p><p> 那么AB兩點(diǎn)間直線距離是L=</p><p> 把上面轉(zhuǎn)換式代入化簡(jiǎn)可以得到:</p><p><b> L=(r+H)*</b></p><p> 設(shè)AB兩
48、點(diǎn)對(duì)球心所夾圓心角為θ(弧度),則有:</p><p> L=2r*sin(θ/2)=2r*=r*</p><p><b> 因此cosθ=</b></p><p> 則AB兩點(diǎn)的球面距離:</p><p> M=(r+H)*θ=(r+H)*arccos[cos(Py1)*cos(Py2)*cos(Px1-Px2
49、)+sin(Py1)*sin(Py2)]</p><p><b> 算法二:</b></p><p><b> 圖 3.2.1</b></p><p> 如上圖,先假設(shè)球的半徑為r,海拔高度為H,所給定的2點(diǎn)為K,P兩點(diǎn)。</p><p> 假設(shè)球心為點(diǎn)O,那么最后得到的∠KOP的弧度乘以球
50、的半徑r即為所求的球面距離。</p><p> 設(shè)經(jīng)過(guò)球的南極和北極的極點(diǎn)的直線為,分別過(guò)點(diǎn)P、K作的垂線,設(shè)垂點(diǎn)分別為F、M。</p><p> 過(guò)點(diǎn)M作線PF的平行線,過(guò)P作MF的平行線,這兩條平行線必定相交,設(shè)交點(diǎn)為N,容易證明PMFN是一個(gè)矩形。</p><p> 由于K、P點(diǎn)的經(jīng)緯度已知,所以∠OPF和∠OKM也已知,設(shè)分別為β,α,由于半徑r已知,
51、所以|PF| = r * cosβ,|KM| = r * cosα,|OF| = r * sinβ,|OM| = r * sinα。</p><p> 由于點(diǎn)K、P的經(jīng)度已知,所以不難求出∠KMN的值。所以三角形ACE中不難用余弦定理求出|KN|的值。</p><p> 在直角三角形ABE中,容易求出AB的值。此時(shí)三角形AOB三條邊都已知,所以∠AOB也可以用余弦定理求出來(lái),這樣AB的
52、球面距離也就可求了。</p><p> 假設(shè)點(diǎn)K的經(jīng)度為東經(jīng)a1度,緯度為北緯b1度;點(diǎn)P的經(jīng)度為東經(jīng)a2度,緯度為南緯b2度。</p><p> 所以α=b1, β= b2, 設(shè)∠KMN的值為θ,那么θ= |a1–a2|。</p><p><b> 可以計(jì)算出</b></p><p> |OM| = r * s
53、in(α) |OF| = r * sin(β)</p><p> |KM| = r * cos(α) |PF| = r * cos(β)</p><p> 由于|MN| = |PF|,|MF| = |OF| + |OM|</p><p> 由余弦定理可以知道:</p><p><b> 則</b&g
54、t;</p><p> 由于|PN| = |MF|,且,則:</p><p><b> 則:</b></p><p> 在△KOP中,也可用余弦定理得到式</p><p> 則cos(KOP) = cos(α) * cos(β) * cos(θ) - sin(α) sin(β)</p><p&
55、gt; 這樣可以求出KOP的值(單位為弧度)</p><p> 則球面距離M=(r+H)* (KOP)= (r+H)*arccos(cos(α) * cos(β) * cos(θ) - sin(α) sin(β))。</p><p><b> 須注意兩點(diǎn):</b></p><p> (1)當(dāng)A、B同為東經(jīng)或同為西經(jīng)時(shí),θ=|a1–a2|
56、,那么當(dāng) K、P不是同為東經(jīng)或同為西經(jīng)時(shí),θ= |a1 + a2|,若θ>180度,θ=2π–θ(單位采用弧度)。</p><p> (2)當(dāng)K、P在不同的南北半球時(shí),是|MF| = |OM| + |OF|。</p><p> 則:球面距離M=(r+H)* (KOP)= (r+H)*arccos(cos(α) * cos(β) * cos(θ) - sin(α) sin(β))。
57、</p><p> 當(dāng)A、B同為南半球或同為北半球時(shí),</p><p> 則:球面距離M=(r+H)* (KOP)=(r+H)*arccos(cos(α) * cos(β) * cos(θ) + sin(α) sin(β))。</p><p> 3.2.2求地球表面上多邊形面積</p><p> 由于地球很大,所以地面上的多邊形可以近
58、似看作是平面的。求地面上的凸多邊形的面積可用算法一、算法二或算法三,求地面上的凸或凹多邊形的面積用算法二或算法三。其實(shí)算法一也可以求凹多邊形的面積,但必須用凹進(jìn)去的那一點(diǎn)與其他頂點(diǎn)連線來(lái)分割多邊形,再用海倫公式求之。</p><p> 設(shè)地球半徑為r,海拔高度為H。</p><p> 由文獻(xiàn)[5]、[6]、[7]經(jīng)過(guò)總結(jié)歸納,得出以下幾種算法:</p><p>
59、 算法1:用海倫公式求平面凸多邊形的面積</p><p> 對(duì)于n邊凸多邊形,從它的一個(gè)頂點(diǎn)出發(fā)與所有不相鄰的頂點(diǎn)連接,整個(gè)凸多邊形被分割成了(n-2)個(gè)三角形,然后根據(jù)“球面距離的算法二”計(jì)算出各分割的三角形的邊長(zhǎng),然后通過(guò)海倫三角形面積公式計(jì)算每個(gè)三角形面積:</p><p> 由海倫三角形面積公式,,a,b,c為三角形三邊的長(zhǎng)。把代入海倫公式得公式為</p>&l
60、t;p> 則多邊形的面積就等于分割的三角形面積之和。</p><p><b> 例:如下圖</b></p><p><b> 圖 3.2.2</b></p><p><b> 利用海倫公式得:</b></p><p> 則多邊形的總面積為:</p>
61、<p> 算法2:用三維空間直角坐標(biāo)求凸多邊形或凹多邊形的面積</p><p> 對(duì)空間中任意的凸多邊形或凹多邊形都適用的一種方法:</p><p> 設(shè)空間上有一凸多邊形或凹多邊形,該多邊形上有n個(gè)點(diǎn),按順時(shí)針?lè)较蚍謩e為a1,a2,……,an,其坐標(biāo)為a1(x1,y1,z1),a2(x2,y2,z2),……,an(xn,yn,zn)。</p><p&
62、gt;<b> 則多邊形的面積為:</b></p><p><b> 注意:</b></p><p><b> ?、?;;;;;。</b></p><p> ?、跒轫槙r(shí)針?lè)较虻南乱粋€(gè)點(diǎn),為逆時(shí)針?lè)较虻纳弦粋€(gè)點(diǎn)。</p><p> 由此得出結(jié)論,對(duì)于空間任意多邊形(無(wú)論是凸還
63、是凹)的面積S的平方等于它在三個(gè)互相垂直的平面XOY、YOZ、ZOX正投影面積的平方和。</p><p> ?、郯袵PS測(cè)得的經(jīng)緯度轉(zhuǎn)換成空間直角坐標(biāo)系(X,Y,Z):</p><p> 設(shè)地球半徑為r,則轉(zhuǎn)換式為</p><p> X=(r+H)*cos(Hy)*cos(Hx)</p><p> Y=(r+H)*cos(Hy)*sin
64、(Hx)</p><p> Z=(r+H)*sin(Hy)</p><p> 算法3:用頂點(diǎn)坐標(biāo)求平面凸多邊形或凹多邊形的面積</p><p> 對(duì)任意的凸多邊形或凹多邊形都適用的一種方法:</p><p> 已知任意n邊凹或凸多邊形的點(diǎn)的坐標(biāo)順時(shí)針為(X1,Y1),(X2,Y2),(X3,Y3)……(Xn,Yn),則其面積為:<
65、;/p><p><b> 注意到:</b></p><p><b> ①,。</b></p><p> ?、赼bs表示絕對(duì)值。</p><p> ?、蹫轫槙r(shí)針?lè)较虻南乱粋€(gè)點(diǎn),為逆時(shí)針?lè)较虻纳弦粋€(gè)點(diǎn)。</p><p> ④如果假定地球是完美的球體(這樣假設(shè)誤差不是很大)<
66、;/p><p> 緯度的大約為=111138.5556m</p><p> 經(jīng)度的的距離從0km到111138.5556m不等,它隨緯度的不同而變化,等于111138.5556m乘以緯度的余弦。</p><p> 所以把經(jīng)緯度轉(zhuǎn)換成二維坐標(biāo)(X,Y)的公式為:</p><p> 均為角度,不是弧度。</p><p>
67、; ?、萸竺娣e還有另外三個(gè)公式:</p><p><b> 公式1:</b></p><p><b> 公式2:</b></p><p><b> 公式3:</b></p><p><b> 須注意:;;;。</b></p><
68、p><b> 例:</b></p><p><b> 圖 3.2.3</b></p><p><b> 圖 3.2.4</b></p><p> 3.3 算法的可行性論證</p><p> 在谷歌地球(Google Earth)中模仿實(shí)際畫(huà)出一個(gè)任意多邊形,可得
69、出面積和周長(zhǎng),由于谷歌地球是用衛(wèi)星得到的地圖,所以算出的面積和周長(zhǎng)與實(shí)際差不多,然后在MATLAB軟件中按照3.2節(jié)中的得法編程,兩者進(jìn)行比較,得出算法的可行性。</p><p><b> 例3.3.1:</b></p><p><b> 圖 3.3.1</b></p><p><b> 圖 3.3.2&l
70、t;/b></p><p> 第1點(diǎn)經(jīng)緯度:; 第2點(diǎn)經(jīng)緯度:</p><p> 第3點(diǎn)經(jīng)緯度:; 第4點(diǎn)經(jīng)緯度:</p><p><b> 第5點(diǎn)經(jīng)緯度:</b></p><p> 用Google Earth測(cè)得的面積為8553890.56,周長(zhǎng)為13633.16m</p>&l
71、t;p> 用周長(zhǎng)算法二得到的周長(zhǎng)為13655.2219639866 m,</p><p><b> 誤差為</b></p><p> 用面積算法一得到的面積8573767.41630173,</p><p><b> 誤差</b></p><p> 用面積算法二得到的面積857376
72、7.12394875,</p><p><b> 誤差</b></p><p> 用面積算法三得到的面積8566545.41720581,</p><p><b> 誤差</b></p><p> 例3.3.2:如下凹多邊形,求周長(zhǎng)和面積。</p><p><b
73、> 圖 3.3.3</b></p><p><b> 點(diǎn)的標(biāo)號(hào)為下圖:</b></p><p><b> 圖 3.3.4</b></p><p> 第1點(diǎn)經(jīng)緯度:; 第2點(diǎn)經(jīng)緯度:;</p><p> 第3點(diǎn)經(jīng)緯度:; 第4點(diǎn)經(jīng)緯度:;</p>
74、<p><b> 第5點(diǎn)經(jīng)緯度:</b></p><p> 用Google Earth測(cè)得的面積為1294.97,周長(zhǎng)為172.31m</p><p> 用周長(zhǎng)算法二得到的周長(zhǎng)為172.002021630853m,誤差為</p><p> 用面積算法一得到的面積為1290.01920450395,誤差</p>&
75、lt;p> 用面積算法二得到的面積為1290.01626659166,誤差</p><p> 用面積算法三得到的面積為1288.70735603571,誤差</p><p><b> 3.4 本章小結(jié)</b></p><p> 在本章中,在3.2節(jié)中進(jìn)行了算法的研究,找出了幾種算法,在3.3節(jié)中舉了2個(gè)例子,一個(gè)是面積較大的區(qū)域,
76、一個(gè)是面積較小的區(qū)域,并利用Google Earth和MATLAB軟件對(duì)實(shí)例進(jìn)行驗(yàn)證,得出面積和周長(zhǎng),長(zhǎng)計(jì)算精度,由驗(yàn)證結(jié)果可知其精度較高,從而得出本章算法的可行性,為后面軟件編程打下了理論基礎(chǔ)。</p><p><b> 第四章 軟件設(shè)計(jì)</b></p><p><b> 4.1 引言</b></p><p> 本
77、系統(tǒng)采用C51編程,使用C51語(yǔ)言開(kāi)發(fā)速度快,代碼可重復(fù)使用,程序結(jié)構(gòu)清晰,易懂易維護(hù),對(duì)項(xiàng)目非常適用。</p><p> C51語(yǔ)言對(duì)匯編語(yǔ)言進(jìn)行了抽象,具有如下優(yōu)點(diǎn):</p><p> (1)更符合人類思維習(xí)慣,開(kāi)發(fā)效率高、時(shí)間短。 </p><p><b> (2)模塊化。 </b></p><p> (3
78、)可移植性好。 </p><p> (4)提供數(shù)學(xué)函數(shù)并支持浮點(diǎn)運(yùn)算。 </p><p> (5)程序可讀性和可維護(hù)性強(qiáng)。 </p><p> C51語(yǔ)言也有缺點(diǎn),比如實(shí)時(shí)性通常要比匯編差。在編寫(xiě)匯編的時(shí)候可以清楚的知道每一條指令究竟要多少個(gè)機(jī)器周期,但是在C中掌控準(zhǔn)確的時(shí)間稍微困難一些。</p><p> 綜合以上,本系統(tǒng)采用C51
79、編程。</p><p><b> 4.2軟件設(shè)計(jì)</b></p><p> 本系統(tǒng)采用C51編程,并模塊化,編制以下子程序:</p><p> ?。?)系統(tǒng)初始化子程序</p><p> ?。?)液晶顯示子程序</p><p><b> (3)鍵掃描子程序</b><
80、;/p><p><b> ?。?)鍵處理子程序</b></p><p> ?。?)計(jì)算面積和周長(zhǎng)的子程序</p><p> (6)串口接收中斷服務(wù)子程序</p><p><b> ?。?)延時(shí)子程序</b></p><p> 實(shí)現(xiàn)系統(tǒng)功能的流程框圖如下:</p>
81、<p><b> 鍵判斷子程序:</b></p><p><b> {</b></p><p> 判斷鍵是否按下,如果無(wú)鍵按下,則返回到主程序</p><p> 延時(shí)消抖5~10ms (可用調(diào)顯示子程序來(lái)代替) ,消抖是為了防止產(chǎn)生誤操作。</p><p> 判斷鍵是否按下,如
82、果無(wú)鍵按下,則返回到主程序</p><p> 否則就是有鍵按下,然后判斷鍵是否釋放,如果鍵已經(jīng)釋放,則返回鍵值。</p><p><b> }</b></p><p><b> 鍵處理子程序:</b></p><p><b> {</b></p><
83、p><b> while(1)</b></p><p><b> {</b></p><p> 用switch()語(yǔ)句判斷是哪個(gè)鍵按下,然后鍵處理</p><p><b> 調(diào)鍵判斷子程序;</b></p><p><b> }</b>&l
84、t;/p><p><b> }</b></p><p> main主程序的流程圖:</p><p><b> 圖 4.2.1</b></p><p> 串口接收中斷服務(wù)子程序</p><p><b> 圖 4.2.2</b></p>
85、<p> 計(jì)算面積和周長(zhǎng)的子程序的程序流程圖</p><p><b> 圖 4.2.3</b></p><p><b> 第五章 總結(jié)</b></p><p> 在本文中,利用GPS模塊可以得出所在位置的經(jīng)緯度,然后利用算法計(jì)算出閉合的不規(guī)則的區(qū)域的面積和周長(zhǎng)。用戶可以手持GPS測(cè)量?jī)x,走出一個(gè)閉合的區(qū)域
86、,GPS測(cè)量?jī)x定時(shí)得出所在位置的經(jīng)緯度,用戶在走的過(guò)程中,GPS測(cè)量?jī)x進(jìn)行計(jì)算,用戶走出閉合區(qū)域后,GPS測(cè)距儀自動(dòng)算出用戶所走出的閉合區(qū)域的面積和周長(zhǎng),非常方便實(shí)用。本文采用STC90LE58RD+單片機(jī)和GPS模塊實(shí)現(xiàn)不規(guī)則區(qū)域測(cè)量面積和周長(zhǎng),簡(jiǎn)單實(shí)用,且穩(wěn)定可靠。</p><p> 本章總結(jié)了幾種算法,并做了比較,并對(duì)可行性做了分析,通過(guò)兩個(gè)例子給出了利用幾種算法得出的面積和周長(zhǎng)的精度。</p>
87、;<p> 由于時(shí)間比較倉(cāng)促,以及自身專業(yè)水平的不足,作者深知本文對(duì)該領(lǐng)域所做的研究還不夠全面,覺(jué)得應(yīng)在以下幾個(gè)方面應(yīng)作進(jìn)一步的深入研究:</p><p> ?。?)在硬件設(shè)計(jì)方面對(duì)如何能更多的提高抗干擾,提高系統(tǒng)穩(wěn)定性,以及減少系統(tǒng)功耗作更多的研究。</p><p> ?。?)在算法上還需繼續(xù)改進(jìn),使測(cè)量區(qū)域的面積和周長(zhǎng)的誤差更小。</p><p>
88、; ?。?)在軟件編程方面對(duì)代碼還需進(jìn)一步優(yōu)化,使之縮減計(jì)算的時(shí)間。</p><p> ?。?)在本文研究的基礎(chǔ)上,可以嘗試把無(wú)線通信技術(shù)引入到GPS測(cè)量?jī)x中,從而實(shí)現(xiàn)雙機(jī)通信或多機(jī)通信,或下位機(jī)與上位機(jī)的通信。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 夏友福. GPS 測(cè)量面積的方法研究. 西南林學(xué)院學(xué)報(bào),2
89、005,25(1):65~67</p><p> [2] 孟慶川,王霓虹. 基于G P S的火場(chǎng)面積的計(jì)算方法. 自動(dòng)化技術(shù)與應(yīng)用,2009,28(4):37~39</p><p> [3] 武志明,趙飛,王鳳花,賈愛(ài)蓮. 基于GPS 的田塊面積計(jì)算方法及程序設(shè)計(jì). 農(nóng)機(jī)推廣與安全,2006:13~15</p><p> [4] 夏友福. 手持GPS測(cè)量面
90、積的精度分析. 西南林學(xué)院學(xué)報(bào),2006,26(3):59~61</p><p> [5] Paul Bourke. Calculating the area and centroid of a polygon,1988</p><p> [6] 謝雨揚(yáng),何恰聞.海倫公式的再次探究與延伸—關(guān)于多邊形面積的計(jì)算問(wèn)題,2009</p><p> [7] 顧孝烈,
91、鮑峰,程效軍. 測(cè)量學(xué). 第1版,上海:同濟(jì)大學(xué)出版社,2006</p><p> [8] GPS全球定位系統(tǒng)SKYTHINK模塊產(chǎn)品應(yīng)用指南</p><p> [9] MLT-2082 GPS芯片手冊(cè)</p><p> [10] 黃忠霖. 控制系統(tǒng)MATLAB計(jì)算及仿真.第2版.北京:國(guó)防工業(yè)出版社, 2004</p><p> [
92、11] 馬忠梅,籍順心等. 單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì).第4版.北京:北京航空航天大學(xué)出版社, 2007</p><p> [12] 吳國(guó)經(jīng)主編. 單片機(jī)應(yīng)用技術(shù). 北京:中國(guó)電力出版社,2004</p><p> [13] 周堅(jiān)等. 單片機(jī)應(yīng)用與接口技術(shù). 北京:機(jī)械工業(yè)出版社,2010</p><p><b> 附錄</b></
93、p><p> 本設(shè)計(jì)軟件部分的程序包含main.c、LCD_12864.h、menu.h、STC_EEPROM.h、uart.h、hzk.h、Calculating.h。</p><p> LCD_12864.h程序清單:</p><p> #define uchar unsigned char </p><p> #define uin
94、t unsigned int</p><p> sbit LCD_CS=P3^0;</p><p> sbit LCD_A0=P3^1;</p><p> sbit LCD_SCL=P2^6;</p><p> sbit LCD_SI=P2^7;</p><p><b> /*狀態(tài)字定義*/<
95、/b></p><p> #define Cmd_StartLineBase 0x40</p><p> #define Cmd_X_Page 0xb0</p><p> #define Cmd_ColHiBase 0x10</p><p> #define Cmd_Co
96、lLoMask 0x0f</p><p> /****************************************************************/</p><p> /* HTM12864-23液晶串行驅(qū)動(dòng) */</p><p> /****
97、************************************************************/ </p><p> /*************從SI口串行輸入8位數(shù)據(jù)**********/</p><p> void LCDShiftWrite(uchar datt)</p><p><b> { </b>&
98、lt;/p><p><b> uchar i;</b></p><p> for(i=0;i<8;i++)</p><p><b> {</b></p><p> if(datt&0x80)</p><p><b> LCD_SI=1;</
99、b></p><p><b> else </b></p><p><b> LCD_SI=0;</b></p><p> LCD_SCL=0;</p><p><b> _nop_();</b></p><p> LCD_SCL=1;&
100、lt;/p><p> datt=datt<<1;</p><p><b> }</b></p><p><b> }</b></p><p> /*********從SI口串行寫(xiě)顯示數(shù)據(jù)********/</p><p> void write_dat(uc
101、har dat) </p><p><b> {</b></p><p><b> LCD_CS=0;</b></p><p><b> LCD_A0=1;</b></p><p> LCDShiftWrite(dat); </p><p>&l
102、t;b> LCD_CS=1;</b></p><p><b> }</b></p><p> /*********從SI口串行寫(xiě)狀態(tài)字***********/</p><p> void write_command(uchar cmd)</p><p><b> {</b>
103、;</p><p><b> LCD_CS=0;</b></p><p><b> LCD_A0=0;</b></p><p> LCDShiftWrite(cmd);</p><p><b> LCD_CS=1;</b></p><p><
104、;b> }</b></p><p> /****************LCD初始化子程序************/</p><p> void lcd_init()</p><p><b> {</b></p><p> write_command(0xaf);</p><
105、;p> write_command(0xa2); </p><p> write_command(0xa1);</p><p> write_command(0xc0);</p><p> write_command(0xa4);</p><p> write_command(0xa6);</p><p&g
106、t; write_command(0x26);</p><p> write_command(0x81);</p><p> write_command(0x10);</p><p> write_command(0x2f);</p><p><b> _nop_();</b></p><p
107、> write_command(0xf8);</p><p> write_command(0x00);</p><p> write_command(Cmd_StartLineBase);</p><p><b> }</b></p><p> /****************Y列指針的設(shè)置子程序**
108、**********/</p><p> void lcd_SetCol(uint col)</p><p><b> {</b></p><p> write_command(Cmd_ColHiBase+(col>>4));</p><p> write_command(col&Cmd_Co
109、lLoMask);</p><p><b> }</b></p><p> /****************光標(biāo)定位子程序************/</p><p> void lcd_MoveTo(uint x,uint y)</p><p><b> {</b></p>
110、<p> write_command(Cmd_X_Page|x);</p><p> lcd_SetCol(y);</p><p><b> }</b></p><p> /*********LCD清全屏子程序**********/</p><p> void lcd_clear() </p&
111、gt;<p><b> { </b></p><p> uchar row,col; </p><p> for(row=0;row<=8;row++)</p><p><b> {</b></p><p> lcd_MoveTo(row,0);</p>
112、<p> for(col=0;col<=128;col++)</p><p> write_dat(0x00);</p><p><b> }</b></p><p><b> }</b></p><p> /*******任意位置顯示一16*16點(diǎn)陣漢字子程序****
113、**/</p><p> void disp_hz(uchar x,uchar y,uchar number) </p><p><b> {</b></p><p><b> uchar i;</b></p><p> lcd_MoveTo(2*x,16*y);</p>
114、<p> for(i=0;i<16;i++)</p><p><b> {</b></p><p> write_dat(tab_hz[32*number+i]);</p><p><b> }</b></p><p> lcd_MoveTo(2*x+1,16*y); &l
115、t;/p><p> for(i=0;i<16;i++)</p><p><b> {</b></p><p> write_dat(tab_hz[32*number+16+i]);</p><p><b> }</b></p><p><b> }<
116、;/b></p><p> /*******任意位置顯示一8*16點(diǎn)陣數(shù)字或字母子程序******/</p><p> void disp_str(uchar x,uchar y,uchar number) </p><p><b> {</b></p><p><b> uchar i;&l
117、t;/b></p><p> lcd_MoveTo(2*x,8*y);</p><p> for(i=0;i<8;i++)</p><p><b> {</b></p><p> write_dat(tab_str[16*number+i]);</p><p><b>
118、; }</b></p><p> lcd_MoveTo(2*x+1,8*y);</p><p> for(i=0;i<8;i++)</p><p><b> {</b></p><p> write_dat(tab_str[16*number+8+i]);</p><p&g
119、t;<b> }</b></p><p><b> }</b></p><p> /****************顯示128*64圖片子程序************/</p><p> void disp_pic(uchar code *img_dat)</p><p><b>
120、 {</b></p><p> unsigned char i, j;</p><p> for(j=0;j<8;j++)</p><p><b> {</b></p><p> lcd_MoveTo(j,0);</p><p> for(i=0;i<128;i
121、++)</p><p> write_dat(img_dat[j*128+i]);</p><p><b> }</b></p><p><b> }</b></p><p> /****************顯示任意大小的圖片子程序************/</p><
122、;p> void disp_pic1(uchar pag,uchar col,uchar x,uchar y,uchar code *img_dat)</p><p><b> {</b></p><p> uchar i,j;</p><p> y=(y+4)>>3;</p><p> fo
123、r(j=0;j<y;j++)</p><p><b> {</b></p><p> lcd_MoveTo(pag+j,col);//光標(biāo)定位</p><p> for(i=0;i<x;i++) </p><p> write_dat(img_dat[j*x+i]);</p><p
124、><b> }</b></p><p><b> }</b></p><p> Calculating.h程序清單:</p><p> /***************************測(cè)面積********************/</p><p> void fun2(vo
125、id)</p><p><b> {</b></p><p><b> uchar i;</b></p><p> mesure_disp();</p><p> if(!key)return;</p><p> switch(key)</p><
126、;p><b> {</b></p><p> case key_up:</p><p> if(mesure_Z0_S1)</p><p><b> {</b></p><p><b> points=0;</b></p><p> b
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)1
- 畢業(yè)設(shè)計(jì)(1).doc
- 畢業(yè)設(shè)計(jì)(1).doc
- 隧道畢業(yè)設(shè)計(jì)1
- 畢業(yè)設(shè)計(jì)[1].doc
- 1畢業(yè)設(shè)計(jì)(論文)
- 畢業(yè)設(shè)計(jì)名單1(1).doc
- A1畢業(yè)設(shè)計(jì).dwg
- 工程管理畢業(yè)設(shè)計(jì)1
- 道路畢業(yè)設(shè)計(jì)論文1
- 工廠供電畢業(yè)設(shè)計(jì)1
- 模具畢業(yè)設(shè)計(jì)范文[1]
- 畢業(yè)設(shè)計(jì) 終1 .doc
- 畢業(yè)設(shè)計(jì)1.doc
- A1畢業(yè)設(shè)計(jì).dwg
- 1畢業(yè)設(shè)計(jì)(封皮).doc
- 畢業(yè)設(shè)計(jì)1.dwg
- 畢業(yè)設(shè)計(jì)1.dwg
- 畢業(yè)設(shè)計(jì)1.dwg
- 1畢業(yè)設(shè)計(jì)論文.doc
評(píng)論
0/150
提交評(píng)論