(甘肅機電職業技術學院,甘肅天水 741000)
單片機課程在中職、高職和本科階段都是一門電類專業的核心課程,目前全國普遍以51單片機為基礎講授。該課程學習之前要掌握基本的電子技術知識,同時在學習過程中只對著書本,因其本身的課程難度,學生往往很難理解接受,而且該課程是一門帶實驗實訓的課程,沒有相應實訓設備很難學懂,目前有很多企業、單位等針對51單片機,設計開發了多款教學實訓設備。這些教學設備在市場中,有的價格昂貴、有的設計復雜,對于第一次接觸單片機的同學來講,上述這些設備上手較難,容易對單片機課程失去學習興趣,很難學懂。本文設計的51MCU教學實訓儀不僅配備硬件電路,同時也配備了相應的軟件學習資料,方便教師教學或者初學者自學。同時,大學中很多比賽以創新為主,教學實訓儀也適用于開放性比賽,該系統中的核心板可直接拆掉,方便靈活搭建,配合其他模塊電路使用。
該51MCU 教學實訓儀系統分為兩個部分:核心板電路和底板電路。核心板的結構框圖如圖1所示,以51單片機為核心,設計了復位電路、振蕩電路、電源電路和一鍵下載電路,并引出了IO口和電源等。51單片機采用STC89C 52RC芯片,該芯片是宏晶科技生產的8位單片機,內部采用MCS-51內核,十分適合初學者。底板具備豐富的常用模塊電路,這些模塊和大學教材內容緊密貼合,全部選用教材中的芯片設計,便于對書本知識的理解[1]。模塊電路的輸入輸出全部斷開,采用排針設計,需用杜邦線連接使用,方便學習硬件知識,加強對硬件的深層次理解,整個底板四周打孔,采用銅柱支撐,便于固定。

圖1 核心板結構圖Fig.1 Core board structure diagram
該設備不僅能夠學習STC89C52系列的單片機,當需要使用AT89S52系列的單片機時,板載ISP下載接口,該接口與單片機的P1.5、P1.6、P1.7三個引腳相連,通過這三個引腳也可方便下載程序[2]。Arduino UNO當前也比較流行,是一種開源的硬件電路,也是一款優秀的硬件開發平臺,當采用Arduino UNO作為核心電路,本文設計的系統也可兼容,只需要去掉51核心板,將Arduino UNO作為核心板,通過杜邦線與底板相連,供入電源與控制信號,編寫好對應的程序,也能實現相應模塊電路功能。
在設計電子產品時,初期開發階段也可采用本系統的核心板作為主控芯片電路,方便燒錄程序、提供5V 或3.3V電源,便于產品的開發與調試。該實訓系統能夠兼容51 系列單片機、Arduino、AVR 單片機、STM 8 系列、STM32 系列等,具有很強的兼容性,能夠適應不同的控制芯片,方便擴展。

圖2 電源電路Fig.2 Power supply circuit

圖3 一鍵下載電路Fig.3 One-key download circuit
電源保護電路在系統中是一種重要的電路,對整個電路起到保護作用,避免燒壞電路中其他元件。電源電路如圖2所示,當通入任意電壓時,D1是1N4734穩壓管,不管外界電流如何變化,其會一直穩定在5.6V左右。當有5V電壓接入時,R4的上端電壓較低,PMOS管Q2導通,Q2的S端電壓送入D端,5V電壓通過F1送到SW1處。如果使用USB供電,USB的5V電壓直接通過F1送至SW1處。當按下開關SW1,接通電源,VCC為5V,同時電源指示燈D3點亮,VCC到達Q3管的源極,因Q3管的柵極接電阻與GND連接,Q3柵極將處于低電平狀態,Q3 導通,將源極的5V送至5V OUT處,作為電源輸出使用[3]。
當系統的電流過大時,F1是PTC自恢復保險絲,其由高分子聚合物制作而成,傳統的保險絲僅能保護一次,過流燒斷后需要更換,比較麻煩,這種PTC自恢復保險絲可限制大電流通過,當電流過大時切斷電源輸入,起到保護作用,同時可以重復使用,撤掉大電流電源,過一段時間PTC 自恢復保險絲自動恢復導通。當POWER 端輸入過高電壓,穩壓管D1維持在5.6V左右,此時三極管Q1導通,Q1集電極電位升高,發光二極管D2達到自身的導通電壓,D2指示燈報警點亮,同時PMOS管Q2的柵極電位升高,并切斷自身源極和漏極之間的通路,相應也就切斷了輸入電壓,對整個電路起到了保護的作用。
一鍵下載電路有很多種方法可以實現,普遍都是通過CH340G的RTS和DTR兩個信號來控制。STC系列單片機在下載過程中,需要做冷啟動,此時要關閉電源重新上電,每下載一次就要重復冷啟動,不方便使用,所以設計了一個一鍵下載電路。有很多種方法可以實現,第一種方法通過增加一個單片機,當處于下載的時候,使用STC15 F0 14 W單片機檢測串口下載命令,確認此時處于下載狀態,切斷STC89C52RC的電源,實現自動下載。第二種方法是,通過在已經編寫的程序中放入一段代碼,下載中會先檢測這段代碼,通過這種方式實現一鍵下載,但每次編程都需要這段代碼,新建立一個工程就需要重復操作一次,不方便使用。第三種方法使用硬件電路,通過三極管和MOS管配合CH 340芯片的MOD EM聯絡信號搭建,可靠性高,利于實現。
本設計采用第三種方法如圖3所示,當CH340通電時,RTS和DTR都輸出高電平,CH340下載的時候,RTS先拉低,DTR后拉低。當RTS拉低,DTR未拉低時,PNP三極管Q4導通,高電平電壓將分配到R18和R19兩個電阻上,此時,R19阻值遠大于R18,R19上將分得高電壓,高電壓剛好控制PMOS管Q5的柵極,Q5內部有個二極管,作為開關管,要注意方向,當Q5的柵極得到高電平時,Q5斷開,VCC送不到51 VCC,單片機斷電,冷啟動實現。當RTS 拉低,DTR拉低時,PNP三極管Q4關斷,PMOS管Q5的柵極為0V,Q5將導通,VCC重新送至51VCC,單片機上電完成。當程序下載到芯片后,CH340的RTS和DTR恢復輸出到高電平狀態,等待下次下載。這種一鍵下載電路設計巧妙,制作簡單,需要挑選開關速度快的MOS管和三極管,相比較前兩種方法,選用第三種方案,方便下載程序。
數碼管是常見的一種電子顯示設備,具有價格便宜,控制簡單的特點,是常見的輸出方式。按照內部的結構,分為共陰極數碼管和共陽極數碼管。本系統采用兩個0.36英寸的共陰數碼管做為顯示器件,電路如圖4 所示,采用74HC138芯片控制位選信號,74HC573芯片控制段選信號。采用74HC138可以減少IO端口,利用3個IO口可以實現8位位選信號的控制,設計中只留出一個使能端,當G2A和G2B輸入低電平,G1輸入高電平時,芯片使能,正常工作。段選信號通過74HC573鎖存器控制,其內部為D觸發器結構設計,具有保持數據的特點,同時可以增加驅動能力,也只留出一個使能控制端,用來控制芯片工作[4]。

圖4 數碼管電路Fig.4 Digital tube circuit
點陣也是常見的輸出設備,通常顯示一個漢字至少需要四個8×8點陣模塊。點陣按照內部的連接方式,分為共陽極點陣和共陰極點陣。本系統在控制時,只設計了一個點陣模塊,理解原理即可。當點亮點陣某一個LED,只需要將對應的行線和列線的電平設置好就可以,如果需要顯示圖案、文字等,就要頻繁的掃描行線和列線,動態實現顯示。8×8點陣有16個管腳,采用16個IO控制太浪費資源,故設計兩片74HC595驅動,通過這種方式擴展IO端口。電路如圖5所示,74HC595是一種8位串行輸入、并行輸出的位移緩存器,并行輸出方式為三態方式,8×8點陣在控制時,可分別通過行和列進行掃描。本電路已經通過PCB制作成模塊,控制時連接排針即可[5]。

圖5 LED 點陣電路Fig.5 LED dot matrix circuit
工程應用中,經常會對很多物理量進行檢測,比如流量、溫度、壓力、濕度等。這些物理量都是非電量模擬信號,通常會采用傳感器進行轉換,將非電量轉換為電量,但轉換后的這個電量大部分是模擬信號,計算機無法直接使用,需要對模擬信號進行轉換變為數字信號使用,當計算機將處理后的信號去控制模擬外設,這時就要將數字信號轉換成模擬信號,數模模數轉換是電路的重要部分,大部分的新型單片機都集成到了內部,通過相應指令啟動。很多初學者第一次接觸數模模數轉換芯片都是在課本中,我們特意選用了ADC0809和DAC0832,電路如圖6所示,這兩個芯片雖然比較老舊,但是對理解轉換過程有很大幫助。ADC0809能夠輸入8路信號,通過地址線分別進行轉換,轉換后為一個8 位的數據,通過相應的控制信號得到輸出。在電路中,我們通過電位器輸出電壓信號,轉換為8位二進制送到單片機。DAC0832是一種8位的數模轉換芯片,將8 位二進制數轉換為電流輸出,在輸出端接入一個LED做為顯示,或者可通過自己搭建外部電路轉換為其他信號。

圖6 模數數模轉換電路Fig.6 Analog-to-digital-to-analog conversion circuit
51MCU教學實訓儀經過電路設計,實物制作等過程,最終產品如圖7 所示。實訓儀結構布局合理,底板和核心板采用排針與排母連接,便于拆裝。前期試驗過程中,針對一個組的高職學生,在講授單片機課程時,采用理實一體教學方式,通過理論講解和實訓儀實驗配合,在一個月內掌握了51單片機,為后續學習STM32、參加技能大賽等打下了良好的基礎。編程時,采用keil軟件作為編譯器,這也是常見的編譯軟件,下載程序提供多種方式,如STC-ISP等。隨著電子仿真技術的進步,51單片機也可以做到仿真,Proteus是一款優秀的單片機仿真軟件,教學過程中可作為補充使用。

圖7 51MCU 教學實訓儀實物圖Fig.7 Physical map of 51MCU teaching and training instrument
綜上所述,本文設計的51MCU教學實訓儀理論正確,通過PCB制作、手工焊接等過程,最終產品制作完工。相比原先其他公司的實訓教學設備,該實訓儀成本低、體積相對較小,軟件安裝方便,下載程序一鍵完成,便于初學者使用。成品設計完成后,針對一小組備戰技能大賽的學生,通過理論講解和該設備的綜合訓練,在一個月內掌握了51單片機,取得了預期的效果,為后期學習STM32做好了準備。本教學實訓儀,在完成了課堂教學、實訓教學的同時,為備戰大賽、拓展學習起到了重要作用,提高了教學質量、提升了學生的技能。