freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于嵌入式平臺的智能化家居系統(tǒng)設(shè)計-資料下載頁

2025-06-27 20:22本頁面
  

【正文】 后執(zhí)行完它的時間片后, UC/OSII 又返回到 job0 開始執(zhí)行。然后再切換到 job1,如此循環(huán)。void job0 (void) _task_ 0 { os_create (1)。 while (1) { job0()。 }}void job1 (void) _task_ 1 { os_create (2)。 while (1) { job1()。 }} 遠程控制程序設(shè)計遠程控制軟件設(shè)計主要分為系統(tǒng)初始化、振鈴檢測計數(shù)、控制摘掛機、雙音頻信號分析處理、控制電器、信號音提示等部分。遠程控制程序整體流程圖如圖 13 所示。 短信息發(fā)送程序設(shè)計TC35 模塊支持 8 位數(shù)據(jù)位,無奇偶校驗位,位停止位數(shù)據(jù)傳輸。傳輸速率可以在。對 TC35 模塊控制 ,IGT 信號非常地重要,只有正確的 IGT信號才可以使 TC35 模塊正常地運行。IGT 的下降沿啟動 TC35,并且 IGT 的低電平應(yīng)該至少保持 100ms,TC35 然后正常工作。存儲示波器采集到的啟動信號如圖 14 所示。單片機對 TC35 模塊的控制 TC35 模塊采用 AT 賀氏指令。單片機可以通過正確的 AT指令對 TC35 模塊進行初始化和短消息的接收發(fā)送。對短消息的控制共有三種模式 :Block模式!PDU 模式和 Text 模式。使用 Block 模式需要手機生產(chǎn)廠家提供驅(qū)動支持。目前,PDU 模式已取代 Block 模式,而 Text 模式不支持中文,因此本系統(tǒng)使用 PDU 模式進行短消基于嵌入式平臺的智能化家居系統(tǒng)設(shè)計24息的發(fā)送。單片機通過以下系列 AT 指令對短消息進行控制。開始初始化模擬摘機提示輸入密碼開電器提示控制電器等待回應(yīng)關(guān)電器啟動軟件計數(shù)啟動計時掛機啟動軟件計數(shù)提示重輸密碼振鈴信號振鈴六次密碼正確45S 到3 次提示完成按 圖 13 遠程控制程序設(shè)計流程圖基于嵌入式平臺的智能化家居系統(tǒng)設(shè)計25圖 14 存儲示波器采集到的啟動信號TC35 初始化:首先設(shè)置短消息發(fā)送格式 AT+CMGF=1CR,設(shè)置 1 代表 PDU 模式,CR是回車符號,也就是 0x0d。指令正確則模塊返回CRLFOKCRLF,CRLF是回車換行符號。其次設(shè)置短消息中心 AT+CSCA=d+8613800531500d(短消息中心)CR,設(shè)置正確則模塊返回CRLFOKCRLF。注意短消息中心號碼可能會因不同手機或不同區(qū)域而不同。如果讀取短消息服務(wù)中心則使用命令 AT+CSCA=?CR,模塊應(yīng)該返回CRLF+CSCA:d8613800531500dCRLF。最后設(shè)置短消息到達自動提示AT+CNMI=1,1,0,0,1CR,設(shè)置正確則模塊返回CRLFOKCRLF。設(shè)置此命令可使模塊在短消息到達后向單片機發(fā)送指令CRLF+CMTI:dSMd,IN2DEX(信息存儲位置)CRLF。發(fā)送短消息在 PDU 模式,如果發(fā)送短消息,則首先發(fā)送短消息數(shù)據(jù)的長度。AT+CMGS=lengthCR。等待 TC35 模塊返回 ASCII 字符/0, 則可以將 PDU 數(shù)據(jù)輸入,PDU 數(shù)據(jù)以Z( 也就是 0x1a)作為結(jié)束符。短消息發(fā)送成功,模塊返回CRLFOKCRLF。發(fā)送數(shù)據(jù)格式例如,需要發(fā)送漢字“ 一氧化碳的濃度超標,排氣扇已打開”到手機 13878305396,則首先發(fā)送數(shù)據(jù)串 AT+CMGS=19CR,然后等待 ASCII 字符/0,然后輸入 PDU 數(shù)據(jù)。 紅外遙控程序設(shè)計設(shè)計的主要思路是通過對紅外二進制脈沖的寬度進行測量,從而獲得紅外遙控的波形信息,進而實現(xiàn)存儲、還原。根據(jù)遙控信號編碼和發(fā)射過程,遙控信號的識別(也叫基于嵌入式平臺的智能化家居系統(tǒng)設(shè)計26解碼過程)是去除 38KHz 載波信號后識別出二進制脈沖碼中的 0 和 1。紅外接收頭的解調(diào)信號送到 INT0 引腳,由內(nèi)部定時器完成高低電平長度的采集,然后進行數(shù)據(jù)保存,由單片機進行高電平與低電平的寬度的測量。遙控信號的還原是通過 (T2)輸出二進制已調(diào)脈沖。對遙控信號還原的調(diào)制在單片機的內(nèi)部進行,利用了定時器 2 的捕獲工作方式,定時器 2 是一個 16 位定時/計數(shù)器。它既可當定時器使用,也可作為外部事件計數(shù)器使用,其工作方式由特殊功能寄存器 T2CON 的 C/T2 位選擇。定時器 2 有三種工作方式:捕獲方式,自動重裝載(向上或向下計數(shù))方式和波特率發(fā)生器方式,工作方式由T2CON 的控制位來選擇,在捕獲方式下,通過 T2CON 控制位 EXEN2 來選擇兩種方式。如果 EXEN2=0,定時器 2 是一個 16 位定時器或計數(shù)器,計數(shù)溢出時,對 T2CON 的溢出標志 TF2 置位,同時激活中斷。如查 EXEN2=1,定時器 2 完成相同的操作,而當T2EX 引腳外部輸入信號發(fā)生 1 至 0 負跳變時,也出現(xiàn) TH2 和 TL2 中的值分別被捕獲到RCAP2H 和 RCAP2L 中。另外,T2EX 引腳信號的跳變使得 T2CON 中的 EXF2 置位,與TF2 相仿, EXF2 也會活中斷。本系統(tǒng)正是利用了捕獲方式的 RCAP2H 和 RCAP2L 自動重裝載,產(chǎn)生 38K 調(diào)制信號,準備還原的 0,1 信號的調(diào)制通過 TF2 標志進行調(diào)制,該方案不僅合理的利用硬件資源,而且還提高了系統(tǒng)的可靠性。 上位機(PC 機)編程 系統(tǒng)為了給用戶提供一個良好的人機對話界面還利用 RS232 通信標準還特別設(shè)計了與 PC 機軟件,傳輸波特率為 57600 kbps。 用戶界面的設(shè)計用戶界面是一個應(yīng)用程序最重要的部分,對用戶而言,界面就是應(yīng)用程序,用戶感覺不到幕后正在執(zhí)行的代碼。不論花多少時間和精力來編制和優(yōu)化代碼,應(yīng)用程序的可用性仍然在很大程度上依賴于界面的好壞。首先針對本系統(tǒng)要開發(fā)的應(yīng)用程序做出初步規(guī)劃設(shè)計,在設(shè)計用戶界面時,參照了 Microsoft 和其他公司的一些應(yīng)用程序,使用了通用的設(shè)計方案,比如:工具欄、狀態(tài)條、工具提示、上下文菜單以及標記對話框等。用戶界面如圖 15 所示。基于嵌入式平臺的智能化家居系統(tǒng)設(shè)計27圖 15 系統(tǒng)用戶界面 串行通信的實現(xiàn)利用 VB 開發(fā)通信程序主要有兩種方法,一是利用 VB 本身提供的控件,另一種是利用 Windows API 應(yīng)用程序接口,Windows API 主要提供了三個動態(tài)鏈接庫、 、 供開發(fā)人員調(diào)用,其中 主要包括一些底層操作函數(shù),如通信、菜單、消息等以及絕大多數(shù)非顯示函數(shù), 圖形設(shè)備接口庫,主要內(nèi)容為與設(shè)備輸出有關(guān)的函數(shù)。和串口通信有關(guān)的函數(shù)均在Windows\System 子目錄下的 動態(tài)鏈接庫中。在本設(shè)計中用 VB 控件實現(xiàn)通信的方法比調(diào)用 SDK 的 API 動態(tài)鏈接庫的方法更加快捷,且用較少的代碼可以實現(xiàn)相同的功能,因此本設(shè)計使用此控件來完成串口的通信。 控件 MSComm 使用方法MSComm 控件通過串行端口傳輸和接收數(shù)據(jù),為應(yīng)用程序提供串行通訊功能。MSComm 控件在串口編程時非常方便,程序員不必去花時間去了解較為復雜的 API 函數(shù),而且在 VC、VB、Delphi 等語言中均可使用。 Microsoft Communications Control(以下簡基于嵌入式平臺的智能化家居系統(tǒng)設(shè)計28稱 MSComm)是 Microsoft 公司提供的簡化 Windows 下串行通信編程的 ActiveX 控件,它為應(yīng)用程序提供了通過串行接口收發(fā)數(shù)據(jù)的簡便方法。具體的來說,它提供了兩種處理通信問題的方法:一是事件驅(qū)動(Event-driven)方法,一是查詢法。MSComm 控件提供下列兩種處理通訊的方式:事件驅(qū)動方式和查詢方式。 ①事件驅(qū)動方式事件驅(qū)動通訊是處理串行端口交互作用的一種非常有效的方法。在許多情況下,在事件發(fā)生時需要得到通知,例如,在串口接收緩沖區(qū)中有字符,或者 Carrier Detect(CD)或 Request To Send (RTS)線上一個字符到達或一個變化發(fā)生時。在這些情況下,可以利用 MSComm 控件的 OnComm 事件捕獲并處理這些通訊事件。OnComm 事件還可以檢查和處理通訊錯誤。所有通訊事件和通訊錯誤的列表,參閱 CommEvent 屬性。在編程過程中,就可以在 OnComm 事件處理函數(shù)中加入自己的處理代碼。這種方法的優(yōu)點是程序響應(yīng)及時,可靠性高。每個 MSComm 控件對應(yīng)著一個串行端口。如果應(yīng)用程序需要訪問多個串行端口,必須使用多個 MSComm 控件。②查詢方式查詢方式實質(zhì)上還是事件驅(qū)動,但在有些情況下,這種方式顯得更為便捷。在程序的每個關(guān)鍵功能之后,可以通過檢查 CommEvent 屬性的值來查詢事件和錯誤。如果應(yīng)用程序較小,并且是自保持的,這種方法可能是更可取的。 MSComm 控件有很多重要的屬性,常用的如下。CommPort 設(shè)置并返回通訊端口號。Settings 以字符串的形式設(shè)置并返回波特率、奇偶校驗、數(shù)據(jù)位、停止位。 PortOpen 設(shè)置并返回通訊端口的狀態(tài)。也可以打開和關(guān)閉端口。 Input 從接收緩沖區(qū)返回和刪除字符。 Output 向傳輸緩沖區(qū)寫一個字符串。下面分別描述。CommPort 屬性  設(shè)置并返回通訊端口號。語法 [value ] (value 一整型值,說明端口號。) 說明 在設(shè)計時,value 可以設(shè)置成從 1 到 16 的任何數(shù)(缺省值為 1) 。但是如果用 PortOpen 屬性打開一個并不存在的端口時,MSComm 控件會產(chǎn)生錯誤 68(設(shè)備無效) 。必須在打開端口之前設(shè)置 CommPort 屬性。RThreshold 屬性 在 MSComm 控件設(shè)置 CommEvent 屬性為 EvReceive 并產(chǎn)生 基于嵌入式平臺的智能化家居系統(tǒng)設(shè)計29OnComm 之前,設(shè)置并返回的要接收的字符數(shù)。語法  [ = value ](value 整型表達式,說明在產(chǎn)生 OnComm 事件之前要接收的字符數(shù)。 )說明 當接收字符后,若 Rthreshold 屬性設(shè)置為 0(缺省值)則不產(chǎn)生 OnComm 事件。例如,設(shè)置 Rthreshold 為 1,接收緩沖區(qū)收到每一個字符都會使 MSComm 控件產(chǎn)生OnComm 事件。CTSHolding 屬性 確定是否可通過查詢 Clear To Send(CTS)線的狀態(tài)發(fā)送數(shù)據(jù)。Clear To Send 是調(diào)制解調(diào)器發(fā)送到相聯(lián)計算機的信號,指示傳輸可以進行。該屬性在設(shè)計時無效,在運行時為只讀。語法?。˙oolean )說明 如果 Clear To Send 線為低電平(CTSHolding=False)并且超時時,MSComm 控件設(shè)置 CommEvent 屬性為 EventCTSTO(Clear To Send Timeout) 并產(chǎn)生 OnComm 事件。Clear To Send 線用于 RTS/CTS(Request To Send/Clear To Send)硬件握手。如果需要確定 Clear To Send 線的狀態(tài), CTSHolding 屬性給出一種手工查詢的方法。SThreshold 屬性 MSComm 控件設(shè)置 CommEvent 屬性為 EvSend 并產(chǎn)生OnComm 事件之前,設(shè)置并返回傳輸緩沖區(qū)中允許的最小字符數(shù)。語法 [=value]value 整形表達式,代表在 OnComm 事件產(chǎn)生之前在傳輸緩沖區(qū)中的最小字符數(shù)。說明 若設(shè)置 Sthreshold 屬性為 0(缺省值) ,數(shù)據(jù)傳輸事件不會產(chǎn)生 OnComm 事件。若設(shè)置 Sthreshold 屬性為 1,當傳輸緩沖區(qū)完全空時, MSComm 控件產(chǎn)生 OnComm 事件。如果在傳輸緩沖區(qū)中的字符數(shù)小于 value,CommEvent 屬性設(shè)置為 EvSend,并產(chǎn)生OnComm 事件。 EvSend 事件僅當字符數(shù)與 Sthreshold 交叉時被激活一次。例如,如果 Sthreshold 等于 5,僅當在輸出隊列中字符數(shù)從 5 降到 4 時,EvSend 才發(fā)生。如果在輸出隊列中從沒有比 Sthreshold 多的字符,EvSend 事件將絕不會發(fā)生。30六、仿真調(diào)試與分析本系統(tǒng)的制作調(diào)試主要分為硬件調(diào)試、軟件調(diào)試和聯(lián)機調(diào)試等三大部分。經(jīng)過初步的分析設(shè)計后,在設(shè)計制作硬件電路的同時,調(diào)試穿插進行,應(yīng)用系統(tǒng)的硬件調(diào)試和軟件調(diào)試是分不開的,許多硬件故障是在調(diào)試軟件時才發(fā)現(xiàn)的。但通常是先排除系統(tǒng)中明顯的硬件故障后才和軟件結(jié)合起來調(diào)試,如此有利于問題的分析和解決,不會造成問題的積累,從而可以節(jié)約大量的調(diào)試時間。軟件編程中,我是首先完成單元功能模塊的調(diào)試,然后進行系統(tǒng)調(diào)試,整體上采用硬件調(diào)試的調(diào)試方法。聯(lián)機調(diào)試是最重要的一部分,同時也是本系統(tǒng)成功的關(guān)鍵。 系統(tǒng)硬件仿真調(diào)試本系統(tǒng)的硬件調(diào)試分為以下階段進行調(diào)試: 1)邏輯錯誤調(diào)試:樣機硬件的邏輯錯誤是由于設(shè)計錯誤和加工過程中的工藝性錯誤所造成的。這類錯誤包括:錯線、開路、短路等幾種,其中短路是最常見的故障。2)器件調(diào)試:元器件失效的原因有兩個方面:一是器件本身已損壞或性能不符合要求;二是由于組裝錯誤造成的元器件失效,如電解電容、二極管的極性錯誤,集成塊安裝方向錯誤等。3)可靠性調(diào)試:引起系統(tǒng)不可靠的因素很多,如金屬化孔、接插件接觸不良會造成系統(tǒng)時好時壞;內(nèi)部和外部的干擾、電源紋波系數(shù)過大、器件負載過大等造成邏輯電平不穩(wěn)定;另外,走線和布局的不合理等也會引起系統(tǒng)可靠性差。4)電源故障:若樣
點擊復制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1