很早就对单片机感兴趣了,但现在才走出第一步。事先声明,我不过是一菜得不能再菜的菜鸟,至于为何发这篇文章,不过是听说把自己的经验记录下来有助于学习。好了,进入正题。

    首先,在网上下载了keil uvision3用于编写单片机C语言程序(当然也可用汇编),然后下载Proteus 7用来构建仿真环境。两个软件安装好之后,点击 开始--所有程序--Proteus 7 Professional-- ISIS 7 Professional,运行界面如下。

单片机仿真第一步_第1张图片

 然后按P键,弹出对话框。在关键字处搜索你所需的元件名字,比如说输入括号里面的名字:芯片(AT89C51),或者电阻(RES);双击右方的搜索结果加入元件列表。
 

单片机仿真第一步_第2张图片

选好元件后关闭对话框,选择刚刚选择的元件搭建电路,如下图

单片机仿真第一步_第3张图片

把诸如电阻阻值之类的参数改为自己需要的数值。然后打开keil,编写程序,对对应的I/O口进行操作。我做的是四个LED顺序循环点亮的实验。C语言代码如下:

#include
#include
sbit P1_0=P1^0;
sbit P1_1=P1^1;
sbit P1_2=P1^2;
sbit P1_3=P1^3;
void main()
{      while (1){
  P1_0=1;
  P1_1=1;
  P1_2=1;
  P1_3=1;
  delay_nms(500);
  P1_1=0;
  P1_2=0;
  P1_3=0;
  delay_nms(500);
  P1_0=0;
  P1_1=1;
  delay_nms(500);
  P1_1=0;
  P1_2=1;
  delay_nms(500);
  P1_2=0;
  P1_3=1;
  delay_nms(500);
 }
}

延时函数delay_nms()函数包含在boebot.h中。在keil的Flash--configure--flash tool里的output选项卡中勾选createHex,编译代码,会在工程目录下生成 .Hex文件。然后在Proteus 7菜单栏点源代码--添加/删除源文件,新建,然后选择刚才生成的.Hex文件,确定后点击左下角的开始,灯就亮起来了。     好,大功告成!