OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6511|回复: 11

51单片机代码移植问题

[复制链接]

8

主题

37

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
321
金钱
321
注册时间
2017-2-19
在线时间
33 小时
发表于 2017-3-7 18:25:11 | 显示全部楼层 |阅读模式
1金钱

STC89C52单片机的代码移植到STC15Fxx上需要注意什么 是不是都可以使用reg51.h这个库文件
在keil用STC89C52芯片生成的  .hex文件是不是可以直接下的到STC15fxx芯片上
并且还能正常运行

最佳答案

查看完整内容[请看2#楼]

(1)STC89C52单片机的代码移植到STC15Fxx上需要注意什么? 单片机引脚排列位置有差异 下面是STC15的最小系统(包括程序下载电路) (2) 是不是都可以使用reg51.h这个库文件 ? 如果保持原STC89的功能不作增加,可以保持程序代码不变,包括 reg51.h也不变。如果使用STC15新的增强功能,需要更换为STC15的头文件,它其实是在 reg51.h增加了一些寄存器定义语句。 (3)在keil用STC89C52芯片生成的 .hex文 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

30

主题

188

帖子

0

精华

高级会员

Rank: 4

积分
594
金钱
594
注册时间
2014-4-3
在线时间
74 小时
发表于 2017-3-7 18:25:12 | 显示全部楼层
(1)STC89C52单片机的代码移植到STC15Fxx上需要注意什么?
单片机引脚排列位置有差异


未命名2.JPG


下面是STC15的最小系统(包括程序下载电路)
未命名3.JPG


(2) 是不是都可以使用reg51.h这个库文件 ?
如果保持原STC89的功能不作增加,可以保持程序代码不变,包括 reg51.h也不变。如果使用STC15新的增强功能,需要更换为STC15的头文件,它其实是在 reg51.h增加了一些寄存器定义语句。


(3)在keil用STC89C52芯片生成的  .hex文件是不是可以直接下的到STC15fxx芯片上?
完全可以。
(4)并且还能正常运行?
如果程序中不涉及严格的延时程序是能正常运行的,由于STC15速度比STC89大约快12倍,有延时要求的程序就得适当加长延时。


更多内容请阅读《51单片机轻松入门 基于STC15W4K系列》,这本书对STC15讲解非常详细透彻。




回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165369
金钱
165369
注册时间
2010-12-1
在线时间
2110 小时
发表于 2017-3-7 20:53:46 | 显示全部楼层
帮顶
回复

使用道具 举报

5

主题

168

帖子

0

精华

高级会员

Rank: 4

积分
780
金钱
780
注册时间
2016-5-28
在线时间
64 小时
发表于 2017-3-7 21:31:04 | 显示全部楼层
两种单片机的引脚不一样,
回复

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6662
金钱
6662
注册时间
2016-5-29
在线时间
910 小时
发表于 2017-3-7 22:09:30 | 显示全部楼层
应该不可以直接运行.
回复

使用道具 举报

37

主题

204

帖子

0

精华

高级会员

Rank: 4

积分
717
金钱
717
注册时间
2016-6-10
在线时间
191 小时
发表于 2017-3-8 11:11:03 | 显示全部楼层
注意引脚定义,其实STC15是兼容STC51的
回复

使用道具 举报

hjh 该用户已被删除
发表于 2017-3-9 11:26:44 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

1

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2017-3-7
在线时间
13 小时
发表于 2017-3-13 14:12:28 | 显示全部楼层
应该不可以直接下的,管脚定义可能不一样,有些管脚不一定封装出来的!
回复

使用道具 举报

8

主题

37

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
321
金钱
321
注册时间
2017-2-19
在线时间
33 小时
 楼主| 发表于 2017-3-20 08:45:02 | 显示全部楼层
周亚龙 发表于 2017-3-8 11:11
注意引脚定义,其实STC15是兼容STC51的

哥 还是你说的对 stc从89到15 无非是多了些寄存器 速度快一些而已
回复

使用道具 举报

30

主题

150

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
208
金钱
208
注册时间
2017-5-19
在线时间
149 小时
发表于 2017-5-19 14:22:24 | 显示全部楼层
肯定要换头文件,单片机不一样了,引脚定义也不一样,有的寄存器还不一样,比如定时器T2H  T2L  就不同之前的定义
回复

使用道具 举报

8

主题

37

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
321
金钱
321
注册时间
2017-2-19
在线时间
33 小时
 楼主| 发表于 2017-6-11 16:06:26 | 显示全部楼层
如果是STC15F系列的芯片就不必换头文件,就是#include<reg52.h>,哥都成功移植的ds18b20的测温程序,唯一要注意的就是延时,因为他们的执行代码的速度不一样。
并且STC15F系列的芯片不需要外接晶振,利用下载器就可以直接去设置它内部的自带的RC振荡器来为单片机系统提供机器时钟
回复

使用道具 举报

22

主题

99

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
387
金钱
387
注册时间
2017-6-17
在线时间
29 小时
发表于 2017-6-21 12:26:19 | 显示全部楼层
是换过,不清楚
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-1 14:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表