实验目的、内容、仪器
目的:初步了解Keil和proteus的功能,调试keil的环境,通过在keil环境下使用proteus
实验内容:
1.Keil的安装
2.Protrus的安装
3.Keil-proteus联调
4.点亮一个led灯
实验仪器:AT89C51:单片机、BUTTON:按键、CAP:电容、CRYSTAL:晶振、LED-RED:LED灯(红色)、RES:电阻
硬件原理(原理图)
![](https://i-blog.csdnimg.cn/blog_migrate/c6d8880f7280fad51a087206e0e97ae4.png)
程序流程图
![](https://i-blog.csdnimg.cn/blog_migrate/05f3d06951db8ce10526a9ad2578a331.png)
代码实现
#include<reg52.h>
sbit led1=P2^0;
int i,j;
void main()
{
while(1)
{
led1=0;
for(i=1000;i>0;i--)
for(j=110;j>0;j--) ;
led1=1;
for(i=1000;i>0;i--)
for(j=110;j>0;j--) ;
}
}
实验步骤
KEIL 安装
(1)由于keil3在输入LIC码时出现问题(计算机的网络适配器不是一项,有多个虚拟网卡,使得注册出错)在http://www.downxia.com/downinfo/267041.html该网站中下载了keil4(Keil C51 V9.00 )的安装包。
![](https://i-blog.csdnimg.cn/blog_migrate/146bfc61b31424dea473539945de7ec2.png)
(2)打开它自带的注册软件,将keil4中的ID(File->License Management->Single-User License)复制上去获得新注册ID码
![](https://i-blog.csdnimg.cn/blog_migrate/90bccc405d752686d0f931e758830be7.png)
2.Protrus的安装
3.Keil-proteus联调
(1)在网上下载VDM51.dll,把文件复制到 D:\danpianji\C51\BIN 文件夹下。
(2)用记事本打开danpianji 根目录下的 TOOLS.INI 文件,加入 TDRV8=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver" ) ,
(3)建立KEIL 工程后,单击(Project ->option for ta rget) ,弹出窗口,点击“Debug”按钮,
在出现的对话框里在右栏 最上部 的下拉菜单里选中“Proteus VSM Monitor 一51
Driver”。并且还要点击一下“Use”前面表明选中的小圆点。点击seting还有ok就好了
4.点亮一个led灯
(1)搭建仿真电路,勾选debug
(2)建立keil工程,选择单片机型号
(3)给工程创建源码文件,并以.c结尾,添加文件到源组里
(4)生成hex文件,点击魔术棒,在output中勾选Create HRX_File,进行编译后才能生成hex文件
(5)调试debug,点击USE,在下拉菜单里选中“Proteus VSM Monitor 一51 ”进行设置
(6)将程序导入到单片机中运行,双击单片机,选择生成的hex文件
(7)在keil中启动调试,开始运行,观察proteus中的电路
6.结果及讨论
因为在代码编写时使用的是延时,所以led煽动的频率不同,其次就是对于proteus-keil联调理解方面具有误区,联调后完全不用在proteus中点击运行,而是在keil中控制电路运行。
知识点(一)
预备知识
开发环境
单片机: 单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit), 常用英文字母的缩写MCU表示单片机。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。
Keil:C51面向单片机的集成工具,面向C语言以及汇编语言。
Proteus:把keil中编译的文件进项仿真调试结果。
烧写软件:可以将代码烧写到开发板的程序库里。
51单片机
标识解释(了解)
ROM (8KB) (EEPROM)
RAM(512KB)(了解)
引脚(40) I/O引脚
电源时钟
编程控制引脚
![](https://i-blog.csdnimg.cn/blog_migrate/f0a436951777397882028c65304b324f.png)
(1)怎样输出0
(2)怎样输出1
(3)怎样进行读写控制
二、流程图
![](https://i-blog.csdnimg.cn/blog_migrate/8266adca14190a791409a2696ee43ac2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8005cb957ddf907e83d5f97817280b66.png)
三、怎么学
1.再谈方法论
2.足够多的清晰的概念
3.概念之间的联系
4.足够系统的方法论
5.有成功的完整的案例