亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2019-03-28 13:16:12韓靜
        物聯(lián)網(wǎng)技術(shù) 2019年3期
        關(guān)鍵詞:計(jì)算機(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ì)方法,以推動(dòng)單片機(jī)應(yīng)用技術(shù)教材建設(shè)與改革,提高教材的教學(xué)效果,同時(shí)為高校單片機(jī)應(yīng)用技術(shù)教學(xué)提供一種可行的因材施教途徑。

        關(guān)鍵詞:單片機(jī);構(gòu)件化;可移植與可復(fù)用;教材建設(shè)與改革;因材施教;計(jì)算機(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)、自動(dò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è)計(jì)方法。

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

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

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

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

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

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

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

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

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

        //文件名稱:timer.h

        //功能概要:定時(shí)器TIMER底層驅(qū)動(dòng)構(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)定時(shí)器號0、1

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

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

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

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

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

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

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

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

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

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

        void timer_init(uint_8 timer_No, uint_8 int_ms);

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

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

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

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

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

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

        void timer_start(uint_8 timer_No);

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

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

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

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

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

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

        void timer_stop(uint_8 timer_No);

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

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

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

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

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

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

        void timer_int_enable(uint_8 timer_No);

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

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

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

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

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

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

        void timer_int_disable(uint_8 timer_No);

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

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

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

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

        //文件名稱:timer.c

        //功能概要:定時(shí)器TIMER底層驅(qū)動(dòng)構(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ù)參數(shù):timer_No: 定時(shí)器號TIMER_0、TIMER_1

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

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

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

        void timer_init(uint_8 timer_No, uint_8 int_ms)

        {

        uint_16 timer_value;//存放定時(shí)器初值

        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;//定時(shí)器初值高8位

        TL0 = (uint_8)timer_value;//定時(shí)器初值低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;//定時(shí)器初值高8位

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

        break;

        default:

        break;

        }

        }

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

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

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

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

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

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

        void timer_start(uint_8 timer_No)

        {

        switch(timer_No)

        {

        case TIMER_0:

        TR0 = 1;//TIMER_0啟動(dòng)

        break;

        case TIMER_1:

        TR1 = 1;//TIMER_1啟動(dòng)

        break;

        default:

        break;

        }

        }

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

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

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

        //函數(shù)參數(shù):timer_No:定時(shí)器號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ù)參數(shù):timer_No:定時(shí)器號TIMER_0、TIMER_1

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

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

        void timer_int_enable(uint_8 timer_No)

        {

        switch(timer_No)

        {

        case TIMER_0:

        ET0 = 1;//TIMER_0定時(shí)中斷允許

        break;

        case TIMER_1:

        ET1 = 1;//TIMER_1定時(shí)中斷允許

        break;

        default:

        break;

        }

        }

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

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

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

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

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

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

        void timer_int_disable(uint_8 timer_No)

        {

        switch(timer_No)

        {

        case TIMER_0:

        ET0 = 0;//TIMER_0定時(shí)中斷允許

        break;

        case TIMER_1:

        ET1 = 0;//TIMER_1定時(shí)中斷允許

        break;

        default:

        break;

        }

        }

        2 結(jié) 語

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

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

        [4]張?zhí)祜w,龍海燕,丁嬌,等.基于項(xiàng)目化教學(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í)驗(yàn)教學(xué)改革與實(shí)踐[J].電子世界,2018(23):101.

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

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

        猜你喜歡
        計(jì)算機(jī)應(yīng)用技術(shù)因材施教單片機(jī)
        小學(xué)作文如何實(shí)施“因材施教”的策略
        基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(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)個(gè)體發(fā)展
        從《論語》看因材施教
        計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)應(yīng)用現(xiàn)代信息技術(shù)組織教學(xué)的工作綜述
        科技資訊(2016年19期)2016-11-15 10:19:08
        計(jì)算機(jī)應(yīng)用技術(shù)與企業(yè)信息化建設(shè)
        科技資訊(2016年19期)2016-11-15 10:09:06
        分析計(jì)算機(jī)應(yīng)用技術(shù)對企業(yè)信息化的影響
        基于項(xiàng)目課程的計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)人才培養(yǎng)方案設(shè)計(jì)
        性欧美大战久久久久久久久| 国产美女高潮流白浆视频| 日本va中文字幕亚洲久伊人| 亚洲一区二区女搞男| 各种少妇正面着bbw撒尿视频| 韩国19禁无遮挡啪啪无码网站| 亚洲国产成人手机在线电影| 日本久久精品在线播放| 久久综合激情的五月天| 2021亚洲国产精品无码| 日韩欧美亚洲综合久久影院ds| 美丽人妻被按摩中出中文字幕| 中文字幕无码免费久久9| 白色白色视频在线观看| 美女下蹲露大唇无遮挡| 女人被狂躁c到高潮| 欧美黑人巨大xxxxx| 国产AV无码专区亚洲AWWW| 亚洲码专区亚洲码专区| 中文无码av一区二区三区| 国产人妻丰满熟妇嗷嗷叫| 亚洲爆乳无码专区| 亚洲青涩在线不卡av| 日本中文字幕乱码中文乱码| 色窝窝无码一区二区三区| 人妻丰满熟妇av无码区hd| 亚洲中文字幕在线爆乳| av在线手机中文字幕| 亚洲av熟女一区二区三区站| 国产超碰人人做人人爽av大片| 最好看的最新高清中文视频| 国产精品日日摸夜夜添夜夜添| 97中文乱码字幕在线| 国产三级精品视频2021| 极品少妇一区二区三区四区| 国产精品一区二区韩国AV| 国产大片在线观看三级| 国产av久久在线观看| 国产色在线 | 亚洲| 精品无码AⅤ片| 成人激情视频一区二区三区|