程闊華
(杭州萬向職業(yè)技術(shù)學院,浙江 杭州 310023)
全人發(fā)展指全面、和諧發(fā)展。我們學院以全課程育人、全方位育人為特色,倡導(dǎo)“學為中心”的課堂革新,培養(yǎng)能自律自主,有國際視野、創(chuàng)新創(chuàng)業(yè)、中英雙語和終生學習能力的學生。目前,人工智能、機器人在各行業(yè)的發(fā)展如火如荼日新月異。綜合國力競爭說到底是人才競爭,汽車專業(yè)的學生學習《單片機原理及應(yīng)用》這門課是非常有必要的,這門課的教學同樣也承擔著培養(yǎng)學生的重任。
《單片機原理及應(yīng)用》是高等職業(yè)院校新能源汽車技術(shù)專業(yè)等以設(shè)計、制作為關(guān)鍵技能的相關(guān)專業(yè)的一門專業(yè)基礎(chǔ)課。課程理念和設(shè)計思路要體現(xiàn)“三化三元素”的要求,建立在對職業(yè)活動的調(diào)研和分析基礎(chǔ)上,體現(xiàn)工學結(jié)合職業(yè)能力培養(yǎng)特點和全人發(fā)展培養(yǎng)理念,構(gòu)建行動導(dǎo)向的教學模式,摒棄基于學科體系的傳統(tǒng)教學模式,擺脫以知識內(nèi)容灌輸為主的教學方法,教學內(nèi)容設(shè)計以實際工作過程和工作任務(wù)為載體,采用模塊教學,設(shè)計學習情境并以任務(wù)形式加以實施。
通過本課程的學習,學生能初步掌握單片機的原理及其在日常生活中的應(yīng)用,學會單片機基本設(shè)計、制作、編程等,養(yǎng)成良好的職業(yè)道德與規(guī)范等綜合素養(yǎng),培養(yǎng)學生動手動腦能力、創(chuàng)新能力和分析問題解決問題的能力, 為將來從事新能源汽車電子電器新產(chǎn)品設(shè)計開發(fā)等工作打下基礎(chǔ)。
單片機理實一體化教室每臺電腦上安裝有Keil 軟件、Proteus 仿真軟件、stc-isp 燒結(jié)軟件,C51 實驗板。用Keil 軟件完成C51 程序的編制(c 語言)與功能調(diào)試。還可以在Proteus 界面上用仿真電路測試,但更多地是直接用C51 實驗板驗證結(jié)果。
在理實一體化教室上課,按照老師的指導(dǎo)學生邊學邊做,動手又動腦。這個階段可以培養(yǎng)學生的模仿能力,這也是很重要的,它能讓學生積聚能量,培養(yǎng)自信心,掌握基本的知識。Keil 軟件的界面是英文的,我們不要漢化它,這樣可以把菜單上一些英文單詞熟悉,經(jīng)常點擊你就會記住了。
完成教學任務(wù):點亮一個LED,自己好像有成就感了。如果讓你去做個流水彩燈,開發(fā)一個簡單的產(chǎn)品,只要加上驅(qū)動電路,就可以做出漂亮的流動彩燈了!
只要你想得到,led 燈想怎么流就怎么流!在這時可以“大展宏圖”,放飛自己的思想。
(1)計算機編程工作是費時費力的,特別是腦力。如果你沒有耐心恒心是難于完成工作的。當你的知識積累到一定的程度,你就能看得懂程序了。自己會寫程序,也為看懂打下了基礎(chǔ)。
(2)如果出現(xiàn)了錯誤,一般軟件會給出提示,根據(jù)它去修改。所以要有一定的英語水平。當然你在寫的時候要小心點,盡量不要出現(xiàn)低級錯誤,比如單詞的拼寫錯誤。
在Proteus 界面上仿真能成功,但是在實驗板上“沒有反映”。是什么原因呢?此處培養(yǎng)了學生分析問題解決問題的能力,要勇于探索找到問題的癥結(jié),不怕困難。
在老師的指導(dǎo)下,原來是接口不同。實驗板的led 發(fā)光二極管接在P1 口上,數(shù)碼管接在P0 口上,并且由P2^6、P2^7控制。把程序稍作修改就成功了,這樣學生就嘗到了成功的喜悅,得到了學習的樂趣。舉一反三,依此類推,觸類旁通?!靶挠徐`犀一點通”,學生打好了基礎(chǔ),掌握了一些基本的技能,加上老師的 “點拔”,自然就會開竅了。
科學是嚴謹?shù)?,來不得半點的馬虎,更不能敷衍搪塞,有一個地方出了問題哪怕是標點符號出錯程序也不能通過。經(jīng)常會出現(xiàn)中文的分號“;”不行,要用英文的分號“;”。但是我們可以摸著石頭過河,有錯改錯,改了就行。要大膽地試,反復(fù)地試。相信總會成功。
要善于提出問題,靈活運用知識。我們已經(jīng)學習了led燈點亮、數(shù)碼管的顯示、LCD 液晶顯示。數(shù)碼管能顯示led燈的盞數(shù),那么能否用1602 液晶顯示led 燈盞數(shù)呢?
借鑒別人的程序,也算參考吧,但不能照抄照搬,要吸收別人的經(jīng)驗取長補短。注意要有所創(chuàng)新,“一個國家,一個民族如果沒有創(chuàng)新,也就輸?shù)袅宋磥怼?。高新技術(shù)、核心技術(shù)是買不來的,要不來的。所以在本課程的學習中要貫穿創(chuàng)新的理念,教書育人。
課堂上的時間不夠用,課外要花一點時間,剛開始的一個星期可能要花的時間多些,頭痛的時間也會多些,這是“黎明前的黑暗”,要沖過去。
學以致用,我們的學習是要有成果應(yīng)用的,往大的方面說,回報社會造福人類。結(jié)合汽車專業(yè)知識老師布置一個大作業(yè):設(shè)計出汽車轉(zhuǎn)向燈的控制程序。實驗板顯示如圖1 所示。
允許同學們在課后,以小組的形式共同完成,這樣培養(yǎng)了學生的協(xié)作精神,使得同學之間的感情融洽。
圖1 模擬汽車轉(zhuǎn)向燈閃亮
程序完整代碼如下:
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uint m1,m2,b;
sbit ldeng=P1^0; //led 燈定義
sbit rdeng=P1^7;
sbit S2=P3^4; //獨立按鍵位定義
sbit S3=P3^5;
sbit S4=P3^6;
sbit S5=P3^7;
uchar a,flag1,flag2,flag3;
void display1(uint a1);
void display2(uint a1);
void delay(uint x1) //延時函數(shù)
{for(m1=x1;m1>0;m1--)
{for(m2=120;m2>0;m2--);
}
}
void init()
{TMOD=0x01; //設(shè)置定時器0 為工作方式1
TH0=(65536-50000)/256;//給定時器0 裝初值,12M 晶振定時時間為50ms
TL0=(65536-50000)%256;
EA=1; //開總中斷
ET0=1; //開定時器0 分開關(guān)
TR0=1; //啟動定時器0
}
void timer0() interrupt 1//中斷服務(wù)程序,其中"1"是定時器0 的入口序號
{TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
a++;
if(a==20) a=0;
}
void main()//主函數(shù)
{ init();
flag1=0;
flag2=0;
flag3=0;
while(1)
{P1=0xff;
if (flag2==0) {
if(S4==0) //右轉(zhuǎn)向
{delay(50); //延時
if(S4==0) //即消除前沿抖動
{TR0=1;
while(!S4)
{display1(a);
delay(20) ;
flag1=1;
flag2=0;
flag3=0;
}
}
}
}
if (flag1==0) {
if(S2==0) //左轉(zhuǎn)向
{delay(50);
if(S2==0)
{
TR0=1;
while(!S2)
{display2(a);
delay(20) ;
flag2=1;
flag1=0;
flag3=0;
}
}
}
}
if(S5==0) //雙閃
{delay(50);
if(S5==0)
{ b++;
TR0=1;
display1(a);
delay(50) ;
display2(a);
delay(50) ;
flag1=1;
flag2=1;
flag3=1;
if (b%2==0) {
b=0;
flag1=0;
flag2=0;
}
}
}
if (flag1==1 ){ display1(a); delay(20) ;}
if (flag2==1 ){ display2(a); delay(20) ;}
if (flag3==0) {
if(S3==0) //停止
{delay(50);
if(S3==0){
TR0=0;
while(!S3)
{flag1=0;
flag2=0;
}
}
}
}
}
}
void display1(uint a1)
{ P1=0xff;
if (a1%2==1) ldeng=0;
else ldeng=1;
}
void display2(uint a1)
{P1=0xff;
if (a1%2==1) rdeng=0;
else rdeng=1;
}
學生展示自己的成果。通過這個大作業(yè)把所學到的有關(guān)知識(循環(huán)語句、判斷語句、函數(shù)、中斷、延時等)融會貫通,按鈕控制led 燈分別點亮并且閃爍,并且學會調(diào)試。如果發(fā)現(xiàn)與實際不相符合及時進行修改,比如編寫的程序使得:按了左轉(zhuǎn)向按鈕再按右轉(zhuǎn)向按鈕時會同時亮燈,這是不行的。
全人發(fā)展,有利于提高教學質(zhì)量,提升教學的時效性。在《單片機原理及應(yīng)用》的教學中,充分調(diào)動學生的學習興趣,結(jié)合汽車專業(yè)課的知識應(yīng)用單片機編程設(shè)計,同時培養(yǎng)了學生全方位的能力。如果學生想進一步發(fā)展還可深造,創(chuàng)新開發(fā)新的產(chǎn)品這都是有可能的,正所謂 “師傅引進門,修行靠個人”。