单片机是怎么实现程序调用的

单片机是怎么实现程序调用的,第1张

下载程序单片机需要下载软件和下载线。下载软件一般都是ISP的 网上有很多的 使用的下载线是并口的 需要主机上有并口才可以使用。还有串口的下载线,那个ISP的软件一样可以支持串口下载。现在还有USB口的下载方式。但是,其稳定性是依次降低的。USB的是最差的,串口剧中,并口最好。

单片机里如果有程序,那么,当单片机上电复位后,在晶振正常,电压正常的情况下,单片机就会开始工作了。不需要由人启动它。

最后这个问题让我有点无语了。一个单片机里不可能有多段完全独立的程序。单片机里的程序只有主程序和子程序之分。主程序是有且只有一个的。其他子程序都在主程序的调用下共同完成工作。所以,按照你所说的,其实就是几段子程序。比如一个数字钟里面,有显示子程序、按键检测子程序、闹钟子程序、中断计时子程序等。互不相干的子程序都是由主程序调用的。可以是在主程序中编写好执行的顺序,或是通过按键进行控制。按键的控制就是检测相应端口的电平状态,然后根据电平的状态转到相应的子程序。这个不是很难。

学习单片机不是一撮而就的事,需要慢慢来。任何一个高手都是由菜鸟开始的。加油!

单片机可以实现在线调试程序,通过软件设置断点,进行单步调试,这样可以看到单片机是如何一步步执行程序的,从而快速找到问题,解决问题。以Keil和IAR为例介绍一下单片机的在线调试。

1keil

的在线调试功能

以STM32单片机为例,所需要的软件为Keil MDK,仿真工具为J-link,当程序编写完成后,编译通过,通过J-link仿真工具连接电脑和单片机板子,一定要安装好J-link的驱动,在Debug界面选择J-Link,并正确设置Setting界面的下的器件型号,如下图所示。

设置好后,点击工具栏的Debug按钮,就进入在线调试模式了,这时候会出现调试工具栏,如下图所示。

在怀疑有问题的地方设置断点后,运行单步调试,单片机就可以一步步的执行了,在watch窗口可以选择查看单片机的GPIO等寄存器,实时了解各端口和变量的变化情况。

2IAR

的在线调试功能

以STM8单片机为例,以IAR for STM8为例,工具为ST-Link,正确安装好ST-Link的驱动,程序编译通过后,执行Debug and download按钮可以开启在线仿真模式,如下图所示。

在有问题的地方设置断点,执行全速运行后,会在断点处停下,可以执行单步调试功能进入函数,再一步步执行。

这样也可以很容易的找到程序bug。

3使用串口打印进行调试

如果单片机不支持在线仿真功能,可以通过串口打印的形式输出调试信息。首先要把串口打印程序调试通,在有问题的地方通过给变量设置不同的值然后打印,这样也可以很直观的判断程序的运行情况。所需要的工具为USB/TTL。

由于篇幅有限,无法详细描述,大家可以根据以上信息搜具体的教程。

以上就是这个问题的回答,感谢留言、评论、转发。

更多精彩内容请关注本头条号:玩转嵌入式。感谢大家。

学单片机如何编程?非常详细的Keil工程建立全过程讲解

从零学电子

03-07

在单片机的开发或使用过程中除了掌握必要的硬件外,同样离不开软件,只有通过软件(程序)的执行,硬件才能发挥出具体的作用。机器如何认识我们用各种符号编写的程序呢?早期我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,随着单片机开发技术的不断发展,从使用汇编语言逐渐过渡到使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最为流行的开发MCS-51系列单片机软件。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。Keil软件对计算机的硬件资源要求很低,可以说现在市面上的计算机都能满足其硬件需求。

Keil C51

Keil C51是51系列兼容单片机C语言软件开发系统,采用全Windows界面,提供了丰富的库函数和功能强大的集成开发调试工具。生成的目标代码效率非常之高,且生成的汇编代码紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。相信用过汇编语言后再使用C来开发,体会更加深刻,当然如果汇编语言和硬件结构熟练到一定程度,使用汇编语言会更具优势,但对于大部分初学者而言,Keil C51应该是首选。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

Keil uVison4是普通版本,只能适用于单片机,主要是基于8051系列单片机的开发环境;Keil MDK是扩展版本,包含了部分ARM。为基于Cortex-M、Cortex-R4、ARM7、ARM9处理器设备提供了一个完整的开发环境;初学者建议采用Keil uVison4及更低版本,注意:Keil uVison4分Keil MDK-ARM和Keil C51版本,初学者应安装Keil C51版的。

关于Keil软件的安装与常用其它软件安装的方法类似,安装按照说明一步一步 *** 作即可,不再赘述。本文主要详细讲解用Keil uVison4新建一个工程的详细过程,相信通过这个教程的学习,您一定会对使用Keil软件创建一个新的工程有深入的掌握。

第一步:从桌面找到Keil图标,双击图标启动Keil软件,

启动Keil

会看到如图所示界面。

启动后的界面

第二步:点击菜单条中的"Project"并从下拉菜单中选择"New uVision Project…",

新建工程

自动d出一个项目路径选择对话框,(若打开keil软件时,如果发现此软件默认打开了一个之前已经存在的工程,请先关闭此工程。点击上面"Project"选项,在d出的下拉菜单中选择"Close Project"即可。)

选择路径新建文件夹

在d出的对话框中,选择即将创建工程的保存路径和文件夹,若不存在可以用与Window系统一致的方法新建文件夹,如"TEST",并在该文件夹下的对话框文件名处输入自己为工程起的工程名,如下图输入的LCD1602。

输入工程名

第三步:输入文件名点击保存后,d出如图所示控制器选择对话框,

选择单片机类型

在单片机类型列表中找到并选中"Atmel"下的AT89C52(大家根据自己控制器型号选择),右侧区域给出所选单片机的硬件资源,

单片机的硬件资源说明

点击"OK",d出询问是否将标准51系列启动代码添加到新建工程中的d窗,因为keil的库文件里面已经有一个默认的启动代码了,如果你的工程里没有启动代码,keil就会使用库里的默认启动代码,如果有,keil就会编译并使用你的启动代码,库里的启动代码会被忽略。(初学者建议点击"否即可")

选择是否添加启动代码到工程中

第四步:点击"File"菜单下的"New",新建会看到出来一个名字为"Text1"的文件,

新建C文件

再一次点击上面"File"下拉菜单中 "Save"或点击工具栏中的"保存",会d出一个保存的对话框,输入文件名如"LCD1602MAINC"(切记,此处无论你起什么样的文件名,但后面必须输入C!!!),单击"保存",将文件在第二步新建的文件夹目录下。

保存C文件

命名C文件名

此时可以在新建文件中进行代码编写了,如包含头文件 #include <Reg52h>,但要注意,此时文件LCD1602MAINC并未与工程建立起联系。

此时的C文件还未和工程建立联系

第五步:将新建的文件添加到工程中,点击左边"Porject"选项框里面的"Target 1"前面的"+"号, 在展开的下拉菜单下看到"Source Group 1"。右键单击"Source Group 1"选项, 在下拉菜单中选择"Add Files to Group 'Source Group 1'"选项,d出一个文件选择对话框,单击选中刚才新建的c源文件,然后单击一次"Add"按钮,此时虽然对话框没有关闭,但是已经把c源文件添加到工程里了,这时只要再点击一次"Close"按钮即可把此对话框关闭(初学者经常以为c源文件没有被添加进去,还要按"Add"按钮)。这时发现左边的"Source Group 1"前面多了一个"+"号, 单击此"+"号展开, 发现下面出现了刚才我们新添加进去的c源文件"LCD1602MAINc"。

将C文件添加到工程中

选择要添加的文件

已将C文件成功添加到工程中

第六步:为了降低编程的疲劳,根据需要进行字体字号设置,点击如图"Edit"菜单最下面的"Configeruration"选项,

设置舒适的字体字号

根据自己的需要进行字体设置即可,

如何设置字体字号

一个新的Keil工程建立完毕

至此,一个全新的Keil工程建立完毕,开启自己的编程之旅吧!

了解更多

keil4编程是什么意思

编程必背50个程序

烧录程序的使用步骤

keil4怎么设置成中文

如何使用keil5进行编程

st语言编程入门与精通

具体步骤如下:

1、首先,开启我们的keil软件,具体的安装步骤就不做太多的介绍了;

开启后,点击菜单栏上的Project选项,创建我们的工程,如图所示;

2、点击后,d出图中的窗口,在箭头所指的文本框中输入你的芯片型号进行查找,如果没有需要自行将芯片添加到keil软件的库下,如图所示;

3、选中芯片点击Ok即可,在左侧的文本框中,选中图中选项右键选择Add New选项,如图所示;

4、选择c的文件,输入文件名以及文件的存储目录,如图所示;

5、点击OK后,在我们添加的文本框中输入我们的程序代码,如图所示;

6、编写好代码以后,选择菜单栏上的魔法棒选项,如图所示;

7、选择Output选项,将图中箭头所指的选项,选中,点击ok,如图所示;

8、然后点击编译选项,如图所示;

编译完成后,在我们的文件夹下找到hex的文件,将其烧写到我们的芯片中即可。

以上就是关于单片机是怎么实现程序调用的全部的内容,包括:单片机是怎么实现程序调用的、单片机程序怎么在电脑上调试用什么软件好、单片机编程步骤等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9279440.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存