久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6737|回復: 11
打印 上一主題 下一主題
收起左側

一個簡易的GPS數據顯示器

[復制鏈接]
跳轉到指定樓層
樓主
ID:71235 發表于 2014-12-28 00:40 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式


    前幾天已經測試了LCM顯示的驅動,基本能穩定顯示了,偶爾啟動時不能執行清屏命令。
    昨天下去去小C處買了個串口擋板,為的是用擋板上的公頭DB9插座。晚上即開始制作這個GPS數據顯示器了。
    硬件非常簡單,一個TTL-RS232兼容的GPS接收器,這個早就從淘寶上買過來了,比起藍牙的接收器來便宜很多,才75塊錢,一個89C51最小系統(只有復位、晶振線路),成本不過6塊來錢,這個89C51也是好多年前買的,板子還沒焊,因為仿真器還沒到貨,程序測試是在XL1000開發板上做的,因為硬件實在太簡單了,而且這個開發板還支持USB串口,這樣就省得來回拔串口插頭了。
    程序測試不是很順利,在排除了硬件上的問題后,初步測試了串口的功能,可以正常的從接收器上接收數據了,因為串口接收是采用中斷方式的,不是軟件查詢,所以需要設置不少的標志變量,而且程序的流程也變得不可捉摸起來,到11點的時候,已經可以處理緯度數據了,只是相同的數據,相同的程序,經度數據怎么也顯示不出來,看到的只是一堆亂碼。
    今天早上很早就起來,仍然想著要搞清楚昨晚的問題,搞了很久還是不行,只好先接收個緯度半球表示(即N或者S)試試,沒想到經度數據竟然可以顯示出來了。到下午午覺醒來的時候,整理了一下程序,添加了“度”符號顯示功能,可用衛星數目、信號質量顯示功能。到寫這篇日志為止只有一個問題沒搞清楚,其實是和經度顯示問題相似的,就是經度半球標識顯示不正常,老是顯示個亂碼或者“E”(正常情況下應該顯示E的)或者一個“,”(這是GPS數據的分隔符),程序里怎么也看不出問題來,因為緯度半球標識顯示是正常的。
    到目前為止程序只耗費了700來字節,其中LCM驅動就花了300多字節,程序空間還綽綽有余,RAM空間已經用了48字節,倒有點讓人擔心,畢竟89C51只有128字節的RAM。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:71235 發表于 2014-12-28 00:40 | 只看該作者


    其實星期五就送到了,一直就躺在辦公室里,下午去的時候還向賣給我的人要快遞單號。
    包裝盒有點舊,在人家手里已經1年了,也難怪了。打開包裝,說明書,軟件光盤、裝箱單躺在最上面,下面發泡盒子里則有仿真器主機,電源、一個標準51仿真頭,最讓人高興的是有一個51轉2051的轉換頭,這下省得去網上去買了,仿真頭上套著個針腳保護器。盒子底層是一長一短的排線和一條串口連接線。
    定了定神,開始拆包裝準備試機。先試試能不能用在XL1000開發板上,取下開發板上的89s52,插上仿真頭,連接仿真器,打開仿真器電源,開發板電源,仿真頭上紅燈亮起,沒聞到異味,這起碼說明了仿真器電源和開發板電源并不沖突。接著插上串口電纜,打開PC上的TKStudio仿真軟件,新建一個工程,設置正確后點DEBUG鍵,通訊失敗!又打開KEILC,按照說明書安裝后驅動,再聯機還是失敗,啟動串口調試助手軟件,可用正常打開COM1端口,看來不是串口硬件的原因。抱著試試看的心情,從樓下取來筆記本電腦,這是一臺舊筆記本,還有一個串口可用的,安裝好仿真軟件,聯機成功!突然明白了一個問題,原來PC上自制的的串口延長線只有2,3,5三根線,而這三根線用在單片機上是足夠了,但是用在速度、穩定性要求高得多的仿真器上顯然是不行的,于是換下自制的線換上標準的線,再次聯機,這回馬上成功了,接下來試了試全速運行,單步運行,斷點,都行的,這也就放心了。
    這次試機弄清楚了三個問題,一是仿真器硬件是好的,二是仿真器串口用的是標準的9線制,三是開發板可以用作目標板,這樣一般的小項目就可以不用立刻做實驗板了。
回復

使用道具 舉報

板凳
ID:71235 發表于 2014-12-28 00:41 | 只看該作者
    前天拿到的仿真器,當天就有了用武之地,在單步仿真的時候,發現了程序中的一個漏洞,一個計數用變量沒有被及時清零,顯示數據的時候總是只有緯度值是正確的(因為他是第一個被解析的,計數初值是零,不像以后的計數值因沒清零所以被累積起來了),而其他的顯示內容總是變幻莫測,這就是給我造成困擾的原因。昨天晚上又對$GPRMC語句進行了解析,現在可以顯示時間、日期、高度、速度了(度量變換還沒來得及做)。
    今天一整天的測試發現了一個比較嚴重的問題,那就是程序只能正常運行10來分鐘,以后顯示就會出錯,按鍵也沒了反應,用GPS實測或者用串口調試軟件模擬數據結果是相同的,懷疑是程序跑飛了,剛剛給程序加了看門狗,10幾分鐘后,問題照舊,看來不是程序跑飛的問題了,去群里問了問,沒人回答。如果這個問題不解決,這次做的這個東西就沒了實用價值!
回復

使用道具 舉報

地板
ID:71235 發表于 2014-12-28 00:42 | 只看該作者
    這次的DIY經過了4個階段:
    1.1602液晶顯示驅動測試;
    2.GPS模塊與單片機的通訊測試;
    3.GPS數據處理顯示程序設計;
    4.硬件安裝調試.

    1602液晶顯示器的驅動調試經歷一點點的波折,好在網上共享的程序不少,費了點時間也就找到適用的程序了.
而GPS模塊與單片機的串行通訊則要自己來寫了,好在N年前就寫過類似的程序,還有串口調試助手之類的軟件可以用,所以這一關也就過去了.接下來是數據處理,GPS送出的數據是ASCII字符串,每個數據字段用","隔開,若干個字段組成一個協議字符串,每個協議字符串又有一個$打頭的6個字符組成一個協議標志,通過判讀這個標志來區分不同的協議,這個過程看似很簡單,確實如果用PC來實現的話是再容易不過的事情了,但是單片機不行,它沒有什么字符串處理函數可以隨意調用,而且單片機的運算速度遠不如PC,如何把發過來的字符串拆分成一個一個的字段是個很要緊的事情,好在在一本書上看到了一種思路,就是對","進行計數,通過判讀這個計數值來區分不同的字段,試驗證明這種方法很有效,接下來的實際編程碰到了不少的問題,最后發現都是程序流程的問題,用軟件仿真或者仿真器仿真一下也就可以解決了.
     前天開始做安裝機殼,焊接線路板,機殼是上次從江蘇買的,線路板還是3毛5分一塊的實驗板,另外買回若干中XH2.54系列的接插件及銅柱,電源插座等等,開液晶顯示的空花了不少時間,還廢掉了一個小切割砂輪片;等板子插座都焊接好了,才發現機殼內部亂的不行,而且也就顯示器和主板的距離挨得太近,安裝比較困難,只好用砂輪打磨了一下銅柱,讓兩塊板子距離盡量的遠些,好歹把所有的東西都裝進去了,放電池盒的地方也所剩無幾了,索性不用電池供電了.通電測試,主板運行不起來,花了一天的時間思考這個問題,老是懷疑是晶振電路不起振,把個晶振拆了裝,裝了拆,好好的線路板焊片也給燙壞了,翻書找89C51的最小系統電路圖,對比自己的電路似乎沒有問題,但是同樣的程序在開發板上是能正常運行的,問題還是出在電路上,后來看一個BLOG找到一張最小系統的電路,這才看到89C51出PSEN/VPP引腳要接VCC的,趕緊焊接好,程序馬上運行正常,原來這個引腳接正電源的時候,程序要從能不ROM開始運行的,否則從外部ROM運行,我的程序全在內部,而這只引腳又是懸空的,當然運行不正常了;這里要批判一下那些所謂的單片機入門書工具書,電路圖是N年前8031時代的書上抄的,程序又是運行89c51系統上的,整個書上沒一點說明,真是害人不淺.
    昨天下午坐上老婆的車出去測試了一下,基本正常,今天早上又換成了24M的晶體,顯示器背光加了限流電阻,整機的耗電量因此下降了2/3,運行速度明顯加快,至于換了晶振以后的問題就暫且不去理會了,畢竟不是很大的問題,再說這個DIY說到底還是拿來練練手的,離實用還有不少距離,那些問題就留在以后有心情的時候再解決吧.
    以下是實物照片,紀念一下:

雜亂的工作臺


外面


內部


回復

使用道具 舉報

5#
ID:71235 發表于 2014-12-28 00:42 | 只看該作者
    GPS接收終端安裝好這么多天,運行一直比較正常,唯一感到遺憾的是液晶顯示器初始化不正常,經常在上電或者復位的時候顯示空白,而主程序運行是正常的,就是顯示不出字符,需要反復復位才會成功一次,調整參數數次還是不行。昨晚偶爾看一篇博客,講到1602顯示器初始化容易失敗的問題,作者認為應該給初始化語句以足夠的延時,千萬不可為圖顯示快些而減少延時。我的CPU晶振原來用的是12m的,沒發現這個問題,現在換成24m的問題就出現了,看來問題就是出在這里,其實以前也已經認識到這個問題,只是沒下狠心加大延時。早上又一次打開機殼,安裝上修改后的程序,現在無論怎么上電或者復位,顯示器都能正常顯示了!
回復

使用道具 舉報

6#
ID:73962 發表于 2015-3-1 21:14 | 只看該作者
願聞其詳……
回復

使用道具 舉報

7#
ID:28571 發表于 2015-4-17 22:48 | 只看該作者
好東西,學習一下,謝謝!
回復

使用道具 舉報

8#
ID:78060 發表于 2015-4-26 23:32 | 只看該作者
謝謝分享!學習收藏
回復

使用道具 舉報

9#
ID:82930 發表于 2015-6-14 10:12 | 只看該作者
您有 GPS  89C52 用1602顯示的程序么
回復

使用道具 舉報

10#
ID:82930 發表于 2015-6-14 10:13 | 只看該作者
        if(tmp == '$')//起始標志
    {
        Command = 0;
        ReceivingF = 1;
        Bytes_counter = 0;
        Segment = 0;               //清空語句段計數器
        return;
    } 下的一個程序 這里 好像就進不去了
回復

使用道具 舉報

11#
ID:82930 發表于 2015-6-14 10:14 | 只看該作者
哪位大師 能夠 幫助一下啊
回復

使用道具 舉報

12#
ID:110866 發表于 2016-4-18 09:15 | 只看該作者
資料沒上傳
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品毛片一区二区三区 | 久热国产精品视频 | 国产精品亚洲精品 | 2021狠狠天天天 | 中文字幕日韩欧美一区二区三区 | 亚洲乱码国产乱码精品精的特点 | 国产91成人 | 99视频在线免费观看 | 久草新在线 | 亚洲一区中文字幕 | 网页av| 亚洲高清视频在线观看 | 国产精品久久久久久久午夜 | 国产精品久久久久久久久免费桃花 | 国产成人福利在线观看 | 免费在线观看成年人视频 | 免费高潮视频95在线观看网站 | 天堂网中文字幕在线观看 | 91精品久久久久久综合五月天 | 成人一区二区三区在线观看 | 久久久久www| 成人网在线观看 | 欧美aaa级 | 久久久久黄色 | 欧美一区二区三区小说 | 亚洲精品91 | 99视频在线看 | 国产精品久久久久国产a级 欧美日韩国产免费 | 日韩久久久久久 | 亚洲男人的天堂网站 | 天天干精品 | 伊人伊人伊人 | 国产精品免费一区二区三区 | a在线视频| 在线中文字幕视频 | 久久蜜桃av一区二区天堂 | 在线免费亚洲视频 | 日韩成人在线播放 | 国产精品1区 | 一级黄色毛片免费 | 精品一区二区三区日本 |