keil软件调试单片机程序
使用Keil软件模拟调试单片机串行口

使用Keil软件模拟调试单片机串行口单片机串行口是单片机中很常见的接口之一,常用于与外界通讯,如与PC机通讯,接收或发送数据等。
Keil软件可以帮助我们模拟及调试单片机串行口,下面是详细介绍。
一、Keil软件简介Keil是一款强大的单片机编程软件,具有模拟器和仿真器。
其可支持多种嵌入式系统和多种编译器。
同时Keil具有标准C 编译器,专门用于单片机编程,而且具有与某些模拟器和编译器的集成,可提供完整的嵌入式开发环境。
二、使用Keil软件模拟1. 连接软件与硬件在开始模拟之前,需要将单片机与电脑通过串口连接好。
打开“Options for Target”对话框,选择“Debug”选项卡,选择正确的COM 端口,设置存根速度,完成调试设置。
2. 添加串行口文件在Keil软件中打开设计文件,键入“#include <reg52.h>”来添加注册头文件,其中包含了需要使用串口的相关寄存器位。
利用如下代码,可以对串行口的各项参数进行设置,例如波特率、校验位等等。
void init(){SCON = 0X50; //使串口工作在方式1,即8位数据,可变波特率TMOD |= 0X20; //TMOD的高4位设为0010,使Timer1工作在方式2TH1 = 0XF3; //波特率设为2400bpsTL1 = 0XF3;TR1 = 1; //启动Timer1ES = 1; //开启串口中断EA = 1; //打开总中断}3. 编写数据收发代码在调用串口的过程中,我们往往需要使用到接收和发送两个函数。
在接收方面,我们需要设置好接收中断模式以及缓冲区的异步处理。
编写简单的数据接收收发代码如下:void send_data(unsigned char dat){SBUF = sdat; //将数据传输到SBUF当中while(!TI); //等待发送完成TI = 0; //完成发送}unsigned char receive_data(){while(!RI); //等待接收完成RI = 0; // 完成接收return SBUF; // 返回接收缓冲区}4. 最后进行模拟完成串行口配置和数据处理之后,就可以开始模拟调试了。
关于英飞凌单片机的工程建立和程序调试问题

关于英飞凌单片机的工程建立和程序调试问题1.英飞凌单片机的工程文件是通过Dave软件先配置好寄存器,编译生成.dpt文件,再由Keil打开自动转换成.uvproj工程文件。
然后在用户代码区编写用户程序,编译连接成hex 烧写文件。
2.利用MiniWiggler仿真器器,可以在Keil中直接下载调试程序。
在此之前,需先安装好DAS驱动,以识别仿真器。
在设备管理器中可看到仿真器识别信息。
3.在下载程序前,需设置好Keil工程选项。
以16位单片机为例:Option-Utilities选项,下拉按钮选择Infineon DAS Client for XC16x。
点击Setting,在DAS Server选项选择UDAS,正常识别单片机的情况,Device选项会出现单片机信息,如XE166/XC2000-Family。
在下方的Flash Download Option,单击Add,添加对应单片机型号的Flash,如XE16x-48F On-Chip Flash,结果如下之后,通过Keil主菜单Flash-Download便可以下载程序了。
调试程序时,类似地在Option-Debug选项卡中对应设置即可。
4.完整版本MiniWiggler仿真器采用了电平转换处理,可以连接3.3V或5V系统板,故此仿真器不提供给系统板供电功能。
仿真器有三个指示灯,当仿真器和系统板同时上电,电源灯亮;当下载程序或调试程序刚开始时,连接指示灯亮,当调试程序开始Run时,调试指示灯亮。
5.有些时候仿真器连不上系统板,可能是工程原因或电脑原因,可检查工程设置或更换电脑测试。
注意关系到JTAG口的复用引脚,编程中避免占用,以免下次烧写程序时JTAG 口无法连接上,该情况请采用串口下载进行恢复。
6.使用Memtool串口下载程序时,需注意系统板的启动配置,即拨码开关的位置。
在Memtool中,主菜单Target-Change选择对应系统板型号,Browse选项中New-Use a default target configuration,选择对应系统板型号中Bootstrap Loader类型的,完成。
C51程序在Keil C51下的调试步骤

C51程序在Keil C51下的调试步骤现在广泛使用的C51集成开发环境是Keil软件。
要使用Keil软件,首先要正确安装Keil软件,该软件的Eval版本可以直接去http://www. 下载,其步骤与一般Windows 程序安装类似,这里就不再赘述了。
Keil软件的详细说明见相关资料,这里仅作简要说明,以便于读者在后面的章节中实际动手调试、仿真程序。
1.建立工作项目文件图1启动Keil μVison2启动Keil μVison2,如果打开后就有打开的文件,单击“Project->Close Project”菜单将其关闭。
单击“File->New... ",打开一个新的文件输入窗口,在这个窗口里输入上述源程序。
输入完毕之后,选择“File-->Save",给这个文件取名保存,取名字的时候必须要加上扩展名,一般C语言程序均以“.c”为扩展名(一定要加扩展名,否则后面添加文件就找不到该文件,这是初学者很容易忘记的),这里将其命名为mytest.c。
图2 建立工程文件单击“Project->New Project...",出现对话框,要求给将要建立的工程起一个名字,这里起名为test,不需要输入扩展名。
单击“保存”按钮,出现第二个对话框,如图3所示:图3 CPU选择窗口这个对话框要求选择工程中所用的单片机型号,这里选择Atmel公司的89S52芯片。
单击ATMEL前面的“+”号,展开该层,单击其中的89S52,然后再单击“确定”按钮,会出现一个对话框,询问是否要将标准的8052启动代码加入工程,单击“是”按钮。
此时,在工程窗口的文件页中出现了“Target 1”,前面有“+”号,单击“+”号展开,可以看到下一层的“Source Group 1 ",需要手动把刚才编写好的源程序加入,方法如下:单击“Source Group 1 ",使其反白显示,然后单击鼠标右键,出现一个下拉菜单,如图4所示。
使用keil进行stm32单片机开发的流程 -回复

使用keil进行stm32单片机开发的流程-回复keil作为一款嵌入式系统开发工具,广泛应用于STM32单片机的开发过程中。
它具有强大的编译、调试和仿真功能,可以帮助开发者更高效地进行单片机的开发工作。
本文将以“使用keil进行STM32单片机开发的流程”为主题,为读者详细介绍使用keil进行STM32开发的步骤和注意事项,帮助读者轻松入门STM32开发。
一、准备工作1. 软件安装:首先需要安装keil嵌入式开发环境。
你可以从官方网站上下载到keil的安装包,然后按照安装向导进行安装即可。
2. 硬件准备:除了软件准备外,还需要购买一块支持STM32开发的开发板,例如ST公司的ST-LINK开发板。
将开发板连接至电脑。
二、创建项目1. 打开keil:双击桌面上的keil图标,进入keil开发环境。
2. 创建新项目:点击“Project”->“New Project”,选择合适的存储路径和项目名称,并选择你所使用的STM32单片机型号。
单击“OK”完成新项目的创建。
三、配置开发环境1. 配置芯片参数:在左侧的“Project”窗口中,右键点击“Target 1”,选择“Options for Target”。
2. 配置目标选项:在“Debug”选项卡中,选择正确的调试接口,并将“Use Simulator”选项取消勾选。
在“Settings”选项卡中填写正确的时钟频率和连接方式,并启用Flash编程。
3. 配置编译器:在左侧的“Project”窗口中,右键点击“Target 1”,选择“Options for Target”。
在“C/C++”选项卡中,配置编译器的优化级别和其他相关参数。
四、编写代码1. 添加源文件:在“Project”窗口中右键点击“Source Group 1”,选择“Add New Item”,然后添加你的源代码文件,编写代码内容。
注意,为了方便管理,可以按功能将代码分割成多个源代码文件。
keil环境下51单片机定时器应用程序调试

图2 启动ISIS 7 Professional
图3 打开sim51.DSN文件
图4 选择运行的代码
点击打开对话框,选择运行的代 码。
图5 控制程序运行
:连续运行仿真。 :以一个动画帧为单位,单步运行仿真。 :在连续运行时0时刻暂停。
:停止仿真。
图6 用虚拟示波器观察产生的波形
按住黄色箭头拖动,调节扫描速率
定时器程序练习2
要求: ;fosc=6MHz,使用定时器T0产生100ms定时,在P1.0口输出频 率为5Hz的方波,在P1.1口输出频率为2Hz的方波(1/2秒信 号),在P1.2口输出频率为1Hz的方波(秒信号)。 ;参考课本P127页例1。
图1 创建HEX文件选项
调试步骤:
1、在keil中建立项目lianxi,输入源程序保存为lianxi.asm。 2、点击 ,选择“Output”标签,在“Creat HEX File”前打“√”, 如图1所示,再编译,将产生lianxi.hex文件。 3、启动单片机仿真程序“ISIS 7 Professional”,如图2所示。 4、打开 “sim51.DSN”文件,如图3所示。 5、双击U1(80C51),弹出对话框如图4所示,选择要运行的代 码lianxi.hex。 6、按照图5所示,控制程序运行。 7、用虚拟示波器观察产生的波形,如图6。
按照练习1介绍的方法,进行调试运行,观察结果。
keil环境下51单片机定时器应用程序调试单片机定时器单片机定时器程序单片机定时器初值计算单片机定时器中断52单片机定时器2单片机定时器实验单片机定时器延时程序单片机定时器中断程序单片机定时器工作原理
C6定时器应用程序调试
山东职业学院
定时器程序练习1
要求: ;使用定时器T0产生1ms定时,在P1.0口输出频率为 500Hz的方波。 ;参考课本P118页例1。
Keil uVision入门2--程序调试入门

keil教程KEIL C51标准C编译器为8051微控制器的软件开发提供了C语言环境,但是界面是英文的好多初学者看很多教程都是一头雾水,这个相对简单的教程。
KEIL C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品,其效率已经达到了相当搞的程度。
C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。
uVision2 IDE可为它们提供单一而灵活的开发环境。
Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和C 语言的程序设计,界面友好,易学易用。
下面介绍Keil C51软件的使用方法,这应该算一个入门教程,奉献给大家,本人建议结合HZ-C51 豪智单片机学习板实现边学边用进入Keil C51 后,屏幕如下图所示。
几秒钟后出现编辑界启动Keil C51时的屏幕进入Keil C51后的编辑界面简单程序的调试学习程序设计语言、学习某种程序软件,最好的方法是直接操作实践。
下面通过简单的编程、调试,引导大家学习Keil C51软件的基本使用方法和基本的调试技巧。
1)建立一个新工程单击Project菜单,在弹出的下拉菜单中选中New Project选项2)然后选择你要保存的路径,输入工程文件的名字,比如保存到C51目录里,工程文件的名字为C51 如下图所示,然后点击保存.3)这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,ke il c51几乎支持所有的51核的单片机,我这里还是以大家用的比较多的Atmel 的89C51来说明,如下图所示,选择89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定.4)完成上一步骤后,屏幕如下图所示到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。
5)在下图中,单击“File”菜单,再在下拉菜单中单击“New”选项新建文件后屏幕如下图所示此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,但笔者建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“Save As”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。
单片机Keil软件仿真与调试技巧

图5程序调试运行 调试程序时的程序运行控制按钮从左到右依次 为复位、连续运行,暂停、单步、过程单步、执行 完当前子程序、运行到光标当前行。复位按钮模拟 芯片的复位,它将使程序回到最开头处执行。当程 序处于停止状态时复位才有效,程序处于运行状态 时停止按钮才有效。 ①为了方便观察程序调试过程中各变量和
琵稳焉击——————————]Ⅲ阴
单片机Keil软件仿真与调试技巧
一、引言
弹出图1窗口.自动进入编辑工作模式。
单片机软件开发过程中,软件调试遇到的各种 问题常令初学者感到不知所措。实际上.各种仿真 开发软件的程序调试基本方法和技巧大同小异,掌 握正确的程序调试基本技巧。对于排查这些程序错 误问题可以起到举一反三、事半功倍的效果。软件 调试是单片机技术人员必须掌握的重要基本技能。 下面以单片机常用开发软件Keil为例,通过一个项 目任务实例来介绍单片机软件仿真与调试的方法。
二、Keil仿真与调试
点击运行软件Keil uVision2。其调试操作步骤 大体可以分为5步:
1.创建工程 在项目开发中,并不是仅有一个用户源程序就 够了,还要为这个项目选择CPU型号、设置编译和 调试参数.有一些项目还会有多个文件组成。因此 将这些参数设置和所需要的所有文件统称为一个工 程,存放于专门的工程文件夹下。这里先建立一个 工程文件夹如F:kexam。 ①创建新工程。鼠标左键单击主菜单Project一 >New Project。弹出。Create New Project”对话框, 用鼠标选择你要保存工程的文件夹(如FAexam), 输入新工程名(如。exam”).单击。保存”按键。 ②在随后弹出的CPU型号设置对话框中选择 单片机的型号(如。AT89C51”),单击“确定”完 成。
电孑舅作 51
介绍利用Keil的软件仿真功能来实现51单片机串口调试用户程序的方法

介绍利用Keil的软件仿真功能来实现51单片机串口调试用户程序的方法在单片机系统中,串口(UART,通用异步收发接口)是一个非常重要的组成部分。
通常使用单片机串口通过RS232/RS485电平转换芯片与上位机连接,以进行上位机与下位机的数据交换、参数设置、组成网络以及各种外部设备的连接等。
RS232/RS485串行接口总线具有成本低、简单可靠、容易使用等特点,加上其历史悠久,所以目前应用仍然非常广泛;特别对于数据量不是很大的场合,串口通信仍然是很好的选择,有着广阔的使用前景。
在单片机编程中,串口占了很重要的地位。
传统方式串口程序的调试,往往是利用专用的单片机硬件仿真器。
在编写好程序后,利用仿真器来设置断点,观察变量和程序的流程,逐步对程序进行调试,修正错误。
使用硬件仿真器的确是很有效的方法,但是也有一些缺点:很多仿真器不能做到完全硬件仿真,因而会造成仿真时正常,而实际运行时出现错误的情况;也有仿真不能通过,但是实际运行正常的情况。
对于一些较新的芯片或者是表面贴装的芯片,要么没有合适的仿真器或仿真头;要么就是硬件仿真器非常昂贵,且不容易买到。
有时由于设备内部结构空间的限制,仿真头不方便接入。
有的仿真器属于简单的在线仿真型,仿真时有很多限制。
例如速度不高,实时性或稳定性不好,对断点有限制等,造成仿真起来不太方便。
1、调试前的准备工作下面介绍一种利用Keil的软件仿真功能来实现51单片机串口调试用户程序的方法。
使用这种方法,无需任何硬件仿真器,甚至都不需要用户电路板。
所需的只是:①硬件。
1台普通计算机(需要带有2个标准串口)和1根串口线(两头都是母头,连线关系如图1所示)。
②串口软件可以是自己编写的专用调试或上下位机通信软件,也可以是通用的串口软件(如串口助手、串口调试等),主要用来收发数据。
如果没有合适的串口调试软件,则可使。
用keil来开发51单片机的基本流程

用keil来开发51单片机的基本流程下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!当使用Keil来开发51单片机时,基本的开发流程可以分为以下几个步骤:1. 环境准备。
keil教程

keil教程Keil是一款嵌入式开发环境,广泛应用于各种微控制器和单片机的软件开发中。
本教程将介绍Keil的基本使用方法,包括项目创建、代码编辑、编译和调试等。
项目创建:1. 打开Keil软件,点击“File”菜单,选择“New Project”创建一个新项目。
2. 在弹出的对话框中,选择目标设备型号,并为项目命名,然后点击“Save”按钮。
3. 选择项目存储路径,并点击“OK”按钮。
4. 在弹出的对话框中,选择需要包含的源文件和头文件,然后点击“Add”按钮。
5. 点击“Options”菜单,可以对项目进行各种配置,如选择编译器、优化选项等。
代码编辑:1. 在Keil的工作区中,双击打开需要编辑的源文件。
2. 在源文件中输入和编辑代码。
可以使用Keil提供的代码自动补全、语法提示等功能来提高编码效率。
3. 保存代码文件,可以使用快捷键“Ctrl+S”或点击工具栏上的“Save”按钮。
编译:1. 点击“Project”菜单,选择“Build Target”进行项目编译。
也可以直接点击工具栏上的“Build”按钮。
2. Keil会自动检查代码错误和警告,并生成目标文件和可执行文件。
调试:1. 连接目标设备到计算机上。
2. 点击“Debug”菜单,选择“Start/Stop Debug Session”进入调试模式。
3. 在调试模式下,可以设置断点、监视变量、单步执行等操作来调试程序。
4. 调试完成后,点击“Debug”菜单,选择“Stop Debug Session”停止调试。
本教程介绍了Keil的基本使用方法,包括项目创建、代码编辑、编译和调试等。
通过学习和掌握这些基本操作,您可以更好地利用Keil进行嵌入式软件开发。
Keil软件及其调试功能简介.

Keil软件及其调试功能简介目前流行的51系列单片机开发软件是德国Keil公司推出的Keil C51软件,它是一个基于32位Windows环境的应用程序,支持C语言和汇编语言编程,其6.0以上的版本将编译和仿真软件统一为μVision(通常称为μV2)。
Keil提供包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,由以下几部分组成:μVision IDE集成开发环境(包括工程管理器①、源程序编辑器②、程序调试器③,见图2)、C51编译器、A51汇编器、LIB51库管理器、BL51连接/定位器、OH51目标文件生成器以及Monitor-51、RTX51实时操作系统。
应用Keil进行软件仿真开发的主要步骤为:编写源程序并保存—建立工程并添加源文件—设置工程—编译/汇编、连接,产生目标文件—程序调试。
Keil使用“工程”(Project)的概念,对工程(而不能对单一的源程序)进行编译/汇编、连接等操作。
工程的建立、设置、编译/汇编及连接产生目标文件的方法非常易于掌握。
首先选择菜单File-New…,在源程序编辑器中输入汇编语言或C语言源程序(或选择File-O pen…,直接打开已用其它编辑器编辑好的源程序文档)并保存,注意保存时必须在文件名后加上扩展名.asm(.a51)或.c;然后选择菜单Project-New Project…,建立新工程并保存(保存时无需加扩展名,也可加上扩展名.uv2);工程保存后会立即弹出一个设备选择对话框,选择CPU后点确定返回主界面。
这时工程管理窗口的文件页(Files)会出现“Target1”,将其前面+号展开,接着选择Source Group1,右击鼠标弹出快捷菜单,选择“Add File to Group ‘Source Group1’”,出现一个对话框,要求寻找并加入源文件(在加入一个源文件后,该对话框不会消失,而是等待继续加入其它文件)。
用KEIL-uvsion-3软件调试程序的流程和方法

用KEIL uvsion 3软件调试程序的流程和方法(1)用汇编语言或C语言创建源程序使用菜单“File->New”或点击工具栏的新建文件按扭,即可在项目窗口的右侧打开一个新的文本编辑窗口。
编辑完文件后,保存该文件,注意必须加上扩展名(汇编语言源程序一般用asm或a51为扩展名)。
(2)创建一个项目,从器件库中选择目标器件,配置工具设置点击“Project->New Project…”菜单,出现一个对话框,要求给将要建立的工程起一个名字(默认保存类型为uv3/uv2)下一步,选择目标CPU(即你所用芯片的型号),(先选择生产该CPU的公司,然后点“+”,从下拉列表中即可看到具体的CPU),然后点击“确定”按钮回到主界面。
此时在工程窗口的文件页中,出现了“Target 1”,前面有“+”号,点击“+”号展开,可以看到下一层的“Source Group1”,这时的工程是一个空的工程。
(3)向项目中添加源文件。
右击界面左边项目窗口中的“Source Group1”,选择“Add file to Group” Source Group1“,出现” Add file to Group” Source Group1“对话框。
在对话框下面的”文件类型“改为”*.*“,找到需加入的.asm文件,双击该文件名,即可把该文件加入项目。
(4)设置工程项目点击左边Project窗口中的Target1,然后使用菜单”Project->Options for target “target1”“即出现对工程设置的对话框。
共八个页面,大多数取默认值即可。
选几个比较重要的做下说明:Target页Xtal:晶振频率值,默认值是所选目标CPU的最高可用频率值,该数值与最终产生的目标代码无关,仅用于软件模拟调试时显示程序执行时间。
正确设置该数值可使用显示时间与实际所使用时间一致,一般将其设置成与你的硬件所用晶振频率相同。
keil5单片机编程步骤

keil5单片机编程步骤Keil uVision 5是一款广泛使用的单片机集成开发环境(IDE),用于编写、调试和下载嵌入式系统的程序。
下面是使用Keil uVision 5进行单片机编程的基本步骤:1. 创建新项目,打开Keil uVision 5,选择“Project”菜单,然后点击“New uVision Project”。
在弹出的对话框中选择单片机型号,然后指定项目的保存位置和名称。
2. 添加源文件,在新建的项目中,右键点击“Source Group 1”(或者其他命名的源文件组),选择“Add New Item to Group‘Source Group 1’”,然后添加你的C或者汇编源文件。
3. 编写代码,在Keil中打开你的源文件,编写你的单片机程序。
4. 配置目标选项,选择“Project”菜单中的“Options for Target”,在弹出的对话框中配置单片机的时钟频率、芯片器件选项等。
5. 编译项目,点击工具栏上的“Build”按钮或者选择“Project”菜单中的“Build Target”来编译你的项目。
6. 调试程序,连接你的单片机开发板到计算机上,然后选择“Debug”菜单中的“Start/Stop Debug Session”来启动调试会话。
在调试会话中,你可以设置断点、单步执行代码、查看寄存器和内存等。
7. 下载程序,在调试会话中,你可以使用“Flash Download”或者“Download”按钮将编译后的程序下载到单片机中。
8. 调试和优化,在程序下载到单片机后,你可以继续调试和优化程序,直到达到预期的功能和性能。
以上是使用Keil uVision 5进行单片机编程的基本步骤。
当然,在实际应用中可能会涉及更多的细节和技巧,但这些步骤可以帮助你开始进行单片机编程。
祝你编程顺利!。
proteus和keil软件调试方法

关于proteus和keil软件的使用和调试方法
软件调试步骤:(这里我用P0口做为例)
编写好程序后,菜单Project –Options for Target ‘target 1’, 打开Target选项对话框,将Creat HEX Fi前面的口勾上点确定
全部编译没有错误和警告,那么软件的编写就完成了,并且生成了十六进制HEX单片机可用文件。
2、下面我们运行Proteus软件,单击左边元件窗口的大写字母P,打开元件库选择单片机80C51、电阻、发光二级管
选好元件后就开始画电路图了,因为在Proteus 里面已经把单片机的最小系统内置了,所以不需要画晶振、复位、电源和接地线了,只要画外围功能电路:
击OK
单击左下角的Play键就能运行了,现在就大功告成了。
2023年单片机实验报告keil软件的使用

实验一:Keil软件的使用
一、实验目的
1、学习keil C软件的使用和调试。
2、掌握支持keil C环境下的C。
3、掌握应用KEIL软件编辑、编译源程序的操作方法。
4、学会将程序烧录到单片机板上。
5、学习P1口的使用方法。
二、实验环境
keil和STC89C52实验板
三、实验环节
1、打开keil C环境,新建工程
2、环境设立
4、新建文献
然后将文献saveas为.c文献
5、添加文献
然后再编辑区写相应所需执行功能的代码
6、编译链接
四、硬件实验准备
STC89C52实验板
在网上下载好stc-isp-15xx-v6.85p安装包安装,然后买好STC89C52实验板。
将实验板与电
脑通过usb串口进行连接。
(注意:若出现串口打开失败,则需要安装串口驱动程序。
)。
使用keil进行stm32单片机开发的流程

使用Keil进行STM32单片机开发的流程一、准备工作1. 选择合适的STM32开发板在进行STM32单片机开发之前,首先需要选择一块合适的开发板。
根据项目需求以及个人偏好,可以选择不同性能和功能的STM32开发板,例如STM32F1、STM32F4等系列。
2. 安装Keil软件Keil是一款专业的嵌入式开发工具,提供了丰富的开发功能和工具链。
在进行STM32单片机开发时,需要下载并安装Keil软件,并且根据所选择的STM32系列,安装相应的芯片支持包。
3. 准备连接线和外设在进行开发之前,还需要准备好USB连接线、串口线、电源线等,并根据具体的开发需求准备各类外设模块或传感器。
二、新建工程1. 打开Keil软件安装完成Keil软件后,打开软件并选择“Project”菜单下的“New uVision Project”,在弹出的对话框中选择保存的路径和工程名。
2. 添加源文件和头文件在新建的工程中,右键点击“Target”文件夹,选择“Manage Project Items”,在弹出的对话框中点击“Add Existing Files to Group”,将需要的源文件和头文件添加到工程中。
3. 配置目标芯片在新建工程中,找到“Target”文件夹下的“Options for Target”的菜单,选择“Device”选项卡,选择所使用的目标芯片型号,点击“OK”保存配置。
三、编写代码1. 新建C文件在新建的工程中,右键点击“Source”文件夹,选择“Add new item to Group 'Source'”,在弹出的对话框中选择类型为C文件,并输入文件名。
2. 编写程序在新建的C文件中,编写STM32单片机的程序代码,使用C语言对各种外设进行操作和控制,实现所需的功能。
3. 调试程序在编写程序完成后,可以连接STM32开发板,并使用Keil软件提供的调试功能,对程序进行单步调试、断点调试等,确保程序能够正确运行。
Keil4调试大全

KEIL程序调试:KEIL程序调试:程序编译没有错误之后,就可以进行调试与仿真。
单击开始/停止调试的快捷按钮(或者在主界面单击Debug)菜单中的“Start/Stop Debug Session”(开始停止调试会话)。
进入程序调试状态,如下图:上图中左边的工程窗口给出了常用的寄存器r0~r7以及a,b,sp,dptr,pc,psw,等特殊功能寄存器的值,这些值会随着程序的执行发生相应的变化。
在上图的存储器窗口的地址栏处输入0000H后回车,则可以查看单片机内程序存储器的内容,单元地址前有”C:”表示程序存储器。
如果在存储器窗口的地址栏处输入D:00H后回车,则可以查看单片机内数据存储器的内容,单元地址前有“D:”表示数据存储器。
在程序调试状态下,可运用快捷图标进行单步,跟踪,断点,全速运行等方式的调试,也可以观察单片机资源的状态,例如程序存储器,数据存储器,特殊功能寄存器,变量寄存器以及IO端口的状态。
在查看IO口值时,建议每一次仿真过以后要重新点击仿真d从左到右:命令窗口(command window)汇编窗口(disassembly window)控制特殊功能寄存器显示窗口(Symble window)寄存器窗口(工程窗口那块)(register window)堆栈调用窗口(Call stack)监视窗口(watch window)子窗口是locals watch1 watc2存储器窗口(memory window)串行口调试窗口(serial window)分析窗口(包含逻辑分析仪,性能分析仪)后面几个比较少用到在主菜单栏:peripherals可以查看定时器,和IO口的数值,中断,串行通信从左到右:查找(find out)第二个不知道开始停止调试后面几个带圈的都和断点相关和工程窗口相关的几个小帮助最后一个是配置,可以修改各个窗口的字体,short cut key等等很实用。
单步什么的就不介绍了,很简单的。
KeiluVision入门2--程序调试入门

keil教程KEIL C51标准C编译器为8051微控制器的软件开发提供了C语言环境,但是界面是英文的好多初学者看很多教程都是一头雾水,这个相对简单的教程。
KEIL C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品,其效率已经达到了相当搞的程度。
C 51已被完全集成到u Visio n2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。
uVisio n2 IDE可为它们提供单一而灵活的开发环境。
Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和C 语言的程序设计,界面友好,易学易用。
下面介绍Ke il C51软件的使用方法,这应该算一个入门教程,奉献给大家,本人建议结合HZ-C51 豪智单片机学习板实现边学边用进入Keil C51 后,屏幕如下图所示。
几秒钟后出现编辑界启动Keil C51时的屏幕进入Keil C51后的编辑界面简单程序的调试学习程序设计语言、学习某种程序软件,最好的方法是直接操作实践。
下面通过简单的编程、调试,引导大家学习KeilC51软件的基本使用方法和基本的调试技巧。
1)建立一个新工程单击Proj ect菜单,在弹出的下拉菜单中选中New Projec t选项2)然后选择你要保存的路径,输入工程文件的名字,比如保存到C51目录里,工程文件的名字为C51如下图所示,然后点击保存.3)这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,ke il c51几乎支持所有的51核的单片机,我这里还是以大家用的比较多的At mel 的89C51来说明,如下图所示,选择89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定.4)完成上一步骤后,屏幕如下图所示到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。
keil使用方法

keil使用方法
Keil是一款非常优秀的嵌入式开发工具,它主要用于嵌入式系统的开发。
使用Keil可以帮助开发者高效地完成单片机程序的编写工作。
下面我们来介绍Keil的使用方法。
第一步,安装Keil。
在官网上下载Keil的安装包,安装过程中
需要输入注册码,如果没有可以免费申请一个30天试用的注册码。
安
装完成后,打开Keil软件。
第二步,建立新工程。
在Keil软件的主界面上选择"Project"-"New µVision Project",输入工程名和保存路径,确定完成。
第三步,选择单片机及对应的芯片型号。
在Keil软件的"Device"选项中,选择对应的芯片型号。
第四步,编写程序。
在Keil软件的编辑器中编写程序,如果有
需要可以添加C语言标准库及其他的库文件。
第五步,生成可执行文件。
在Keil软件的菜单栏中选择"Project"-"Build Target",生成可执行文件。
第六步,下载程序。
将生成的可执行文件下载到目标设备中,通
过Keil软件的菜单栏中的"Flash"选项进行下载。
总的来说,Keil是一款非常强大的嵌入式开发工具,可以方便地进行单片机程序的编写和调试,开发人员可以通过上述步骤完成Keil
的使用,提高嵌入式开发的效率。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
先说一个概念:调试,在企业程序设计里(我把企业商务类型的软件开发叫企业程序设计,把单片机与驱动程序这样接触底层汇编与硬件相关的程序设计叫底层程序设计),调试一般都用来跟踪变量的赋值过程,以及查看内存堆栈的内容,查看这些内容的目的在于观察变量的赋值过程与赋值情况从而达到调试的目的。
由于企业程序的宿主就是开发它的计算机本身,因此企业程序设计比起底层程序设计,特别是单片机的程序设计调试来的更直观,调试也更方便。
单片机的程序设计调试分为两种,一种是使用软件模拟调试,意思就是用开发单片机程序的计算机去模拟单片机的指令执行,并虚拟单片机片内资源,从而实现调试的目的,但是软件调试存在一些问题,如计算机本身是多任务系统,划分执行时间片是由操作系统本身完成的,无法得到控制,这样就无法时时的模拟单片机的执行时序,也就是说,不可能像真正的单片机运行环境那样执行的指令在同样一个时间能完成(往往要完成的比单片机慢)。
为了解决软件调试的问题,第二种是硬件调试,硬件调试其实也需要计算机软件的配合,大致过程是这样的:计算机软件把编译好的程序通过串行口、并行口或者USB口传输到硬件调试设备中(这个设备叫仿真器),仿真器仿真全部的单片机资源(所有的单片机接口,并且有真实的引脚输出),仿真器可以接入实际的电路中,然后与单片机一样执行。
同时,仿真器也会返回单片机内部内存与时序等情况给计算机的辅助软件,这样就可以在软件里看到真实的执行情况。
不仅如此,还可以通过计算机断的软件实现单步、全速、运行到光标的常规调试手段。
图1:仿真器
总结一下两者的不同与相同:
相同点:
1:都可以检测单片机执行时序下的片内资源情况(如R0-R7 、PC计数器等)
2:可以实现断点、全速、单步、运行到光标等常规调试手段。
不同:
1:软件调试无法实现直接连接硬件电路的调试,只能通过软件窗口虚拟硬件端口的电
平输出情况而仿真器可以实现与单片机一样的功能的硬件连接,从某种意义上说这个
时候仿真器就是一个单片机。
2:软件调试执行单片机指令的时间无法与真实的单片机执行时间画上等号,也就是说
如果一个程序在单片机中要执行300us,可能在计算机中执行的时间可能会比这个长很
多,而且无法预料。
仿真器则是完全与单片机相同。
3:软件调试只能是一种初步的,小型工程的调试,比如一个只有几百上千行的代码的
程序,软件调试能很好的完成,如果是一个协调系统,可能还需要借助几个单片机仿
真器和相关的仪器才能解决。
4:软件仿真不需要额外花钱,而硬件需要,一个仿真器一般都上千元,同时可以仿真
许多种单片机的工作。
最后,调试一般都是在发生错误与意外的情况下使用的,如果程序能正常执行调试很多时候是用不上的,所以最高效率的程序开发还是程序员自己做好规范,而不是指望调试来解决问题。
下面将具体介绍如何使用Keil uVision 来软件调试单片机程序。
首先:打开一个已经编译通过的单片机项目(如何新建与编译单片机程序项目这里省略)
选择Debug下面的Start/Stop Debug Session,这个选项可以打开调试也可以关闭调试
接下来看到的窗口就是调试窗口了:
下面具体说说相关子窗口的功能:
1:左侧的ProjectWorkspace
Regs是片内内存的相关情况值,Sys是系统一些累加器、计数器等。
Regs很简单就不多说。
具体介绍一下Sys
a 累加器ACC,往往在运算前暂存一个操作数(如被加数),而运算后又保存其结果(如代数和)。
b 寄存器B ,主要用于乘法和除法操作
sp
sp_max
dptr 数据指针DPTR
PC $
states 执行指令的数量
sec 执行指令的时间累计(单位秒)
psw 程序状态标志寄存器PSW,八位寄存器,用来存放运算结果的一些特征,如有无进位、借位等。
p 奇偶标志P。
反映累加器ACC内容的奇偶性,如果ACC中的运算结果有偶数个1(如11001100B,其中有4个1),则P为0,否则,P=1。
f1
ov 溢出标志位OV。
MCS-51反映带符号数的运算结果是否有溢出,有溢出时,此位为1,否则为0。
rs
f0
ac 辅助进位标志AC。
又称半进位标志,它反映了两个八位数运算低四位是否有半进位,即低四位相加(或减)有否进位(或借位),如有则AC为1状态,否则为0。
cy 进位标志CY(PSW 7)。
它表示了运算是否有进位(或借位)。
如果操作结果在最高位有进位(加法)或者借位(减法),则该位为1,否则为0
由于PSW存放程序执行中的状态,故又叫程序状态字?运算器中还有一个按位(bit)进行逻辑运算的逻辑处理机(又称布尔处理机)
根据指令执行的不同上述值会有相应的变化,也正是为了监测这些在单片机中看不到的值而达到调试的目的。
虽然软件调试无法实现硬件调试那样的信号输出,但是可以通过软件窗口的模拟监测输出信号的高低电平以及单片机相关端口的变化。
上图所示,Port0,Port1,Port2,Port3就对应于单片机的四个P0,P1,P2,P3 口,共32个针脚。
这是全部打开后的效果。
有了输出,就应该有输入的设置:
这个按钮可以打开输入预设窗口,输入值窗口如下:
选择不同的Int Source 会有不同的Selected Interrupt的变化,通过选择与赋值达到模拟输入的目的。
接下来是串口的设置:
这是设置串口的窗口
监测窗口数据还有一个窗口:
点击:将会出现,这个窗口可以监测从串口输出的ASCII代码。
关于串口的问题,以后我会有专门的文章介绍,这里就这样大致介绍一下。
最下面还有一个定时器的设置:
3个定时器与一个看门狗,设置定时器的数量与工程选择的单片机种类有关系,如果是8051就只有2个定时器,如果是选择8052 就有3个定时器了。
定时器的设置很简单:
参考的数很多,这里暂时省略了,以后以专门的篇幅介绍。
下面再介绍一下一些常用的调试按钮:
就是Reset ,相当于单片机最简系统的复位按钮,按下后,所有的系统状态将变成初始状态
这是全速运行,相当于单片机的通电执行。
这个就是停止全速运行的按钮。
step into 逐语句;进入并单步执行;单步执行
step over 逐过程
step out 跳出
执行到断点处
可以在代码所在窗口的最左边右击按钮插入一个断点,如下图所示:
有了这个功能,你就可以控制监控要执行到某位置时系统的状态。
最后在介绍一下一个很实用的功能:
这个是Disassembly Windows,按下后可以把C51 Disassembly 为相应的汇编语言,如果你有相应的汇编知识的话就可以对比C51 与汇编的对比了。
由于汇编的效率高很多,这也可以作为查看C51执行效率的一个方法。
上图中就可以看出,C51 代码是如何被解释为汇编的。
其实调试还有很多的功能,我这里只是介绍了一小部分,希望能起到抛砖引玉的作用,更多的细节需要你自己去发掘与学习。