《例说8051:单片机程序设计案例教程》——1-3 8051的开发流程与工具

简介:

本节书摘来自异步社区《例说8051:单片机程序设计案例教程》一书中的第1章,第1-3节,作者 张义和,陈敌北,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1-3 8051的开发流程与工具

8051系统的开发流程与一般单片机的开发流程类似,其基本开发流程可分为软件与硬件两部分,而这两部分是并行开发。在硬件开发方面,主要是设计原型电路板(prototype),也就是目标板(target board)。在软件开发方面,则是编写源程序(可使用C语言或汇编语言)、再经过编译、汇编成为可执行代码,然后进行排错/仿真。当完成软件设计后,即可应用在线仿真器(In-Circuit Emulator,ICE),下载该可执行代码,然后在目标板上进行在线仿真。若软、硬件设计无误,则可利用IC烧录器将其可执行代码烧录到89S51,最后将该89S51插入目标板,即完成设计,如图1-17所示。


screenshot

本书所要探讨的是以汇编语言的方式开发8051的软件,可采用的软件开发工具有很多,例如:

Altium Designer

广泛流行的Altium Designer不但是实用的电路板设计软件,还具有功能强大的嵌入式系统(Embedded System)设计工具,不但提供多个8位微处理器(8051、PIC165、Z80等)的软件开发环境,还提供多个32位微处理器的软件开发环境;从软件编辑开始(可使用汇编语言或C语言),然后编译、汇编、连接,产生可执行文件,还可进行排错/仿真与在线仿真。设计结果不但可烧录到单片机里,还可放入FPGA(Field Programming Gate Array,现场可编程门阵列)嵌入式系统。实际上,8051单片机的开发只是Altium Designer的一个小功能而已,而整个Altium Designer系统被它强大的电路板设计与FPGA设计工具所掩盖了。尽管如此,其8051单片机的开发同样非常强劲,一点也不输给其他专用的8051开发工具,读者可以参考其他书籍介绍。

Keil Vision 2

Keil Vision 2提供了集成开发环境(Integrated Development Environment,IDE),可让我们从建立设计工程(Project)开始,然后编辑源程序(C语言或汇编语言)、编译、汇编、连接,再进行排错(排错就是一种程序功能仿真,读者可以参考其他书籍介绍)。

在本书中,将采用传统的开发工具进行8051程序的开发,如图1-18所示。

其中各步骤说明如下:


screenshot

编辑源程序

首先利用文本编辑程序来编写源程序(source code,即*.asm),这是以8051汇编语言所编写的程序,是人们能阅读的文本文件。若是在DOS环境下编写源程序,可使用PE2之类的文本编辑程序;若是在Windows环境下编写源程序,则可使用Windows所附的记事本。

编译与连接

当源程序编辑完成后,紧接着利用8051的编译程序,如美国2500AD公司的x8051,将源程序进行编译得到目标文件(object code,即.obj);再利用连接程序(Link)将目标文件进行连接产生可执行文件(.TSK)或十六进制文件(*.hex)。由于编译与连接是利用两个不同的程序在DOS下依次进行的动作,因此我们可使用批处理文件来简化操作程序,如下所示为test.bat批处理文件,其功能是让我们一次操作就可完成编译与连接两个动作:

X8051 %1.asm -D
@ECHO OFF
IF ERRORLEVEL 1 GOTO ERR
@ECHO ON
LINK –C %1.obj
@ECHO OFF
GOTO END
:ERR
@ECHO Error……
:END
@ECHO OFF
test.bat

若要编译与连接ch1.asm源程序,则在命令提示符下输入:


screenshot

 注意:可以省略文件扩展名,这样将可省去不少麻烦。

软件仿真

产生TSK文件或hex文件后,可利用8051的软件仿真程序,如AVSIM51,进行简单的软件仿真。

在线仿真

在线仿真是将TSK文件或hex文件下载到在线仿真器中,再以在线仿真器当做8051,插入我们所开发的目标板上,即可进行在线仿真。当然8051在线仿真器是不可缺的!而8051在线仿真器的厂牌、种类繁多,而在附录A里介绍的8051在线仿真器,属于较新一代的8051在线仿真器。

如果一切都正确,则可利用IC烧录器,将hex文件烧录到89C51/89S51中,那么该89C51/89S51就具有我们所编写的程序,然后将它插在目标板上,就完成了此8051电路设计。

相关文章
|
6月前
|
数据处理
MCS-51单片机汇编语言程序设计
MCS-51单片机汇编语言程序设计
147 0
|
传感器 数据采集 监控
上千个完整设计的单片机、8086、STM32制作教程和资料-转发分享
在网上收集了接近上千个完整设计的单片机、8086、STM32制作教程和资料-转发分享(涵盖了大部分的毕设课设题目),学习单片机的最好教程,也可以作为帮助大家在做电子课设毕设时有利的帮助,可以从以下百度网盘下载(按照编号下载)。
2114 0
上千个完整设计的单片机、8086、STM32制作教程和资料-转发分享
【单片机】简单的自定义延时程序设计(代码演示)
【单片机】简单的自定义延时程序设计(代码演示)
|
开发框架 JSON 物联网
Nanoframework 操作单片机蓝牙配置WIFI的案例
通过`Nanoframework`的蓝牙配置Wifi的名称和密码
132 0
|
算法 芯片
基于51单片机点阵汉字显示程序设计
基于51单片机点阵汉字显示程序设计
基于51单片机点阵汉字显示程序设计
蓝桥杯之单片机学习(十四)——基础技能综合实训案例解析
蓝桥杯之单片机学习(十四)——基础技能综合实训案例解析
279 0
蓝桥杯之单片机学习(十四)——基础技能综合实训案例解析
蓝桥杯之单片机学习(十二)——串口通信进阶应用案例解析
蓝桥杯之单片机学习(十二)——串口通信进阶应用案例解析
272 0
蓝桥杯之单片机学习(十二)——串口通信进阶应用案例解析
|
存储 芯片
复习单片机:8*8点阵---->点亮数字0(内含:1.设计思路+2.数字0的编程数据+3.原始代码+4.实验现象)(注:获得编程数据工具的下载和使用放在下一篇文章)
复习单片机:8*8点阵---->点亮数字0(内含:1.设计思路+2.数字0的编程数据+3.原始代码+4.实验现象)(注:获得编程数据工具的下载和使用放在下一篇文章)
448 0
复习单片机:8*8点阵---->点亮数字0(内含:1.设计思路+2.数字0的编程数据+3.原始代码+4.实验现象)(注:获得编程数据工具的下载和使用放在下一篇文章)
|
芯片
单片机:蜂鸣器发声和自动关闭一站式教程:(附赠如何控制声音大小和音调)软件编程+硬件原理+注意事项
单片机:蜂鸣器发声和自动关闭一站式教程:(附赠如何控制声音大小和音调)软件编程+硬件原理+注意事项
674 0
单片机:蜂鸣器发声和自动关闭一站式教程:(附赠如何控制声音大小和音调)软件编程+硬件原理+注意事项
蓝桥杯之单片机学习(九)——定时器的进阶综合案例解析
蓝桥杯之单片机学习(九)——定时器的进阶综合案例解析
235 0