<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

基于STC8單片機兼容傳統51開(kāi)發(fā)板設計及雙語(yǔ)言編程的教學(xué)探究*

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


本文引用地址:http://dyxdggzs.com/article/202105/426037.htm

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

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

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

0   引言

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

1   單片機應用與教學(xué)模式及現狀簡(jiǎn)介

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

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

2   單片機簡(jiǎn)介

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

3   STC8H8K64U兼容開(kāi)發(fā)板的核心系統設計

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

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

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

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

image.png

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

image.png

3.4 STC8H8K64U兼容STC89C52核心板設計說(shuō)明

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

image.png

4   STC8H8K64U核心板與仿真

4.1 STC8H8K64U核心板軟件

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

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

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

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

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

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

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

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

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

整個(gè)程序遵循一個(gè)主程序入口:

void main(void)

{

setup();

while(1){

loop();

}

}

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

void setup()

{

twen_board_init();// 天問(wèn)51 初始化

}

void loop()

{

}

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

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

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

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

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

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

參考文獻:

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

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

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

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

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

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

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

[8] 黃睿.雙編程語(yǔ)言在單片機項目驅動(dòng)教學(xué)中的運用[J].教育教法探討與實(shí)踐,2016(5):245-246.

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

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

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



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>