笔者在实际讲授过程中,引入Proteus软件平台很好的解决了实验效果的模拟演示。鉴于刚开始学生对Proteus软件比较陌生,笔者帮助学生搭建好电路,让学生将注意力集中在编写C语言程序编程控制单片机上。以单片机控制单个LED闪烁为例,笔者教学过程如下:
教师提前在Proteus中搭建好电路(电路图如下),上课时提出实验任务:编写程序控制连接在P1.0端口上的D1(LED灯),让其闪烁。
引导学生分析如下C语言程序:
#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)自定义函数的功能:实现延时。
(2) void main( ),程序的主程序。①p=0,给p1.0端口一个低电平,此时LED等亮,然后调用 delay( )延时。
②然后p=1,给p1.0端口一个高电平,此时LED熄灭,调用dalay( )延时。
③重复①②,从而达到LED灯闪烁的目的。
引导学生打开Keil uVision3软件,建立并编辑上面的C语言程序,然后进行编译,生成对应的text1.hex文件。