《物聯(lián)網(wǎng)編程與應(yīng)用》課件-項(xiàng)目2“LED顯示”模塊_第1頁(yè)
《物聯(lián)網(wǎng)編程與應(yīng)用》課件-項(xiàng)目2“LED顯示”模塊_第2頁(yè)
《物聯(lián)網(wǎng)編程與應(yīng)用》課件-項(xiàng)目2“LED顯示”模塊_第3頁(yè)
《物聯(lián)網(wǎng)編程與應(yīng)用》課件-項(xiàng)目2“LED顯示”模塊_第4頁(yè)
《物聯(lián)網(wǎng)編程與應(yīng)用》課件-項(xiàng)目2“LED顯示”模塊_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

項(xiàng)目2“LED顯示”模塊智慧校園系統(tǒng)項(xiàng)目概述在智慧校園系統(tǒng)中,常常需要將信息發(fā)布給全校師生。LED顯示屏就是一個(gè)很好的信息發(fā)布平臺(tái),通過(guò)這個(gè)平臺(tái),可以將學(xué)校的信息以文字的方式發(fā)布出來(lái),方便全校師生了解到關(guān)于學(xué)校各方的信息。本項(xiàng)目將通過(guò)兩個(gè)任務(wù)來(lái)學(xué)習(xí)使用LED顯示屏中發(fā)布信息,在后續(xù)的項(xiàng)目中,傳感器采集到的信息都可以通過(guò)LED顯示屏發(fā)布出來(lái)。IOTPart串口通信的使用任務(wù)01【任務(wù)描述】本項(xiàng)目就是學(xué)習(xí)如何設(shè)置串口通信模式,通過(guò)模擬仿真的方式進(jìn)行測(cè)試,實(shí)現(xiàn)串口通信數(shù)據(jù)的發(fā)送。2.1串口通信的使用程序運(yùn)行界面

控件名稱(chēng)控件類(lèi)型屬性名屬性值控件功能Form1窗體Text串口通信

ShowMsg自定義控件Text

Label1文本框

串口

Label2文本框

波特率

btn_Getdata命令按鈕Text獲取數(shù)據(jù)控制數(shù)據(jù)獲取btn_Open命令按鈕Text打開(kāi)串口打開(kāi)(關(guān)閉)串口com_Port下拉列表框

顯示串口號(hào)com_Baud下拉列表框

顯示波特率2.1串口通信的使用界面控件設(shè)置【任務(wù)實(shí)施】

創(chuàng)建新項(xiàng)目,添加WinFormsDeviceControlLibrary.DLLl引用;2.添加仿真動(dòng)態(tài)庫(kù)DeviceCtrlLibrary.DLL引用。3.創(chuàng)建創(chuàng)建界面,參照教材圖2-7與表2-1;引用DeviceCtrlLibrary與System.IO.Ports命名空間;聲明boolIsOpen全局變量,用于判斷是否打開(kāi)串口,默認(rèn)為關(guān)閉;參照教材代碼,添加Form1窗體Load事件,實(shí)現(xiàn)讀取系統(tǒng)串口;參照教材代碼,添加btn_open開(kāi)啟按鈕單擊事件,實(shí)現(xiàn)串口設(shè)置;參照教材代碼,添加

btn_getData開(kāi)啟單擊事件,串口讀入信息?!拘≠N士】com_Baud.SelectedItem表示波特率選擇狀態(tài)。com_Port.SelectedItem表示串口嘖選擇狀態(tài)2.1串口通信的使用【知識(shí)提煉】

串口通信及串口波特率串口是串行接口(serialport)的簡(jiǎn)稱(chēng),也稱(chēng)為串行通信接口或COM接口。串口通信采用串行通信協(xié)議(serialcommunication),在一條信號(hào)線(xiàn)上將數(shù)據(jù)一位一位地順序傳送,通信線(xiàn)路簡(jiǎn)單,只要一條傳輸線(xiàn)就可實(shí)現(xiàn)雙向傳輸,降低了成本,但是傳輸速度較慢。。串行通訊是一種計(jì)算機(jī)與外圍設(shè)備進(jìn)行信息通訊協(xié)議。目前在很工業(yè)控制領(lǐng)域中有廣泛的應(yīng)用,其通訊接口標(biāo)準(zhǔn)有RS-232C、RS-422、RS-423和RS-485。其中,RS-232C作為串行通信接口的電氣標(biāo)準(zhǔn)定義了數(shù)據(jù)終端設(shè)備(DTE:dataterminalequipment)和數(shù)據(jù)通信設(shè)備(DCE:datacommunicationequipment)間按位串行傳輸?shù)慕涌谛畔?,合理安排了接口的電氣信?hào)和機(jī)械要求,在世界范圍內(nèi)得到了廣泛的應(yīng)用。串口波特率是指單片機(jī)或計(jì)算機(jī)在通信時(shí)衡量數(shù)據(jù)傳輸速率的參數(shù),它表示每秒鐘傳送的信號(hào)的個(gè)數(shù)。比如:波特率設(shè)置為9600bit/s(位每秒),表示信號(hào)每一秒傳輸了9600位。一個(gè)字節(jié)8位,9600bit/s的速率,每一秒傳輸出了1200個(gè)字節(jié)。通常設(shè)備采用串口通訊方式進(jìn)行通訊,兩者的串口波特率應(yīng)該設(shè)置一樣,否則會(huì)出現(xiàn)數(shù)據(jù)接收亂碼。2.1串口通信的使用【知識(shí)提煉】

SerialPort類(lèi)SerialPort類(lèi)用于實(shí)現(xiàn)串口數(shù)據(jù)通信。其常見(jiàn)屬性和常見(jiàn)方法分別見(jiàn)教材表2-2與表2-3。使用SerialPort進(jìn)行數(shù)據(jù)發(fā)送,示例代碼如下:2.1串口通信的使用SerialPortserialport1=newSerialPort();serialport1.PortName="COM1";serialport1.BaudRate=9600;serialport1.Open();byte[]date=Encoding.Unicode.GetBytes("ABC");stringStrdate=Convert.ToBase64String(date);serialport1.WriteLine(Strdate);serialport1.Close();【知識(shí)提煉】

使用SerialPort進(jìn)行數(shù)據(jù)接收,示例代碼如下:2.1串口通信的使用SerialPortserialport1=newSerialPort();serialport1.PortName="COM1";serialport1.BaudRate=9600;serialport1.Open();byte[]data=Convert.FromBase64String(serialport1.ReadLine());stringStrdata=Encoding.Unicode.GetString(data);MessageBox.Show(Strdata,"顯示接收數(shù)據(jù)");serialport1.Close();【知識(shí)提煉】

C#基本數(shù)據(jù)類(lèi)型變量在使用前必須說(shuō)明其數(shù)據(jù)類(lèi)型,在C#中,每個(gè)變量都有一個(gè)特定的類(lèi)型,系統(tǒng)根據(jù)其類(lèi)型給變量分配合適的內(nèi)存空間。在其范圍內(nèi)的值可以存儲(chǔ)在內(nèi)存中,可以對(duì)變量進(jìn)行一系列操作。2.1串口通信的使用【知識(shí)提煉】

變量變量是一個(gè)供程序操作的存儲(chǔ)區(qū)的名字。C#語(yǔ)言是區(qū)分大小寫(xiě)的,例如:charno_1;charNo_1;表示定義了兩個(gè)字符變量,變量名分別是no_1和No_1。定義變量能使代碼的邏輯更清晰、更易于理解。C#變量定義的格式:數(shù)據(jù)類(lèi)型變量名;inta,b;charc;floatf;doubled;2.1串口通信的使用【知識(shí)提煉】

變量必須先定義,后使用。變量在定義時(shí)必須符合以下幾個(gè)條件:1)變量名必須以字母開(kāi)。例如:inti;inti2;//合法int1i;//不合法2)變量名只能由字母、數(shù)字和下劃線(xiàn)組成,而不能包含空格、標(biāo)點(diǎn)符號(hào)、運(yùn)算符等其它符號(hào)。例如:intNo_1;//合法intNo.1;intNo,1

intNo%1//不合法3)變量名不能與C#中的關(guān)鍵字名稱(chēng)相同。例如:charuse;//不合法,與關(guān)鍵字名稱(chēng)相同。char@use;//合法4)變量名不能與C#中的庫(kù)函數(shù)名稱(chēng)相同。例如:float

Main;//不合法,與函數(shù)名稱(chēng)相同2.1串口通信的使用【知識(shí)提煉】

變量的作用域就是可以使用該變量的區(qū)域??梢酝ㄟ^(guò)以下規(guī)則確定變量的作用域:1)只要字段所屬的類(lèi)在某個(gè)作用域內(nèi),則該字段也可在該區(qū)域內(nèi)使用。2)局部變量存在于表示聲明該變量的塊語(yǔ)句或方法結(jié)束的封閉大括號(hào)之前的區(qū)域內(nèi)使用。3)在循環(huán)語(yǔ)句中聲明的局部變量存在該循環(huán)體區(qū)域內(nèi)使用。創(chuàng)建一個(gè)程序,分別聲明一個(gè)局域變量和全局變量i,賦值不同的數(shù)據(jù),運(yùn)行程序,查看結(jié)果。2.1串口通信的使用【能力拓展】

通過(guò)“任務(wù)實(shí)施”的操作步驟,已經(jīng)實(shí)現(xiàn)了串口通信的功能。本環(huán)節(jié)將制作一個(gè)查詢(xún)本機(jī)串口個(gè)數(shù)小應(yīng)用,實(shí)現(xiàn)功能:?jiǎn)螕簟安樵?xún)串口個(gè)數(shù)”按鈕,label1控件顯示本機(jī)串口的個(gè)數(shù)。2.1串口通信的使用運(yùn)行效果【自主探究】

增加一個(gè)列表控件(listBox),顯示本機(jī)所有串口的端口號(hào)。。2.1串口通信的使用IOTPartLED顯示屏的使用任務(wù)02【任務(wù)描述】LED顯示屏是物聯(lián)網(wǎng)系統(tǒng)中用來(lái)顯示信息的一個(gè)平臺(tái),通過(guò)這個(gè)平臺(tái)可以向公眾顯示些必要的信息,比如:溫度、溫度等。本任務(wù)模擬智慧校園信息發(fā)布系統(tǒng),用C#編寫(xiě)程序?qū)⑼ㄟ^(guò)串口將信息發(fā)送至LED顯示屏。通過(guò)本任務(wù)的實(shí)施,是學(xué)生學(xué)會(huì)使用串口向LED顯示屏發(fā)送信息、使用groupBox控件和了解C#錯(cuò)誤處理的方法。2.2LED顯示屏的使用程序運(yùn)行界面

控件名稱(chēng)控件類(lèi)型屬性名屬性值控件功能Form1窗體TextLED顯示屏

LED自定義控件Textled顯示LED推送的信息groupBox1組框

將功能控件放在同一個(gè)框里L(fēng)abel1文本框

串口

Label2文本框

推送LED信息

btn_Open命令按鈕Text打開(kāi)打開(kāi)(關(guān)閉)串口btn_Send命令按鈕Text打開(kāi)串口向LED顯示屏發(fā)送信息com_Port下拉列表框

顯示串口號(hào)txt_SendText文本輸入框

輸入要發(fā)送的信息2.2LED顯示屏的使用界面控件設(shè)置【任務(wù)實(shí)施】

將LED顯示屏通過(guò)串口直接連接到PC機(jī)的串口上。(注:如果沒(méi)有該LED顯示屏,且略過(guò)一步。);創(chuàng)建新項(xiàng)目,添加WinFormsDeviceControlLibrary.DLL引用;添加DeviceCtrlLibrary.dll引用,并將“API”目錄下所有的DLL文件復(fù)制到相關(guān)目錄下(無(wú)LED顯示屏,按上一節(jié)操作完成實(shí)現(xiàn)仿真);創(chuàng)建創(chuàng)建界面,參照教材步驟完面圖2-12與表2-3;引用DeviceCtrlLibrary與System.IO.Ports命名空間;參照教材代碼,添加“打開(kāi)”按鈕單擊事件;參照教材代碼,添加“發(fā)送”按鈕單擊事件;參照教材代碼,添加“com_Port”按鈕單擊事件

;2.2LED顯示屏的使用【小貼士】

使用軟件仿真或硬件測(cè)試是有區(qū)別的的,具體打操作見(jiàn)教材說(shuō)明?!局R(shí)提煉】

運(yùn)算符運(yùn)算符是指定編譯器執(zhí)行的數(shù)學(xué)或邏輯操作的符號(hào)。C#提供了許多運(yùn)算符,常用的運(yùn)算符可以分為以下幾類(lèi):賦值運(yùn)算符、算術(shù)運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符等。2.2LED顯示屏的使用運(yùn)算符說(shuō)明+把兩個(gè)操作數(shù)相加-從第一個(gè)操作數(shù)中減去第二個(gè)操作數(shù)*兩個(gè)操作數(shù)相乘/執(zhí)行除法運(yùn)算取商%取模運(yùn)算符(求余),整除后的余數(shù)++自增運(yùn)算符,整數(shù)值增加

1算術(shù)運(yùn)算符【知識(shí)提煉】

2.2LED顯示屏的使用比較關(guān)系運(yùn)算符運(yùn)算符說(shuō)明==判斷兩個(gè)操作數(shù)的值是否相等,如果相等則結(jié)果為真。!=檢查兩個(gè)操作數(shù)的值是否相等,如果不相等則結(jié)果為真。>

判斷左操作數(shù)的值是否大于右操作數(shù)的值,如果是則結(jié)果為真。<

判斷左操作數(shù)的值是否小于右操作數(shù)的值,如果是則結(jié)果為真。>=判斷左操作數(shù)的值是否大于等于右操作數(shù)的值,如果是則結(jié)果為真。<=判斷左操作數(shù)的值是否小于等于右操作數(shù)的值,如果是則結(jié)果為真?!局R(shí)提煉】

2.2LED顯示屏的使用邏輯運(yùn)算符運(yùn)算符說(shuō)明&&邏輯與運(yùn)算符。如果兩個(gè)操作數(shù)都為真,則結(jié)果為真。||邏輯或運(yùn)算符。如果兩個(gè)操作數(shù)中有任意一個(gè)為真,則結(jié)果為真。!邏輯非運(yùn)算符。檢查特定表達(dá)式取反后是否為真運(yùn)算符說(shuō)明=賦值運(yùn)算符,把右邊操作數(shù)的值賦給左邊操作數(shù)+=加且賦值運(yùn)算符,把右邊操作數(shù)加上左邊操作數(shù)的結(jié)果賦值給左邊操作數(shù)-=減且賦值運(yùn)算符,把左邊操作數(shù)減去右邊操作數(shù)的結(jié)果賦值給左邊操作數(shù)*=乘且賦值運(yùn)算符,把右邊操作數(shù)乘以左邊操作數(shù)的結(jié)果賦值給左邊操作數(shù)/=除且賦值運(yùn)算符,把左邊操作數(shù)除以右邊操作數(shù)的結(jié)果賦值給左邊操作數(shù)%=求模且賦值運(yùn)算符,求兩個(gè)操作數(shù)的模賦值給左邊操作數(shù)賦值運(yùn)算符【知識(shí)提煉】

C#的錯(cuò)誤處理方法---trycath的使用在C#程序運(yùn)行中,不可避免的會(huì)出現(xiàn)很多異常事件,這些異常事件會(huì)阻止程序繼續(xù)運(yùn)行,給用戶(hù)體驗(yàn)增加困難。所以我們要盡量避免異常的同時(shí),也要對(duì)異常進(jìn)行處理。這時(shí)就需要使用到try-catch語(yǔ)句。例如:當(dāng)我們下面一段代碼:一個(gè)按鈕事件中做除法,當(dāng)除數(shù)為0時(shí),將會(huì)導(dǎo)致程序出錯(cuò),從而使程序中斷,無(wú)法繼續(xù)運(yùn)行。為了避免這種情況出現(xiàn),在程序設(shè)計(jì)進(jìn)可以加入異常處理語(yǔ)句。2.2LED顯示屏的使用try{inta=100;intb=0;intc=a/b;}Catch(EventArgsex){MessageBox

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論