• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      高職單片機(jī)教學(xué)研究三

      2018-01-25 09:54:37季紅梅
      大陸橋視野·下 2018年1期
      關(guān)鍵詞:高職教學(xué)

      季紅梅

      【摘 要】教育教學(xué)須因材施教,面對高職學(xué)生群體,應(yīng)運(yùn)用怎樣的教學(xué)方法才能達(dá)到最佳教學(xué)效果呢?根據(jù)自己多年教學(xué)體會,認(rèn)為高職課堂教學(xué),既不能等同于高中教學(xué),也不能完全照搬高校教學(xué)。它必須具有高職的特色,其課堂教學(xué)既要注重知識性,更要注重趣味性,理論夠用,技能為主,通過學(xué)生跟著老師做、學(xué)生學(xué)著自己做、理論教學(xué)做總結(jié)的方式,通過實踐體會理解掌握單片機(jī)的功能應(yīng)用技能。

      【關(guān)鍵詞】高職教學(xué);ZigBee無線技術(shù);單片機(jī)數(shù)據(jù)通訊應(yīng)用

      1.引言

      當(dāng)前各類高職技能大賽項目的機(jī)器人控制、非接觸識別等等科目,單片機(jī)的數(shù)據(jù)通訊應(yīng)用屬于必用項目。如何設(shè)計數(shù)據(jù)通訊知識的教學(xué),使得掌握單片機(jī)數(shù)據(jù)采集或者控制所需數(shù)據(jù)傳輸給其他單片機(jī)或者遠(yuǎn)端PC,是必須面對的科目。

      2.數(shù)據(jù)通訊的方法

      單片機(jī)的常用數(shù)據(jù)通信主要分為以下類型:

      類型1:串行通訊

      使用單片機(jī)的串口接口(Serial Interface),將數(shù)據(jù)逐位順序傳送的過程稱為串口通訊。串口通訊特點是通信線路簡單,只要一對傳輸線就可以實現(xiàn)雙向通信(可以直接利用電話線作為傳輸線),從而大大降低了成本,但傳送速度較慢。CC2530具有USART0/USART1兩個串口供用戶使用,通過RS232接口線將單片機(jī)的數(shù)據(jù)傳遞到PC機(jī)或接收PC機(jī)發(fā)出的指令。還可以設(shè)計相應(yīng)線路板,實現(xiàn)單片機(jī)之間的串口數(shù)據(jù)通訊。

      類型2:無線局域網(wǎng)通訊

      使用ZigBee無線技術(shù),CC2530單片機(jī)模塊板可以在0~75m的范圍內(nèi),以IEEE 802.15.4標(biāo)準(zhǔn)的下實現(xiàn)無線數(shù)據(jù)收發(fā)功能。一個ZigBee網(wǎng)絡(luò)最多可以容納254個從設(shè)備和1個主設(shè)備。一個區(qū)域內(nèi)最多可以存在100個網(wǎng),而且組網(wǎng)靈活,用于實現(xiàn)單片機(jī)板之間的數(shù)據(jù)通訊。通訊方式可以是一對一、一對多、多對多、級聯(lián)組網(wǎng)等,用戶可以設(shè)計靈活的數(shù)據(jù)協(xié)議來實現(xiàn)數(shù)據(jù)通訊。

      局域網(wǎng)無線通訊和串口通訊的靈活組合,可以滿足大多數(shù)用戶的數(shù)據(jù)交流與控制需求,且結(jié)合其他通訊設(shè)備,方便實現(xiàn)遠(yuǎn)程監(jiān)控。

      3.UART串口通訊設(shè)計步驟

      UART串口通訊實現(xiàn)步驟為:設(shè)置串口初始化、讀寫串口處理等步驟。又根據(jù)數(shù)據(jù)傳輸方向,分為單片機(jī)→PC、PC→單片機(jī)數(shù)據(jù)傳輸?shù)淖鞑煌渲?。在完成初始化串口配置以后,將需要傳輸?shù)臄?shù)據(jù)存入緩存UxDBUF,并且需要等待一定時間,等待數(shù)據(jù)被接收方取走,發(fā)送數(shù)據(jù)不宜使用發(fā)送中斷(PC實時性差,容易亂碼,故使用定時器T1設(shè)置定時發(fā)送中斷發(fā)送字符數(shù)據(jù),可以通過調(diào)試測試出最佳等待時間)。接收數(shù)據(jù)則可以使用接收中斷來實現(xiàn)數(shù)據(jù)接收(單片機(jī)實時性好)。實驗參考代碼如下:

      3.1單片機(jī)→PC初始化設(shè)置函數(shù)(使用UART0口,異步通訊模式,波特率為57600)

      void initUART01(void)

      { //片內(nèi)外設(shè)引腳位置采用上電復(fù)位默認(rèn)值,即PERCFG寄存器采用默認(rèn)值

      PERCFG = 0x00; //位置 1 P0 口

      P0SEL = 0x3c; //定義P0 用作串口, P0.2、P0.3、P0.4、P0.5作為片內(nèi)外設(shè)I/O

      U0BAUD = 216; U0GCR = 10; //波特率為57600

      U0CSR |= 0x80; // 模式選擇UART模式

      U0UCR |= 0x80; // 進(jìn)行USART初始化清除

      UTX0IF = 0; // 清零UART0 TX發(fā)送中斷標(biāo)志 }

      3.2PC→單片機(jī)初始化設(shè)置函數(shù)(使用UART0口,異步通訊模式,波特率為57600)

      void initUART02(void)

      { //片內(nèi)外設(shè)引腳位置采用上電復(fù)位默認(rèn)值,即PERCFG寄存器采用默認(rèn)值

      PERCFG = 0x00; //位置 1 P0 口

      P0SEL = 0x3c; //定義P0 用作串口, P0.2、P0.3、P0.4、P0.5作為片內(nèi)外設(shè)I/O

      U0BAUD = 216; U0GCR = 10; //波特率為57600

      U0CSR |= 0x80; // 模式選擇UART模式

      U0UCR |= 0x80; // 進(jìn)行USART初始化清除

      U0CSR |= 0x40; //允許UART0接收數(shù)據(jù)。特別強(qiáng)調(diào)必須在其他配置完成后才能配置,不能和模式選擇一起配置

      URX0IF = 0; // 清零UART0 RX接收中斷標(biāo)志 }

      3.3發(fā)送功能代碼參考(設(shè)計定時中斷,在中斷中定時發(fā)送,假設(shè)為:0.02s)

      void UART0SendByte(unsigned char c) // 發(fā)送一字節(jié)

      { U0DBUF = c; // 將要發(fā)送的1字節(jié)數(shù)據(jù)寫入U0DBUF(串口 0 收發(fā)緩沖器)

      while (!UTX0IF); // 等待TX中斷標(biāo)志,即U0DBUF就緒

      UTX0IF = 0; // 清零TX中斷標(biāo)志 }

      void UART0SendString(unsigned char *str) // UART0發(fā)送一個字符串

      { while(1)

      { if(*str == ‘\0)

      break; // 遇到結(jié)束符,退出

      UART0SendByte(*str++); // 發(fā)送一字節(jié) } }

      3.4接收功能代碼參考

      #pragma vector=URX0_VECTOR //中斷向量表的設(shè)置endprint

      __interrupt void URX0_ISR(void)

      { URX0IF = 0;//清中斷標(biāo)志

      receive_handler(); //調(diào)用接收數(shù)據(jù)后處理函數(shù)(略)}

      3.5定時發(fā)送中斷設(shè)計等其他相關(guān)輔助代碼,參見教學(xué)研究二、三

      4.無線局域網(wǎng)通訊設(shè)計

      借助于TI公司提供基于CC2530的軟件代碼BasicRF包,實現(xiàn)ZigBee無線通訊十分簡單。BasicRF是簡單的無線點對點傳輸協(xié)議,可以用來進(jìn)行無線設(shè)備數(shù)據(jù)傳輸?shù)娜腴T學(xué)習(xí)開發(fā)相對簡單的無線控制與無線傳感網(wǎng)絡(luò)。這樣無需深入了解無線通訊底層協(xié)議理論(這對于高職學(xué)生是非常困難的…),只要教會學(xué)生使用BasicRF包實現(xiàn)無限傳輸數(shù)據(jù)的方法即可。教師需要對BasicRF包的應(yīng)用,合理做出功能上的劃分,設(shè)計好實現(xiàn)程序的框架,教授學(xué)生將功能函數(shù)添加到框架的合適的部位,實現(xiàn)數(shù)據(jù)的傳輸。

      4.1根據(jù)TI公司提供基于CC2530的軟件代碼BasicRF包的使用說明,進(jìn)行編程環(huán)境的基本配置(略)

      4.2初始化

      //BasicRF地址設(shè)置:

      #define RF_CHANNEL 20 // 頻道 11~26

      #define PAN_ID 0x1A5B //網(wǎng)絡(luò)id 0x0000-0xFFFF

      #define MY_ADDR 0x1015 //本機(jī)模塊地址 id 0x0000-0xFFFF

      #define SEND_ADDR 0xAC3A //發(fā)送地址 0x0000-0xFFFF

      //提示:發(fā)送模塊和接收模塊MY_ADDR和SEND_ADDR相反。

      //多組同時實驗:RF_CHANNEL / PAN_ID 至少一個不一樣

      //模塊相關(guān)資源初始化

      void halBoardInit(void )

      //無線收發(fā)參數(shù)的配置初始化

      void ConfigRf_Init(void );

      //檢查結(jié)構(gòu)變量配置端口是否成功,返回值成功為SUCCESS 0,失敗為FAILED 1

      uint8 basicRfInit(&basicRfConfig)

      4.3發(fā)送與接收函數(shù)

      //發(fā)送“ZIGBEE TEST \r\n”,13個字符,成功返回值為0:

      uint8 basicRfSendPacket(SEND_ADDR,”ZIGBEE TEST\r\n”,13);

      //判斷有無收到zigbee信號,有為真返回值為1:

      uint8 basicRfPacketIsReady();

      //接收數(shù)據(jù)放緩存pRxData中,緩沖區(qū)最大長度為MAX_RECV_BUF_LEN ,返回值是數(shù)據(jù)串長度

      uint8 basicRfReceive(pRxData, MAX_RECV_BUF_LEN, NULL);

      4.4主程序框架(參見圖1)

      void main(void)

      { uint16 len = 0;

      halBoardInit(); //模塊相關(guān)資源的初始化

      ConfigRf_Init(); //無線收發(fā)參數(shù)的配置初始化

      //LED1(綠)、LED2(紅)點亮,參見教學(xué)研究二、三

      while(1)

      { len = RecvUartData(); // 接收串口數(shù)據(jù)

      if(len > 0)

      {

      // 綠燈取反,無線發(fā)送指示(略)

      basicRfSendPacket(SEND_ADDR,uRxData,len);

      //把串口數(shù)據(jù)通過zigbee發(fā)送出去}

      if(basicRfPacketIsReady()) //查詢有沒收到無線信號

      { // 紅燈取反,無線接收指示(略)

      len = basicRfReceive(pRxData, MAX_RECV_BUF_LEN, NULL); //接收無線數(shù)據(jù)

      halUartWrite(pRxData,len); //接收到的無線發(fā)送到串口數(shù)

      }}}

      說明:

      ⑴根據(jù)需要選擇框架中功能塊,不需要的刪去即可;

      ⑵收發(fā)模塊使用相同的框架流程,注意收發(fā)地址的對應(yīng)關(guān)系。

      5.數(shù)據(jù)通訊教學(xué)總結(jié)

      通過框架式教學(xué)設(shè)計的實踐,學(xué)生基本上能夠完成數(shù)據(jù)通訊功能的設(shè)計,并且能夠自由拓展應(yīng)用,設(shè)計6組及以上的單片機(jī)組網(wǎng)應(yīng)用項目,并且結(jié)合其他課程知識點,實現(xiàn)人機(jī)互動的PC級C#平臺監(jiān)控界面設(shè)計,部分學(xué)生可以實現(xiàn)手機(jī)遠(yuǎn)程操作平臺對單片機(jī)網(wǎng)應(yīng)用的實時監(jiān)控。

      參考文獻(xiàn):

      [1] 姜仲 劉丹 ZigBee技術(shù)與實訓(xùn)教程[M]北京 清華大學(xué)出版社2014.

      [2] 物聯(lián)網(wǎng)無線傳感網(wǎng)實訓(xùn)教程[M]北京 新大陸時代教育科技有限公司2014.

      [3] 本書編委 ZigBee技術(shù)開發(fā)-CC2530單片機(jī)原理及應(yīng)用[M]北京 清華大學(xué)出版社2015.

      [4] 楊玥 單片機(jī)與接口技術(shù)-基于CC2530的單片機(jī)應(yīng)用[M]北京 清華大學(xué)出版社2017.endprint

      猜你喜歡
      高職教學(xué)
      試論任務(wù)驅(qū)動與PBL教學(xué)法在高職生物化學(xué)教學(xué)中的應(yīng)用
      網(wǎng)絡(luò)語言對高職語文教學(xué)的沖擊探討
      高職電廠熱能動力裝置專業(yè)課程體系的設(shè)計與實踐
      東方教育(2016年7期)2017-01-17 19:37:59
      實例研究微課程模式下的高職教學(xué)做一體化教學(xué)模式
      科技資訊(2016年25期)2016-12-27 10:58:43
      淺談民辦高職教學(xué)管理體系存在問題與解決方案
      亞太教育(2016年35期)2016-12-21 19:28:07
      淺談高職計算機(jī)教學(xué)中智能手機(jī)的實踐應(yīng)用
      職業(yè)(2016年11期)2016-11-23 21:40:22
      論高職院校的教學(xué)方法創(chuàng)新
      高職思想政治理論課教學(xué)改革與人文教育的結(jié)合
      《汽車底盤》理實一體化教學(xué)模式的探索
      考試周刊(2016年55期)2016-07-18 07:27:22
      以人為本理念下的高職教學(xué)管理探索
      中國市場(2016年14期)2016-04-28 10:13:49
      稻城县| 云梦县| 禹州市| 东乡县| 理塘县| 新兴县| 苍山县| 宁阳县| 电白县| 阳原县| 邻水| 宜春市| 凯里市| 徐水县| 尚志市| 响水县| 扎囊县| 友谊县| 平潭县| 乐业县| 大名县| 钦州市| 和顺县| 囊谦县| 都安| 葵青区| 宣武区| 汉川市| 湘阴县| 江达县| 南乐县| 沾益县| 咸丰县| 东台市| 大渡口区| 兴安县| 文昌市| 青岛市| 湄潭县| 萍乡市| 波密县|