張家港沙洲工學院 趙海蘭 邱茂盛 高金存
隨著電子信息技術,控制技術的日益提升,社會信息化的逐步加快,人們的工作、生活和通訊、信息的關系日益緊密。信息化社會在改變人們生活方式與工作習慣的同時,人們對遠程控制的要求越來越高。比如智能家居控制系統就是將家庭中各種與信息相關的通信設備、家用電器以及家庭保安裝置通過有線或無線的方式連接起來,并進行集中或異地的遠程監控、管理。這也是GSM模塊在遠程控制中的應用,還有遠程抄表系統,遠程水位控制系統,遠程溫濕度控制等等,都可以用手機短信息模塊來遠程完成。
C8051F020單片機是美國Cygnal公司新推出的一種兼容51內核的單片機,是一款完全集成的混合信號系統級芯片(SOC),它在一個芯片內集成了構成一個單片機數據采集或控制系統所需要的幾乎所有模擬和數字外設及其它功能部件。這些外設或功能部件包括:ADC、可編程增益放大器、DAC、電壓比較器、電壓基準、溫度傳感器、UART、SPI、可編程計數器/定時器陣列(PCA)、內部振蕩器、電源監視器等等,正是這些外設部件的高度集成為小體積、低功耗、高可靠性、高性能等特點,使我們的檢測與控制的硬件大大簡化。下面是C8051F020單片機的簡要特點
①內核采用流水線結構,速度可達25MIPS(25MHz晶振),比普通的51快10倍;指令與標準51系列兼容,22個矢量中斷源。JTAG調試方式,支持在系統、全速、非插入調試和編程,不占用片內資源。通過JATG接口可以使用安裝在最終應用系統產品上的單片機進行非侵入、全速及在系統調試,為此保證了精確模擬外設的性能。
②片上集成64KB Flash,地址為0x0000~0Xffff..注意:該存儲器中有512B保留給工廠使用,不能用于存儲用戶程序。有多達64位IO口線,所有口線可編程為弱上拉或推挽輸出。8位500ksps可編程增益ADC,2路12位DAC,2路模擬比較器,內部電壓基準,片內精確的VDD電源監視和降壓檢測、看門狗。由于C8051F020的高集成度,避免了外擴ROM、RAM、A/D、D/A、Watchdog、可編程I/O口、EEPROM(用片內Flash實現),大大簡化了硬件電路,為形成以C8051F020為核心的單片系統創造了條件,從而可提高系統的可靠性。
③除了內部提供5個16位的通用定時/計數器外,C8051F020還提供1個片內編程的計數器/定時器陣列(PCA),PCA包括1個專用的16位計數器/定時器,5個可編程的捕捉比較模塊,時間基準可以是下面的6個時鐘源之一:系統時鐘/12;系統時鐘/4;定時器0溢出;外部時鐘輸入;系統時鐘和外部振蕩頻率/8。每個捕捉模塊都有6種工作方式:邊沿觸發捕捉、軟件定時器、高速輸出、8位脈沖寬度調制器,頻率輸出、16位脈沖寬度調制器。
④C8051F020內部具有2個全雙工UART、SMBUS/I2C總線和SPI總線,每種串行總線都完全用硬件實現,都能向CIP51產生中斷,這些串行總線不共享定時器、中斷或I/O端口,所以允許用戶全部同時使用。C8051F020片內具有JTAG接口和邏輯,為生產和在系統測試FLASH存儲器的讀和寫操作,以及非侵入式在電路調試提供邊界掃描功能,片內接口完全符合IEEE1149.1規范。
⑤C8051F020能夠滿足絕大多數工業測控節點的要求,能夠形成以C8051F020為核心的單片系統;配以外圍測量單元,可以形成完整的測控節點,提高系統的可靠性。
TC35I是Siemeils公司推出的新-代無線通信GSM模塊。自帶RS232通訊接口,可以方便地與PC機、單片機連機通訊。可以快速、安全、可靠地實現系統方案中的數據、語音傳輸、短消息服務(Short Message Service)。TC35I模塊的工作電壓為3.3-5.5V,可以工作在900MHz和1800MHz兩個頻段,所在頻段功耗分別為2w(900M)和1w(1800M)。
模塊有AT命令集接口,支持文本和PDU模式,該模塊還具有電話簿功能、多方通話,漫游檢測功能,常用工作模式有省電模式、IDLE、TALK等模式。通過獨特的40引腳的ZIF連接器,實現電源連接、指令、數據、語音信號、及控制信號的雙向傳輸。通過ZIF連接器及50Ω天線連接器,可分別連接SIM卡支架和天線。TC35I模塊的通訊全部采用AT+xxx完成。TC35I模塊首次使用時,首先要測試其工作是否正常,由于其自帶RS232接口,所以我們可以用PC機的串口調試軟件進行調試。調試窗口如下:

圖1
圖1所示窗口中,AT+CNMI是新消息提示命令。當存儲位置設置好后,我們必須要知道短信息什么時候有新短信息到來,這時候我們就要用AT+CNMI指令來設置短消息到來時的設置方式。AT+CNMI=2,1此命令的作用是當有新的短信息時給予提醒并顯示存儲位置,同時還會將信息存儲到默認的內存位置,如果在接收窗口中返回了“OK”,說明設置成功了。利用以上串口可以這樣去分別實現以下各功能:
1){1.AT+CMGF=1(文本格式);2.AT+CMGS=撥打的對方手機號碼;3.立刻輸入發送內容;4.鉤上“十六制發送”,然后輸入1A,發送。}
上面就是實現發送短信的文本格式(只可以發送字母和數字,不可以輸入文字)。
2){1.AT+CMGF=1;2.AT+CNMI=2,1;3.AT+CMGR=4(上一步顯示幾,就寫幾)}
這幾步可以實現接收短信。
3){1.AT(握手指令);2.ATD+對方手機號;3.AT+CLIP=1(顯示來電顯示);4.ATA(接通電話);5.ATH掛斷電話)}
這幾步實現手機打電話、接電話、掛電話的。
單片機控制TC35I模塊只需設計一個TTL轉RS232電平電路,連接到MCU的UART口,另一端直接連接到TC35I。單片機串口設置成模式1(9600,N,8,1),依次將AT+xxx以ASCII碼形式輸出到UART口;接收TC35的數據采用中斷方式。這里給出部分AT指令的定義。程序見下:
uchar code AT[]="AT";//握手信號
uchar code ATE[]="ATE"; //關回顯
uchar code AT_CNMI[]="AT+CNMI=1,1,2";//AT+CNMI=2,1設置這組參數來了新信息直接顯示到串口,不作存儲
uchar code AT_CMGF[]="AT+CMGF=1";//設置短信的格式為text格式
uchar code AT_CMGR[]="AT+CMGR=";//讀取短信指令
uchar code AT_CMGS[]="AT+CMGS=";//發送短信指令
uchar code AT_CMGD[]="AT+CMGD=";//發送短信指令
uchar code successfully[]="Operate Successfully!"; //發送操作成功信息到目標號碼
uchar code fail[]="Operate failed,try again!"; //發送操作失敗信息到目標號碼
簡單的短消息初始化函數模塊如下:


GSM模塊初始化后,再把串口中斷初始化,發送AT指令,單片機接收信息并判斷解析要執行的內容。如果發送AT指令時出現問題時,首先確定你的串口發送數據是否正常,發送每一條AT指令后都要按ENTER鍵。

圖2 TC35I硬件引腳圖
單片機與TC35I一般采用串行異步通信接口,具有紅外和通信電纜兩種連接方式其中電平轉換及串口通信功能以TI公司的MAX3238芯片為核心,通信速度可設定,通常為19200bps。采用紅外接口的優點是單片機系統與手機電氣隔離,相互不干擾,接口各自獨立,使用方便;缺點是通信距離較短,紅外傳播的方向性對接口相對位置有要求。采用電纜連接時,數據傳輸的可靠性較好;其主要缺點是接口的電氣參數不兼容,設計不當時就會對手機的通信質量產生影響。這個單片機系統其實就是一個具有GPRS功能的GSM手機模塊加上單片機控制系統,GSM手機模塊主要是用來建立無線信道,接收和發出短消息。單片機系統用來控制手機模塊,并且對收到的短消息信息進行解釋并執行。圖2是手機短信模塊的引腳圖:
其中:24—29引腳為SIM卡引腳,分別為CCIN,CCRST,CCIO,CCCLK,CCVCC和CCGND。
短消息服務作為GSM網絡一種基本業務,已得到越來越多的系統運營商與開發商的重視,基于這種業務的各種應用也蓬勃發展起來了,GSM模塊在短信息方面的應用最具優勢。利用此GSM模塊可以發送短信息到CPU,然后遠程控制家里的燈的開關,還可以發信息遠程控制家里的各種電器比如空調的開關,還可以實現家里有異常時實時報警到手機里。還可以用在無線抄表系統,遠程控制溫濕度等等。可以在上位機上用VB做好界面,利用短信息模塊接收下位機的信息,用PC機遠程監控家里的各種電器的運行狀態。這也是目前物聯網領域研究應用很多的一個領域。
[1]GSM模塊使用說明書[S].天祥電子.
[2]Siemens TC35/TC37 Hardware Interface Description Vision 03.10.
[3]AT Command Set for TC35,TC37 and TC35 Terminal 03.10.
[4]劉艷玲.采用MAX232實現MCS-51單片機與PC機的通信[J].天津理工學院學報,1999(2):57-61.
[5]郭天祥.新概念51單片機C語言教程:入門、提高、開發、拓展全攻略[M].北京:電子工業出版社,2009,1.