• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    關(guān)于單片機(jī)應(yīng)用技術(shù)教材建設(shè)的思考

    2019-03-28 13:16:12韓靜
    物聯(lián)網(wǎng)技術(shù) 2019年3期
    關(guān)鍵詞:計算機(jī)應(yīng)用技術(shù)因材施教單片機(jī)

    韓靜

    摘 要:目前市面上的單片機(jī)應(yīng)用技術(shù)教材大多將重點(diǎn)集中在單片機(jī)結(jié)構(gòu)原理、接口電路與編程方面,沒有更好地體現(xiàn)單片機(jī)程序的可移植、可復(fù)用及其實(shí)現(xiàn)方法。文中提出基于構(gòu)件化的單片機(jī)程序設(shè)計方法,以推動單片機(jī)應(yīng)用技術(shù)教材建設(shè)與改革,提高教材的教學(xué)效果,同時為高校單片機(jī)應(yīng)用技術(shù)教學(xué)提供一種可行的因材施教途徑。

    關(guān)鍵詞:單片機(jī);構(gòu)件化;可移植與可復(fù)用;教材建設(shè)與改革;因材施教;計算機(jī)應(yīng)用技術(shù)

    中圖分類號:TP311文獻(xiàn)標(biāo)識碼:A文章編號:2095-1302(2019)03-0-04

    0 引 言

    單片機(jī)應(yīng)用技術(shù)是電子信息、物聯(lián)網(wǎng)、自動化等專業(yè)的核心課程。經(jīng)市場調(diào)研,從單片機(jī)編程語言角度出發(fā),目前單片機(jī)應(yīng)用技術(shù)教材主要包括匯編語言、C語言、匯編語言和C語言并存的三種類型,不論哪種類型的教材,都將重點(diǎn)集中于講述單片機(jī)結(jié)構(gòu)原理、接口電路與編程,而沒有體現(xiàn)單片機(jī)程序的可移植、可復(fù)用及其實(shí)現(xiàn)方法。為此,提出基于構(gòu)件化的單片機(jī)程序設(shè)計方法。

    1 基于構(gòu)件的單片機(jī)程序設(shè)計方法

    現(xiàn)給出keil環(huán)境下51單片機(jī)的定時器應(yīng)用構(gòu)件化程序設(shè)計框架如圖1所列。以此說明單片機(jī)構(gòu)件化程序設(shè)計方法[1-2]。

    由圖1可以看出,03底層驅(qū)動構(gòu)件、04應(yīng)用外設(shè)構(gòu)件、05通用軟件構(gòu)件、06工程源程序都是由本構(gòu)件的.h和.c文件組成。在此框架下可通過添加其他構(gòu)件和修改應(yīng)用層程序(工程源程序)而完成不同功能的軟件設(shè)計。因此,基于構(gòu)件化的單片機(jī)程序設(shè)計方法,可很好地實(shí)現(xiàn)單片機(jī)程序的移植和復(fù)用[3-5]。

    在教學(xué)中,MCU底層驅(qū)動構(gòu)件和應(yīng)用外設(shè)構(gòu)件可先由老師設(shè)計好,引導(dǎo)學(xué)生將學(xué)習(xí)重點(diǎn)放在以下方面:

    (1)掌握MCU底層驅(qū)動構(gòu)件頭文件和應(yīng)用外設(shè)構(gòu)件頭文件的使用方法,熟悉相關(guān)宏定義,掌握對外接口函數(shù)的調(diào)用方法;

    (2)根據(jù)系統(tǒng)功能,進(jìn)行工程源程序設(shè)計和優(yōu)化。在此基礎(chǔ)上,引導(dǎo)基礎(chǔ)較好的學(xué)生進(jìn)行MCU底層驅(qū)動構(gòu)件和應(yīng)用外設(shè)驅(qū)動構(gòu)件設(shè)計,進(jìn)一步提高其單片機(jī)程序設(shè)計水平??梢?,基于構(gòu)件化的單片機(jī)程序設(shè)計方法,為高校單片機(jī)應(yīng)用技術(shù)教學(xué)提供了一種有效的因材施教途徑[6-8]。

    下面給出其中定時器TIMER底層驅(qū)動構(gòu)件文件夾的程序代碼,以說明構(gòu)件化程序的設(shè)計思想和設(shè)計方法。

    1.1 定時器TIMER底層驅(qū)動構(gòu)件頭文件

    //==========================================

    //文件名稱:timer.h

    //功能概要:定時器TIMER底層驅(qū)動構(gòu)件頭文件

    //芯片類型:STC89C52

    //版權(quán)所有:CMP-HJ

    //版本更新:2018-10-18? V1.0

    //==========================================

    #ifndef? _TIMER_H//防止重復(fù)定義(_TIMER_H開頭)

    #define? _TIMER_H

    //1.文件包含

    #include “common.h”//包含公共要素頭文件

    //2.宏定義

    //(1)定時器號0、1

    #define TIMER_0? ? ? ?0//TIMER 0

    #define TIMER_1? ? ? ?1//TIMER 1

    //3.對外接口函數(shù)聲明

    //==========================================

    //函數(shù)名稱:timer_init

    //函數(shù)功能:定時器初始化

    //函數(shù)參數(shù):timer_No: 定時器號TIMER_0、TIMER_1

    //? ?int_ms:定時時間,單位ms,推薦最大值50ms

    //函數(shù)返回:無

    //==========================================

    void timer_init(uint_8 timer_No, uint_8 int_ms);

    //==========================================

    //函數(shù)名稱:timer_start

    //函數(shù)功能:定時器啟動運(yùn)行

    //函數(shù)參數(shù):timer_No:定時器號TIMER_0、TIMER_1

    //函數(shù)返回:無

    //==========================================

    void timer_start(uint_8 timer_No);

    //==========================================

    //函數(shù)名稱:timer_stop

    //函數(shù)功能:定時器停止運(yùn)行

    //函數(shù)參數(shù):timer_No: 定時器號TIMER_0、TIMER_1

    //函數(shù)返回:無

    //==========================================

    void timer_stop(uint_8 timer_No);

    //==========================================

    //函數(shù)名稱:timer_int_enable

    //函數(shù)功能:開定時器中斷

    //函數(shù)參數(shù):timer_No: 定時器號TIMER_0、TIMER_1

    //函數(shù)返回:無

    //==========================================

    void timer_int_enable(uint_8 timer_No);

    //==========================================

    //函數(shù)名稱:timer_int_disable

    //函數(shù)功能:關(guān)定時器中斷

    //函數(shù)參數(shù):timer_No: 定時器號TIMER_0、TIMER_1

    //函數(shù)返回:無

    //==========================================

    void timer_int_disable(uint_8 timer_No);

    #endif//防止重復(fù)定義(_TIMER_H 結(jié)尾)

    //==========================================

    1.2 定時器TIMER底層驅(qū)動構(gòu)件源文件

    //==========================================

    //文件名稱:timer.c

    //功能概要:定時器TIMER底層驅(qū)動構(gòu)件源文件

    //芯片類型:STC89C52

    //版權(quán)所有:CMP-HJ

    //版本更新:2018-10-18? V1.0

    //==========================================

    //1.包含本構(gòu)件頭文件

    #include “timer.h”

    //2.對僅用于本文件的全局變量和內(nèi)部函數(shù)的聲明

    //3.對外接口函數(shù)的定義與實(shí)現(xiàn)

    //==========================================

    //函數(shù)名稱:timer_init

    //函數(shù)功能:定時器初始化

    //函數(shù)參數(shù):timer_No: 定時器號TIMER_0、TIMER_1

    //? ?int_ms:定時時間,推薦最大值50 ms單位ms

    //函數(shù)返回:無

    //==========================================

    void timer_init(uint_8 timer_No, uint_8 int_ms)

    {

    uint_16 timer_value;//存放定時器初值

    switch(timer_No)

    {

    case TIMER_0:

    TMOD &= ~0x0f;//TIMER_0工作方式1

    TMOD |= 0x01;

    timer_value=65536-(uint_16)(int_ms*(CLK_KHZ/12));

    TH0 = timer_value>>8;//定時器初值高8位

    TL0 = (uint_8)timer_value;//定時器初值低8位

    break;

    case TIMER_1:

    TMOD &= ~0xf0;//TIMER_0工作方式1

    TMOD |= 0x10;

    timer_value=65536-(uint_16)(int_ms*(CLK_KHZ/12));

    TH1 = timer_value>>8;//定時器初值高8位

    TL1 = (uint_8)timer_value;//定時器初值低8位

    break;

    default:

    break;

    }

    }

    //==========================================

    //函數(shù)名稱:timer_start

    //函數(shù)功能:定時器啟動運(yùn)行

    //函數(shù)參數(shù):timer_No: 定時器號TIMER_0、TIMER_1

    //函數(shù)返回:無

    //==========================================

    void timer_start(uint_8 timer_No)

    {

    switch(timer_No)

    {

    case TIMER_0:

    TR0 = 1;//TIMER_0啟動

    break;

    case TIMER_1:

    TR1 = 1;//TIMER_1啟動

    break;

    default:

    break;

    }

    }

    //==========================================

    //函數(shù)名稱:timer_stop

    //函數(shù)功能:定時器停止運(yùn)行

    //函數(shù)參數(shù):timer_No:定時器號TIMER_0、TIMER_1

    //函數(shù)返回:無

    //==========================================

    void timer_stop(uint_8 timer_No)

    {

    switch(timer_No)

    {

    case TIMER_0:

    TR0 = 0;//TIMER_0停止

    break;

    case TIMER_1:

    TR1 = 0;//TIMER_1停止

    break;

    default:

    break;

    }

    }

    //==========================================

    //函數(shù)名稱:timer_int_enable

    //函數(shù)功能:開定時器中斷

    //函數(shù)參數(shù):timer_No:定時器號TIMER_0、TIMER_1

    //函數(shù)返回:無

    //==========================================

    void timer_int_enable(uint_8 timer_No)

    {

    switch(timer_No)

    {

    case TIMER_0:

    ET0 = 1;//TIMER_0定時中斷允許

    break;

    case TIMER_1:

    ET1 = 1;//TIMER_1定時中斷允許

    break;

    default:

    break;

    }

    }

    //==========================================

    //函數(shù)名稱:timer_int_disable

    //函數(shù)功能:關(guān)定時器中斷

    //函數(shù)參數(shù):timer_No: 定時器號TIMER_0、TIMER_1

    //函數(shù)返回:無

    //==========================================

    void timer_int_disable(uint_8 timer_No)

    {

    switch(timer_No)

    {

    case TIMER_0:

    ET0 = 0;//TIMER_0定時中斷允許

    break;

    case TIMER_1:

    ET1 = 0;//TIMER_1定時中斷允許

    break;

    default:

    break;

    }

    }

    2 結(jié) 語

    實(shí)踐證明,在上述基于構(gòu)件化的單片機(jī)程序設(shè)計框架下,通過搭積木的方式添加其他MCU底層驅(qū)動構(gòu)件和應(yīng)用外設(shè)驅(qū)動構(gòu)件,并根據(jù)實(shí)際需要編寫工程源程序文件夾中的程序,可快速實(shí)現(xiàn)不同的應(yīng)用功能。同時,基于構(gòu)件化的單片機(jī)程序設(shè)計方法,為高校單片機(jī)應(yīng)用技術(shù)教學(xué)提供一種可行的因材施教、分層教學(xué)的途徑。因此采用構(gòu)件化的單片機(jī)應(yīng)用技術(shù)教材將會推動單片機(jī)應(yīng)用技術(shù)教學(xué)改革,提高教材的教學(xué)效果[9-10]。

    參 考 文 獻(xiàn)

    [1]王宜懷.嵌入式技術(shù)基礎(chǔ)與實(shí)踐[M].北京:清華大學(xué)出版社,2017.

    [2]蔡伯峰,王宜懷.基于ARM Cortex-M4的構(gòu)件化匯編框架的研究[J].計算機(jī)測量與控制,2016,24(10):138-141.

    [3]曹國平,王宜懷,凌云.基于KL25的RFID構(gòu)件化工程框架研究[J].電子技術(shù)應(yīng)用,2015,41(8):20-23.

    [4]張?zhí)祜w,龍海燕,丁嬌,等.基于項目化教學(xué)的單片機(jī)課程改革[J].物聯(lián)網(wǎng)技術(shù),2018,8(4):119-120.

    [5]王靜霞.單片機(jī)應(yīng)用技術(shù)(C語言版)[M].北京:清華大學(xué)出版社,2015.

    [6]聶森.《單片機(jī)原理及應(yīng)用》課程教學(xué)改革研究[J].教育教學(xué)論壇,2018(52):85-86.

    [7]段凌飛,黃健全,張宏橋.單片機(jī)課程實(shí)踐與理論教學(xué)的深入分析與改革應(yīng)用[J].中國現(xiàn)代教育裝備,2018(23):80-82.

    [8]李波.《單片機(jī)原理與應(yīng)用》實(shí)驗教學(xué)改革與實(shí)踐[J].電子世界,2018(23):101.

    [9]金國華,畢勝,王璐,等.單片機(jī)實(shí)踐教學(xué)體系構(gòu)建與實(shí)施[J].電氣電子教學(xué)學(xué)報,2018,40(06):129-133.

    [10]劉長榮,丁勤.基于嵌入式構(gòu)件技術(shù)的教學(xué)具設(shè)計[J].信息與電腦,2016(16):45-46.

    猜你喜歡
    計算機(jī)應(yīng)用技術(shù)因材施教單片機(jī)
    小學(xué)作文如何實(shí)施“因材施教”的策略
    基于單片機(jī)的SPWM控制逆變器的設(shè)計與實(shí)現(xiàn)
    電子制作(2019年13期)2020-01-14 03:15:28
    基于單片機(jī)的層次漸變暖燈的研究
    電子制作(2019年15期)2019-08-27 01:12:10
    基于單片機(jī)的便捷式LCF測量儀
    電子制作(2019年9期)2019-05-30 09:42:02
    明確“因材施教” 促進(jìn)個體發(fā)展
    從《論語》看因材施教
    計算機(jī)應(yīng)用技術(shù)專業(yè)應(yīng)用現(xiàn)代信息技術(shù)組織教學(xué)的工作綜述
    科技資訊(2016年19期)2016-11-15 10:19:08
    計算機(jī)應(yīng)用技術(shù)與企業(yè)信息化建設(shè)
    科技資訊(2016年19期)2016-11-15 10:09:06
    分析計算機(jī)應(yīng)用技術(shù)對企業(yè)信息化的影響
    基于項目課程的計算機(jī)應(yīng)用技術(shù)專業(yè)人才培養(yǎng)方案設(shè)計
    巫溪县| 柳江县| 白朗县| 南安市| 姜堰市| 嫩江县| 开鲁县| 阿勒泰市| 辽源市| 台湾省| 湘潭市| 西藏| 逊克县| 双桥区| 饶河县| 南丹县| 彭山县| 秦安县| 景宁| 泰安市| 尉氏县| 巨野县| 普安县| 天镇县| 南岸区| 沾益县| 麟游县| 美姑县| 门头沟区| 津南区| 衡东县| 板桥市| 逊克县| 合作市| 泸州市| 博野县| 四平市| 肇庆市| 额敏县| 苍南县| 德惠市|