<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于STC8單片機兼容傳統(tǒng)51開發(fā)板設計及雙語言編程的教學探究*

          基于STC8單片機兼容傳統(tǒng)51開發(fā)板設計及雙語言編程的教學探究*

          作者:劉光乾,陳熙,劉慶,陳丹,馬興茹(西南科技大學城市學院,四川 綿陽 622651) 時間:2021-05-31 來源:電子產(chǎn)品世界 收藏
          編者按:本文以STC8H8K64U單片機兼容STC89C52傳統(tǒng)開發(fā)板及發(fā)揮引腳最大化資源配置設計核心板,結(jié)合與Keil C兼容的圖形化編程語言,以項目開發(fā)和教學應用為基礎講解對51單片機的軟硬件開發(fā)應用,以更好地推進單片機教學和項目開發(fā)實踐應用。


          本文引用地址:http://www.ex-cimer.com/article/202105/426037.htm

          *課題項目:2020年度西南科技大學城市學院校級教學質(zhì)量與改革項目課題2020XJXM03單片機原理及應用線上課程建設與教學改革項目研究實施。

          2021年度西南科技大學城市學院校級教學研究與改革項目課題CC-JJ2120現(xiàn)代學徒制創(chuàng)新創(chuàng)業(yè)課程項目在高校職業(yè)教育教學的實施研究項目研究實施。

          作者簡介:劉光乾(1975-),男,四川廣元,工程師,講師,研究方向為智能電子設計,物聯(lián)網(wǎng)應用。

          0   引言

          單片機教學在很多高職院校的很多專業(yè)都有涉及,不同層次專業(yè)水平的學生,在學習單片機與實踐開發(fā)應用中難以過渡,特別是單片機硬件結(jié)構(gòu)和軟件編程基礎較差時更是難以入門。本文基于眾多單片機教學與應用研究及學徒制教學改革與探索,從單片機應用與教學現(xiàn)狀分析、 單片機簡介、 兼容 開發(fā)板的核心系統(tǒng)設計及與仿真等五個方面進行講述,供單片機教學教改及單片機愛好者學習研究之用。

          1   單片機應用與教學模式及現(xiàn)狀簡介

          單片機作為智能電子產(chǎn)品開發(fā)設計及嵌入式基礎,業(yè)內(nèi)項目式入門資料包括:郭天祥老師的“新概念51單片機”,及相關(guān)的單片機開發(fā)經(jīng)驗與分享[1];以51 單片機課程為例的創(chuàng)客式項目教學在編程類課程中的應用研究[2];邵華[3]老師以項目為導向的課程創(chuàng)新機制,在《單片機編程與實訓》課程中的實踐和對比效果顯著;陳育群[4] 老師在面向單片機初學者的編程方法探究中采用基于編程字典的方法能使單片機初學者快速掌握單片機的編程。

          單片機的編程模式也是日新月異,如基于傳統(tǒng)51單片機C 語言編程技巧探討[5],介紹了編程特點與技巧及模塊化編程設計;張華林[6] 老師在單片機編程模塊化設計研究中詳細講述了模塊化編程方法;黎民山[7] 老師的基于流程圖編程的單片機軟件系統(tǒng)開發(fā),將程序代碼與直觀圖形相結(jié)合,以圖形化的編程改變對程序語法及句法的要求;黃睿[8] 老師在雙編程語言在單片機項目驅(qū)動教學中的運用,分別運用匯編語言和C 語言實現(xiàn)功能,實現(xiàn)選擇與融合的對比教學;基于互聯(lián)網(wǎng)+ 技術(shù)的大病術(shù)后吹氣練習儀的圖形化單片機編程項目設計[9],以及基于創(chuàng)新創(chuàng)業(yè)教學實踐項目的山地羊肚菌物聯(lián)網(wǎng)應用設計[10],也從項目設計和教學實踐等方面進行了單片機應用的探究,可見單片機應用與教學資源已經(jīng)琳瑯滿目了。

          2   單片機簡介

          宏晶科技的《STC8H 系列單片機技術(shù)參考手冊》顯示,STC8H 系列單片機是可以不需要外部晶振和外部復位的單片機,是以超強抗干擾、超低價、高速、低功耗為目標8051 單片機,在相同的工作頻率下,STC8H系列單片機比傳統(tǒng)8051 約快12 倍。依次按順序執(zhí)行完全部的111 條指令,STC8H 系列單片機僅需147 個時鐘,而傳統(tǒng)8051 則需要1 944 個時鐘。STC8H 系列單片機是STC 生產(chǎn)的單時鐘/ 機器周期(1T) 的單片機,是寬電壓、高速、高可靠、低功耗、強抗靜電、較強抗干擾的新一代8051 單片機,超級加密,指令代碼完全兼容傳統(tǒng) 8051。

          3   STC8H8K64U兼容開發(fā)板的核心系統(tǒng)設計

          3.1 STC8H8K64U兼容開發(fā)板設計的意義

          根據(jù)STC8H8K64U 和STC89C52 的功能特性和引腳定義,讓STC8H8K64U 核心板兼容傳統(tǒng)STC89C52的40P 開發(fā)板,是既兼容以前大量基于STC89C52 教學開發(fā)板資源,又保留STC8H8K64U 的64 引腳全功能,使擴展開發(fā)資源利用最大化,在教學和應用上都具有很好的意義。

          3.2 STC8H8K64U兼容STC89C52開發(fā)板設計的引腳對應

          按照STC8H8K64U 和STC89C52 的功能特性和引腳定義及保留STC8H8K64U 的64 引腳全功能的原則,進行引腳及功能對應,如表1。

          image.png

          3.3 STC8H8K64U兼容STC89C52核心板設計原理圖(如圖1)

          image.png

          3.4 STC8H8K64U兼容STC89C52核心板設計說明

          按照STC8H8K64U 兼容STC89C52 傳統(tǒng)40P 底座開發(fā)板及保留STC8H8K64U 的64 引腳全功能的原則,排列相關(guān)器件及引腳,如圖2 所示。

          image.png

          4   STC8H8K64U核心板與仿真

          4.1 STC8H8K64U核心板軟件

          目前,軟硬件都比較經(jīng)典的“天問51”系列開發(fā)板和圖形化編程軟件同時具備在線編程和脫機編程兩種編程環(huán)境。脫機編程可以直接進行圖形編程,同時生成基于SDCC 的字符C 文件,也可以直接在字符編程窗口進行字符編程;編程結(jié)果可以通過“天問”下載器直接連接開發(fā)板進行在線運行,實現(xiàn)實物仿真效果,也可以直接編譯生成main.c 文件。在線編程環(huán)境還可以直接導出 的工程文件,非常方便?!疤靻枴眻D形化編程軟件可以在其官方網(wǎng)站下載,目前是Block0.1.6 版本,安裝即可。

          4.2 STC8H8K64U核心板圖形化編程方法

          在“天問”網(wǎng)站及論壇有很多關(guān)于該圖形化編程的教程和參考資料,在打開天問Block 軟件后,其界面內(nèi)包含了相應的操作功能區(qū)及菜單按鈕,如圖3 所示。點擊左上角的文件夾圖標菜單按鈕,出現(xiàn)“新建項目”、“打開項目”、“保存”、“項目另存”、“項目中心”、“提交作業(yè)”的菜單頁面,可進行新建、打開項目及保存等相關(guān)操作。

          左邊各功能模塊及邏輯控制圖形化指令包括單片機內(nèi)部模塊,如:系統(tǒng)配置、GPIO 模塊、PWM 模塊、ADC 模塊、定時器模塊、串口模塊、外部中斷設置、所有中斷設置、讀寫寄存器。邏輯與控制模塊包括:控制、數(shù)學與邏輯、文本與數(shù)組、變量、函數(shù)。文本模塊包括:顯示器模塊(LED 流水燈、HC595 串入并出位移緩存器、數(shù)碼管、點陣LED、RGB 流水燈、OLED 屏幕、LCD1602 屏幕、LCD12864、TFT 彩屏、彩屏觸摸)、傳感器模塊、紅外、I2C、SPI、擴展等模塊。豐富的功能模塊及庫函數(shù)給項目開發(fā)學習應用帶來很多便利,對初學者入門,推進教學應用更為有利。

          圖形編程和字符編程分別位于界面主功能區(qū)左右兩個主窗口,以滿足編程窗口的最大化,兩個窗口大小可以用其交界面下部的三角按鈕拖動改變相應窗口大小,以滿足圖形化編程或字符編程課程的需要。

          未連接菜單表示沒有連接相應的開發(fā)板,如果將開發(fā)板用對應的編程下載器連接到電腦USB 口,則會顯示已連接設備,通過編程可進行串口監(jiān)視器的應用、運行程序進行在線硬件仿真或編譯生成main.c 文件供,KeilC 環(huán)境使用。其中運行程序進行在線硬件仿真突破了傳統(tǒng) 軟件仿真或通過STC-ISP 仿真的方式,更加直接地進行隨時編程隨時運行并查看結(jié)果,非常方便。軟件右上角的“更多”菜單,提供了編程手冊、芯片手冊、視頻學習、開發(fā)者論壇、購買、安裝驅(qū)動等功能模塊,讓學習編程更加方便,其中編程手冊提供了初學者使用軟件的基本方法介紹,視頻學習通過各功能程序的編程使用操作視頻,更加直觀形象地展示該軟件的使用方法。

          4.3 STC8H8K64U核心板圖形化編程技巧

          雖然該軟件已經(jīng)把單片機編程變得很簡單形象,但是對于初學者可能還是感覺無從下手, 這里作個引導和說明。

          1)“天問”圖形化編程基于模塊化設計,相應的功能模塊已經(jīng)形成功能函數(shù)進行封裝,編程者只需要根據(jù)功能需求進行調(diào)用, 如圖4所示。

          整個程序遵循一個主程序入口:

          void main(void)

          {

          setup();

          while(1){

          loop();

          }

          }

          在主程序中執(zhí)行初始化和反復執(zhí)行等功能子程序:

          void setup()

          {

          twen_board_init();// 天問51 初始化

          }

          void loop()

          {

          }

          而STC8 的頭文件及系統(tǒng)時鐘初始化也在系統(tǒng)框架首部默認給出:

          #include <STC8HX.h>uint32 sys_clk = 24000000;// 設置PWM、定時器、串口、EEPROM 頻率參數(shù)

          #include “l(fā)ib/twen_board.h”

          2)由“天問”Block 圖形化編程框架可以看出,所有的初始化包括端口定義、變量和函數(shù)定義、定時器和中斷等初始化都在“初始化”框架模塊里面進行,而主要功能程序全部放在“重復執(zhí)行”框架模塊中。需要注意的是,初始化工作很重要,很多功能模塊操作前,要先看一下里面有沒有對應的初始化積木指令,如果有一定要放在初始化框架中進行初始化。在“重復執(zhí)行”框架里面放置功能程序,顯然將全部功能程序直接放置在此框架里面是不明智的,不僅可讀性差,也不方便調(diào)試和移植,最好是將各功能程序分解成子程序,再在“重復執(zhí)行”框架中調(diào)用,根據(jù)程序功能的復雜程度,可以執(zhí)行多級子程序(函數(shù))模塊。

          3)雖然功能程序要在“重復執(zhí)行”框架中才能被執(zhí)行,但是在此框架中執(zhí)行的程序都是按照先后順序依次執(zhí)行,很多時候有些功能程序是有規(guī)律地重復執(zhí)行,可采用定時器模式進行,這樣在定時器中既能按照設計的時間定時執(zhí)行功能,同時也不會占用“重復執(zhí)行”框架的資源。

          4)對于圖形化編程,很多初學者要么難以掌握編程流程和思路,要么不知道該怎么調(diào)用合適的指令,或是程序邏輯銜接不合理,導致運行失敗或死機。采用流程圖和模塊化編程的思路,先將要實現(xiàn)的功能進行流程化梳理,再將功能程序進行資源分配,根據(jù)需要實現(xiàn)的功能對應于單片機硬件接口和相關(guān)電路元件。本項目設計的核心板也是為了兼容傳統(tǒng)STC89C52 開發(fā)板,可以直接將其插在對應的40P 底座上,利用現(xiàn)有開發(fā)板硬件資源如LED 燈、按鍵、數(shù)碼管或一些傳感器和繼電器燈,也可以根據(jù)需要單獨用杜邦線將組件按照組件使用手冊與核心板連接。

          參考文獻:

          [1] 劉玉秀.跟郭天祥學單片機[J].新課程·中旬,2015(10):218.

          [2] 陳美坤,王保云,李燾燾.創(chuàng)客式項目教學在編程類課程中的應用研究[J].中國教育信息化,2020(18):48-52.

          [3] 邵華.以項目為導向的《單片機編程與實訓》課程改革[J].教育現(xiàn)代化,2019(6):106-108.

          [4] 陳育群.面向單片機初學者的編程方法探究[J].單片機與嵌入式應用,2019(11):16-19.

          [5] 葉曉龍.51單片機C語言編程技巧探討[J].信息與電腦,2019(4):66-67.

          [6] 張華林.單片機編程模塊化設計研究[J].天工,2019(2):121.

          [7] 黎民山.基于流程圖編程的單片機軟件系統(tǒng)開發(fā)[J].產(chǎn)業(yè)與科技論壇,2019(3):81-82.

          [8] 黃睿.雙編程語言在單片機項目驅(qū)動教學中的運用[J].教育教法探討與實踐,2016(5):245-246.

          [9] 劉光乾,劉桄序.基于互聯(lián)網(wǎng)+技術(shù)的大病術(shù)后吹氣練習儀設計[J].軟件工程與應用,2020(9)3:228-243.

          [10] 劉光乾,陳丹,劉慶,等.山地羊肚菌種植的物聯(lián)網(wǎng)應用.現(xiàn)代農(nóng)業(yè)科技,2021(1):95-96+102.

          (本文來源于《電子產(chǎn)品世界》雜志2021年4月期)



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();