【STC8A8K64D4开发板】——新建工程模板之编译、下载、运行和仿真

这篇具有很好参考价值的文章主要介绍了【STC8A8K64D4开发板】——新建工程模板之编译、下载、运行和仿真。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • 说明:本章讲解的程序的编译、下载、运行和仿真适用于开发板配套的所有例程。
    1. 编译工程

这里特别说明一下,本章的讲解的重点是Keil软件的使用,因此,我们直接在“main.c”文件中输入“实验2-1-1:点灯实验”的代码,至于代码的编写和原理在后续的章节会讲解的。

【STC8A8K64D4开发板】——新建工程模板之编译、下载、运行和仿真

图1:3种编译方式

 

我们可以看到,Keil C51的编译按钮共有3个,从左到右分别是: Translate,Build,Rebuild三个编译按钮,他们的区别如下:

  1. Translate(按钮1):是编译当前打开的活动文档。
  2. Build(按钮2):增量编译,编译工程中上次修改的文件及其他依赖于这些修改过的文件的模块,同时重新链接生成可执行文件。如果工程之前没编译链接过,他会直接调用Rebuild All。
  3. Rebuild(按钮3):全部重新编译。

通常,我们用的是Build和Rebuild。编译后,注意观察信息窗口输出的信息,若输出信息提示无错误表示编译成功。

【STC8A8K64D4开发板】——新建工程模板之编译、下载、运行和仿真

图2:编译信息

编译成功后会生成HEX文件“led_blinky.hex”,HEX文件位于工程的“Project\Objects”文件夹。有了HEX文件,我们即可使用STC-ISP软件将HEX文件烧写到开发板中运行。

    1. 下载运行

程序烧写的步骤包括配置STC-ISP软件参数、打开HEX文件和烧写,详细流程如下。

  1. 配置STC-ISP软件参数

打开STC-ISP软件,主要设置项目如下图所示。

【STC8A8K64D4开发板】——新建工程模板之编译、下载、运行和仿真

 

图3:配置STC-ISP软件参数

  1. 选择单片机型号

这里要根据实际使用的单片机型号选择,如开发板主控单片机是STC8A8K64D4,应选择:STC8A8K64D4;如开发板主控单片机是STC8A8K48D4,应选择:STC8A8K48D4。

  1. 选择串口号

选择开发板USB转串口枚举的COM口,可以在电脑的设备管理器中查看COM口端口号,这一点在《第二章:搭建开发环境》中的“安装USB转串口驱动”小节讲过,不清楚如何查看COM口端口号的读者可以参看这一节。

  1. 设置晶振频率为24MHz

本教程配套的例子使用的时钟源均为片内时钟,频率为24MHz,因此IRC频率应设置为24MHz,否则,程序下载后无法正常运行。

  1. 勾选“复位脚用做I/O口”

STC8A8K64D4单片机片内集成了复位电路,用户可以通过此设置项选择使用片内复位或者外部复位,使用片内复位时,无需搭建外部复位电路。

  1. 使用片内复位:勾选此项。勾选此项,程序下载后,STC8A8K64D4单片机的P5.4口可以作为普通的IO口使用。
  2. 使用外部复位:不勾选。不勾选此项,程序下载后,单片机P5.4口则被使能为外部复位引脚,此时P5.4口不能再作为普通IO口使用,而对开发板再次下载程序就需要使用外部复位电路给P5.4复位引脚复位信号以实现下载。开发板有外部复位电路,需短接开发板J26端子的RESET与P54,实现外部复位下载。
  1. 勾选“每次下载前都重新装载目标文件”

勾选后,每次点击“下载/编程”按钮,STC-ISP软件会重新读取选定的HEX文件。这一条在开发的过程中一定要勾选,否则,当我们重新编译程序后,生产的HEX文件内容已经改变,但是下载时仍然下载的是STC-ISP软件缓存的HEX文件,而不是重新编译生产的HEX文件。

  1. 打开待下载的HEX文件

如下图所示,点击“打开程序文件”按钮,在弹出的窗口中导航到HEX文件目录,选中HEX文件后打开即可。

【STC8A8K64D4开发板】——新建工程模板之编译、下载、运行和仿真

 

图4:打开待下载的HEX文件

  1. 烧写

开发板支持自动冷启动下载和手动冷启动下载,可通过J4端子的跳线切换这2种下载方式,开发板出厂默认设置的是自动冷启动下载

  1. 自动冷启动下载

通过开发板上的J4端子将下载方式设置为自动冷启动,之后点击STC-ISP软件上的“下载/编程”按钮即可启动下载。下载完成后,信息窗口会提示下载成功与否,如下图所示。

【STC8A8K64D4开发板】——新建工程模板之编译、下载、运行和仿真

 

图5:自动下载操作流程

下载成功后,观察开发板,会看到指示灯D3闪烁。

  1. 手动冷启动下载

手动冷启动下载需要我们在下载的时候按一下冷启动按键,具体步骤如下:

点击STC-ISP软件上的“下载/编程”按钮,点击后,STC-ISP软件开始检测单片机,,这时,我们需要按一下开发板上的冷启动下载按键S2,启动下载。下载完成后,信息窗口会提示下载成功与否,如下图所示。

【STC8A8K64D4开发板】——新建工程模板之编译、下载、运行和仿真

 

图6:手动下载操作流程

下载成功后,观察开发板,会看到指示灯D3闪烁。

    1. 仿真运行

仿真调试对于开发人员来说,是一扇通向嵌入式系统内部的窗户。通过仿真,开发人员可以单步执行程序、观察程序运行结果与中间值,从而可以大大提高单片机的编程效率和效果。

  • 说明:仿真时会占用单片机的串口1(P3.0和P3.1引脚),请务必确保待仿真的程序中不可以有对串口1的操作。

STC8A8K64D4系列单片机仿真时需要分别对Keil C51和STC-ISP软件进行配置,详细的步骤如下。

      1. 配置Keil C51

【STC8A8K64D4开发板】——新建工程模板之编译、下载、运行和仿真

 

图7:Keil C51中的配置

如上图所示,Keil C51中需要配置的项目如下:

  1. 点击魔术棒,打开工程配置窗口。
  2. 在“Debug”页面,设置完下面两项后点击“Settings”按钮。
  1. 勾选“Use”并选择“STC Moniotor-51 Driver”。
  2. 勾选Run to main():勾选后,仿真时,程序会自动运行到main()函数。
  1. 点击“Settings”按钮后会打开端口设置窗口,在该窗口中选择“COM”并设置正确的COM口号和波特率(设置为115200bps)。

设置完成后,点击“OK”按钮保存设置。

      1. 配置STC-ISP软件

STC-ISP软件中需要将STC8A8K64D4设置为仿真芯片,如下图所示。

【STC8A8K64D4开发板】——新建工程模板之编译、下载、运行和仿真

 

图8:设置STC8A8K64D4为仿真芯片

  • 说明:如果设置的下载方式是手动冷启动下载,点击“将所选目标单片机设置为仿真芯片”按钮后,需要按一下冷启动按键S2。
      1. 仿真

完成上述的设置后,点击Keil C51中的仿真按钮即可进入仿真界面。

【STC8A8K64D4开发板】——新建工程模板之编译、下载、运行和仿真

 

图9:点击仿真按钮,进入仿真

仿真界面如下,因为之前我们勾选了Run to main():勾选后,仿真时,程序会自动运行到main()函数。

  • 说明:如果设置的下载方式是手动冷启动下载,点击仿真按钮后,需要按一下冷启动按键S2。

【STC8A8K64D4开发板】——新建工程模板之编译、下载、运行和仿真

 

图10:仿真界面

仿真时,常用的运行按钮如下图所示,通过这些按钮,我们可以单步、全速运行或者复位程序。

【STC8A8K64D4开发板】——新建工程模板之编译、下载、运行和仿真

 

图11:仿真常用的运行按钮

上图中,1~4为单步执行按钮,他们的作用如下:

  • step into:每点击一次该按钮执行一行程序,遇到函数则会进入函数继续单步执行。
  • step over:每点击一次该按钮执行一行程序,遇到函数时会把函数当成一行执行。这个单步执行的用处是很大的,读者试想一下这样的场景就会明白:程序中有延时函数(循环实现的软件延时),仿真时,点击该按钮,可以一次执行完整个延时函数,从而方便单步调试。
  • step out:当我们单步执行进入到某个子函数内,如果想跳出子函数,点击该按钮即可运行完子函数剩余的语句,并返回到上一层函数。
  • Run to cursor line:运行到光标处,点击后,程序运行到光标所处的位置。

按钮5和按钮6的作用如下:

  • RST:复位到仿真初始状态。
  • Run:全速运行程序。

仿真调试时,仅仅依靠单步执行显然是不够的。当程序代码比较多,我们需要观察程序中某条语句或者某段代码的执行情况时,一种更方便的方法是在待观察的地方设置断点,当程序运行到断点处时会自动暂停,这样分析问题就会方便很多。

Keil C51中设置断点相关的按钮如下图所示。

【STC8A8K64D4开发板】——新建工程模板之编译、下载、运行和仿真

 

图12:设置断点相关的按钮文章来源地址https://www.toymoban.com/news/detail-410782.html

  • Insert/Remove Breakpoint:点击后会在光标所处的行添加断点,再次点击会移除断点(也可以直接在行前单击左键添加和移除断点)。
  • Enable/ Disable Breakpoint:使能/禁用光标所处的已设置的断点。
  • Disable All Breakpoint:禁用所有的断点。
  • Kill All BreakPoint:清除所有的断点。

到了这里,关于【STC8A8K64D4开发板】——新建工程模板之编译、下载、运行和仿真的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STC8H8K64U单片机-ADC采集数

    配置单片机的ADC时一定要将IO口配置成高阻输入模式, 以下是单片机引脚对应的ADC通道  

    2024年02月07日
    浏览(41)
  • 8051如何仿真,STC8H8K64U自带硬件USB直接仿真

    8051如何仿真,STC8H8K64U自带硬件USB直接仿真,解决8051的仿真问题,USB直接下载用户程序。 STC8H8K64U 系列单片机不仅可以借助STC专用工具—— STC-USB Link1D 和 一箭双雕之USB转双串口/全自动烧录器 进行串口仿真还可以 直接通过芯片自带的硬件USB接口进行仿真、烧录。下面是用自

    2024年02月09日
    浏览(38)
  • 16个触摸按键,16个8段LED数码管大电流自动刷新,STC8H4K64TL

    16个触摸按键,16个8段LED数码管大电流自动涮新,STC8H4K64TL STC8H4K64TL-45MHz-LQFP48/32, QFN48/32, 主要功能演示板, 附详细的演示程序/原理图,大家可在本贴技术讨论 1,演示了16个触摸按键输入的效果, 2,演示了 大电流自动涮新 16个8段LED数码管,简化了硬件设计,减轻了CPU的压力,

    2024年02月10日
    浏览(44)
  • STC8H8K蓝牙智能巡线小车——3.按键开关状态获取

    电路分析 引脚为P37 开关未按下时,P37是高电平 开关按下时,GND导通,P37是低电平 编程思路 Driver目录中添加KEY.h文件,应包含引脚定义、开关GPIO实例化函数、开关状态获取函数以及当按下和未按下时执行不同的函数(函数指针作为函数参数) Driver目录中添加KEY.c文件,做具

    2024年01月17日
    浏览(49)
  • STC8H8K蓝牙智能巡线小车——1. 环境搭建(基于RTX51操作系统)

    开发环境准备:Keil uVision5 烧录软件:STC-ISP(V6.92A) 芯片: STC8H8K64U-45I-LQFP64 芯片引脚: 打开Keil,点击【Project】,选择【new uVersion project】 Device选择【STC MCU Database】 在search中输入“8H8K”,选择【STC8H8K64U Series】,点击【ok】 选择项目所在的文件夹,添加一个Keil项目

    2024年01月17日
    浏览(52)
  • STC8H驱动hub75e接口的64*64LED点阵屏

    由于最近在做毕业设计,应导师要求学习LED点阵屏的显示原理,学习并驱动hub75e接口的64*64LED点阵屏。点阵屏上一个点有三个颜色分量R,G,B,1为亮,0为灭。当这个点为110时,颜色为红色和绿色的混合--黄色。          hub75e接口如上图所示,其中R1/G1/B1和R2/G2/B2为两个R

    2024年02月11日
    浏览(72)
  • 51单片机(STC8) -- 开发环境搭建(Keil C51)

    STC8H3K系列芯片概述 文章中所用的芯片选型为STC8H3K64S4,后续STC8案例均以该芯片展开 内核 • 超高速 8051 内核(1T),比传统 8051 约快 12 倍以上,指令代码完全兼容传统8051 • 21个中断源,4 级中断优先级 • 支持在线仿真 工作电压 • 1.9V~5.5V 工作温度 • -40℃~85℃ Flash 存储

    2024年01月25日
    浏览(52)
  • FRDM‐K64F开发板 ARM Mbed 在线编译器嵌入式和物联网开发

    传感器是将物理参数转换为电输出的设备。 传感器是换能器的一种。 传感器可分为模拟传感器和数字传感器。 模拟传感器以电压和电流的形式提供输出。 微控制器需要 ADC(模数转换器)读取来自模拟传感器的数据。 许多较新的传感器都是数字传感器,即它们使用 I2C(内部

    2024年01月24日
    浏览(52)
  • STC8学习 ——ADC 1

    注意:  uint8_t正常左移8位是0,但如果赋值给uint16_t就占uint16_t中高8位,要保留数据就要把八位数据左移8位后赋给16数据,继续赋给8位数据,结果就是0 注意:通过ADC采集数据并输出电压的原理是  电压和对应ADC端口采集结果的比值是恒定的 ADC第15通道采集的内部参考电压值

    2023年04月24日
    浏览(71)
  • STC8学习5 - 定时器

    定时器也可以做为计数器,其实他们本质上的原理是一样的,定时器是计数单片机内部的系统时钟,每1个或者12个时钟脉冲,就加一。计数器则是记录外部输入脉冲。 1. 定时器0有四种工作模式,这里使用的是定时器0的16位可重新装载模式,16位(0x0000~0xFFFF)即可以从0数到

    2024年02月06日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包