• 
    

    
    

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

      ?

      基于單片機(jī)C的教學(xué)探究

      2016-03-29 04:53:43劉秀芬
      現(xiàn)代農(nóng)村科技 2016年4期
      關(guān)鍵詞:C語言寄存器中斷

      ?

      基于單片機(jī)C的教學(xué)探究

      近幾年,隨著單片機(jī)和Keil C等開發(fā)工具的發(fā)展,單片機(jī)的教學(xué)原來經(jīng)常使用的匯編語言,慢慢被高級C語言所代替,因為C語言具有很強(qiáng)的功能性、結(jié)構(gòu)性、可移植性,并且接近自然語言,可讀性好,程序開發(fā)可以擺脫硬件不必要的接觸,調(diào)試維護(hù)更容易,尤其是在Proteus仿真軟件與KeilC51軟件平臺的聯(lián)調(diào)下,學(xué)生學(xué)起來更加得心應(yīng)手。

      1 學(xué)好標(biāo)準(zhǔn)C語言

      雖然是單片機(jī)C語言,但是與標(biāo)準(zhǔn)C語言的很多用法都相同,而且對初學(xué)者來說用VC調(diào)試程序比用Keil C51軟件要方便得多,要打好C語言的基礎(chǔ),通常要做到以下幾點:

      1.1熟練掌握數(shù)據(jù)類型的定義及使用。尤其是整型數(shù)據(jù)、字符型數(shù)據(jù)、整型數(shù)組、字符型數(shù)組。在單片機(jī)C語言中整型、字符型變量的指針等用的最多,并且在夠用的情況下,盡可能用 unsinged char,這種類型代碼生成時間最短,程序生成代碼時間越短運行速度越快。

      1.2靈活熟練掌握順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、選擇結(jié)構(gòu)。掌握三結(jié)構(gòu)的前提是能熟練畫出流程圖。在單片機(jī)C語言中,不精確延時,常用循環(huán),選擇結(jié)構(gòu)中的if語句、if else語句、switch語句的也很多,所以要靈活掌握。

      1.3靈活掌握函數(shù)調(diào)用。在單片機(jī)C語言中,函數(shù)調(diào)用可以使主函數(shù)看起來簡單明了,可讀性強(qiáng),所以函數(shù)原型、函數(shù)值的返回一定要掌握扎實。

      1.4學(xué)好C語言程序設(shè)計。要多看題,多做題,尤其初學(xué)者一定要多看別人寫的好程序,再舉一反三練習(xí),爭取用最優(yōu)的算法寫出程序。

      2 標(biāo)準(zhǔn)C語言與單片機(jī)C語言的不同點

      2.1C51數(shù)據(jù)類型及存儲。增加了“bit”“sbit”位類型和特殊功能寄存器類型Sfr和Sfr16,“bit”是對于任意位類型變量的定義,“sbit”是對特殊寄存器類型位變量的定義。Sfr定義8位C51中所有寄存器,Sfr16定義16位的特殊功能寄存器。

      2.2C51定義了變量的存儲區(qū)。如data,bdata,idata,pdata,xdata,code區(qū)域,可以根據(jù)實際情況選擇某一存儲區(qū),缺省時變量的存儲區(qū)決定于程序所選取的編譯模式,在小模式下缺省存儲區(qū)為data區(qū)域。

      2.3C51的輸入輸出。在標(biāo)準(zhǔn)C語言中有專門的輸入、輸出函數(shù)scanf,printf,而單片機(jī)C51中這兩個函數(shù)對應(yīng)的是串行口的輸入、輸出,并不是鍵盤的輸入和顯示器的輸出。

      2.4C51函數(shù)定義。除了中斷函數(shù)外,其他函數(shù)定義、調(diào)用與標(biāo)準(zhǔn)C函數(shù)相同。中斷函數(shù)既不傳遞參數(shù),也不接收返回值,要明確中斷源,寫對中斷號。

      3 掌握單片機(jī)的硬件知識

      單片機(jī)C語言程序開發(fā)可以擺脫硬件不必要的接觸,但是是在硬件電路的基礎(chǔ)上編程,因此要具備一定的硬件基礎(chǔ)知識。

      3.1掌握硬件正常工作的基本參數(shù)。這不需要學(xué)生記住,只要做到會查找即可。例如單片機(jī)的輸入輸出口P0、P1、P2、P3最大輸出電流是多少,我們在P0^0口接一個電流是10 mA的LED燈行嗎?接一個220 V、50 Ω的白熾燈能亮嗎?前者可以,后者肯定不行,因為電流不能滿足要求,如果是自己設(shè)計電路,元器件要求說明書里都有,或上網(wǎng)查找。硬件電路是在每個器件正常工作的基礎(chǔ)上編程的。3.2硬件要會用。其實編程時用到的硬件知識并不是很多,但編程時用到哪些硬件的寄存器一定不要弄混。例如中斷,用的哪個中斷,中斷號是多少,用到哪些寄存器的哪幾位,除了在書上查看之外,要把中斷的結(jié)構(gòu)圖熟記于心,不要死記硬背,要通過多練習(xí)掌握。同樣像定時器、串口、AD口等都需要這樣練習(xí),掌握編程時用到哪些寄存器的哪些位即可。

      4 熟練掌握Proteus仿真軟件

      通過Proteus仿真軟件把硬件電路畫好,硬件保證在正常的工作參數(shù)下工作。

      4.1熟練掌握Keil C51軟件及與Proteus仿真軟件的聯(lián)調(diào)。硬件知識會了,C語言也沒有問題了,我們通過Keil C51軟件平臺就可寫單片機(jī)C語言了。熟練掌握工程新建,添加C文件,程序調(diào)試,沒問題后再把生成的HEX文件裝載到Proteus畫好的電路中的單片機(jī)中仿真。若沒有問題所編程序的結(jié)果就展現(xiàn)在我們眼前了。

      4.2鼓勵學(xué)生自己焊接電路板。雖然Keil C51軟件與Proteus軟件聯(lián)調(diào)能仿真,但畢竟與現(xiàn)實不能完全一致,在仿真中不會出現(xiàn)的問題,實際當(dāng)中可能會出現(xiàn),例如燈兩端電壓太高,實際燒毀了,而仿真中可能還是亮的。

      總之,學(xué)好單片機(jī)C語言,不僅要學(xué)好標(biāo)準(zhǔn)C語言的知識,還要學(xué)好硬件知識,而且要在熟練掌握VC、Keil C51軟件與Proteus軟件的基礎(chǔ)上,學(xué)好C語言的知識和硬件知識。

      061001河北滄州師范學(xué)院機(jī)電工程系劉秀芬

      猜你喜歡
      C語言寄存器中斷
      基于Visual Studio Code的C語言程序設(shè)計實踐教學(xué)探索
      Lite寄存器模型的設(shè)計與實現(xiàn)
      基于C語言的計算機(jī)軟件編程
      電子制作(2018年16期)2018-09-26 03:27:08
      跟蹤導(dǎo)練(二)(5)
      千里移防,衛(wèi)勤保障不中斷
      解放軍健康(2017年5期)2017-08-01 06:27:44
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      高職高專院校C語言程序設(shè)計教學(xué)改革探索
      論子函數(shù)在C語言數(shù)據(jù)格式輸出中的應(yīng)用
      AT89C51與中斷有關(guān)的寄存器功能表解
      FPGA內(nèi)嵌PowerPC的中斷響應(yīng)分析
      长垣县| 余干县| 阳原县| 论坛| 芦溪县| 察雅县| 通榆县| 鹰潭市| 樟树市| 德钦县| 朔州市| 扬州市| 邹平县| 汝城县| 林周县| 双桥区| 化隆| 昌都县| 南郑县| 甘肃省| 吐鲁番市| 湾仔区| 丰原市| 临洮县| 共和县| 岗巴县| 平昌县| 英山县| 醴陵市| 永新县| 巴楚县| 南岸区| 天津市| 西昌市| 乐陵市| 化德县| 观塘区| 邵武市| 新晃| 勃利县| 当雄县|