一、实验要求
【实验目的】
1、熟练掌握Keil开发平台和Proteus ISIS仿真软件的使用。
2、掌握开发板上LED灯接线方法。
3、掌握点亮一只LED灯的程序控制方法。
【实验要求】
要求每位学生独立完成实验接线,并编写合适的程序,点亮LED灯。
【实验内容】
1.根据设计思路,使用Proteus ISIS仿真软件绘制仿真电路原理图,并合理设置元件参数。
2.用KeilC51软件编写点亮一个发光二极管的程序。
3.Keil C51与Proteus联调,仿真调试观察实验现象。
4.将程序烧录至开发板,硬件调试观察实验现象。
二、利用Proteus仿真软件画原理图
(1)新建工程文件,左上角文件——新建工程,设置名称和路径:
根据需求,选择好后点下一步,这里直接默认一直点下去:
完成创建工程向导:
(2)根据实验需求,列出Proteus电路元器件列表,在元件模式(Proteus左列第二个)中点击“P”搜索相应的元器件拖至原理图,并连好线路:
三、Keil编程软件编写程序
(一)新建工程
1、进入Keil软件,新建工程(New μVision Project),建议放在与proteus原理图在同一目录中,方便找到。
2、选择单片机型号,选择Atmel——AT89C51,选择好后点击ok,如下:
3、会有提示“是否复制启动代码”,点击“是”,这样就创建了一个工程:
4、添加源文件到工程中,先点击File——New,创建一个后缀为.c的文件,然后右键工程下的Source Group 1的Add Files to Group ‘Source Group 1’…:
设置好源文件名称,点击Add,即可添加到工程文件中:
5、在左侧工程栏中可看到创建的并加入到工程中的源文件:
(二)工程设置
1、在编程之前还要对工程进行设置,右键工程Target1的Options for Target 'Target 1"…
进入工程的设置页面:
2、首先要设置系统的时钟频率为12.0MHz:
另外在Output选项中,勾选Creat HEX File选项,默认是没有勾选的:
(三)编写程序
接下来就是编写程序,其中sbit LED=P1^0是对单片机P1.0引脚位定义,另外while(1)是无限循环,LED=1是P1.0引脚输出高电平1,即点亮LED:
#include<reg51.h> sbit LED=P1^0; void main() { while(1) { LED=1; } }
然后编译、链接生成.HEX可执行文件:
有以下语句并无警告报错,生成了.HEX可执行文件,如果没有这个语句检查自己的工程设置:
四、将可执行文件加载到仿真图
(1)回到之前的proteus仿真图,双击单片机:
(2)在Program File中点击文件夹标志,将编译链接生成可执行文件加载到仿真图中:
选择好后,点击确定:
(3)开始仿真,点击proteus左下角的三角即可开始仿真,另外可通过点击正方形停止仿真:
这是点击开始仿真之前的原理图:
开始仿真后,可以看到我们设置的LED-RED点亮,另外还可以看到元器件的引脚呈灰色、蓝色或红色正方形,它们分别代表红色:高电平;蓝色:低电平;灰色:不确定,或者输出的电平介于高低电平间无法确定。
五、连接电路图
根据绘制的电路原理图连接电路,由于我选择的是P1端口,所以将P1.0和D1连在一起就行:
六、通过烧录软件烧录可执行文件
通过stc-isp-15xx-v688I烧录.HEX可执行文件,如下操作:
1、连好实物电路图,通过数据线连接板子至PC,观察计算机端口(在设备管理器中找到端口),这个端口一会要用的:
2、进入烧录软件,芯片型号选择STC90C516RD+(不同学校可能用的芯片不一样),串口选择上一步找到的端口,最低波特率设置为2400,最高波特率设置为28800:
设置完成好后,如下:
3、然后打开程序文件,选择之前生成的可执行文件:
4、打开板子的开关,然后点击下载/编程,然后右边框就会显示操作是否成功:
5、此时就可以观察板子上所连接小灯的情况了,可以看出D1灯亮: