王愛華
AVR單片機課程教學改革探討
王愛華*
上海師范大學信息與機電工程學院,上海 200233
AVR單片機已經廣泛應用在各領域,本文分析了目前AVR單片機課程教學的現狀,對AVR單片機課程教學改革進行了探討,提出了在AVR單片機教學中使用Proteus和AVRstudio6仿真軟件的教學方法,提高了學生的學習興趣、創新能力和設計能力。
AVR單片機;教學;改革
AVR單片機已經廣泛應用于計算機外部設備、工業實時控制、儀器儀表、通訊設備、家用電器等各個領域,很多高校已經開設了AVR單片機課程。為了使得學生快速掌握AVR單片機知識,適應當前就業形勢的需要,必須對AVR單片機課程進行教學改革。
AVR單片機作為一門新興的課程,教師對于AVR單片機教學的經驗缺乏,AVR單片機教材中適合自學的教材不多,傳統的教學方法過于呆板,教師多采用填鴨式教學方法,這讓基礎差的學生感到抽象、難以理解、枯燥乏味。
(一)AVR單片機課程內容的改革
AVR單片機一般作為任選課,講完STC15單片機原理及應用后再介紹AVR單片機,我們選用AVR系列中的Atmegal6型單片機。主要講解 AVR Studio6集成開發環境的使用、AVR單片機的基本結構、通用I/O接口的基本結構、ATmega16的中斷系統、定時/計數器的結構、模數轉換器ADC以及相關應用實例程序等內容,用C語言編寫實例程序。
(二)AVR單片機教學方法的改革
培養學習興趣,“萬丈高樓平地起”,教師要先引導學生預習閱讀理解教材相關內容,然后在上課的時候,通過提問檢查預習效果。講課過程中,教師先講授知識要點,講課要突出重點和難點。教師舉出實例后,組織課堂討論,讓學生發表自己的觀點。教師在課上演示實例仿真現象,例如花樣流水燈、模擬交通燈、報警器與旋轉燈、數碼管電子鐘、數碼管顯示兩路A/D轉換結果等實例,學生看到、聽到這些仿真現象后興趣盎然。教師使用對比法教學,例如要實現數碼管顯示4×4 鍵盤矩陣按鍵序號,教師分別寫出用STC單片機IAP15W4K58S4和用AVR單片機Atmegal6實現這功能的C程序,然后講解它們的不同點,使學生快速掌握這些程序。
(三)AVR單片機實驗教學的改革
選擇Proteus 和AVR studio 6軟件組建了AVR單片機虛擬實驗系統,學生在課外和課內可以做一些仿真實驗,例如:K1-K4控制LED移位、T0定時器控制數碼管掃描顯示、INT0中斷計數、8只數碼管掃描顯示多個不同字符、繼電器控制照明設備、按鍵發音、INT0與INT1中斷計數、TIMER0控制數碼管掃描顯示、秒計時顯示屏、100以內的脈沖或按鍵計數、用定時器設計的門鈴、數碼管電子鐘、數碼管顯示兩路A/D轉換結果等。課前布置任務讓學生課外去編程和仿真出實驗現象,學生在完成一個個任務的時候,很有成就感,使學生在實踐中提高實際動手能力,為以后就業打下扎實的基礎,待到羽翼豐滿之時大膽地走出去闖蕩。
(四)AVR單片機虛擬實驗系統的構建
1.仿真方法
選擇Proteus 和AVR studio 6軟件組建了AVR單片機虛擬實驗系統。方法:利用AVR Studio 6建立項目并編寫、編譯AVR單片機的程序,編譯通過后,生成.hex文件,打開Proteus畫出相應的電路原理圖,把.hex文件加載到Proteus中的虛擬AVR單片機中,按下啟動仿真,觀看仿真結果。
2.應用實例
用單片機Atmega16實現數碼管顯示4×4鍵盤矩陣按鍵序號的實例,部分程序如下:
#include
#include
#define INT8U unsigned char
#define BEEP1()PORTC ^= _BV(PC7)//蜂鳴器
。。。。。。//省略
void KeySc()
{switch(PINB){
case 0B00001110:Key1=0;break;
case 0B00001101:Key1=1;break;
case 0B00001011:Key1=2;break;
case 0B00000111:Key1=3;break;
default:Key1=0xFF;}
DDRB=0x0F;PORTB=0xF0;_delay_ms(1);
switch(PINB){
case 0B11100000:Key1=Key1;break;
case 0B11010000:Key1=Key1+4;break;
case 0B10110000:Key1=Key1+8;break;
case 0B01110000:Key1=Key1+12;break;
default:Key1=0xFF;}}
int main()
{DDRD=0xFF;PORTD=0x00;
while(1)
{if (Key_Down()) KeySc();
else continue;
if(Key1<16)
{PORTD=SEG_CODE[Key1];Beep1();}
while(Key_Down());}}
用ATmega16單片機的PD口連接各數碼管的段選引腳,PB口接矩陣鍵盤,實驗原理圖如圖1所示,按下F鍵,數碼管顯示F。

圖1 數碼管顯示4×4鍵盤矩陣按鍵序號
綜上所述,單片機課程是當前高校中不斷更新和發展的計算機課程,授課教師應當不斷提升教學方法和手段,轉變教學觀念。本文對AVR單片機課程教學改革進行了探討,基于Proteus 和 AVR studio 6軟件的教學模式極大地提升了學生的學習積極性和主動性。
[1]周潤景,蔡雨恬.PROTEUS入門實用教程[M].北京:機械工業出版社,2011.
[2]馬潮.AVR單片機嵌入式系統原理與應用實踐[M].北京:北京航空航天大學出版社,2011.
王愛華(1966-),女,上海師范大學信息與機電工程學院,講師,主要研究方向:單片機系統開發。
TP368.1-4;G
A
1006-0049-(2017)22-0210-01