一、实验目的与任务
实验目的:
1. 掌握KeilC集成开发环境的安装及基本操作;
2. 掌握Protues仿真软件的安装及基本操作。
任务:
1.完成KeilC集成开发环境的安装,建立工程;
2. 完成Protues仿真软件的安装,建立工程;
3. 完成所建工程的仿真及调试。
二、实验内容
安装KeilC集成开发软件,建立工程,配置编译环境参数并调试。
安装Protues仿真软件,建立工程,熟悉基本操作,查看元器件库,完成原理图并载入程序进行调试。
三、实验步骤
(1)示例程序
示例程序:
#include <reg52.h>
#define uchar unsigned char
void delay( )
{
uchar i,j;
for(i=0;i<255;i++)
for(j=0;j<255;j++);
}
void main( )
{
while(1)
{
uchar temp;
P1=0xff;
temp=P1&0xf0;
temp=temp>>4;
P1=temp;
delay( );
}
}
实验步骤:
- 运行Keil uVision4 开发环境,按照“模块化单片机教学实验平台配套的实验指导书1.2.3 节”介绍的方法建立程esimlab1. uvproj,CPU 为AT89C51,包含启动文件STARTUP.A51。
- 输入源程序,在Keil uVision4 开发环境中,建立源程序esimlab1.c,将上述程序加入该程序文件。并将该文件加入工程esimlab1.uvproj。
- 设置工程esimlab1. uvproj 属性,将其晶振频率设置为12MHz,选择输出可执行文件(HEX 文件),仿真方式为“Use Simulator”。
- 构造(Build)工程esimlab1.uvproj。如果输入有误进行修改,直至构造正确,生成可执行程序 esimlab1.hex 为止。
- 单步调试运行程序,观察相应的反汇编指令窗口,寄存器A、PC、以及P1口的内容随着指令的执行的变化情况。
(2)原理图绘制:
实验步骤:
1.运行Proteus 开发环境,建立工程,新建原理图设计文件esimlab2.DSN。
2.查找元件库,将元件调入元件列表。
元器件名称 | 型号 | 数量 | Proteus关键字 |
单片机 | AT89C51 | 1 | AT89C51 |
晶振 | 12MHz | 1 | CRYSTAL |
二极管 | 黄色 | 4 | LED-YELLOW |
电容 | 30pF | 2 | CAP |
电解电容 | 1μF | 1 | ELEC-CAP |
电阻 | 470R | 8 | MINRES470R |
电阻 | 10K和1K | 2 | MINRES10K |
按钮 | 1 | BUTTON | |
开关 | 4 | SWITCH |
3.设置单片机属性,将其晶振频率设置为12MHz,载入KEIL生成的文件esimlab1.hex。
4.运行仿真并观察结果。
4、实验小结
#include <reg52.h>//调用51单片机头文件
#define uchar unsigned char//定义uchar 即unsigned char
//延迟函数
void delay( )
{
uchar i,j;//定义变量i,j
for(i=0;i<255;i++)//循环嵌套,达到延迟目的
for(j=0;j<255;j++);
}
void main( )
{
while(1)
{
uchar temp;//定义变量temp
P1=0xff;//给P1所有端口赋初值
temp=P1&0xf0;//进行与计算,获得开关的信息
temp=temp>>4;//向右移4位,将开关的信息移位给LED灯
P1=temp;//将temp的值赋给P1
delay( );
}
}
通过本次实验,掌握了掌握KeilC集成开发环境的安装及基本操作和Protues仿真软件的安装及基本操作。
在使用KeilC建立工程的过程中,熟悉了编译环境的配置,掌握了基本的调试方法。通过写源码注释,深入了解了c51编程的基本方法,对于与或运算等其他位运算方面的知识漏洞进行了填补。
在使用Protues建立过程中,熟悉了基本操作,掌握了原器件库的使用,以及如何将程序载入Protues进行调试的方法。