当前位置:首页 » 编程软件 » 单片机程序编译

单片机程序编译

发布时间: 2022-06-21 15:26:36

Ⅰ 如何去编译一个单片机的程序

学习单片机需要硬件动手实验。看一看我给你的视频。
个人感觉这个文章很好,很适合初学者,其中教你一步一步写程序:http://www.cdle.net/web/wzadmin/download2.asp?autoid=59

推荐一个学习的单片机板子,不枯燥,配有USB下载器,修改程序很方便,功能很多。还可以做机器人小车:
产品地址:

http://item.taobao.com/auction/item_detail-0db1-.htm
视频地址:
http://www.tudou.com/programs/view/tyqjYSbMTaw/

Ⅱ 往51单片机里写程序,用C语言写,写好后用什么软件编译并且写进去

用keil软件写程序,编辑、编译、运行。程序没有问题后,用STC_ISP_V479下载程序

Ⅲ 单片机程序编写

1、首先是打开keil软件,打开后显示的界面如下

2、如下第一张图所示点击project-》new project,点击后将会出现如下第二张图所示界面;在文件框中填写你的工程名,名字可以是任意英文字符组成的(在此时你最好在你所希望存储该工程的地方新建一文件夹,如第二张图所示就是在桌面上建立了一个测试文件夹来存储新建的工程)

3、输入工程名后会出现如下图所示的芯片选择对话框,选择你开发板上的型号即可(相信要看这张帖子的读者一定是在学51单片机,此时只需选择

Atmel-》AT89c52即可。如下第二张图所示)

4、一路点击确认后回到如下图所示的主界面,并如下图所示点击新建程序输入文本

5、点击后出现如下第一张图所示界面,并点击保存按钮

6、点击保存按钮后出现下第一张图所示对话框,在箭头所指的地方输入源文件名称加后缀名(如果你是用C语言编写程序后缀名为*.c;如果你是用汇编语言编写程序则后缀名为*.asm)并点击确认保存。确认后界面如下第二张图所示,注意箭头所指地方的变化。

7、接下来的一步是将源文件加入到工程中,点击选中source group并右击将会出现如下图所示界面。

8、再点击Add files to.。。。。。。;如下第一张图箭头所示处。点击后将会出现第二张图所示的对话框,在该对话框中只要点击选中第五歩保存的源文件并点击Add即可(注意点击选中源文件前后的变化,并且特别注意点击Add后界面没有任何变化,你只要关闭该对话框即可)

9、打开source group后将会出现如下图箭头所指处的变化

10、在右边的源文件输入框中写入程序,并点击如图所示的编译按钮(可以看到该程序没有错误,编译成功)

11、但我们点击进入工程的文件夹没有看到后缀名为.hex文件,如下图所示

12、所以我们需点击target按钮进行设置,如下第一张图所示。点击后出现第二张图所示对话框

13、在对话框中点击output选项如下图1处显示,并勾选create hex file如下图2处显示。勾选后关闭对话框并如第10步再编译一次。可以看到文件夹中生成了.hex文件

Ⅳ 单片机的程序编译

这位同学也是刚学单片机的C语言吧,的说的很对,其实单片机的C和标准C检查变量什么,还有名字不要冲突,然后将其结合在一起,把不必要的子程序

Ⅳ 有关单片机编译器的问题

51、AVR、PIC、ARM、MSP430、SPCA61等单片机,因为它们的CPU构架不同,所以所使用的机器语言的定义就不同了,也就是对应于使用的汇编语言的不同。在使用C语言设计程序时,对于不同的单片机,其C源码可能都相同,但通过不同的编译器,生成的机器代码会是天壤之别,例如对于一个查找数组中最大值和最小值的C程序,8MHz的AVR单片机执行效果相当于200MHz的89C51!并且二者机器代码的长度都不相同。

使用C编写程序是为了考虑兼容性和可移植性的问题,对于不同的单片机,因为构架的不同,就需要对应的编译器去解释C代码,使之能正确的控制单片机运行。

Ⅵ 一段单片机的汇编程序的编译

ORG 0000H
START: clr p2.0
CLR P2.7
SETB P2.6
lp1: MOV 34H, #20 ;置浇水时长20秒
MOV 35H, #24 ;置定时时长24小时
MOV R1, 35H
MOV R2, #60 ;延时一小时初值
MOV R3, #120 ;延时一分初值
LCALL YANSHI
MOV 36H, R1 ;显示定时时长
LCALL XIANSHI
lp2: JNB P3.2, TDSC ;定时初值减一?
lp3: JNB P3.3, TJSC ;浇水初值减一?
AJMP LP5
tdsc:DJNZ 35H, TDSC1 ;定时初值减一
lp4:MOV 35H, #24
MOV 36H, 35H ;定时初值闪动2次
tdsc1:MOV R0, #2
ssc: LCALL XIANSHI
LCALL YANSHI
lp5: MOV P1, #0FFH
MOV P0, #0FFH
LCALL YANSHI
DJNZ R0, SSC
AJMP LP1
tjsc: DJNZ 34H, TJSC1 ;浇水初值减一
MOV 34H, #60
MOV 36H, 34H ;浇水初值闪动1次
tjsc1:MOV R0, #1
AJMP SSC
DJNZ R3, LP4
DJNZ R2, LP3
DJNZ R1, LP2 ;定时时间到?
lp6: SETB P2.0 ;P2.0 输出高电平
MOV R4, 34H ;浇水延时
MOV 36H, R4
LCALL XIANSHI
LCALL YANSHI
LCALL YANSHI
DJNZ R4, LP6
CLR P2.0;P2.0为低电平,返回
AJMP LP1

xianshi: MOV B, #10 ;显示子程序
MOV A, 36H ;显示值转换为BCD码
DIV AB
SWAP A
ORL A, B ;取高4位
MOV 37H, A
ANL A, #0FH
ADD A, #0DH
MOVC A, @A+PC ;取段码
MOV P0, A
MOV A, 37H
ANL A, #0F0H ;取低4位
SWAP A
ADD A, #03H
MOVC A, @A+PC ;取段码
MOV P1, A
RET
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H
DB 0F8H,80H,90H

YANSHI:MOV r5,#5 ;延时半秒子程序
l1: MOV R6, #200
l2: MOV R7, #250
l3: DJNZ R7, L3
DJNZ R6, L2
DJNZ R5, L1
CPL P2.6
CPL P2.7
RET
这样就能编过了,不过程序跳得对不对我就不知道了,那要看你这个系统的时序,告诉我要求,帮你跳好

Ⅶ 51单片机程序编译出现‘Argument':conversion:pointer to non-pointer

是指针转换错误吧,你传递的是汉字,要看LCD的驱动Write_lcd()是否支持处理汉字,一般LCD厂家提供的处理汉字和字符的驱动函数不一样
Write_lcd(0,1,"液"); 传递给函数的是字符串的指针,但是函数原型Write_lcd(unsigned int x,unsigned int y,unsigned int word)定义的word是int 类型,也就是说Write_lcd()不支持指针和汉字。

Ⅷ 我的单片机C语言程序哪里为什么编译不了

提示已经很明确了,编译器认为第21行有错。
这款编译器采用的C标准并不是最新的,不支持变量的即时声明。所以你需要把20行和21行换一下,确保所有变量都声明之后,再开始书写执行代码。

Ⅸ 单片机在线调试的时候可以进行程序编译吗

必须先编译,才能进行在线调试,调试过程中是不能同时编译的。

Ⅹ 单片机程序是用哪种语言编译的

你要看是哪种呀,我们一般的支持C和汇编,一般我们常见是都是这种。有少数的几个支持C++。
你想知道多一点的话,找几个论坛看看。
目前用于单片机开发的语言有:C,汇编,Basic,其他很少。
作为低级语言,汇编毫无疑问是最适合开发硬件的语言,因为利用生产单片机的厂家提供的指令系统和开发工具能开发出性能最佳的产品。
但是用汇编语言有个前提,你必须是非常熟悉指令系统,但目前来看达到这个程度的人少之又少,所以,一般人都直接采用高级语言开发单片机,这样可以降低开发难度,减少软件失误造成的损失。
C语言移植性非常好,基本上所有单片机都有C语言接口,而一般人只要有C语言基础就能很快上手,开发效率明显高于用汇编语言。所以,如果你是初学者,建议你打好C语言基础。
C++是C的超集,在一定环境下可以代替C语言。由于采用面向对象的设计方法,程序员可以集中精力于单片机的性能而不是单片机的指令流程。这里不是说C语言不如C++,而是说这两种语言不是对立的关系,而是递进的关系。你如果有过开发单片机系统的经验的话,会有很深的感触的。据我所知,AVR单片机的开发环境WINAVR支持C++语言。其他好像有Basic开发的,不过我没用过,不太了解。

热点内容
鼠标如何编程 发布:2025-05-16 02:29:09 浏览:815
安卓70能用什么软件 发布:2025-05-16 01:45:09 浏览:480
编程发展史 发布:2025-05-16 01:38:52 浏览:528
android图片气泡 发布:2025-05-16 01:38:40 浏览:886
文件加密编辑器下载 发布:2025-05-16 01:30:41 浏览:343
linuxapacheyum安装 发布:2025-05-16 01:30:31 浏览:476
大连宾利浴池wifi密码是多少 发布:2025-05-16 01:25:36 浏览:172
缓存数据生产服务 发布:2025-05-16 01:08:58 浏览:585
普通电脑服务器图片 发布:2025-05-16 01:04:02 浏览:971
服务器地址和端口如何区分 发布:2025-05-16 01:03:17 浏览:834