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

正文內(nèi)容

畢業(yè)設(shè)計論文單片機msp430與pc機串口通訊設(shè)計(存儲版)

2024-12-17 23:05上一頁面

下一頁面
  

【正文】 斷標志進入中斷并發(fā)送數(shù)據(jù)下面為程序代碼 interrupt [UART1TX_VECTOR] void UART1_TX_ISR void if nTX1_Len 0 nTX1_Flag 0 表示緩沖區(qū)里的數(shù)據(jù)沒有發(fā)送完 TXBUF1 0x01 先寫入地址字符 TXBUF1 UART1_TX_BUF[nSend_TX1] 開始傳輸數(shù)據(jù) nSend_TX1 1 if nSend_TX1 nTX1_Len 數(shù)據(jù)是否發(fā)送完 nSend_TX1 0 nTX1_Len 0 nTX1_Flag 1 緩沖區(qū)里沒有數(shù)據(jù)要發(fā)送了 對于發(fā)送中斷程序一般處于禁止等待狀態(tài)只有當單片機的發(fā)送緩沖區(qū)歷由數(shù)據(jù)需要發(fā)送并將發(fā)送中斷置為允許方式后發(fā)送中斷才開始工作發(fā)送時從緩沖區(qū)里發(fā) 送數(shù)據(jù)遵守通訊協(xié)議首先發(fā)送地址位然后發(fā)送需要傳輸?shù)臄?shù)據(jù)最后發(fā)送校驗以及結(jié)束標志在發(fā)送中斷服務(wù)程序里從 UART1_TX_BUF[ ]全局緩沖區(qū)里取出數(shù)據(jù)給 TXBUF1 寄存器進行發(fā)送發(fā)送完后發(fā)送中斷服務(wù)程序等待下一中斷的到來 以上兩程序可以看出采用中斷有很好的結(jié)構(gòu)只要在中斷服務(wù)程序里理接收和發(fā)送數(shù)據(jù)然后與主程序進行數(shù)據(jù)交換易實現(xiàn)多任務(wù)操作很好利用單片機資源 五主處理程序 主處理程序包含初始化設(shè)置串口工作方式對接收到的數(shù)據(jù)進行處理以及封裝需要發(fā)送的數(shù)據(jù)下面是它的程序代碼 include include sp3220h 定義串口操作變量 char nRev_UART1 串口 1 的接收標志 char UART1_TX_BUF[60] 串口 1 的發(fā)送緩沖區(qū) char UART1_RX_BUF[60] 串口 1 的接收緩沖區(qū) int nTX1_Len char nRX1_Len char nRX1_Len_temp char nTX1_Flag int nSend_TX1 void main void int nRes_UART1 int nRes 0 char UART1_RX_Temp[60] int i int n WDTCTL WDTPW WDTHOLD 關(guān)閉看門狗 _DINT 關(guān)閉中斷 Init_CLK 初始化時鐘 Init_Port 初始化端口 Init_UART1 初始化串口 1 _EINT 打開中斷 for 進入處理循環(huán) if nRev_UART1 1 如果有接收中斷 nRev_UART1 0 for i 0i nRX1_Leni UART1_RX_Temp[i] UART1_RX_BUF[i] 將接收到的數(shù)據(jù)拷貝到臨時緩沖區(qū) nRes ProcessCMD UART1_RX_TempnRX1_Len switch nRes case 1 UART1_TX_BUF[0] O UART1_TX_BUF[1] K UART1_TX_BUF[2] 13 nTX1_Len 3 設(shè)置中斷標志進入發(fā)送中斷程序 IFG2 UTXIFG1 nRX1_Len 0 break case 2 for n 0n nRX1_Lenn UART1_TX_BUF[n] UART1_RX_Temp[n] UART1_TX_BUF[nRX1_Len] O UART1_TX_BUF[nRX1_Len1] K UART1_TX_BUF[nRX1_Len2] 13 nTX1_Len nRX1_Len 3 設(shè)置中斷標志進入發(fā)送中斷程序 IFG2 UTXIFG1 nRX1_Len 0 break case 1 UART1_TX_BUF[0] E UART1_TX_BUF[1] R UART1_TX_BUF[2] R UART1_TX_BUF[3] O UART1_TX_BUF[4] R UART1_TX_BUF[5] 13 nTX1_Len 6 設(shè)置中斷標志進入發(fā)送中斷程序 IFG2 UTXIFG1 nRX1_Len 0 break 在上面的程序中主要根據(jù) ProcessCMD UART1_RX_TempnRX1_Len 對得到的結(jié)果進行處理向 PC 發(fā)送響應(yīng)數(shù)據(jù)如果接收到的數(shù)據(jù)有錯誤則發(fā)送 ERROR 數(shù)據(jù)封裝完成后設(shè)置 nTx1_Len的長度并通過 IFG2 UTXIFG1發(fā)送中斷從而使中斷處理程序進行數(shù)據(jù)發(fā)送上面程序中 ProcessCMD UART1_RX_TempnRX1_Len 主要處理接收到的數(shù)據(jù)并返回相應(yīng)的代碼以使主程序處理該函數(shù)的具體代碼為 int ProcessCMD char pBuf[]int nLen int nTemp 1 int i if nLen 2 return 1 if nLen 5 if pBuf[0] A pBuf[1] T pBuf[2] E pBuf[3] 0 nTemp 1 if pBuf[0] A pBuf[1] T pBuf[2] E pBuf[3] 1 nTemp 2 return nTemp 167。 322 上位機 PC 機程序設(shè)計 28 結(jié) 論 34 參考文獻 36 前 言 在工業(yè)控制領(lǐng)域由多單片機構(gòu)成的系統(tǒng)很多如大規(guī)模測控系統(tǒng)大型車輛控制系統(tǒng)機器人控制系統(tǒng)等單個單片機在這些應(yīng)用場合往往僅負責某一個點或者某個子系統(tǒng)的監(jiān)控對整個系統(tǒng)中各點的監(jiān)測或各子系統(tǒng)的協(xié)調(diào)控制則由某一個功能更強大的中央處理器如 PC 機來完成數(shù)據(jù)傳輸距離可能是近距離的幾米也可能是遠距離的幾公里多機系統(tǒng)的數(shù)據(jù)交換可能采用并行通信也可能采用串行通信而構(gòu)成多單片機系統(tǒng)的關(guān)鍵技術(shù)是多單片機之間的通信 方式 [1]由于串行通信是在一根傳輸線上一位一位的傳送信息所用的傳輸線少可借助現(xiàn)成的電話網(wǎng)進行數(shù)據(jù)傳送因此特別適合遠距離傳輸所以串口通訊方式在計算機控制系統(tǒng)中有著廣泛的應(yīng)用 MSP430 系列單片機是一種超低功耗的混合信號控制器在控制系統(tǒng)以及數(shù)據(jù)采集系統(tǒng)中有廣泛的應(yīng)用這是因為該系列單片機有著強大的處理功能在 8MHz 晶體下運算能力達 1MIPS100萬秒是傳統(tǒng) 51單片機遠遠達不到的這使該系列單片機采用 C 語言開發(fā)有很高的效率從而提高開發(fā)周期實現(xiàn)程序可移植性 MSP430 系列單片機有超低功耗的特點且有多種省電模式 6μ m 的 快速啟動時間可延長待機時間并使啟動更加迅速這使得系統(tǒng)功耗特別小適合未來社會對于低功耗系統(tǒng)的要求 [2]另外 MSP430 系列單片機系統(tǒng)功能穩(wěn)定其波特率發(fā)生器分頻分頻器和一個調(diào)整器組合即使晶振頻率不是波特率的整數(shù)倍 MSP43 正常工作而且還可以使其通訊協(xié)議工作在最大的波特率采用這一技術(shù)即使用手表晶振 32768Hz 波特率也可以達到 4800 和 9600要想與 PC 串口或者其它帶有串口的終端連接必須要進行EIARS232C 與 MSP430 電平和邏輯關(guān)系的轉(zhuǎn)換采用 32芯片完成 3V~ 5V 電平與串口電平的雙向轉(zhuǎn)換 MSP430F149 該單片機屬于德州儀器公司 MSP430F14X16X FLASH 系列該系列是一組超低功耗的微控制器~工作電壓范圍 18~ 36V 由于具有 16 位 RISC 結(jié)構(gòu) 16 位寄存器和常數(shù)寄存器 MSP430 達到了最大的代碼效率數(shù)字控制的振蕩器提供快速從所有低功耗模式蘇醒到活動模式的能力時間少于6msMSP430F149帶有兩個 16 位定時器帶看門狗功能速度極快的 8 通道 12 位 AD 轉(zhuǎn)換器 ADC 帶內(nèi)部參考電壓采樣保持和自動掃描功能一個內(nèi)部比較器和兩個通用同步異步發(fā)射接收器 48個 IO口 均可獨立控制 的 微處理器結(jié)構(gòu)硬件乘法器提高了單片機的性能并使單片機在編碼和硬件上可兼容系統(tǒng)構(gòu)成如圖 1 所示由上位機 即計算機 通訊接口和下位機 3 部分組成上位機選用的是工控機 智能終端由單片 MSP430F149 和外圍傳感器放大電路等構(gòu)成要想與 PC 串口連接或者其它帶有串口的終端連接必須要進行 EIARS232C 與 MSP430 電平和邏輯關(guān)系的轉(zhuǎn)換本設(shè)計采用 3221 芯片 完成 3V~ 5V 電平與串口電平的雙向轉(zhuǎn)可以看出USART模塊分別由波特率部分發(fā)送部分端口 IO部分接收部分 MSP430F149單片機支持兩種不同的串行協(xié)議 UART 協(xié)議和 SPI 協(xié)議控制寄存器內(nèi)的信息決定了USART的基本操作 SYNC 0來實現(xiàn)本設(shè)計中對于其他控制位的設(shè)置還有設(shè)置 CHAR 1選擇字符長度為 8 位設(shè)置 SP 0 選擇停止位 1 位設(shè)置 PEV 0 選擇奇校驗設(shè)置 MM 1選擇地址位多機模式協(xié)議控制位的選擇基本上決定了系統(tǒng)的通信方式和通信格式 2UART 模塊的特點 由于 MSP430單片機具有兩個片內(nèi)的 UART串口 0和串口 1實現(xiàn)兩個串口通信相當容易只需要設(shè)置適當?shù)募拇嫫骶涂梢允勾诠ぷ髌饋韮蓚€串口都采用中斷方式當接收有數(shù)據(jù)時設(shè)置一個標志通知主程序有數(shù)據(jù)到來當主程序有數(shù)局要 發(fā)送時設(shè)置一個中斷標志進入中斷發(fā)送數(shù)據(jù)本設(shè)計選用串口 1 與上位機進行通信 在異步模式下接收部分自身實現(xiàn)幀的同步通信雙方只要使用相同的波特率即可異步模式的幀格式有 1 位起始位 7 位或 8 位數(shù)據(jù)位校驗位 1 位地址位 1 或 2位停止位構(gòu)成在異步模式下 MSP430 支持兩種多機模式線路空閑多機模式和地址位多機模式線路空閑模式下數(shù)據(jù)塊被一段空閑的時間分割在字符的第一個停止位之后收到 10 個以上的 1 表示檢測到線路空閑如果采用兩個停止位則第二個停止位被認為是空閑周期的第一個信號在使用地址位多機模式時字符包含一個附加的位作為地址標識數(shù)據(jù)快的 第一個字符帶有一個置位的地址位用以表明該字符是一個地址由于已經(jīng)設(shè)置了控制寄存器中的 MM 1 故在本設(shè)計中選擇了地址位多機模式 下面是 UART 通信的一些特點 1 異步通訊模式包括線路空閑地址位通信協(xié)議有兩個單獨的移位寄存器輸入輸出移位寄存器傳輸 7位或 8位數(shù)據(jù)可采用奇偶或無校驗可編程實現(xiàn)波特率調(diào)整分別發(fā)收單獨中斷有效地檢測到起始位實現(xiàn)從低功耗喚醒狀態(tài)標志檢測錯誤或者地址位在 PC 機和多臺單片機的通訊中確定一個明確而合理的通訊協(xié)議是關(guān)鍵包括對數(shù)據(jù)格式通訊方式傳送速度傳送步驟檢糾錯方式以及控制字符定義等問題做出統(tǒng)一規(guī)定為 了區(qū)別不同的分機必須為每個分機分配一個唯一的地址此地址唯一區(qū)別各單片機數(shù)據(jù)格式采用數(shù)據(jù)包的形式一次傳輸一組數(shù)據(jù)數(shù)據(jù)包格式如表所示起始標志位 1 個字節(jié) 分機地址 1 個字節(jié)命令 數(shù)據(jù) 1 個字節(jié) 數(shù)據(jù)長度 1 個字節(jié) 數(shù)據(jù)內(nèi)容 n 個字節(jié) 和檢驗 2 個字節(jié) 結(jié)束標志位 1 個字節(jié) 數(shù)據(jù)格式中的地址位表示與 PC 機通訊的單片機地址操作命令則表示此次通訊要完成的操作在單片機發(fā)送上位機接收的時候協(xié)議規(guī)定命令 FFH 為上報數(shù)據(jù) 此時數(shù)據(jù)包中的數(shù)據(jù)長度數(shù)據(jù)內(nèi)容和檢驗三個域便填充實際發(fā)送數(shù)據(jù)的個數(shù)數(shù)據(jù)及和校驗命令 F0H F3H 則表示單片機給 PC 機的反饋信息此時數(shù)據(jù)包中的數(shù)據(jù)長度數(shù)據(jù)內(nèi)容和檢驗三個域為空其中當命令為 F0H 表示接收成功 F1H 表示接收失敗并要求重發(fā) F2H 表示單片機有數(shù)據(jù)上報要求 F3H 表示單片機無數(shù)據(jù)上報要求操作命令域在 PC 機發(fā)送單片機接收的時候也相似的協(xié)議規(guī)定EIARS232邏輯電平轉(zhuǎn)換 EIARS232 是美國電子工業(yè)協(xié)會 EIA制定的串口通信協(xié)議 C 表示標準修第幾次修改其信號電平采用負邏輯邏輯 1 的電平是 5V~~ 允許發(fā)送 Clear to sendCTS 用來表示 DCE 準備好接收 DTE 發(fā) 來的數(shù)據(jù)是對請求發(fā)送信號 RTS 的響應(yīng)信號該信號有效時則通知終端開始沿發(fā)送數(shù)據(jù)線 TxD發(fā)送數(shù)據(jù) 接收線信號檢出 Received Lin
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1