趙素玲
單片機課堂教學組織探索
趙素玲
(蘇州健雄職業(yè)技術(shù)學院 中德工程學院,江蘇 蘇州 215411)
隨著現(xiàn)代制造業(yè)的不斷發(fā)展,單片機技術(shù)的使用已經(jīng)廣泛滲入到社會的各行各業(yè)中。但是由于單片機采用的是匯編語言或者C語言進行編程,無論采用哪種語言,對于高職學生來說都比較難而且枯燥。那么如何組織課堂教學素材,通過豐富多彩的教學素材來提高課堂教學的趣味性就顯得尤其重要。
LED顯示屏;AT89C51;C語言程序;硬件設(shè)計
2019年筆者利用暑假期間到蘇州奧智智能設(shè)備股份有限公司進行企業(yè)實踐。蘇州奧智智能設(shè)備股份有限公司是集科研、生產(chǎn)、銷售為一體的國家高新技術(shù)企業(yè),成立于2004-11,是同行業(yè)中規(guī)模比較大的一家民營企業(yè),一家民營企業(yè)在十幾年內(nèi)做到如此大的規(guī)模,主要得益于公司的產(chǎn)品符合市場需求和高效的公司管理。每天與公司的員工一起工作、生活,雖然工作比較枯燥,但是公司的管理者卻可以通過各種方法盡量使員工的工作生活精彩一些。
得益于他們的啟發(fā),筆者在思考如何才能在課堂教學中盡量使枯燥的編程課變的有意思一些呢?可以主要從教學素材選取和課堂組織形式著手來考慮。現(xiàn)在以LED顯示屏設(shè)計為例來說明,為了提高課堂教學的效果,可以讓每個學生設(shè)計不同的字,例如他們每個人的姓名。通過使用AT89C51單片機與8×8LED點陣構(gòu)成一個動態(tài)顯示屏,使用C語言進行編程,利用Protues仿真軟件進行仿真,仿真效果直觀可見。
由于筆者帶的班級馬上就要畢業(yè)了,他們即將進入大學階段的最后一個任務(wù)——畢業(yè)設(shè)計,所以就以“畢業(yè)設(shè)計”四個字為例來進行教學,當然也可以顯示其他的漢字,如學生自己的姓名。具體要求是:①使用AT89C51芯片為核心,加上外圍輔助電路,設(shè)計出原理圖電路;②根據(jù)要求用Keil軟件編寫出C語言程序;③用四個8×8LED點陣,將“畢業(yè)設(shè)計”一次性呈現(xiàn)出來;④2個按鍵作為啟動與停止按鈕,在程序運行過程中出現(xiàn)錯誤時,可立即停止程序。
AT89C51芯片由電源、晶振和復(fù)位電路組成最小系統(tǒng)。X1(晶體)與兩個C1、C2(電容)組成了晶振。R7、R8構(gòu)成電源與復(fù)位電路。運用了12 M的晶振,12 MHz機器周期1 μs,加速了程序時間的計算。
系統(tǒng)元器件列表清單如表1所示。
表1 元器件清單列表
序號代號名稱型號與規(guī)格數(shù)量 1C1、C2、C3電容1UF3 2X1晶體CRY87AL1 3LED1—LED4點陣8×84 4U1主控芯片AT89C511 5U2-U5鎖存器74HC5734 6RP1上拉排阻RESPACK-81 7R1-R3電阻10K3 8BT1.BT2按鍵BUTTON2
根據(jù)系統(tǒng)要求設(shè)計系統(tǒng)流程,具體如圖1所示。

圖1 流程圖
#include
#include
#include
#define COMMONPORTS P1
#define sendbyte P0
sbit pianxuan1=P2^0;sbit key1=P2^4;
unsigned int flag=0;
unsigned char code TAB[8] = {0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
unsigned char code CHARCODE[10][8]=
{{8,8,8,127,8,119,102,68}, //畢
{0,127,20,54,85,20,20,0}, //業(yè)
{0,247,66,71,32,37,247,32}, //設(shè)
{228,68,68,95,68,228,68,0},//計
void delay(unsigned int time)
{unsigned int i,j;
for(i=0;i