基于软件仿真平台下的简易机器人编程教学

LED为例,介绍了用C语言控制单片机的实践方法。在教学中,由于没有硬件试验板,学生无法直接看到程序控制单片机的实际效果,因而理解上比较困难。

笔者在实际讲授过程中,引入Proteus软件平台很好的解决了实验效果的模拟演示。鉴于刚开始学生对Proteus软件比较陌生,笔者帮助学生搭建好电路,让学生将注意力集中在编写C语言程序编程控制单片机上。以单片机控制单个LED闪烁为例,笔者教学过程如下:

教师提前在Proteus中搭建好电路(电路图如下),上课时提出实验任务:编写程序控制连接在P10端口上的D1(LED),让其闪烁。

 引导学生分析如下C语言程序:

#include <REG51H>

 

sbit p=P1^0

 

void delay(void)

 

{

 

  unsigned int ijk

 

  for(i=20i>0i--)

 

     for(j=20j>0j--)

 

       for(k=248k>0k--)

 

}

 

Void main(  )

 

{

 

   while(1)

 

   {

 

      p=0

 

      delay( )

 

      p=1

 

      delay(  )

 

   }

 

}

程序分析:

 

(1)void delay( void)自定义函数的功能:实现延时。

 

 

 

 

 

 

 

 

 

 

 

(2) void main( ),程序的主程序。p=0,给p10端口一个低电平,此时LED等亮,然后调用 delay( )延时。

 

然后p=1,给p10端口一个高电平,此时LED熄灭,调用dalay( )延时。

 

重复,从而达到LED灯闪烁的目的。

引导学生打开Keil uVision3软件,建立并编辑上面的C语言程序,然后进行编译,生成对应的text1hex文件。