《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > ARM7TDMI微處理器和液晶顯示模塊的接口及應用
ARM7TDMI微處理器和液晶顯示模塊的接口及應用
摘要: 在本文介紹的開發平臺上利用LPC900系列單片機實現了根據不同的應用需要對射頻模塊上CC1000寄存器進行有效的參數讀寫配置控制,初步達到了設計要求。該模塊經過進一步改進可以用于無線數據傳輸等諸多領域。對軟件開發中所遇到問題的分析討論,在LPC900系列單片機的應用開發中也具有較廣泛的實際意義。
關鍵詞: ARM 微處理器 液晶 ARM7
Abstract:
Key words :

       當前許多應用領域都采用無線方式進行數據傳輸,在無線抄表、工業數據采集、天線遙控、計算機遙測遙控,醫療衛生自動化、家庭自動化、安防、汽車儀表數據讀取等各方面無線射頻數傳模塊都有廣泛的應用。

       1 射頻數傳模塊開發平臺的構建

       建立軟硬件開發平臺是模塊開發的首要任務,比較了幾種射頻數傳模塊方案,最后決定采用由LPC900系列FLASH單片機和CC1000射頻傳輸芯片為主芯片的開發方案。

       1.1 主芯片簡介

       LPC2900 FLASH單片機是Philips公司推出的一款高性能、微功耗(完全掉電模式功耗低于1μA)、高速率(6倍于普通51單片機)、小封裝的5l內核單片機,主要集成了字節方式的I2C總線、SPI總線、增強型UA

 

RT接口、比較器、實時時鐘、E2PROM,AD/DA轉換器、ISP/IAP在線編程和應用中編程等一系列有特色的功能部件,可滿足各種對成本、線路板空間有限制而又要求高性能、高可靠性的應用。根據性能、成本等各方面因素我們選擇了該系列的LPC922。

 

       CC1000是基于Chipcon公司的Smart RF技術制造的可編程、半雙工超高頻單片收發器芯片,電路工作在ISM頻段(300~1 000 MHz)。通過串行接口編程,其主要的工作參數能夠根據不同應用場合需要靈活方便地設定。同時其靈敏度可達-109 dBm,可編程輸出功率-20~10 dBm,FSK調制數據率最高可達76.8 kBaud,可在2.7~3.3 V低電源工作。非常適合應用于ISM(工業、科學及醫療)方面以及SRD(短距離通信)。

       1.2 開發平臺構建

       LPC900系列單片機提供了較為完善的軟硬件開發工具,在系統開發中采用TKS932仿真器,用于系統的仿真、調試。該仿真器支持目前流行的KEILC公司的μVisionⅡ集成開發環境。

       通過自行設計的射頻模塊開發板以及附加一些輔助電路,配合TKS932仿真器及軟件開發工具μVisionⅡ,構成的射頻數傳模塊開發平臺的框圖如圖1所示。

                           射頻數傳模塊開發平臺的框圖
 

       PC機的COM1口與TKS932仿真器進行通信,對模塊軟件進行軟、硬件仿真。COM2口則與LPC922進行通訊,一方面可以把軟件調試信息更加直觀地反映出來,配合軟件調試;另一方面可以通過該串口接收或者發送數據到射頻模塊。

       2 軟件開發及調試

       2.1 數傳模塊軟件基本結構說明

       射頻傳輸芯片CCl000具有3種狀態:IDEL(空閑),RX(接收數據),TX(發送數據)。整體上看,這是個具有3種狀態的狀態機模型,狀態之間的相互轉換見圖2。模塊主程序除了完成基本的芯片初始化工作外,程序的運行主要是根據在CC1000的DCLK管腳產生的中斷,由中斷管理程序進行狀態檢測及切換,并執行相應的中斷操作。

                                  CCl000狀態轉換圖

       2.2 軟件調試開發中遇到的問題分析

 

       該開發平臺采用的軟件開發環境為μVisionⅡ。該環境內嵌多種符合當前工業標準的開發工具,可以完成從工程建立和管理、編譯、連接、目標代碼的生成,軟件仿真,硬件仿真等完整的開發流程。尤其C編譯工具在產生代碼的準確性和效率方面達到了較高的水平,而且可以附加靈活的控制選項,在開發大型項目時非常理想。即使不使用C語言而僅用匯編語言編程,其方便的集成環境、強大的軟件仿真調試工具也會令開發進度大大加快。但是其開發環境又有其自身的特色,需要對其中一些特殊的問題加以考慮。下面是對軟件開發中遇到的幾個典型問題的具體討論和研究。 2.2.1 程序中的關鍵字

       在進行程序設計時不能使用C51編譯器的關鍵字來定義變量名或者函數名。C51是區別大、小字母的,而關鍵字都是小寫字母。

      

 

例如:void writeToCC1000Register(char addr,char data)。該函數定義從字面上看沒有問題,但在編譯時均指示錯誤,查看C51關鍵字有關目錄,查出原因在于變量參數data為其關鍵字,造成了編譯時的錯誤。

 

       下面列出了一些常用的關鍵字,在程序設計時定義變量或函數名時應特別注意避免使用:

_at_,alien,bdata,bit,code,data,idata,large,pdata,sbit,sfr,sfrl6,smal,task,using,xdata,priority。

       2.2.2 BIT和SBIT的區別和全局變量、局部變量的使用

       在程序中有關位操作時必然要涉及到2種數據類型,bit和sbit。這2種數據類型的使用應注意區別。

       bit主要用位變量操作。sbit雖然也是用于位變量的操作,但其使用范圍較bit更廣泛。sbit不僅可以用于定義可位尋址寄存器的各個位,使我們可以對寄存器進行位操作,sbit的另一個重要作用在于構建類似于共用體數據類型,這種數據類型在LPC922與CC1000的串行/并行數據相互轉換中起著重要的作用。例如:

unsigned char bdata myDatas2;//定義一個可位尋址的全局變量
//定義變量的各個位
sbit cDatas0=myDatas2^O;
sbit cDatasl="myDatas2"^l;
sbit cDatas2=myDatas2^2;
sbit cDatas3=myDatas2^3;
sbit eDatas4=myDatas2^4;
sbit eDatas5=myDatas2^5;
sbit cDatas6=myDatas2^6;
sbit cDatas7=myDatas2^7;

       在這里myDatas2既可以作為一個8位的變量使用,同時各個位也可以單獨使用,這在串/并數據轉換的場合是很有用的。特別需要注意的是,myDatas2這個可位尋址變量必須以全局變量的形式予以定義,如果定義為局部變量,編譯器也將產生錯誤。

       2.2.3 UART通訊和函數調用

       在進行硬件仿真時,需要進行LPC922與PC機之間的UART串行通信,這樣可以把有關調試信息直觀地顯示在超級終端上。初期一直存在無法通信問題,為此調試了有關串口讀寫的底層代碼,對出現的問題進行了修正。

       原來的單片機與PC機串口通訊寫程序如下:

     單片機與PC機串口通訊寫程序
 
       原來的UART寫字符串函數writeln是通過調用putchar函數來進行的,但在硬件仿真時一直出錯,當把這部分程序單獨分離出來進行仿真時,卻未出現問題。后來分析考慮推想可能原因是:C51由于內部堆棧空間的限制,在函數調用時,提供的是一種壓縮棧,每個過 程被給定一個空間用于存放局部變量,過程中的每個變量都存放在這個空間的固定位置,當多重調用或者遞歸調用這個過程時,會導致變量被覆蓋而出錯。此時應把該函數定義為可重入函數,但是再入函數因為要做一些特殊的處理,一般運行起來都比較慢。在這個程序中寫UART操作對函數putchar調用時,程序的其他部分也在調用該函數,覆蓋了傳遞給putchar函數的參數,導致程序運行出錯。于是對程序做了修改如下:

 

       程序
       修改過的程序與原來程序差別在于不再進行putchar函數調用,而直接進行有關操作。修改后再進行硬件仿真,問題得到了很好的解決。在讀寫CC1000寄存器的操作中,也遇到了類似的問題,通過修改函數的調用,問題都得到了解決。由此可以看到,LPC900單片機由于內部堆棧資源有限,在程序設計時當發現程序運行異常時,應特別注意函數調用帶來的問題。當然出現這個問題還可能會有其他方面的原因,需要進一步的進行分析研究。 

    

 

   2.2.4 看門狗

 

       在進行軟件仿真時,一直出現程序復位跳轉現象,根據斷點追蹤,分析了該問題與程序運行的時間因素有關。查看有關LPC900芯片資料,著重對其看門狗部分進行了研究。

       當系統處于一些比較惡劣環境(工控、底層采集等),如果系統的抗干擾沒有做好,則容易出現"死機"現象,這時硬件電路并沒有損壞,只是內部程序運行出現錯誤,必須復位才能恢復,這時可用"看門狗"來解決問題。看門狗定時器子系統可通過復位使系統從錯誤的操作中恢復。但是任何事情都有其兩面性,當軟件沒能在定時器溢出之前將其清零或者重新賦值,看門狗定時器就會導致系統產生一次復位,從而產生錯誤。

       仿真開發板上采用的是LPC922,因此對其復位時的有關看門狗的寄存器進行了具體分析,最后發現問題是由于沒有在一定的時間內及時對看門狗進行重新的配置參數造成的。通過對WDCON,WDL,WFEED1,WFEED2這4個與看門狗有關的寄存器進行合理配置,很好地解決
了程序復位問題。

       2.2.5 LPC900讀操作和CC1000寄存器讀寫

       LPC900系列單片機通常也具有51單片機的一些特點,在使用時也應注意。當其I/O口作為輸入口使用時,有2種工作方式,即讀端口和讀引腳。讀端口實際上并不從外部讀入數據,而只是把端口鎖存器的內容讀到內部總線,經過某種運算或者變換后,再寫回到端口鎖存器。

       讀引腳時才真正地把外部的數據讀入到內部總線。這時要先通過指令,把端口鎖存器置1,然后再進行讀引腳操作,否則就可能讀錯。在LPC922讀寫CC1000寄存器過程中涉及到有關讀引腳操作問題,應區別這2種工作方式,避免錯誤。

       3 結語

       在本文介紹的開發平臺上利用LPC900系列單片機實現了根據不同的應用需要對射頻模塊上CC1000寄存器進行有效的參數讀寫配置控制,初步達到了設計要求。該模塊經過進一步改進可以用于無線數據傳輸等諸多領域。對軟件開發中所遇到問題的分析討論,在LPC900系列單片機的應用開發中也具有較廣泛的實際意義。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美天天视频| 黄色日韩在线| 久久夜色撩人精品| 欧美在线视频免费播放| 亚洲深爱激情| 亚洲视频1区2区| 一区二区三区不卡视频在线观看| 亚洲精品美女免费| 亚洲高清不卡在线| 久久精品欧美| 久久精品盗摄| 久久国产日韩| 欧美在线播放一区| 欧美伊人久久| 欧美在现视频| 久久精品日韩欧美| 久久精品首页| 亚洲国产午夜| 亚洲激情一区| 亚洲精品免费在线| 日韩图片一区| 中文一区二区在线观看| 亚洲一本视频| 亚洲男人的天堂在线| 欧美一级理论片| 久久狠狠久久综合桃花| 欧美在线一二三| 久久精品国产在热久久 | 亚洲国产日韩一区| 亚洲欧洲日本一区二区三区| 亚洲人成网站精品片在线观看| 亚洲人成7777| 一区二区三区导航| 亚洲欧美日韩一区二区三区在线观看 | 一区二区三区免费网站| 亚洲欧美成人在线| 欧美一区二区三区四区在线 | 在线视频精品一| 亚洲免费在线电影| 欧美一区二区精品在线| 久久精品视频导航| 另类亚洲自拍| 欧美日韩一区二区三区免费看| 欧美视频日韩| 国产精品一区二区在线观看| 激情久久久久| 亚洲免费观看高清完整版在线观看熊 | 久久精品av麻豆的观看方式| 亚洲国产精品一区二区久| 亚洲毛片在线免费观看| 亚洲天堂男人| 久久精品夜夜夜夜久久| 欧美激情1区2区| 国产精品国产自产拍高清av| 国内揄拍国内精品久久| 亚洲人成7777| 亚洲欧美三级伦理| 亚洲黄色免费| 亚洲一区二区免费| 久久久久久**毛片大全| 欧美经典一区二区三区| 国产美女高潮久久白浆| 亚洲国产精品高清久久久| 伊大人香蕉综合8在线视| 亚洲二区三区四区| 亚洲图色在线| 亚洲欧洲偷拍精品| 亚洲欧美日本国产有色| 另类激情亚洲| 国产精品久久久久久av福利软件 | 国产精品卡一卡二| 激情欧美一区二区三区| 亚洲少妇诱惑| 亚洲国产精品美女| 亚洲一区观看| 蜜桃av噜噜一区| 国产精品视频一| 亚洲区一区二| 久久国产精品久久久久久久久久| 一本一本a久久| 久久久亚洲欧洲日产国码αv | 久久高清免费观看| 欧美日韩国产页| 好吊视频一区二区三区四区| 99国产精品久久久久久久久久| 久久精品亚洲国产奇米99| 在线亚洲国产精品网站| 久久日韩精品| 国产精品日产欧美久久久久| 亚洲国产欧美一区二区三区同亚洲 | 99在线精品视频| 久久免费99精品久久久久久| 欧美性开放视频| 亚洲高清久久久| 久久国产视频网站| 亚洲欧美区自拍先锋| 欧美喷水视频| 伊人婷婷欧美激情| 欧美一区二区三区男人的天堂| 中文亚洲视频在线| 欧美精品国产一区二区| 在线观看的日韩av| 欧美有码在线视频| 性欧美精品高清| 欧美午夜精品久久久久免费视| 亚洲二区三区四区| 亚洲电影专区| 久久精品国产成人| 国产麻豆精品视频| 亚洲一区日韩在线| 亚洲午夜一区| 欧美日韩免费观看一区| 亚洲国产精品久久| 亚洲欧洲一区二区在线观看| 久久久久久国产精品mv| 国产亚洲电影| 欧美亚洲网站| 久久久久久久久久久成人| 国产欧美在线观看一区| 日韩小视频在线观看专区| 裸体一区二区三区| 国产一区二区三区四区在线观看| 亚洲欧美视频在线| 午夜在线视频观看日韩17c| 国产精品成人午夜| 一区二区久久| 亚洲午夜女主播在线直播| 欧美色大人视频| 99热在线精品观看| 亚洲视屏在线播放| 欧美午夜性色大片在线观看| 亚洲免费久久| 亚洲一级片在线观看| 欧美性生交xxxxx久久久| 一区二区三区国产| 午夜精品久久久久久99热软件| 国产精品日韩精品| 亚洲欧美一区二区视频| 久久激情五月婷婷| 精品91在线| 亚洲欧洲一区| 欧美日韩精品在线| 夜夜爽av福利精品导航| 亚洲综合视频网| 国产欧美日韩精品一区| 欧美一级黄色录像| 老司机精品久久| 91久久精品国产91久久性色| 一区二区三区日韩| 国产精品视频在线观看| 欧美一区二区三区日韩视频| 久久人人97超碰国产公开结果| 136国产福利精品导航网址应用 | 欧美一级大片在线观看| 国产一区视频网站| 亚洲人成免费| 欧美丝袜第一区| 亚洲欧美日韩网| 久久美女性网| 亚洲九九精品| 欧美一级专区| 在线观看欧美黄色| 亚洲性线免费观看视频成熟| 国产精品一区二区在线观看网站| 久久精品国产免费| 亚洲第一在线| 久久久久久有精品国产| 国产麻豆精品视频| 亚洲激情视频| 国产精品久久久久aaaa九色| 久久不射2019中文字幕| 欧美成人久久| 亚洲淫片在线视频| 美日韩精品免费观看视频| 日韩亚洲精品在线| 久久久久.com| 日韩视频在线播放| 久久久久国产精品www| 亚洲人成网站在线播| 欧美在现视频| 亚洲国产精品va| 亚洲综合久久久久| 在线高清一区| 午夜视频在线观看一区二区三区| 精品粉嫩aⅴ一区二区三区四区| 亚洲一二三区精品| 欧美成人精品| 亚洲影音先锋| 欧美伦理一区二区| 欧美一级免费视频| 欧美视频中文字幕| 亚洲精品乱码久久久久久蜜桃91| 国产精品亚洲人在线观看| 亚洲精品免费在线播放| 国产精品日韩欧美一区| 一本色道久久综合亚洲精品婷婷| 国模私拍一区二区三区| 亚洲欧美激情四射在线日 | 久久精品成人| 国产精品久久久久久五月尺|