筆者在實(shí)際講授過程中,引入Proteus軟件平臺(tái)很好的解決了實(shí)驗(yàn)效果的模擬演示。鑒于剛開始學(xué)生對(duì)Proteus軟件比較陌生,筆者幫助學(xué)生搭建好電路,讓學(xué)生將注意力集中在編寫C語(yǔ)言程序編程控制單片機(jī)上。以單片機(jī)控制單個(gè)LED閃爍為例,筆者教學(xué)過程如下:
教師提前在Proteus中搭建好電路(電路圖如下),上課時(shí)提出實(shí)驗(yàn)任務(wù):編寫程序控制連接在P1.0端口上的D1(LED燈),讓其閃爍。
引導(dǎo)學(xué)生分析如下C語(yǔ)言程序:
#include <REG51.H>
sbit p=P1^0;
void delay(void)
{
unsigned int i,j,k;
for(i=20;i>0;i--)
for(j=20;j>0;j--)
for(k=248;k>0;k--);
}
Void main( )
{
while(1)
{
p=0;
delay( );
p=1;
delay( );
}
}
程序分析:
(1)void delay( void)自定義函數(shù)的功能:實(shí)現(xiàn)延時(shí)。
(2) void main( ),程序的主程序。①p=0,給p1.0端口一個(gè)低電平,此時(shí)LED等亮,然后調(diào)用 delay( )延時(shí)。
②然后p=1,給p1.0端口一個(gè)高電平,此時(shí)LED熄滅,調(diào)用dalay( )延時(shí)。
③重復(fù)①②,從而達(dá)到LED燈閃爍的目的。
引導(dǎo)學(xué)生打開Keil uVision3軟件,建立并編輯上面的C語(yǔ)言程序,然后進(jìn)行編譯,生成對(duì)應(yīng)的text1.hex文件。