汪小涵++趙慧娟
摘 要 串口通信是單片機與外部進行數(shù)據(jù)通信的常用方式,本文以智能家居監(jiān)控系統(tǒng)為例,介紹了串口通信方式在該系統(tǒng)中的應用。核心控制板接收網絡指令,將指令進行轉換后通過串口通信傳輸至單片機控制板,單片機控制板將傳輸過來的指令進行轉換,從而根據(jù)指令控制相應的設備完成相應功能。
【關鍵詞】串口通信 核心控制板 單片機控制板
1 概述
隨著網絡技術的發(fā)展,智能家居系統(tǒng)會逐漸的進入家庭,本文提到的智能家居監(jiān)控系統(tǒng)主要包括以下幾個方面:客戶端控制軟件、Wi-Fi通信模塊、核心控制板、單片機控制主板。核心控制板負責進行網絡數(shù)據(jù)的接收與發(fā)送以及采集來的視頻圖像的輸出,單片機控制主板負責系統(tǒng)的舵機、電機、燈光、避障等功能,要建立核心控制主板和單片機控制板之間的數(shù)據(jù)連接,本文采用了單片機的串行口來進行數(shù)據(jù)的交換。通過串口的數(shù)據(jù)交換,單片機接收了互聯(lián)網的客戶端軟件發(fā)送的指令,從而實現(xiàn)對于家庭中的監(jiān)控系統(tǒng)的移動、聚焦、轉向、電機控制、舵機控制等功能。
2 串口輸入輸出硬件電路
家居監(jiān)控系統(tǒng)的核心控制板上的芯片STM32F407A9與控制板上的單片機AT89S52進行通信是通過 RS232 串口來實現(xiàn)的。硬件電路的設計來實現(xiàn)單片機的TTL電平和串口的邏輯電平的轉換的是MAX232 電平轉換芯片。計算機COM串口RS232電平邏輯是使用的-5v和+5V,而一般的單片機應用系統(tǒng)的信號電壓是TTL電平0 表示邏輯0,然而邏輯1用+5v來表示的,MAX232就是用來進行計算機的電平和單片機之間電平進行轉換的,該芯片具備一個DATA發(fā)送端和DATA的接收端,接收器的主要作用是將EIA-232-F電平轉換成5V TTL/CMOS電平,發(fā)送器的作用是將TTL/CMOS電平轉換成TIA/EIA-232-F電平。
3 串口輸入輸出軟件設計
本系統(tǒng)采用的是單片機AT89S52,單片機控制板主要是通過串口建立和主控制板的通信,通過將采集來的8個字節(jié)的數(shù)據(jù)進行分析,然后控制小車的前后左右運動、云臺的上下左右運動、以及機械手臂的各種動作。
下面我們以車燈的開和閉為例來分析一下單片機控制板的整個實現(xiàn)過程,通過客戶端軟件的車燈的開關按鈕發(fā)送到了主控制板上相應的網絡命令,然后主控制板從Wi-Fi視頻模塊傳輸協(xié)議獲取了7位的16進制字符串FF 00 00 09 00 02 0B,這7位字符的含義如下:1起始位;2地址位;3、4云臺和攝像機控制位;5、6云臺水平和垂直速度控制位;7校驗位2-6字節(jié)。這個數(shù)據(jù)的獲取是在主程序的命令ser_receive=SBUF獲取的,通過如下判斷語句 :
Reg_4=receive_number[3];//-0x30;
Reg_5=receive_number[4];//-0x30;
Reg_6=receive_number[5];//-0x30;
Reg_7=receive_number[6];//-0x30;
完成了數(shù)組的賦值,然后再到串口再賦值程序中根據(jù)如下語句:
if(Reg_4==0x09)
{if(Reg_7==0x0b)comout_temp=91;//comout_temp=91; //燈光開
if(Reg_7==0x0a)comout_temp=92;//comout_temp=92;} //雨刷開
來完成變量comout_temp的賦值,最終到控制語句中完成相應的控制語句:
case 91:witch_led=1;break;case 93:witch_led=0;break;
根據(jù)電路得出witch_led=1是車燈亮,witch_led=0是車燈滅。電機控制、云臺控制、機械手臂控制的機制都是如此。
下面以小車的移動來說明字符處理程序的功能實現(xiàn)。字符串處理程序主要處理接收到的字符串進行判斷再賦值,本程序中主要定義了以下幾個變量ucharmovout_temp、ucharcomout_temp、uchar movout2_temp、ucharmovout_four作為數(shù)據(jù)輸出存儲變量,同時定義了7個hex數(shù)據(jù)緩存存儲器個uchar Reg_1,Reg_2,Reg_3,Reg_4,Reg_5,Reg_6,Reg_7來進行數(shù)據(jù)的接收,具體的實現(xiàn)主要采用if語句進行判斷,從而進行賦值,比如Reg_4接收到0x08的數(shù)據(jù),則小車做出向“上”動作的程序的流程圖如圖1。
通過程序和流程圖可以得出本程序主要是根據(jù)串口傳輸過來的數(shù)值進行變量的再賦值,從而根據(jù)賦值實現(xiàn)相應的功能。
4 小結
本文主要探討了串口通信在家居監(jiān)控系統(tǒng)中的應用,探討了串口通信的硬件和軟件的設計,尤其是對于軟件的設計提出了一種簡單可行的思路。
參考文獻
[1]李現(xiàn)勇.Visual C++串口通信技術與工程實踐[M].北京:人民郵電出版社,2004.
[2]戚偉.一種基于硬盤錄像機的可移動家居監(jiān)控系統(tǒng)設計[J].數(shù)字技術與應用,2015(10).
[3]吳桂祥:應用于網絡視頻監(jiān)控系統(tǒng)的嵌入式視頻采集與GUI設計.浙江大學 2007(05).
[4]戚偉.一種帶Wi-Fi功能的視頻處理板的設計[J].數(shù)字技術與應用,2016(06).
作者簡介
汪小涵 (1982-),女,四川省樂山市人。學士學位?,F(xiàn)為九州職業(yè)技術學院講師。研究方向為EDA技術、嵌入式技術。
趙慧娟(1981-),女,江蘇省泰州市人。學士學位?,F(xiàn)為九州職業(yè)技術學院講師。研究方向為數(shù)字電子技術、PLC技術。
作者單位
九州職業(yè)技術學院 江蘇省徐州市 221116