国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

論單片機(jī)課程教學(xué)中C語言編程的規(guī)范性

2015-10-14 00:58:19黃曉峰
科教導(dǎo)刊 2015年23期
關(guān)鍵詞:規(guī)范性單片機(jī)

黃曉峰

摘 要 文章針對(duì)“單片機(jī)C語言程序設(shè)計(jì)”教學(xué)中存在的編程困擾,提出在教學(xué)實(shí)踐中重視引導(dǎo)學(xué)生進(jìn)行模塊化、規(guī)范性程序設(shè)計(jì),強(qiáng)調(diào)規(guī)范化編程對(duì)學(xué)生理解程序的結(jié)構(gòu)與功能的重要作用,并貫穿于課程教學(xué)的始終,使學(xué)生的單片機(jī)應(yīng)用能力得到了極大的提高。

關(guān)鍵詞 單片機(jī) C語言 規(guī)范性

中圖分類號(hào):G424 文獻(xiàn)標(biāo)識(shí)碼:A DOI:10.16400/j.cnki.kjdkz.2015.08.062

On the C Language Programming Normative in MCU Course

HUANG Xiaofeng

(Advanced Vocational Technical College, Shanghai University of Engineering Science, Shanghai 200437)

Abstract: For "SCM C language programming" teaching in programming problems, he attached importance to guide students in teaching practice modular, standardized program design emphasizes standardized programming for students to understand the structure and function of the program's important role and throughout the Teaching has always been, so that students micro controller applications has been greatly improved.

Keywords: SCM; C language; normative

0 引言

單片機(jī)技術(shù)課程一直以來作為高職計(jì)算機(jī)應(yīng)用、電氣自動(dòng)化、應(yīng)用電子技術(shù)等專業(yè)的主干課程。通過對(duì)單片機(jī)技術(shù)職業(yè)崗位需求分析可知,高職畢業(yè)生從事與單片機(jī)相關(guān)的職業(yè)技術(shù)崗位,主要有硬件測試工程師、軟件測試工程師、硬件設(shè)計(jì)助理工程師、軟件設(shè)計(jì)助理工程師等工作崗位。目前高職單片機(jī)課程多以MCS51系列為主,學(xué)生踏入工作崗位后,會(huì)涉及到其他各種類別的單片機(jī),如AVR、MSP430、PIC等。由于軟件編程靈活性強(qiáng),對(duì)邏輯思維能力要求高,在單片機(jī)教學(xué)中學(xué)生普遍反映編程時(shí)無從下手,程序調(diào)試錯(cuò)誤百出,面對(duì)調(diào)試中出現(xiàn)的問題不知如何修改驗(yàn)證,上機(jī)編程的教學(xué)實(shí)踐過程更多則淪為代碼錄入。本文針對(duì)“單片機(jī)C語言程序設(shè)計(jì)”教學(xué)中存在的編程困擾,提出在教學(xué)實(shí)踐中重視引導(dǎo)學(xué)生進(jìn)行模塊化、規(guī)范性程序設(shè)計(jì),培養(yǎng)學(xué)生良好的編程習(xí)慣,提高程序的易讀性、可移植性,為將來步入職業(yè)技術(shù)崗位打下堅(jiān)實(shí)基礎(chǔ)。

1 單片機(jī)C語言編程的規(guī)范性

以Kei C51軟件編程為例并結(jié)合多年的教學(xué)經(jīng)驗(yàn),將單片機(jī)C語言編程的規(guī)范性主要?dú)w納為:(1)文檔的規(guī)范性;(2)變量、函數(shù)的規(guī)范性;(3)程序書寫的規(guī)范性;(4)模塊化編程等四個(gè)方面。

1.1 文檔的規(guī)范性

任何一個(gè)單片機(jī)C程序都應(yīng)該在工程下進(jìn)行編譯和管理,一個(gè)工程可以包含多個(gè)C文件,不同的C文件分別實(shí)現(xiàn)一個(gè)相對(duì)獨(dú)立的功能。在單片機(jī)課程教學(xué)中部分學(xué)生一開始就忽略了工程的概念,或者通過一個(gè)C文件試圖實(shí)現(xiàn)所有功能,這在功能較為單一的系統(tǒng)中是可行的,但稍微復(fù)雜一點(diǎn)的系統(tǒng)要想通過一個(gè)程序來完成其所有功能,程序的可讀性和可移植性就會(huì)變差。因此,在編程之初就要強(qiáng)調(diào)工程對(duì)C程序源文件的管理作用,以及工程所包含的各個(gè)C文件之間的相互關(guān)系,并通過對(duì)C文件規(guī)范化的命名體現(xiàn)其功能,如鍵盤模塊命名為key.c,顯示模塊命名為display.c,數(shù)據(jù)處理模塊命名為datapro.c。

1.2 變量、函數(shù)的規(guī)范性

變量、函數(shù)的規(guī)范主要體現(xiàn)在命名的規(guī)范,一般要符合匈牙利命名規(guī)范。如表1所示,主要注意字母的大小寫是有區(qū)分的,取名要與變量或函數(shù)的含義或完成功能相一致,并且要在教學(xué)中一直貫徹使用,望文生義以增強(qiáng)易讀性。

此外,由于單片機(jī)頭文件對(duì)一些常用的符號(hào)變量和特殊功能寄存器進(jìn)行了定義聲明,因此編程時(shí)對(duì)相關(guān)符號(hào)變量和特殊功能寄存器的操作一定要與頭文件中的定義聲明保持一致。如51單片機(jī)reg51.h頭文件對(duì)端口(P0~P3口)、特殊寄存器、特殊的位、中斷函數(shù)等做了定義聲明,用戶在對(duì)相關(guān)端口或SFR進(jìn)行操作時(shí)只能嚴(yán)格的按照頭文件中的聲明使用,不能按照自己的想法隨便更換名字,否則會(huì)造成編譯出錯(cuò),如果要想按照自己的習(xí)慣書寫,要重新聲明定義。如P1.0口在<reg51.h>定義為P1^0,若想用P1_0表示則必須用“sbit P1_0=P1^0;”作聲明。常用的51系列單片機(jī)在KeilC51軟件中的一些定義格式如表2所示。

表2 <reg51.h>或<reg52.h>頭文件中常用的一些定義

3 模塊化編程

模塊化、規(guī)范化的程序設(shè)計(jì),是提高程序的易讀性、可移植性和復(fù)用性最為重要的手段。模塊化程序設(shè)計(jì)的集中體現(xiàn)為六個(gè)字即“高內(nèi)聚低耦合”。按照自頂向下的原則進(jìn)行程序設(shè)計(jì)時(shí),首先是引導(dǎo)學(xué)生進(jìn)行系統(tǒng)功能分析,按照“低耦合”的原則進(jìn)行軟件模塊的劃分,勾勒出由主程序及各模塊子程序搭建的大骨架、粗線條輪廓,繼而深入到各個(gè)軟件模塊內(nèi)部,依據(jù)“高內(nèi)聚”的原則確定模塊內(nèi)程序結(jié)構(gòu)。

以單片機(jī)無線多路溫度采集系統(tǒng)為例,簡單介紹軟件編程的具體思路。如圖1所示,無線多路溫度采集系統(tǒng)主要包括單片機(jī)、溫度數(shù)據(jù)采集、無線信號(hào)傳輸、鍵盤與顯示器等模塊,完成四路溫度數(shù)據(jù)采集,并在液晶屏上顯示實(shí)時(shí)溫度信息。

圖1 溫度采集系統(tǒng)硬件框圖

圖2 溫度采集系統(tǒng)軟件模塊組成

在課程教學(xué)中,依據(jù)無線多路溫度采集系統(tǒng)功能,軟件編程劃分為溫度采集、按鍵控制、顯示、無線通信等子模塊。其中溫度采集程序完成溫度數(shù)據(jù)采集與處理,鍵盤控制程序鍵掃描及處理,LCD顯示程序完成屏幕刷新,無線通信程序?qū)崿F(xiàn)單片機(jī)與PC機(jī)間的數(shù)據(jù)交換。各模塊功能單一,且模塊之間無直接聯(lián)系,通過主程序?qū)Ω髂K進(jìn)行調(diào)用與協(xié)調(diào)完成系統(tǒng)功能,每個(gè)模塊作為一個(gè)函數(shù)、或單獨(dú)作為一個(gè)C文件,并通過主程序完成各模塊文件的調(diào)用與協(xié)調(diào),其關(guān)系圖如圖2所示??梢钥吹?,模塊與模塊之間耦合度較低,有利于程序的維護(hù)與移植。

1.4 程序書寫的規(guī)范性

程序書寫的規(guī)范性能夠極大增加了程序的易讀性。主要體現(xiàn)在:采用空行或注釋符號(hào)分隔程序段落;if、for、while、do等語句自占一行,執(zhí)行語句不得緊跟其后;程序的分界符‘{和‘}應(yīng)獨(dú)占一行并且位于同一列,同時(shí)與引用它們的語句左對(duì)齊;如果出現(xiàn)嵌套的{},則使用縮進(jìn)對(duì)齊;一般重要的代碼行或段落采用“//” 注釋提示等。

2 結(jié)束語

單片機(jī)C語言編程由于邏輯性強(qiáng),高職學(xué)生普遍存在編程困難,在課程教學(xué)中通過引入規(guī)范性編程,從文檔的規(guī)范性、變量及函數(shù)的規(guī)范性、程序書寫的規(guī)范性,以及模塊化編程等四個(gè)方面,強(qiáng)調(diào)規(guī)范性程序設(shè)計(jì)對(duì)于學(xué)生認(rèn)識(shí)、理解程序的結(jié)構(gòu)與功能至關(guān)重要,在此基礎(chǔ)上進(jìn)行程序設(shè)計(jì),使學(xué)生單片機(jī)應(yīng)用能力得到了極大的提升,所帶學(xué)生在全國職業(yè)院校“機(jī)器人應(yīng)用技術(shù)”取得了優(yōu)異成績,畢業(yè)后也得到用人單位的肯定與好評(píng)。

猜你喜歡
規(guī)范性單片機(jī)
規(guī)則與有效——論哈貝馬斯言語行為的規(guī)范性
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
自然資源部第三批已廢止或者失效的規(guī)范性文件目錄
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機(jī)的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
作為非規(guī)范性學(xué)科的法教義學(xué)
法律方法(2018年3期)2018-10-10 03:20:38
小議PLC與單片機(jī)之間的串行通信及應(yīng)用
電子制作(2018年12期)2018-08-01 00:48:04
規(guī)范性文件在行政訴訟中的司法適用問題
行政法論叢(2018年2期)2018-05-21 00:48:38
基于單片機(jī)的平衡控制系統(tǒng)設(shè)計(jì)
電子制作(2017年19期)2017-02-02 07:08:27
我國知識(shí)產(chǎn)權(quán)判例的規(guī)范性探討
娄底市| 修水县| 峨眉山市| 隆林| 谢通门县| 南漳县| 双辽市| 德江县| 峡江县| 林芝县| 浑源县| 宜城市| 高阳县| 沙洋县| 鄯善县| 高邮市| 东安县| 南部县| 西安市| 米泉市| 长顺县| 天峨县| 茶陵县| 龙海市| 佛教| 仁怀市| 纳雍县| 武冈市| 台安县| 佛学| 临洮县| 攀枝花市| 衡阳市| 大厂| 湖南省| 杭州市| 高台县| 苏州市| 武城县| 沁阳市| 界首市|