arm單片機范文

時間:2023-04-09 11:57:51

導語:如何才能寫好一篇arm單片機,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。

篇1

關鍵詞:arm; LM3S811; 微控制器; TH12864; 液晶顯示; 驅動程序

中圖分類號:TN873.93; TP271文獻標識碼:A文章編號:1004373X(2011)22006503

Design of Car Display System Based on ARM MCU

ZHANG Dong, QIN Changli, XIE Dadi, WU Xiaoru

(Collage of Physics and Electronic Information , Yan’an University, Yan’an 716000, China)

Abstract: In order to accomplish a design scheme of car display system, an implementation method of hardware and software is designed according to the main functions and characteristics of LCD module TH12864 and microprocessor LM3S811 in the series of ARMsR CortexTMM3 based 32bit microcontroller. The basic driver program are conveniently designed by using the Stellaris peripheral driver library function. The testing and verification results show that the functions of the driver program and display program are ideal. The hardware resources of microprocessor LM3S811 is rich and its software is easy to develop program. The developed display system can be conveniently transplant into other system.

Keywords: ARM; LM3S811; microcontroller; TH12864; LCD; driver program

收稿日期:201106160引言

8位的51單片機長期占據著微控制器(MCU)的主流市場,但隨著技術與需求的發展,32位微控制器應用增長率也在不斷攀升。目前,基于ARM內核的32位微處理器在市場上處于領導地位[12]。

基于ARM嵌入式處理器的片上系統解決方案可應用于企業應用、汽車系統,家庭網絡和無線技術等市場領域。ARM CortexTM系列提供了一個標準的體系結構來滿足以上各種技術的不同性能要求,基于ARM架構有3個分工明確的系列:A系列面向復雜的尖端應用程序,用于運行開放式的復雜操作系統;R系列針對實時系統;M系列專為低成本控制和微控制器應用開發。CortexM3是基于ARM架構的處理器,是專門為了在微控制器等對功耗和成本敏感的應用領域實現高系統性能而設計的,它簡化了可編程的復雜性,使ARM架構成為各種應用方案的良好選擇[3]。

Luminary Micro公司(已被TI公司收購) Stellaris提供一系列的微控制器是首款基于ARMsR CortexTMM3的控制器,它們為對成本尤其敏感的嵌入式微控制器應用方案帶來了高性能的32位運算能力。 這些具備領先技術的芯片使用戶能夠以傳統的8位和16位器件的價位來享受32位的性能。其中,LM3S811 微控制器正是針對工業應用方案而設計的,包括測試和測量設備、工廠自動化、建筑控制、運動控制、醫療器械、火警安防以及電力能源等[4]。

TH12864等圖形點陣液晶顯示器以其工作電壓低、功耗低、壽命長、不產生電磁輻射污染、可以顯示復雜的文字及圖形等優點, 已被廣泛應用在各種儀器儀表、電子設備和家用電器等領域[57]。

本文嘗試將基于ARM的LM3S811 微控制器與TH12864顯示模塊相結合的技術應用。

1系統硬件設計

1.1LM3S811主控芯片

本次系統硬件設計的主控芯片選擇TI公司LM3S811芯片[89],其電源電壓為3.3 V,最高時鐘頻率50 MHz,64 kHz的單周期FLASH;3個32位通用定時器,可分成6個16位定時器使用;一組同步串行接口(SSI),2個異步串行接口(UART);4通道模數轉換器(ADC),1組模擬比較器和I2C接口;3個脈寬調制信號(PWM)模塊,32個通用輸入輸出管腳(GPIO)及硬件看門狗等。LM3S811系統方框圖如圖1所示。

圖1LM3s811系統方框圖1.2TH12864顯示模塊

本次系統設計的顯示模塊選擇帶中文字庫的TH12864,其電源電壓為3.3 V。TH12864液晶顯示模塊是128×64點陣的漢字圖形型液晶顯示模塊,可顯示漢字及圖形,內置國標GB2312碼簡體中文字庫(16×16點陣)、128個字符(8×16點陣)及64×256點陣顯示RAM(GDRAM)。可提供8位并行及串行2種連接方式,具有多種功能:光標顯示、畫面移位、睡眠模式等。 其中TH12864的管腳功能如下:

1:VSS,地(GND);2:VDD,電源;3:V0,背光調節;4:CS,片選信號;5:STD,串行數據;6:SCLK,串行時鐘;14: DB0DB7,并行數據;15:PSB,串并口選擇,串行模式為低電平有效;17:/RST,復位;19:LEDA,背光正極;20:LEDK,背光負極[10]。

1.3LM3S811主控芯片與TH12864顯示模塊的連接

為節約系統硬件資源以便其他用途,故選擇TH12864顯示模塊為串行模式。則主控芯片LM3S811只需要占用3個GPIO管腳即可,保留PWM等用于小車驅動等,選擇與比較器和I2C復用的PB2,PB4和PB6,如圖2所示。

圖2LM3S811主控芯片與TH12864

顯示模塊的原理圖2系統軟件設計

系統軟件設計分為底層驅動程序、中層實現程序和上層應用程序。軟件以IAR集成開發環境為開發平臺,用C語言編寫,便于維護和移植[1112]。下面是部分源程序。

2.1 底層驅動部分

底層驅動程序完成的功能是實現TH12864的硬件時序[10]。

圖3TH12864硬件串行時序圖程序如下:

void Send(uchar type,uchar transdata)

{

Pretreatment(type,transdata);

GPIOPinWrite(LCD_12864_PORT, LCD_12864_CS, 0xFF);

GPIOPinWrite(LCD_12864_PORT, LCD_12864_SCLK, 0x00);

for(j=3;j > 0;j勃)

{

for(i = 8;i > 0;i勃)

{

if(ucSndtmp[j] & 0x80)

{GPIOPinWrite(LCD_12864_PORT, LCD_12864_SID, 0xFF); }

else

{GPIOPinWrite(LCD_12864_PORT, LCD_12864_SID, 0x00); }

GPIOPinWrite(LCD_12864_PORT, LCD_12864_SCLK, 0xFF);

ucSndtmp [j]

GPIOPinWrite(LCD_12864_PORT, LCD_12864_SCLK, 0x00);

}

SysCtlDelay(600 * (TheSysClock/ 3000000));

}

GPIOPinWrite(LCD_12864_PORT, LCD_12864_SID, 0x00);

GPIOPinWrite(LCD_12864_PORT, LCD_12864_CS, 0x00);

}

驅動程序先預處理3個字節要發送數據的具體內容,片選后,依次循環,按時鐘信號發送每個字節的每一位,其中延時不能省略。

2.2中層實現程序

中層實現程序完成主要功能是,按照TH12864的用戶指令集,用底層驅動程序發送指令,完成初始化、顯示、清除、設定等功能。例如初始化程序:

void Ini_Lcd(void)

{

SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);

GPIOPinTypeOut(LCD_12864_PORT ,

LCD_12864_CS|LCD_12864_SID|LCD_12864_SCLK );

SysCtlDelay(100 * (TheSysClock/ 3000)); //延時約100 ms

Send(0,0x30);/*功能設置:一次送8位數據,基本指令集*/

SysCtlDelay(72 * (TheSysClock/ 3000000)); //延時約72 μs

Send(0,0x02);/*DDRAM地址歸位*/

SysCtlDelay(72 * (TheSysClock/ 3000000)); //延時約72 μs

Send(0,0x0c);/*顯示設定:開顯示,不顯示光標,不

做當前顯示位反白閃動*/

SysCtlDelay(72 * (TheSysClock/ 3000000)); //延時約72 μs

Send(0,0x01);/*清屏,將DDRAM的位址計數器調

整為“00H”*/

SysCtlDelay(72 * (TheSysClock/ 3000000)); //延時約72 μs

Send(0,0x06);/*功能設置,點設定:顯示字符/光標

從左到右移位,DDRAM地址加1*/

SysCtlDelay(72 * (TheSysClock/ 3000000));//延時約72 μs

}

從前兩句可以看出LM3S811在設置GPIO時,比普通51單片機設置要簡單許多,無需記憶眾多的寄存器,由于廠家提供了Stellaris外設驅動庫函數,只要調用相應API接口函數即可,簡化了編程的復雜性,對于新學者也可以迅速上手編程工作。

2.3上層應用程序

在底層驅動程序和中層實現程序的基礎上,程序移植方便。可以根據系統需求完成字符、漢字和圖片等實際顯示內容。

圖4實際顯示效果圖此次系統實現了開機圖片顯示,歡迎詞和小車狀態的循環動態顯示,速度顯示及電子秒表等功能。

3結語

通過本次系統集成的設計、制作、調試和驗證,完成并實現了基于ARM單片機的小車顯示系統功能。實現了LM3S811對于TH12864顯示模塊的控制,其底層驅動程序可以供大家參考。在實現過程中發現,在硬件方面,LM3S811的主頻較高,運算能力較強,外設資源豐富。在軟件方面,由于廠家提供了Stellaris外設驅動庫函數,降低了編程的難度,可以快速上手工作。此外,本系統也可以推廣應用到其他小型儀表或設備顯示系統。

參考文獻

[1]寧殿燕,張仲禮,王繼礦,等.基于ARM Cortex M3內核礦井直流電法儀的研制[J].西安科技大學學報,2011(1):1115.

[2]崔琪琳,吳曉鳳.基于ARM的光源跟蹤系統的設計[J].電子測試,2011(2):6164.

[3]YIU Joseph.Cortex M3權威指南[M].北京:北京航空航天大學出版社,2010.

[4]Texas Instruments. StellarissR LM3S811 Microcontroller [EB/OL]. [20110109]. /stellaris.

[5]倪景峰,周騰,馬恒.SMC12864液晶顯示器在密閉監測系統中的應用[J].測控技術,2011,30(1):9799.

[6]辛阿阿,厲善亨.基于12864液晶模塊的動態波形顯示實現方法[J].儀器儀表用戶,2010,17(3):5657.

[7]宋穩力,陳昌旺,黃文婷.液晶顯示模塊YG12864A的接口設計[J].現代顯示,2005(6):3537.

[8]黃爭.德州儀器高性能模擬器件在高校中的應用及選型指南[M].上海:德州儀器半導體技術(上海)有限公司大學計劃部,2010.

[9]周立功.Cortex M3開發指南[M].廣州:廣州致遠電子有限公司,2008.

[10]深圳彩晶科技.12864中文字庫液晶顯示模塊使用手冊[EB/OL].[20090815]..

[11]王道新,熊祖彪,陳競,等.基于IAR集成開發平臺的ARM程序設計方法[J].電子設計應用,2005(10):102104.

篇2

關鍵詞:SDRAM;單片機;MK60DN512ZVLQ10;存儲管理;控制程序

中圖文分類號:TP368

隨著集成電路技術與工藝的發展進步,單片機應用領域也逐漸擴廣,進入到社會生產生活的方方面面。在某些成本敏感的應用場合迫切需要具有速度高、容量大的深度嵌入式系統,技術的進步,使得以低廉的價格獲得高性能,低功耗單片機成為可能。借助極高的接口速度,我們就可以使用普通GPIO口在沒有SDRAM控制器的廉價單片機上實現軟件驅動SDRAM。

1 硬件介紹

1.1 單片機

Kinetis系列是飛思卡爾(Freescale)公司于2010年下半年推出的業內首款基于ARM Cortex.M4內核的微控制器,K60系列是Kinetis系列的第一階段產品之一[1]。K60具有豐富的外設接口:(1)高速16位模數轉換器;(2)12位數模轉換器,帶有片上模擬電壓參考;(3)多個高速比較器和可編程增益放大器;(4)低功耗觸摸感應功能,通過觸摸能將器件從低功耗狀態喚醒;(5)多個串行接口,包括UART;(6)強大靈活的定時器;(7)片外系統擴展和數據存儲選項。

1.2 SDRAM

本文選用Hynix的H57V2562GTR-60C 256Mb SDRAM,其為4M x 4Bank x16bit組織結構。操作SDRAM的主要命令[2]有:

MRS (Mode Register Set,模式寄存器設置),

NOP (No Operation,空操作),BA(Bank Active,存儲器激活),RD(Read,讀,可設置是否自動預充電),WR(Write,寫,可設置是否自動預充電),PB(Precharge Bank,預充電存儲器,可設置全部/選定Bank),BS(Burst stop,停止突發傳輸),DQM(DQM,數據掩碼),AR(Auto Refresh,自動刷新),BRSW(Burst-Read Single-Write,突發讀單一寫),SR(Self Refresh,自刷新,進入/退出),PPD(Precharge Power Down,掉電預充電,可設置進入/退出),CSS(Clock Suspend,時鐘掛起可設置進入/退出)。

1.3 顯示器LCD及攝像頭Ov7725

本文選用2.4英寸240*320像素LCD作為顯示器,攝像頭采用Ov7725。

2 硬件連接

2.1 MCU與SDRAM接口

SDRAM需要一組16位寬的接口進行數據傳輸,13位寬的接口進行地址設定,兩根Bank選擇線,CS,CLK,CKE,WE,CAS,RAS,LDQM,UDQM各一根。K60的C口和E口均為完整16位口,可以用作地址線和數據線接口,剩余控制線使用單片機未用接口即可。

2.2 MCU與LCD接口

該LCD控制器一共需要13根控制線,其數據線需要一個完整的8位口,接在K60的口8至15位,剩余控制線使用單片機未用接口即可。

2.3 MCU與Ov7725接口

Ov7725[3]是一片CMOS的集成圖像傳感器,一共需要13根控制線,其數據線需要一個完整的8位口,接在K60的B口0至7位,剩余控制線使用單片機未用接口即可。

3 軟件設計

3.1 SDRAM底層驅動構件

本層構件的功能是以軟件方式實現基本的內存命令,為上層軟件提供服務。主要函數原型和說明如下所述:

GPIO_Initial()初始化驅動SDRAM的GPIO口;MRS(u16 mode)設置模式寄存器,參數mode為模式寄存器控制字;BA(u8 bank,u16 addr)激活BANK,發送行地址,參數bakn為BANK編號,address為行地址;RD(u8 bank,u16 addr,u8 AutoPreCharge)讀取指定地址處數據,參數bank為BANK編號,addr為列地址,AutoPreCharge表示是否自動預充電;WR(u8 bank,u16 addr,u8 AutoPreCharge)在指定地址處寫入,參數bank為BANK編號,addr為列地址,AutoPreCharge表示是否自動預充電;PBAll()給所有BANK預充電;PBOne(u8 bank)給選定BANK預充電,參數bank為BANK編號

AR()自動刷新;SREntry()自刷新進入;SRExit()自刷新退出;NOP()空操作;CLK_Count(u16 total),參數total是向SDRAM傳送的有效時鐘數;Initial()SDRAM初始化函數;NOP_Read()空操作讀;NOP_Write()空操作寫;NOP_Burst()空操作突發讀寫。

其中,NOP_Write函數在給SDRAM產生有效時鐘信號的同時自動將緩沖區第一個字放到數據線上;NOP_Read函數在給SDRAM產生有效時鐘信號的同時自動將地址線上的一個字取回放到緩沖區。NOP_Burst函數根據突發讀寫標識(Burst Flag),為1時,從緩沖區第二個字開始依次將余下的字放到地址線上,為0時,從地址線上取回指定字數存放到緩沖區從第二個字開始處,并給SDRAM產生有效時鐘信號。其執行方式如圖1所示。

3.2 SDRAM中間級基本讀寫功能構件設計

本層構件的功能是實現SDRAM單個字(WORD)讀寫,以及突發讀寫功能,能夠將SDRAM的物理地址轉換為線性邏輯地址,并完成定時自動刷新。為實現以上功能,定義一些全局變量,下面將說明。Buffer類型為unsigned short int*,長度16字節,在內存讀寫時作為數據交換區域。BurstFlag類型為Unsigned char,長度1字節,其值0為突發讀,1為突發寫。BurstLength類型為Unsigned char,長度1字節,指明突發長度。

首先為保持SDRAM內數據不丟失,必須在64ms以內進行一次刷新操作。在K60的中斷定時器(PIT)中開啟一個周期中斷通道,設置其周期小于64ms即可,在其終端服務函數中調用自動刷新函數AR,然后再調用CLK_Count以產生數個自動刷新節拍,這樣自動刷新功能就完成了。

單個字讀、寫(函數名定義為Read_Word和Write_Word)實現過程類似。由于系統中存在周期中斷,并且該中斷同是對SDRAM進行操作的,所以在進行讀寫之前,必須先關閉周期中斷,以保證操作進行的正確性。緊接著便可以執行相應讀取或寫入操作。

當為讀取操作時,先調用Bank激活命令BA同時傳入相應Bank編號和行地址;然后調用CLK_Count,給SDRAM發送幾個有效時鐘,具體有效時鐘數量,視存儲器芯片和設定的RCD周期而定,完成行選通到列選通延遲;然后調用RD讀函數,并傳入相應的列地址;然后調用CLK_Count,給SDRAM發送幾個有效時鐘,具體有效時鐘數量,視存儲器芯片和CL周期而定,這段時間為讀取潛伏期;之后便可以調用NOP_Read,將數據線上的一個字取回緩沖區,開啟周期中斷后就可以返回給主函數調用者了。

當為寫入操作時,先從緩沖區取出欲寫入的一個字放到數據線上,然后調用Bank激活命令BA同時傳入相應Bank編號和行地址;然后調用CLK_Count,給SDRAM發送幾個有效時鐘,具體有效時鐘數量,視存儲器芯片和設定的RCD周期而定,完成行選通到列選通延遲;然后調用WR讀函數。需要注意的是,這里與讀取操作不同,并不存在潛伏期,也就是說此時欲寫入的數據已經在SDRAM里等待被寫入了,只需要短暫的寫回延時即可。為與讀操作函數對稱,使程序結構易于被程序員讀懂,本文仍以NOP_Write函數形式實現寫回延時。至此寫入操作便完成,將周期中斷打開即可。圖2是單個字讀寫函數的流程圖,右為寫,左為讀。

對于突發讀和突發寫,只要在進行讀寫前設置突發讀寫標識BurstFlag為突發讀(值為0)、突發寫(值為1),將單個字讀寫函數中相應的NOP_Read、NOP_Write更改為NOP_Burst,并計算好NOP_Burst的數量即可。

3.3 SDRAM內存管理模型設計

本文使用鏈表式的內存管理算法[4]來管理系統上掛載的容量為32M字節SDRAM存儲器。該SDRAM的組織結構為4Bank×213行×29列×16位,因此本文將動態內存塊大小設置為1K字節,剛好是一行中所有存儲體的總容量。這樣就32M字節存儲器將被劃分為131072個存儲塊。顯然即便是每個存儲塊只用一個字節記錄相關信息,對于單片機來說開銷也是巨大的,K60DN512單片機配備了128KB的SRAM,盡管在深度嵌入領域這個容量已經相當大,也是不夠用的。因此需要設計一種算法用來動態創建和刪除鏈表中的節點,控制鏈表中節點的數量,來完成SDRAM存儲管理。

每一個內存(指系統掛載的SDRAM存儲器,下同)塊對應一個節點,該節點的結構定義如下:

typedef struct BlockNode

{ unsigned long int BlockAddr; unsigned char State;

struct BlockNode *left;

struct BlockNode *right;

} BNode, *pBNode;

BlockAddr存儲該內存塊的首地址,State標記該內存塊是否被分配,值為0未被分配,其他值已被分配,left存儲左邊一個節點指針,right存儲右邊一個節點指針。

該結構體占據13個字節存儲量,若在單片機上用13KB存儲器來存儲該鏈表則可以方便管理1MB的SDRAM存儲器,還是非常劃算的。

本文采用就大法分[5]配動態分配內存塊。其算法流程圖3所示。

回收內存的算法相對簡單,只需要根據需要回收的內存塊首址刪除掉相應節點即可。

3.4 系統整體設計

在完成了所有基本構件的設計以后,便可以進行系統整體設計了。這只需要調用基本構件初始化函數,按照一定時序建立服務函數即可,系統啟動流程如圖4所示。

4 系統性能測試

本文以多種方式測試了該系統對SDRAM讀寫數據的能力,測試結果如表1所示。

由實際測試數據可知,突發傳輸可得大大提高SDRAM的讀寫速度。

5 應用舉例

在深度嵌入的單片機上實現高速圖像采集、存儲、處理、顯示是比較困難的,其原因在于MCU運算速度有限,存儲容量有限。該系統采用的K60單片機已經具有DSP處理器,可以實現對大量數據的高速處理。

在場終端到來時設置行計數為0并打開場中斷,在行中斷到來時開啟DMA,跟隨PCLK時鐘采集640字節數據,DMA操作結束后對行計數執行加1操作,判斷行計數有沒有達到240,如果達到240,關閉行中斷并設置行計數為0,否則跳過此步驟繼續執行將640字節數據存入SDRAM。在主函數中讀取SDRAM中存儲的數據發送到LCD上顯示便實現了動態顯示。主函數中也可以對SDRAM中存儲的數據進行處理變換后再重組發送到顯示器或作他用。

6 結語

在深度嵌入的現代生活中,單片機的速度越來越快,人們對存儲容量的需求也越來越大,相對于花費大量資金購買一塊昂貴的帶有SDRAM控制器的MCU,本文介紹的GPIO口控制和管理SDRAM具有設備簡單,技術門檻低,開發周期短的優點。系統有待改進的地方在于可移植性不夠強,通用性不夠好,從編程角度看,最基本的指針訪問內存的方式必須以函數代替,這樣無法實現某些算法。該系統適合數據量大,對數據存取速度要求高,頻繁改寫數據的系統,比如在圖像采集系、處理等系統。

參考文獻:

[1]王宜懷,吳瑾,蔣銀珍.嵌入式系統原理與實踐[M].北京:電子工業出版社,2012:22-35.

[2]金新強,白雪飛,張璠.一種DDRSDRAM控制器的設計[J].微型機與應用,2013,32(8):23-25.

[3]任志敏.一種基于OV7725的圖像實時顯示系統設計[J].福建電腦.2013,29(1):128-130.

[4]張榮華,田澤,韓煒.基于鏈表的動態存儲器管理設計與實現[J].計算機技術與發展.2011,21(7):250-253.

篇3

    書代號書 號書  名作  者定 價出版 日期內容簡介頁 碼

    B17150715-9嵌入式系統設計與實踐張曉林估29.0預計2005.10

    B17210721-1嵌入式實時操作系統μC/OS-II原理及應用任  哲22.02005.086

    B16530653-3ARM9嵌入式技術及Linux高級實踐教程陳  賾32.02005.076

    B16020602-9ARM嵌入式技術實踐教程   陳  賾29.02005.026

    B15770577-4ARM嵌入式系統基礎教程周立功32.02005.017

    B17290729-7ARM嵌入式系統實驗教程(二)周立功估29.02005.097

    B17260726-2ARM嵌入式系統實驗教程(三)周立功估29.0即將出板7

    ARM嵌入式系統實驗教程(三)--擴展實驗周立功估29.0即將出板8

    B16480648-7嵌入式系統開發與應用教程田  澤35.02005.038

    B14860486-7嵌入式系統開發與應用實驗教程  (第2版) (含光盤)田  澤29.52005.048

    B15800580-4嵌入式實時操作系統及應用開發羅  蕾34.02005.019

    B14800480-8嵌入式控制系統及其C/C++實現 --面向使用MATLAB的軟件開發者  (含光盤)駱麗 譯32.02005.049

    二、 ARM、SoC設計、IC設計及其他嵌入式綜合類

    代書號書 號書  名作 者定 價出版 日期內容簡介頁 碼

    源碼開放的嵌入式實時操作系統T-Kernel周立功 等譯估50.0預計2005.099

    B16300630-4嵌入式Ethernet和Internet通信設計技術駱麗 譯估28.0預計2005.1110

    B16290629-0嵌入式系統實時多線程--基于ThreadX和ARM張炯 譯估35.0預計2005.1110

    B17250725-4μC/OS ARM移植要點詳解黃燕平估32.0預計2005.1110

    B17190719-X從51到ARM--32位嵌入式系統入門趙星寒估38.0預計2005.1010

    B13590359-3嵌入式系統詞典馬廣云譯2005.0811

    B17100710-6ARM微控制器基礎與實戰  (第2版)周立功43.02005.0811

    B16740674-6ColdFire系列32位微處理器與嵌入式Linux應用  (含光盤)李晶皎39.52005.0611

    B16730673-8深入淺出ARM7--LPC213x/214x(上)周立功45.02005.0711

    B16520652-5ARM嵌入式系統開發--軟件設計與優化沈建華譯75.02005.0512

    B14300430-1MIPS處理器設計透視 (See MIPS Run)趙俊良譯55.02005.0612

    B16000600-2AT91系列ARM微控制器體系結構與開發實例朱義君34.02005.0412

    B15410541-3嵌入式系統開發與應用田  澤54.02005.0113

    B15830583-9ARM嵌入式系統軟件開發實例 (一)周立功56.02005.0113

    B15580558-8嵌入式系統設計與開發實例詳解 --基于ARM的應用胥  靜43.02005.0113

    B15510551-0大型RISC處理器設計--用描述語言Verilog設計VLSI芯片   (含光盤)田澤 譯39.02005.0113

    三、 DSP

    代書號書 號書  名作 者定 價出版 日期內容簡介頁 碼

    B17220722-X高性能工業控制DSP--ADSP 2199x原理及應用  (含光盤)王曉明估39.02005.0914

    B15480548-0電機的DSP控制技術及其應用謝寶昌39.02005.0314

    B16060606-1DSP技術原理及應用教程劉艷萍26.02005.0314

    四、 單片機

    代書號書 號書  名作  者定 價出版 日期內容簡介頁 碼

    4.1  選編及器件手冊

    B15420542-1單片機應用技術選編 (11)   何立民69.02005.0915

    B17200720-3單片機外圍器件實用手冊 --數據傳輸接口器件分冊 (第2版)                                           鄔寬明估59.52005.0915

    B14650465-4單片機外圍器件實用手冊 --輸入通道器件分冊  (第2版)                                       紀宗南59.02005.0715

    4.2  PIC單片機

    B16540654-1高職高專通用教材--PIC單片機基礎教程丁躍軍22.02005.0715

    B15650565-0PIC18Fxxx單片機程序設計及應用 (含光盤)劉和平29.02005.0316

    B15430543-XPIC單片機C語言開發入門 (含光盤)武  鋒29.02005.0216

    4.3  AVR單片機

    B17240724-6AVR單片機GCC程序設計  佟長福估28.02005.1016

    B15660566-9AVR單片機高級語言BASCOM程序設計與應用張茂青22.02005.0116

    B15710571-5高檔8位單片機Atmega128原理與開發應用指南(上)馬  潮34.02005.0117

    4.4  其他單片機圖書

    單片機初級教程--單片機基礎   (第2版)       張迎新預計2005.11

篇4

關鍵詞:單片機;發展趨勢;電子技術

中圖分類號:TP368.1 文獻標識碼:A 文章編號:1674-7712 (2012) 14-0030-01

一、前言

單片機又被稱為微控制器,被廣泛地應用到了工業控制領域上,對于電子技術的發展起到了極為重要的作用。雖然只是集中在一塊芯片上,但是單片機是一個完整的計算機系統,具有定時器、通訊接口、外存、外部總線系統、中斷系統、內部總線系統、內存、CPU等,甚至還有些單片機還集成了網絡、圖像、聲音的輸出輸入系統。從最早的4位、8位單片機開始,目前已經發展到32位300M的高速單片機[1]。

現代人們的生活中離不開單片機的身影,無論是機械產品,還是電子產品,幾乎都會集成有單片機。汽車配備40多部單片機,而鼠標、鍵盤、手機、掌上電腦、電子玩具、電話、家用電器、計算器等都配有1-2部單片機,對于那些較為復雜的工業控制系統而言,甚至會有數百臺、數千臺單片機在同時工作。可以這么說,單片機的數量甚至比人類的數量還要多[2]。

二、單片機在電子技術中的應用范圍

(一)單片機在智能儀器儀表上的應用

單片機以使用方便、擴展靈活、微型化、體積小、可靠性高、速度快、控制功能強、集成度高等諸多優點,也被廣泛應用于智能儀器儀表領域。單片機的出現有效地促進了儀器儀表向柔性化、智能化、綜合化、多功能化、數字化方面轉化,將過去傳統的控制儀器儀表、測量儀器儀表完全顛覆,由單片機構成的智能儀表集控制、處理、測量等多種功能于一體,較過去的數字電路和電子電路而言,顯得更加的強大有用,給儀器儀表的發展打下了堅實的基礎。例如,東芝首款基于ARM Cortex(TM)-M0內核的單片機TMPM061FWFG,通過內置高精度AD轉換器優化了智能電表性能,這是一款全新的32位RISC微控制器,這款全新的TMPM061FWFG是東芝公司首款Cortex?-M0器件,專為智能電表而設計。它為智能電表的設計提供了單芯片解決方案,它整合了高精度24-位Delta-Sigma AD轉換器,一個功率計算引擎及內置了其它特殊功能IP。ARM Cortex?-M0是ARM公司推出的最小型處理器,它具有非常小的芯片面積、極低功耗、最少代碼量的特點,但它的制造成本卻與傳統的8位或16位MCU相同。ARM公司具有大量的應用軟件和統一的開發環境,這也有助于節省開發成本,內置了一個非常精確的實時時鐘,該時鐘可通過其內置溫度傳感器調節溫度補償,調節精度可達0.5ppm 。采用3個高精度24-位Delta-Sigma AD轉換器可同時測量交流電源的電流和電壓。

(二)單片機在工業控制中的應用

由于單片機可以構成形式多樣、各具特色的數據采集系統和控制系統,故其被廣泛應用于工業控制領域,例如各種報警系統控制、電梯智能化的控制、自動化儀表控制、安全閥控制、自動化流水線的智能化管理等。

(三)單片機在家用電器中的應用

單片機目前已經被大量應用于家用電器的市場開拓和更新中。如根據對象的情景模式、周圍環境來將光圈速度進行自動調節的攝像機和照相機 ;可以根據食物種類來選擇加熱時間、加熱溫度的微波爐; 可以自動選擇冷藏時間、冷藏溫度,有效識別食物保鮮程度、食物種類的冰箱;可以根據臟物程度、衣物種類來自動選擇洗滌強度、洗滌時間的洗衣機;由單片機控制的高級電視游戲機、電子玩具等。與此同時,隨著單片機的技術不斷成熟和發展,家用電器的性能價格都得到了很大的提高[3]。

(四)單片機在醫用設備領域中的應用

隨著人們生活水平的快速提高,人民對于醫療衛生和自身健康的關注度也日益增加,醫療設備滅菌消毒就顯得尤為重要,但是一些小診所、小醫院的自動化的程度太低,消毒滅菌設備極為簡陋,很難有效控制消毒滅菌的質量。而單片機由于使用方便、擴展靈活、功能強、體積小的特點,正在逐漸地在醫用設備領域得到了大量的應用,如病床呼叫系統、監護儀、超聲診斷設備、分析儀、醫用呼吸機等等。

(五)單片機在汽車電子領域中的應用

汽車電子中應用到單片機的地方非常廣泛,例如胎壓檢測、制動系統、abs防抱死系統、GPS導航系統、發動機智能電子控制器等。例如豐田汽車利用單片機來進行雷達探測行人、障礙物,系統通過剎車和方向控制車體。在遇到緊急剎車也難以避開行人或障礙物時,自動控制系統可改變車體方向,從而避開沖撞。

三、單片機的發展趨勢

(一)微型單片化

目前所用的單片機都將時鐘電路、定時電路、中斷系統、串行通信接口、并行通信接口、中央處理器(CPU)、只讀程序存儲器(ROM)、隨機存取數據存儲(RAM)集成在一塊芯片上,而單片機的發展趨勢正朝著微型化的方向發展,具有的功能更加強大,所包含的單元電路更加多,甚至還包括了LCD(液晶)驅動電路、WDT(看門狗)、PMW(脈寬調制電路)、A/D轉換器等,另外,功耗還更低、重量更輕、體積更小。

(二)低功耗CMOS化

我們目前所大量使用的單片機功耗大概都在100 MW左右,而最早的單片機功耗大概在630 MW左右。而且單片機的發展趨勢是朝著低功耗的方向大力發展。目前互補金屬氧化物半導體工藝就是一種有效地減少單片機功耗的工藝技術,更加適合于要求低功耗如電池供電的應用場合。

參考文獻:

[1]吳巖.單片機在電子技術中的應用和開發技術研究[J].黑龍江科技信息.2011(09):112-115.

篇5

【關鍵詞】Proteus;單片機;仿真;ARM7

ARM處理器是一種低功耗高性能的32位RISC處理器,ARM處理器是一個綜合體,ARM公司自身并不制造微處理器,而是同ARM的合作伙伴來制造,作為SOC(System On Chip)的典型應用,目前,基于ARM的處理器以其高速度、低功耗等諸多優異的性能而得到非常廣泛的應用。

1.ARM7處理器特性及其應用領域

ARM7系列微處理器為低功耗的32位RISC處理器,最適合用于對價位和功耗要求較高的消費類應用。ARM微處理器及技術的應用幾乎已經深入到各個領域:

(1)工業控制領域

作為32的RISC架構,基于ARM核的微控制器芯片不但占據了高端微控制器市場的大部分市場份額,同時也逐漸向低端微控制器應用領域擴展,ARM微控制器的低功耗、高性價比,向傳統的8位/16位微控制器提出了挑戰;

(2)無線通訊領域

目前已有超過85%的無線通訊設備采用了ARM技術,ARM以其高性能和低成本,在該領域的地位日益鞏固;

(3)網絡應用

隨著寬帶技術的推廣,采用ARM技術的ADSL芯片正逐步獲得競爭優勢。此外,ARM在語音及視頻處理上行了優化,并獲得廣泛支持,也對DSP的應用領域提出了挑戰;

(4)消費類電子產品

ARM技術在目前流行的數字音頻播放器、數字機頂盒和游戲機中得到廣泛采用;

(5)成像和安全產品

現在流行的數碼相機和打印機中絕大部分采用ARM技術。手機中的32位SIM智能卡也采用了ARM技術[2]。

2.Proteus和NXP LPC2106簡介

2.1 Proteus軟件簡介

Proteus是英國Lab-center Electronics公司開發的電子電路實物仿真軟件,它是完整的嵌入式系統軟、硬件設計仿真平臺,包括原理圖輸入系統ISIS、帶擴展的ProSpice混合模型仿真器、動態器件庫、高級圖形分析模塊和處理器虛擬系統仿真模型VSM(Virtual Simulation Model)。

Proteus可以實現模擬電路、數字電路、微控制器系統電路以及混合電路系統的電路仿真、軟件仿真,系統協同仿真和PCB設計等功能。Proteus支持主流單片機系統與各種常見的芯片的仿真,目前支持的單片機類型有:68000系列、8051系列、AVR系列、LPC21xx系列、PIC16系列等。本文提出的虛擬ARM實驗平臺采用NXP公司的LPC2106作為核心部件[3]。

2.2 NXP LPC2106簡介

LPC2106是Philips公司推出的一款基于ARM7TDMI-S的32位微控制器,帶有128KB的片內高速Flash存儲器和64KB的片內SRAM,與片內存儲器控制器接口的ARM7局部總線、與中斷控制器接口的AMBA高性能總線(AHB)和連接片內外設功能的VLSI外設總線(VPB)。128位寬度的存儲器接口和獨特的加速結構使32位代碼能夠在最大時鐘頻率下運行。LPC2106具有非常小的尺寸和極低的功耗,因此它們非常適合于那些小型化作為主要需求的應用,帶有寬范圍的串行通信接口(雙UART、SPI、IIC),由于片內SRAM具有大的緩沖區規模和強大的處理能力,而多個32位定時器、PWM輸出和32個GPIO使它們特別適用于工業控制和醫療系統[4]。

3.Protues下ARM7的典型實驗

3.1 外部中斷實驗

LPC2106具有17個中斷通道,可將它們設置為FIQ、向量IRQ和非向量IRQ,通過編程不同設的向量IRQ中斷優先級,可以實現動態調整。FIQ中斷優先級最高,向量IRQ具有中等優先級,非向量IRQ的優先級最低。

實驗任務:

結合相關寄存器的使用方法、VIC基本操作步驟和LPC2106外部中斷寄存器,使用外部中斷0和中斷1控制8位流水燈流動方向。當KEY0按下時,D0~D7閃爍3次,由D0向D7流動。當KEY1按下時,D0~D7閃爍3次,由D7向D0流動。

3.2 矩陣鍵盤實驗

判斷鍵盤中有無鍵按下:將全部行線置低電平,然后檢測列線的狀態。只要有一列的電平為低,則表示鍵盤中有鍵褲按下,而且閉合的鍵位于低電平線與行線相交叉的按鍵之中。若所有列線均為高電平,則鍵盤中無鍵按下。

判斷閉合鍵所在位置:在確認有鍵按下后,即可進入確定具體閉合鍵的過程。其方法是依次將行線置為低電平,即在某根行線為低電平時,其他線為高電平。在確定某根行線位置為低電平后,再逐行檢測各列線的電平狀態。若某列為低,則該列線與置為低電平的行線交叉外的按鍵就是閉合的按鍵。

實驗任務:

根據矩陣鍵盤掃描原理,設計4×4鍵盤,使用中斷方式讀取,并用2位數碼管顯示鍵值。

4.結束語

通過本文的介紹,我們知道Proteus是一種混合電路仿真工具,既可以仿真模擬電路又可以仿真數字電路以及數字、模擬混合電路。可以仿真各種電路和集成IC,支持多種型號單片機,元件庫齊全,使用方便。充分體現了使用用Proteus做單片機仿真實驗的諸多優點,譬如速度快,程序修改、編譯后馬上就可以看到效果,不需要拔片、寫片、插片這些過程,提高實驗效率;方便直觀形象,硬件電路隨時可以進行更改,教學演示非常容易;不受時間和空間的限制,可自主設計和驗證方案,有利于系統、科學、有效地培養科研工作者的專業實踐能力[5,6]。

參考文獻

[1]朱清慧,張風蕊.Proteus教程:電子線路設計、制版與仿真[M].清華大學出版社,2008.

[2]陳家義.基于Proteus的ARM虛擬實驗平臺[J].學周刊,2011(10).

[3]楊增汪,戴新宇,李貴明.基于Proteus的嵌入式系統虛擬開發[J].機電產品開發與創新,2010(03).

[4]孫立香.Proteus和Keil軟件在單片機中的應用[J].科技資訊,2009(36).

[5]金輝,董全成,馮安.PROTEUS在實驗教學中的應用分析[J].科技信息,2009(24).

篇6

關鍵詞:日立SH3; SH3單片機; 單片機最小系統; 32位處理器

中圖分類號:TN91934文獻標識碼:A文章編號:1004373X(2012)06001504

Establishment for least system of Hitachi SH3 MCU

GUO Deqiang1, ZHANG Huapeng2

(1. Henan Ureika Systems Engineering Ltd, Zhengzhou 450001, China;

2. Luoyang Institute of Science and Technology, Luoyang 471023, China)

Abstract: In order to give the relevant Chinese engineers another choice and make them to master the Hitachi SH3 series processor to empolder some applied products when ARM processors have been almost monopolized the Chinese market of 32bit processors, the least system of Hitachi SH3 series MCU was built by means of HD6417708S MCU in Hitachi SH3 series, and the serial communication experiment was conducted by utilizing a serial port module of MCU. The experiment achieved the anticipated result. It shows that the least sysem of Hitachi SH3 seres MCUs works normally and is reliable.

Keywords: Hitachi SH3; SH3 MCU; least system of MCU; 32bit processor

收稿日期:201109210引言

SH系列是日本日立公司推出的32位高檔的、RISC型單片機系列,到現在為止,已經推出了6種類型的單片機系列:基本型的SH1,改進型的SH2,低功耗的SH3,增強型的SH4,以及和DSP結合的SH2DSP和SH3DSP。

SH3系列是低功耗型SH處理器,高性能RISC結構,在時鐘133 MHz時,性能可以達到173 MIPS。在2.25 V工作時,功耗為400 mW。SH3的SH7709,其消耗功率每瓦運行的指令數達到315 MIPS,能源利用效率很高。它內部集成了32位乘法器、4路8 KB CHACHE、存儲器管理單元MMU、一些通用內部控制模塊和外部接口模塊。其性能可以與ARM公司的ARM9系列處理器相媲美,在世界的嵌入式領域占有很大的份額,但是由于SH3系列單片機在國內可參考的資料有限,技術支持不到位等種種原因致使ARM系列幾乎獨霸國內32位處理器市場。SH3系列處理器無法在國內發揮它強大的功能。本文介紹了如何用HD6417708S 型號SH3單片機從硬件到軟件從無到有建立起SH3系列單片機最小系統,并用系統的串口模塊來驗證系統能否正常運行。有了這個最小系統平臺開發人員只要在系統中添加自己需要的功能模塊就可以開發出需要的產品,在ARM一通天下的形勢下給國人增加一個選擇方向,同時對于嵌入式領域正從零開始研究某款處理器的開發人員也有一定的借鑒之處。

1最小系統的整體介紹

用HD6417708S 型號SH3單片機建立的最小系統的結構框圖如圖1所示。此最小系統包括MCU(HD6417708S)、電源模塊、存儲器模塊、MCU輔助電路,為了可以直觀地看到系統能夠正常運行增加了串口通信模塊用于演示。

圖1最小系統的結構框圖2硬件平臺的搭建

2.1電源模塊

“HD6417708S”單片機理想的工作電壓是3.3 V, 上下可以有0.3 V的波動,存儲器與串口芯片都支持3.3 V供電。在此的電源模塊是以DCDC開關電源芯片“1CZ21H”為核心的一個單片開關電源電路,DC8VDC28V輸入,3.3 V供電時可以提供1.5 A的電流,電路原理如圖2所示。

圖2電路原理圖2.2串口通信模塊[1]

該模塊分別用到MD2/RXD(84管腳),MD1/TXD(85管腳),MD0/SCK(86管腳)3個管腳,并且

他們都屬于功能復用管腳。當3個管腳作為MD0,MD1,MD2功能管腳時為模式選擇控制管腳,復位時它們的狀態決定了時鐘電路的設置,對應關系可參考參考文獻\[1\]。

系統正常運行以后時鐘模式控制功能已經完成了,如果系統要用串口功能時就可以用 RXD(84管腳)、TXD(84管腳)進行全雙工通信。現在問題是硬件怎么設計能同時滿足這2種功能。在此提供2種方案:

方案1:串口芯片使用MAX3223芯片,這款芯片有功能使能管腳,如果芯片沒有使能時芯片管腳處于高阻狀態。提供的方案框圖如圖片3所示:當系統復位時讓MAX3223處 于不使能狀態,MAX3223的RXD、TXD引腳處于高阻狀態,添加輔助電路就可以隨心所欲的給SH7708單片機提供模式控制信號了。當系統運行起來時SH7708肯定會通過 Area0的片選信號CS0訪問Area0區的ROM,所以CS0是否出現低脈沖可以作為系統是否已經運行的標志信號,將CS0信號送給模式控制輔助電路,一旦檢測到CS0低脈沖就讓模式控制輔助電路輸出變為高阻狀態,同時使能MAX3223芯片就可以了。模式控制圖3中方案1模塊用一個組合邏輯門和一個觸發器就可以實現功能。

方案2: 采用CPLD將單片機和串口芯片隔開。這樣就可以隨心所欲地控制了,具體方案如圖4:由于在系統中還用到了CPLD的其他資源,所以選擇了這種方案。如果系統沒有在其他功能中用到CPLD的話建議用方案1,因為方案1成本會低很多。

2.3存儲器模塊[1]

SH3單片機內部沒有ROM空間,系統必須在外部總線上連接ROM存儲器。SH3單片機總線采用地址總線與數據總線分離的設計模式,地址總線最大支持64 MB存儲空間。滿足這種總線模式的ROM都可以使用(SH3單片機內部沒有NAND FLASH控制器,所以不要選擇NAND FLASH存儲器)。由于一條指令占16 b空間,所以選一片 8 MB 16位位寬的 FLASH存儲器 LH28F640BFN。

SH3系列處理器內部嵌有8 KB CACHE,在不使用緩存功能時有 4 KB CACHE空間可以當作一般的RAM使用。由于本次只是討論最小系統的建立,程序比較簡單,4 KB空間足以。在后續介紹比較大的運用時會介紹系統連接的SDRAM存儲器,在以后其他文章中討論。

圖3方案框圖(一)圖4方案框圖(二)2.4MCU輔助電路[1]

(1) 復位電路:HD6417708S單片機需要最短為10 ms的低電平復位信號,如果你的系統中其他芯片也需要Reset信號時請綜合考慮一下復位信號的長度與電平。本系統的復位電路采用了一款集復位與看門狗電路于一身的“1075”復位芯片。

(2) 時鐘電路:HD6417708S單片機的時鐘模塊有2個管腳:EXTAL(79)和XTAL(80)。如果想用無源晶振的話將晶振連到EXTAL和XTAL之間,兩管腳對地各接一個18 pF的電容就可以了。如果想用有緣晶振的話將晶振的時鐘輸出管腳接EXTAL管腳就行了。

(3) PLL模塊輔助電路:HD6417708S單片機鎖相環電路要求在管腳74,管腳77分別對地接一個470 pF的電容。

(4) 幾個特殊管腳的處理管腳87為 Bus requst輸入功能管腳,如果系統正常運行時給這個管腳加一個低電平信號,單片機會釋放總線。如果您的系統有多個處理器需要共用總線時通過對這個管腳的合理控制可以實現總線分配,如果系統不用單片機釋放總線時就可以給這個管腳加一個10 kΩ的上拉電阻,這個管腳一定不要懸空。

管腳89~管腳93為外部中斷輸入管腳。管腳89為管腳NMI(非屏蔽中斷),為邊沿觸發中斷。

管腳90~管腳93為可屏蔽中斷管腳,為電平觸發中斷。這些管腳都不能懸空,如果沒有用到要將這些管腳各加上10 kΩ的上拉電阻就可以了。

管腳94是一個PCMCIA總線控制的管腳如果沒用到這種存儲器的話就可以加上10 kΩ的上拉阻就行了,不會影響其他部分。

MD3(管腳103)、MD4(管腳104)、MD5(管腳130)是3個模式控制引腳。MD3,MD4控制著Area0的總線寬度,對應關系請參考參考文獻\[1\]。

MD5復位時的狀態告訴單片機總線上的存儲器中數據(包括code和data)的存儲方式,復位時MD5為零時說明存儲器中的數據是按大端模式存放的,復位時存儲器中的數據應選擇小端模式。

wait(管腳132)是一個等待請求管腳,低電平有效。當處理器的訪問速度超過外部設備的反應速度時可以將這個管腳置低讓處理器進行等待。如果系統的外部設備足夠快不用這個功能的話要加一個弱上拉電阻,絕對不能懸空或接地。自此,帶監視串口的HD6417708S單片機最小系統硬件平臺就搭建好了,編寫相關軟件就可以讓系統運行起來。

3軟件平臺的搭建

SH3系列單片機的開發環境是由日本瑞薩公司專門提供的“Highperformance Embedded Workshop” [2]軟件,有很多版本,在瑞薩公司的網站上可以下載,我下的是“shv9200_ev.exe”版本。

首先安裝HD6417708S單片機的開發工具“Highperformance Embedded Workshop”軟件,安裝完成以后會在程序目錄里出現一個“Renesas”安裝程序,里面的“Highperformance Embedded Workshop”圖標就是開發軟件的圖標。

建立模板工程。雙擊開發工具圖標出現一個工程對話框,選擇第一項“Create a new project workspace”,然后點擊OK按鈕進入 “NewProjectWorkspace對話框。在“Workspace Name”對話框里為項目命一個名字,例如“123”,系統會把“ProjectName”與“Directory”項的名字都默認為“123”,如果想指定工程的保存路徑的話就點擊“Browse”按鈕選擇想保存程序的地方,其他選項用默認選項就可以了,點擊“確定”按鈕進入下一個對話框。在“CPUSerise” 選擇框里選擇“SH3”選項,在“CPUType” 選擇框里選擇“SH7708”選項,然后點擊“Next”按鈕進入下一個對話框界面。將“Endian”選項設為“Little”模式,這個選項很重要,前面“MCU輔助電路”部分介紹的MD5管腳就是用來設置程序存儲大小端模式的,如果MD5管腳設置的大小端與軟件設置的不一樣整個程序就亂了。因為硬件將MD5管腳設置成了小端模式的狀態所以在此將“Endian”選項設為“Little”模式。其他選項用默認值就行了,然后點擊“Next”按鈕進到下一個對話框界面。在對話框的最下面的“Generate Hardware Setup Function”的下拉菜單中選擇“C/C++ source file”選項, 然后連續點擊“Next”按鈕直到出現“Targets”選項界面,將“SH3 Simulator(Little endian)”選項選上,然后連續點擊“Next”按 鈕直到圖標變灰,再點擊“Finish”按鈕就進入到工程的主界面了,模板工程就建立完成了。

模板工程相關文件介紹[1]。由于建立的是一個模板工程,工程建立好以后就帶了一些文件包括啟動代碼、異常處理程序以及為軟件開發人員提供的程序接口等等。現將幾個關鍵文件功能按照程序執行順序介紹如下:

首先在程序目錄里點擊“handle.src”文件,找到段標志“.sectionRSTHandler,code”,該段的程序代碼就是單片機上電復位后首先執行的代碼。然后點擊“resetprg.c”文件,里面有一個“void PowerON_Reset(void)”函數,單片機執行完“handle.src”文件中的“.section RSTHandler,code”段的程序代碼后跳到了該函數運行,如果想知道為什么跳到了這個函數請計算出“ .section RSTHandler,code”程序段中的“JMP”指令要跳轉的地址以及“void PowerON_Reset(void)”所分配地址會發現兩個地址對應同一個存儲單元。在“void PowerON_Reset(void)”函數中調用的“set_vbr((void*)((_UINT)INTHandlerPRG INT_OFFSET))”函數,“_INITSCT()”和“_INIT_IOLIB()”都是系統庫函數,在編譯器手冊中它們的功能都有介紹,在此不詳細介紹。

點擊“hwsetup.c”文件就可以看到“void PowerON_Reset(void)”函數中調用的HardwareSetup()函數的具體內容,本函數是用來初始化單片機總線及各個功能模塊的。set_cr(SR_Init)函數是用來初始化狀態寄存器的一個系統函數,與中斷的設置關系較大,對于本系統意義不大,本著簡化系統的原則將這個函數注掉。然后就到“main()”函數了,點擊“123.c”文件發現“main()”函數是一個空函數,這是系統為程序員提供的接口,在這個函數里添加您的程序代碼就行了。至此模板工程里的相關文件就介紹完了。系統上電,單片機運行完模板自帶的初始化程序以后就跳到了“main()”函數,程序員只要在此函數中添加需要的功能代碼就可以實現所需要的功能了。

串口監視程序的實為了驗證系統真的運行起來了,硬件上增加了串口監視模塊。

在此來實現下面這個簡單功能:將串口波特率初始化為9 600 b/s,通過串口接收一個字節的數據并通過串口發送出去。通過這個簡單的功能驗證系統工作正常。程序流程圖如圖5所示。編譯應用程序,最終生成摩托羅拉格式的機器碼,將有用的數據解析出來燒到系統的ROM中系統就可以上電演示了。

圖5串口監視程序流程圖系統測試。將本系統與電腦通過串口線連接起來,電腦運行串口軟件發送字節“0xaa”給系統板,電腦串口軟件的接收區出現“aa”,如圖6所示:通過現象可以說明系統正常運行了。自此,HD6417708S單片機最小系統從無到有就算建立成功了。本系統詳細闡述了SH3系列單片機開發應用時可能出現問題的解決方法,并用串口實驗驗證了最小系統的正確性。此最小系統基本將SH3處理器與其他處理器的不同之處都展現出來了,在此基礎上開發人員只要運用單片機開發的共性理論就可以很好地使用SH3單片機,大大縮短開發周期,降低開發難度。同時也為ARM一統天下的國內工程師提供了如圖6上位機串口監視軟件發送和接收的數據更新的選擇方向。

圖6上位機串口監視軟件發送和接收4結語

本最小系統已經在工業產品中的到應用,實踐證明,該最小系統運行穩定,能很好地完成產品指標。

參考文獻

[1]Hitachi Ltd. SH7708 series hardware manual \[M\]. \[S.l.\]: Hitachi Ltd., 2000.

[2]瑞薩科技.SuperHTM RISC engine C/C++編譯程序、匯編程序、優化連接編輯程序編譯程序包V.9.01 用戶手冊\[M\].北京:瑞薩科技,2007.

[3]宋,高偉強,閻秋生.基于DSPTMS320C6713控制系統的最小系統板的設計\[J\].現代電子技術,2008,31(8):4143.

[4]李彬,王朝陽,卜濤,等.基于MSP430F149的最小系統設計\[J\].國外電子測量技術,2009,28(12):4143.

篇7

【關鍵詞】51單片機 語音播放系統

1 各種語音播放系統的對比和分析

如表1所示。從表1不難看出,采用ST C12+FLASH存貯芯片的方案在無論在成本及靈活性方面都具備很好的優勢。

2 STC12系列增強型51單片機播放系統的硬件構成

如圖1。本系統的MCU采用了宏晶公司的STC125404芯片,它的P3.7具有PWM功能,因此連接到功放電路LM4890上。語音的存貯芯片采用了旺宏(MXIC)公司的MX25xxx08系列串行NOR Flash芯片,如果采用一片16Mbyte容量的芯片,存放8KHZ、8bit采樣頻率的語音文件(即8000字節/秒),按以下計算公式:

16*1024K/8K=2097(秒)

也就是可以播放時長大約為2097秒的語音文件。

語音數據是將音頻wav文件的頭信息去掉之后提取出來的,然后按應用的需要,分段燒錄到Flash的固定位置,將語音的存放位置和長度記錄下來,以供播放程序調用。

3 STC12系列增強型51單片機播放系統的軟件構成

PWM產生聲音的原理是:調節PWM的輸出脈沖的占空比來產生不同幅度的電壓,這個幅值就接近于語音的聲波。如圖2所示聲音的波形圖。

而PWM輸出頻率越高,產生的音波幅值就越精確。STC12系列增強型51單片機因為具有1T的機器周期,它的時鐘頻率是傳統的12T 的51單片機的12倍,因此它的PWM輸出頻率最高(以11.0592M的晶振頻率計算)可以達到11059200/256=43200HZ。這個頻率已經接近44.1kHz 的CD音質了,因此用它來播放語音文件,聲音效果也十分理想。

軟件設計工具采用Keil C51,語音播放主要用到單片機的兩個定時器。一個定時器用來產生8KHz的采樣頻率,本設計中采用T1定時器的8位定時器中斷功能,定時125us;另一個定時器用來產生PWM波形,本設計中采用T0定時器8位定時/計數器功能。設置好這兩個定時器的功能是程序開發的關鍵所在。

下面給出設置PWM寄存器的關鍵代碼:

/*設置STC12單片機的PWM功能*/

void Pca_Initialize(void)

{

CMOD = 0x04; //Setup PCA timer

CL = 0x00;

CH = 0x00;

CCAP0L = 0x7F; //Set the initial value same as CCAP0H

CCAP0H = 0x7F;

CCAPM0 = 0x42; //0100,0010 Setup PCA module 0 in PMW mode

PCA_PWM0=0x00;

}

/*兩個關鍵定時器的功能設置*/

void Soundinit()

{

Pca_Initialize();

AUXR =(AUXR|0xbf);

TR0=0;

TR1=0;

TMOD = 0x22;

TH1=0x8c;

TL1=0x8c; //1/8000hz=125us,就是125US一個采樣點,以11.0592M的晶振計算

TH0=0xff; //TL0=0xff; 定時器0的溢出率是PWM的時鐘源。

TR0 = 1;

TR1 = 1;

ET1 = 1;

CR = 1;

PT1=1;

PT0=0;

EA = 1;

}

/*每隔125us送一個新的采樣數據給PWM的寄存器*/

void timer1() interrupt 3

{

CCAP0H =SoundData[jx];

CCAP0L =SoundData[jx];

}

4 總結

現在越來越多的消費電子產品中需要增加語音報話功能,利用STC12系統單片機的PWM功能,可以以極低成本實現上述功能,電路設計簡單,語音更改靈活。并且這種語音播放技術可以很容易的推廣到其它具有PWM功能的單片機或者ARM芯片上,具有很長久和廣泛的應用前景,因此是一項值得學習推廣的技術。

作者簡介

姜燕頻(1977-),女,上海市人。大學本科學歷,中級工程師。主要研究方向為嵌入式開發,單片機C51、ARM開發、linux驅動開發、linux系統移植。

篇8

關鍵詞: 邊界層; MSP430F149單片機; DC/DC; 功耗

中圖分類號: TN964?34 文獻標識碼: A 文章編號: 1004?373X(2013)06?0136?03

0 引 言

深海海底原位監測技術是一種對海底界面生物地球化學過程進行長期、原位、多參數同步測量的水下監測技術。該技術在海底水合物系統及其勘探試采過程中的環境效應監測評估等方面有重要的應用前景。

因系統在深海海底長期使用且更換電池不方便,故電源管理系統的主要功能是使其工作時電流消耗盡可能的小、不工作時電源可以被切斷,以及采集模擬量。單片機在不斷電的情況下,實現長期控制整個電源系統的功能。由于海底原位監測工作具有長期性的特點,要求系統具有較高的穩定性和較低的功耗。

1 電源管理系統結構和總設計方案

本電源系統以MSP430F149為主控制器件,是一款16位超低功耗的單片機,其CPU功耗可以通過開關狀態寄存器的控制位來控制:正常運行時電流160 μA,備用時為0.1 μA,低功耗的優點為系統設計提供了有利條件;內部集成了8路12位具有高速、通用特點的ADC12模塊,可在沒有CPU干預的情況下進行16次獨立采樣并保存結果[1],系統中用到2路模擬通道來分別采集模擬量DO和PH;其所有的I/O端口的管腳都是雙向的[2],設置I/O口可控制DC/DC模塊,圖1中C1~C6為單片機I/O口輸出的DC/DC模塊的Ctrl信號,即通過I/O口輸出1或者0控制DC/DC模塊的開啟或關斷。

2 電源管理系統軟件設計

整個系統的管理主要分為3個階段:甲板上設置參數階段、設備投放階段、數據采集階段。甲板上設置參數階段主要是對單片機進行對時、設置投放階段睡眠的時間長度以及數據采集周期。設備投放階段主要是控制上位機和深海設備處于斷電狀態并且單片機進入低功耗狀態,等待先前設置的投放階段睡眠的時間長度到了之后退出低功耗,給上位機供電,然后等待上位機的命令。數據采集階段主要是周期性的給上位機供電,上位機給單片機命令給相應的深海設備供電或斷電。系統的設計中涉及到功耗、時鐘切換、RTC等,以下是各個部分的具體實現過程。

2.1 低功耗設計

系統的功耗可以由公式P=CV2f計算出來[3],式中C為負載電容,V為電源電壓,f為系統工作頻率,可見一個系統的功耗主要由電源電壓決定,其次是工作頻率、負載電容。因負載電容不可控制,要設計一個低功耗的系統,在不影響其性能的前提下,應該盡可能地降低電源電壓和使用低頻率的時鐘。

電源電壓方面,一方面MSP430F149具有1.8~3.6 V的低電源電壓工作范圍;另一方面,系統中使用的DC/DC模塊為程序可控的,即只有在要求給相應的負載供電時,才會程序控制相應的DC/DC模塊開啟,否則其一直處于關斷狀態。從以上2個方面,降低了整個系統電源電壓以降低整個系統的功耗。

另外,MSP430F149具有1種活動模式和5種低功耗模式(LPM0?LPM4)[4],通過程序控制可使單片機在指定的時刻通過定時器中斷退出低功耗模式進入活動模式,其他時刻均處于LPM3模式下。因系統中用定時器B實現軟時鐘,定時器B的時鐘源選擇的是ACLK,LPM4模式下CPU及所有的時鐘(包括ACLK)都停止工作,但是系統要求軟時鐘即使在低功耗的狀態下可用且可中斷喚醒CPU,故選擇的是LPM3模式。

系統設計中有兩路模擬量采集用到ADC模塊,此模塊僅在單片機接收到上位機發送來的采集這兩路模擬量的時候才開啟,采集完之后可通過程序控制把ADC模塊關閉,在一定程度上這也可以降低系統功耗[5]。

2.2 時鐘切換設計

由2.1知,從低功耗的角度出發,選擇了較低的工作頻率,但是系統中涉及到單片機控制步進電機。MCLK為32 768 Hz時,由此時鐘延時產生的矩形脈沖的頻率太低,導致步進電機不能轉動,所以在系統中考慮到時鐘的切換,即在調整步進電機時,要把單片機的主系統時鐘(MCLK)從LFXT1切換到LFXT2。BCSCTL2|=SELM1+SELM0該語句實現的是選擇MCLK的時鐘源為LFXT1,即設置了BCSCTL2寄存器的高兩位為1(默認為0)。當要把MCLK的時鐘源選擇為LFXT2時,如果寄存器BCSCTL2的各個位仍為默認值,則只需BCSCTL2|=SELM1語句便可成功的設置MCLK的時鐘源為LFXT2[6],但是程序沒能達到預期目標。分析發現寄存器BCSCTL2被設置過之后,被設置的相應位的默認值就發生了改變,在進行下一次設置之前要保證把上一次設置過的相應位恢復為默認值,然后再進行設置才能達到預期目標,意思就是說在語句BCSCTL2|=SELM1前面加上語句BCSCTL2&=0X3F即可成功的將MCLK的時鐘源由LFXT1切換到LFXT2。

2.3 實時時鐘RTC的設計

一方面,系統長期工作于深海海底,甲板上設置好參數后,從投放到回收期間,不會再有外部工作人員的干預,系統自動化的完成數據的采集工作,對電源管理系統提出了能夠按點、按周期周期性給嵌入式系統和深海設備加電的要求;另一方面,深海海底原位監測的DO,PH,CO2,CH4等要在嚴格的準同步下測得,才具有研究的意義和價值。以上兩方面要求電源管理系統要有RTC,能夠接受上位機發送來的時間,并以此時間為基準開始計時。程序能記錄上次數據采集的時刻,并計算出下次數據采集的時刻。每次數據采集完單片機關閉電源,進入LPM3模式,等待到下一個數據采集時刻從低功耗狀態退出然后給上位機供電,然后等待上位機命令給哪些深海設備供電與斷電。

2.4 系統的健壯性

系統從硬件和軟件2個方面來保證系統運行的穩定性。

(2)核對工作狀態:ARM板相對于單片機有3個階段,且其信息斷電不丟失,而單片機一旦出現意外斷電,其信息將全部丟失,程序被重新初始化,就會出現單片機和ARM板的工作狀態不一致。為了消除因兩者工作狀態不一致給整個系統帶來的風險,程序中設置了接收上位機核對工作狀態的命令,單片機一旦發現兩者工作狀態不一致,將修改自己的狀態,以與ARM板保持同步。系統流程圖如圖3所示。

3 結 語

通過2次海試,結果表明系統可以穩定地實時給上位機供電,系統功耗低,程序結構靈活穩定,修改方便,能夠滿足深海原位監測的要求。

參考文獻

[1] 謝興紅.MSP430單片機基礎與實踐[M].北京:北京航空航天大學出版社,2008.

[2] 秦龍.MSP430單片機常用模塊與綜合系統實例精講[M].北京:電子工業出版社,2007.

[3] 胡淑軍.嵌入式系統低功耗技術研究[EB/OL].[2007?07?23].中國科技論文在線,http://.

[4] 張晞,王德銀,張晨.MSP430系列實用C語言程序設計[M].北京:人民郵電出版社,2005.

篇9

關鍵詞:步進電機; 伺服系統; ARM; 閉環控制

中圖分類號:TN820.334文獻標識碼:A文章編號:1004373X(2011)23012102

Design of Tracking Servo System of Stepper Motor

XI Xiaopeng, FENG Liqiang

(Satellite Application System Department, China Academy of Space Technology, Beijing 100086, China)

Abstract: As an excellent numerical component, stepper motor is easy to achieve numerical control. MCU has well digital interface. The control system composed of MCU and stepper motor is simple and costeffective. A kind of antenna servo system of stepper motor based on ARM control is introduced, which adopted AzimuthElevation type, based on stepper motor and used digital PID closedloop control. The servo system verifies that the design can meet the original requirement and has excellent precision and stability.

Keywords: stepper motor; servo system; ARM; closedloop control

收稿日期:201106210引言

步進電機是純粹的數字控制電機。它將電脈沖信號轉變成角位移,即給一個脈沖信號,步進電機就轉動一步。在額定功率范圍內,電機的轉速只取決于脈沖的頻率和脈沖數,而不受負載變化的影響,因此非常適合于數字化控制,尤其是與數字設備配套使用時,體現了更大的優越性。現代單片機具有充足的I/O口、多路PWM通道和豐富的外部接口,使其特別適用于電機的控制。

本文以ARM單片機作為控制核心,以步進電機作為驅動元件,設計了一種基于ARM的步進電機伺服系統。該伺服系統用于近程無人機測控系統中,伺服系統驅動定向天線轉動,完成天線對目標無人機的實時跟蹤,保證測控鏈路的順暢建立。

1步進電機及其驅動控制技術

步進電機是根據組合電磁鐵理論設計的,電動機的設計是以精確的定位作為主要目標,堵轉轉矩大、定位精度高。步進電機可分為反應式、永磁式和混合式三種,混合式步進電機綜合了反應式和永磁式兩者的優點,因此被廣泛使用。

步進電機的工作原理使之非常適合于單片機的控制。雖然步進電機是一種數字控制元件,易于與數字電路接口。但是,一般數字電路的信號能量不足以驅動步進電機。因此,必須有一個與之匹配的驅動電路來驅動步進電機。對步進電機的驅動電路有如下要求:

(1) 能夠提供快速上升和快速下降的電流,使電流波形盡量接近矩形;

(2) 具有供截至期間釋放電流的回路,以降低相繞組兩端的反電勢,加快電流衰減;

(3) 功耗低,效率高。

常用的步進電機驅動電路有單電壓驅動、雙電壓驅動、高低壓驅動、斬波恒流驅動和細分驅動等。以上驅動電路各有優缺點,其性能比較見表1。

另外,要使步進電機正常工作,必須按照該種電機的勵磁狀態轉換表所規定的狀態和順序依次對各相繞組進行通電或斷電控制。步進電機的驅動電路根據控制信號工作,在步進電機的單片機控制中,控制信號由單片機產生,其基本控制作用如下:

(1) 控制換相順序。步進電機的通電換相順序嚴格按照步進電機的工作方式進行。

(2) 控制步進電機的轉向。如果按照給定的工作方式正序通電換相,步進電機就正轉;如果按照反序通電換相,則電機就反轉。

(3) 控制步進電機的速度。如果給步進電機發一個控制脈沖,它就轉一步,再發一個脈沖,它會再轉一步。兩個脈沖的間隔時間越短,步進電機就轉得越快。因此,脈沖的頻率決定了步進電機的轉速。調整單片機發出脈沖的頻率,就可以對步進電機速度進行調整。

表1常用步進電機驅動電路性能比較

驅動電路啟動頻率運行頻率運行平穩性效率成本單電壓低低較差低低雙電壓低較高較差較高高高低壓高較高差較高較高斬波恒流高高差高高細分高高好高高

2伺服系統設計方案

2.1總體結構

該伺服系統采用方位俯仰型結構,以方位轉臺為底座,上面安裝俯仰傳動機構,控制天線轉動,完成天線對目標無人機的跟蹤。方位可以在±540°范圍之間運轉,俯仰可以在-30°~+90°之間旋轉。方位和俯仰分別以步進電機作為驅動元件,以光電編碼器作為反饋元件,完成伺服系統的閉環控制。

另外,設計時為了完成方位±540°轉動范圍要求,專門設計了電纜纏繞裝置,以解決方位轉動過程中電纜的纏繞問題。

天線伺服系統總體結構如圖1所示。

圖1天線伺服系統總體結構圖根據圖1總體結構和系統布局,分別對方位和俯仰傳動力矩進行了計算。在此選用MOTEC公司SM242系列兩相混合式步進電機作為驅動元件,并選用諧波齒輪減速機完成速度和力矩的轉換,諧波齒輪減速機減速比為65。同時,采用瑞普公司JSP3806系列光電編碼器作為位置檢測元件實現位置反饋。伺服系統原理框圖如圖2所示。

2.2伺服系統硬件設計

對于伺服控制系統而言,目前常用的硬件方案有以DSP組成的伺服控制器和以MCU組成的伺服控制器。以DSP組成的伺服控制器具有控制精度高、響應速度快等優點,但其成本較高,不適用于低成本場合;而以MCU為控制器構成的系統具有結構簡單、適應性強、成本低等優點被廣泛使用。該系統以ARM單片機為核心構成伺服控制器,伺服控制器硬件原理框圖如圖3所示。

圖2天線伺服系統原理框圖圖3伺服控制器原理框圖由圖3可以看出,伺服控制器是伺服系統的控制中心,步進電機控制信號的產生、光電編碼器角度信息的采集、位置信息的比較運算等都在伺服控制單元內完成。該系統伺服控制單元采用PHILIPS公司的LPC2294單片機擴展而成,完成伺服系統的各種運算與控制。

2.3伺服控制軟件設計

針對該系統的特點,伺服控制軟件主要完成以下功能:

(1) 接收監控計算機的控制指令,并分解指令完成伺服系統的控制;

(2) 產生符合頻率要求的步進脈沖和轉向脈沖,實現方位和俯仰電機的控制;

(3) 實時采集光電編碼器角度信息,完成位置控制;

(4)實時將天線的指向位置、伺服系統的工作狀態等信息上報給飛控計算機;

(5) 分別進行方位與俯仰的限位檢測,并進行軟件限位,防止設備破壞;

(6) 完成無人機測控系統所要求的數字引導、自跟蹤等其他功能。

根據上述主要功能,將控制軟件劃分為相應的功能

模塊,采用C語言編寫控制程序,完成伺服控制軟件的設計。

另外,對于步進電機控制來說,一般應用較多的是采用PID或PI控制算法。針對該系統的特點,由于天線的運行速度較低,為了充分利用單片機有限的資源,提高運算效率,采用簡單易行的數字PID算法進行電機的控制。

3結語

本文以某無人機測控系統地面跟蹤伺服設備的研制為背景,從工程實際出發,設計了一種基于ARM的步進電機天線伺服系統。目前,該伺服系統已完成工程樣機的研制,并進行了相關試驗。試驗結果表明,該伺服系統滿足最初的設計要求,具有一定的工程實際意義,可以用于無人機和其他測控系統中天線的驅動與跟蹤。

參考文獻

[1]王曉明.電動機的單片機控制[M].北京:北京航空航天大學出版社,2007.

[2]潘健,劉夢薇.步進電機控制策略研究[J].現代電子技術,2009,32(15):143145.

[3]王雁平.步進電機定位控制系統的設計[J].現代電子技術,2010,33(18):205207.

[4]高鐘毓.機電控制工程[M].北京:清華大學出版社,2002.

[5]劉佐興,郭華民,程顯海.一種高精度天線伺服系統[J].微計算機信息,2009,25(7):6466.

[6]杜永龍,黃惠東,康興國,等.改善步進電機低頻特性的續流回路方法[J].探測與控制學報,2009(5):6063.

[7]李自成,程善美.基于DSP交流伺服系統與CAN總線的通信設計\[J\].現代電子技術,2009,32(1):145147.

篇10

關鍵詞:溫濕度;STM32;USB;傳感器;Si7005;CP2102

引言

隨著物聯網的發展,傳感器技術應用領域越來越廣泛。傳感器技術已成為衡量一個國家科學技術發展水平的重要標志之一。為了提高對溫濕度傳感器的深入研究,基于物聯網技術設計了本裝置。

1 系統原理及組成框圖

本裝置主要由USB接口轉換器、STM32F103單片機、Si7005溫濕度傳感器幾部分組成。它的USB接口可以方便地和上位機或其他物聯網系統相連接組成物聯網的組件。如圖1所示。

2 單片機的選型和電路設計

單片機是本裝置的核心部件,一方面它要和溫濕度傳感器進行通信,獲取實時的溫濕度數據,另一方面它還要通過串口和CP2102進行通信,將數據傳輸到上位機或物聯網系統。我們選用的STM32F103單片機是一款專為要求高性能、低成本、低功耗的嵌入式應用設計的ARM Cortex-M3內核單片機,具有性能高、外設豐富、超強抗干擾等優點,是目前同類技術中性價比較高的產品。其電路設計如圖2。

3 USB接口電路設計

USB接口芯片我們選用CP2102,其集成度高,內置USB2.0全速功能控制器、USB收發器、晶體振蕩器、EEPROM及異步串行數據總線(UART),支持調制解調器全功能信號,無需任何外部的USB器件。內含時鐘電路,無需外接電路器,內含上電復位電路,片內電壓調節可輸出3.3V電壓。其電路設計如圖3。

4 溫濕度傳感器及其電路設計

溫濕度傳感器我們采用美國SILABS的Si7005,它是一個將濕度和溫度傳感器元件、一個模擬-數字轉換器和信號處理功能集成到單片集成的CMOS傳感器IC。溫度傳感器和濕度傳感器都經過工廠校準并且校準數據存儲在片上非易失性存儲器中。精度高、性能穩定、采用I2C通信接口,寬工作電壓范圍(2.1-3.6V)。其電路設計如圖4。

5 軟件設計

本裝置只要接入USB端口,安裝好驅動,就可以通過USB接口將測量的數據進行上傳。程序的整體流程圖如圖5所示。

6 結束語

文章在對溫濕度技術進行深入研究的基礎上,全面比較國內外同類產品的技術特點,合理地確定系統的設計方案。它可以方便的接入到物聯網中,具有廣闊的市場空間與發展前景。在文章研制的溫濕度測量裝置的基礎上,可以再做適當的功能擴展,使其功能更加完善,如歷史溫濕度記錄,溫濕度報警等。

參考文獻

[1]周航慈,吳文廣.基于嵌入式實時操作系統的程序[M].航空航天大學出版社.

[2]彭軍.傳感器與檢測技術[M].西安電子科技大學出版社,2003: 263-315.