本篇文章我以点亮一个led小灯实验为例,来一套完整51单片机的实验流程。

1.使用keil软件进行代码的编写及编译

  操作步骤如下:
  <1>打开keil,并看到类似以下界面。

  <2>创建一个工程
  步骤如下:
  (1)依次点击 Project (工程)>> New μVision Project… (新的工程)。

  (2)选择合适的工程存放位置并命名工程名,最后点击保存。

  (3)为工程选择相应的设备,最后点击OK。

  注意:这一步根据自己所用的设备来进行选择的。

  (4)选择是否要向你的工程中添加“STARTUP.A51”文件。
  解释:STARTUP.A51是 Keil C51 的项目中的初始化文件,里面包含了中断向量表和变量初始化代码。

  注意:这一步可选可不选,不会对代码的编写及编译造成任何影响。
  (5)大功告成,一个工程就创建好了。可以看到以下界面。

  注意:由于我们在上一步中点击了“是”,因此可以在创建的项目中看到“STARTUP.A51”文件。
  <3>对工程进行必要的配置
  首先依次点击Edit (编辑) >> Configuration… (配置),进入配置页面。

  配置内容步骤如下:
  (1)点击Editor(编辑),配置Encoding(编码方式)为“Chinese GB2312 (simplified)”。

  设置原因:这样能够解决我们在编写代码注释时出现问号。
  (2)点击魔法棒,在Target(硬件目标选项)中设置晶振频率。

  注意:晶振频率根据自己所用的设备来进行配置。
  设置原因:这样能在使用Proteus仿真软件进行仿真时获得具体的运行时间,为判定程序的一些时序、延时时间等做为参考。当然,如果不适用仿真软件,而是直接使用硬件进行测试,可以不需要配置。
  (3)点击Output(输出选项),勾选Create HEX File。

  勾选原因:因为要想将代码烧录到单片机中,只能够通过.HEX这种格式的文件。
  <4>新建文件并将其添加到工程中
  操作步骤:
  (1)依次点击File >> New… 或者直接快捷键Ctrl + N,创建一个新的文件。

  (2)点击保存或直接快捷键Ctrl + S,设置.c文件并点击确定。


  (3)右键Source Group 1(资源组1),点击Add Existing Files To Group “Source Group 1” (向资源组1中添加已存在的文件)并选择刚刚保存的.c文件,最后点击Add。


  (4)大功告成,这样就完成了文件的创建与添加到工程。可以看到以下界面。

  <5>编写程序代码并编译至无错误无警告。
  步骤如下:
  (1)首先编写点亮一个led小灯的程序代码。

//利用总线操作
#include <reg51.h>
#define led P2  //宏定义void main() {led = 0xfe;  //点亮led小灯while(1);
}


  (2)点击编译,并达到编译结果为 - 0 Error(s),0 Warning(s).

  注意:也许第一次编译的结果有错误,这很正常,找到问题并解决它,直至编译无误。这是必由之路。

2.使用Proteus软件进行仿真

  操作步骤如下:
  (1)在仿真软件Proteus中绘制实验原理图。

  (2)右键核心开发板,点击编辑属性,或者直接快捷键Ctrl + E,打开编辑元件。

  (3)点击在Program File 一栏后面的黄色文件夹,找到并选择工程下生成的.HEX文件,然后点击打开,最后确定。

  (4)点击在左下角的运行键,看到以下仿真效果,证明达到实验要求。

  注意:可能会出现效果不理想,这很正常,证明代码虽然没有问题,但可能出现逻辑错位等问题,找到问题并解决它,这是必由之路。

3.使用STC-ISP软件向开发板烧录程序并观察现象

  步骤如下:
  (1)打开烧录软件STC-ISP。
  (2)设置单片机型号。
  (3)设置连接单片机的串口。
  (4)打开程序所对应的.HEX文件。
  (5)点击下载/编程。
  (6)开发板重新上电,等待下载完毕。
  (7)观察现象。
  烧录软件STC-ISP大致使用图示如下:
  注意:单片机型号是根据自己的开发板选择;串口号是根据实验时的具体情况扫描选择。
  本次实验观察到的现象如下:

结束语

  好的,一套51单片机的实验流程结束。不负青春,不负韶华,加油!

51单片机之一套完整的实验流程相关推荐

  1. 【Proteus仿真】51单片机+直流电机PWM调速实验

    [Proteus仿真]51单片机+直流电机PWM调速实验 Proteus仿真 采用L293驱动直流电机 -PWM是采用定时器中断实现 /******************************** ...

  2. 51单片机内部定时器/计数器实验

    51单片机内部定时器/计数器实验 一.实验内容 使用MCS-51内部定时/计数器,定时1秒钟,CPU运用定时中断方式,实现每1秒钟输出状态发生一次反转,即发光管每隔1秒钟亮一次(P1.7接LED). ...

  3. 51单片机开发 矩阵键盘中断实验与简易计算器及proteus仿真

    51单片机开发 矩阵键盘中断实验与简易计算器及proteus仿真 文章目录 51单片机开发 矩阵键盘中断实验与简易计算器及proteus仿真 实验内容 一.实验一 矩阵键盘中断实验 数码管显示 1.仿 ...

  4. 51单片机串口通讯 +Proteus仿真实验

    51单片机串口通讯 +Proteus仿真实验 ✨注意不要使用Proteus 8 Professional 8.13版本串口通信会出错.

  5. 51单片机仿真开发环境构建实验

    51单片机仿真开发环境构建实验目录 实验目的 一.实验步骤 Step1:之前Debug,USE里面没有Proteus VSM Monitor Driver Step2:把VDM51.dll复制到Pro ...

  6. 51单片机:有趣的定时器实验

    51单片机:有趣的定时器实验 本以为考完试搞完课设就没啥单片机啥事了,结果莫名的来了软件工程软件基础训练,训练Proteus和Keil软件.我嘞天,之前天天用好不?这课程安排的emmmmm,我还要其他 ...

  7. 51单片机入门 - 自己动手搭建实验板

    博主福利:100G+电子设计学习资源包! http://mp.weixin.qq.com/mp/homepage?__biz=MzU3OTczMzk5Mg==&hid=7&sn=ad5 ...

  8. 51单片机Proteus仿真+Keil工程-实验7-单片机AD和DA实验

    实验7-单片机AD和DA实验   之前做的一次实验,51单片机AD和DA实验,数模使用芯片0832,模数转换使用0809.在做实验时曾经遇到一个问题,模数转换0809是不是只能输出0~ 5V,能不能输 ...

  9. 51单片机Proteus仿真+Keil工程-实验2-按键-数码管

    实验2-单片机数码管和按键实验   之前做的一次实验,51单片机通过按键控制单个数码管.如有问题欢迎指正. 实验目标:   通过建立4x4矩阵按键在8段数码管上面显示0~F,十六个按键值. Prote ...

  10. 51单片机Proteus仿真+Keil工程-实验6-单片机扩展RAM6264实验

    实验6-单片机扩展RAM6264实验   之前做的一次实验,51单片机扩展RAM6264实验.如有问题欢迎指正. 实验目的:   掌握单片机扩展芯片的方法:掌握RAM6264的写入和读取: 实验内容: ...

最新文章

  1. Windows Server 2012 R2在桌面上显示计算机/网络图标
  2. 基于linux的netfilter处理数据包的过程分析,基于Linux的Netfilter处理数据包的过程分析...
  3. 炼丹感悟:On the Generalization of RL
  4. 通过 GitHub Actions 自动创建 Github Release
  5. qt场景中视图QGraphicsView的缩放
  6. python中列表 字典 元祖 enumerate()函数
  7. linux(Centos7)安装elasticsearch6.2.2
  8. 联合索引会创建几个索引_联合索引在B+Tree上的存储结构及数据查找方式
  9. Read Asia Embedded fell
  10. Oracle EBS二次开发简介
  11. unity简单动画学习
  12. excel文件损坏修复绝招_修复数据工具大盘点,让你快速掌握电脑数据恢复的秘密武器...
  13. pos收银系统 php,POS收银系统
  14. 软件编程语言培训师张孝祥
  15. iP138版 iP地址 离线iP数据库 ip.dat详解
  16. 网上图书 java web_JavaWeb网上图书商城完整项目--验证码
  17. 绿幕抠图/蓝幕布抠图 自然背景抠图 Robust Video Matting 内容整理
  18. 超炫的html5擦除效果,超炫html5效果代码(需浏览器支持)
  19. 斐波那契数列(C++)
  20. 优盘格式化了怎么恢复里面的数据?

热门文章

  1. 基于docker搭开源iredmail邮箱服务器
  2. GEOS-Chem笔记——模式下载安装+驱动数据+运行流程
  3. *使用phpspider -- PHP蜘蛛爬虫框架来爬取数据
  4. BIGEMAP教您如何选择分度带(中央子午线)
  5. uart协议学习,从了解到入门,看这篇文章
  6. 傅里叶变换概念及公式推导
  7. 中级软件测试工程师是什么水平,中级软件测试工程师需要满足的基本评定条件...
  8. 提取gps经纬度信息
  9. 一文看懂常见域名后缀的含义
  10. ICCV2021 多目标跟踪(MOT)汇总