怎么把c语言程序烧进单片机
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么把c语言程序烧进单片机相关的知识,希望对你有一定的参考价值。
1、把C语言编译为编程器支持的语言格式,比如常用的bin,或hex等格式。2、如果是可在线编程的,可以用ISP直接进行烧录。
3、如果不是可在线编程的,将单片机芯片,放入编程器,然后烧录。
注意:编译和烧录时,都要选择和单片机芯片一致的型号,否则会出错。如果找不到对应的型号,说明不支持该型号的单片机。追问
用stc-isp烧录不了?大虾,指点一下,我是新手
追答买的时候一般带有光盘或提供下载资料,用光盘或资料内的安装程序,把程序安装好,连接后会自动识别ISP,然后就可以编译烧录了。
你烧录不了,是什么现象?
现在我要自己弄个最小系统还要带扩展模块,具体的要弄那些东西啊,能不能给我写个最简单的流水灯程序啊?
参考技术A C语言源程序----->C编译器----->汇编代码----->汇编器----->机器代码所谓的单片机C语言的意思是拿C语言来编写单片机程序,没有什么C语言控制单片机这回说法。具体过程是:C语言源程序通过特定的C编译器编译为针对某种单片机的汇编代码,再由汇编器将汇编代码汇编为单片机可执行的机器代码,然后下载到单片机的存储器运行。当前一般的集成开发环境(如Keil C)可以一次搞定生成机器代码。
需要补充一点的是,单片机也是一种计算机,不要以为只有在PC机上才可以用C语言编程,C语言可以用作为任何计算机的编程语言,当然包括单片机,但有一个条件就是,你必需要有针对某种架构的计算机的C编译器。目前来讲,C语言的编译器种类非常多,有用于各种单片机以及微处理器架构的编译器版本,所以可以用C来做为单片机的编程语言。不同的是,你用TC或者VC编译得到的是X86(如Intel,AMD)的目标代码,只能在PC机上运行,而如果用单片机C编译器(比如Keil C)编译的代码是单片机代码,只能在特定的单片机上运行。目前C/C++是最流行的单片机/微处理器编程语言 参考技术B 你用的是AT89S52这类的单片机和AVR单片机的话,那把程序编译后生成的.hex文件通过 PROGISP这个软件烧录进单片机里(ISP下载),关键是在用这个软件时要有驱动,并且要选对好目标芯片追问
需要什么驱动?
追答如果你的ISP下载器是用ATmega8 来做的话,那就需要那个下载器的驱动,一般你买下载器的时候卖家都会配送驱动文件的
参考技术C 用Keil编译成功生成hex文件后 利用下载器连接到单片机下载口 下载进去 参考技术D 烧录机用Keil C51编写单片机程序,怎么看程序多少行
怎么看程序写了多少行? 把程序烧到单片机中,怎么看程序占了多大的ROM? 谢谢
我的Edit 下面没有configuration 怎么办 谢谢你们在帮我看看吧
2.怎么看程序占了多大的内存:程序编译成功后,在编译器界面下方的build窗口中,会给出程序占用的存储大小,比如:Program Size: data=13.0 xdata=0 code=298 ,说明ROM被占用了298字节.也可以查看你工程文件夹下的.map文件,在该文件的最后给出了ROM和RAM的详细使用情况,比如:
=====================================================================
Total RO Size (Code + RO Data) 6320 ( 6.17kB)
Total RW Size (RW Data + ZI Data) 1328 ( 1.30kB)
Total ROM Size (Code + RO Data + RW Data) 6388 ( 6.24kB)
=====================================================================
补充:⊙﹏⊙,你用的那个版本的keil c51,我的keil 3,keil 4在菜单Edit都有configuration...选项.你现在用的至少也得是keil 3吧! 参考技术A 看程序多少行:你用的软件的VIEW里面应该能把行数显示调出来吧,不行的话复制到别的edit软件,看行数就OK了。
看ROM?烧进去之前,你要生成一个.hex 文件吧,应该,看这个.hex文件大小。 参考技术B 拷之前看就OK啊,都拷进去了,要看比较麻烦的
以上是关于怎么把c语言程序烧进单片机的主要内容,如果未能解决你的问题,请参考以下文章
keil51中怎么用C语言编程把处理得到的数据存到数据存储器中,掉电不会消失