找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1676|回复: 11
收起左侧

ds180b20程序从51单片机移植到增强型15系列单片机怎么移植啊

[复制链接]
ID:981582 发表于 2021-12-2 19:35 | 显示全部楼层 |阅读模式
求解,谢谢了。
回复

使用道具 举报

ID:155507 发表于 2021-12-2 20:08 | 显示全部楼层
1T和12T单片机的区别。标准51单片机是12T的

相同的程序在不同时钟周期的单片机下延时是不同的,所以当我们在不同时钟周期的单片机中移植程序的时候要注意软件延时需要修改成适当的程序
回复

使用道具 举报

ID:981582 发表于 2021-12-2 20:34 | 显示全部楼层
angmall 发表于 2021-12-2 20:08
1T和12T单片机的区别。标准51单片机是12T的

相同的程序在不同时钟周期的单片机下延时是不同的,所以当我 ...

感谢啊

回复

使用道具 举报

ID:908826 发表于 2021-12-2 20:40 | 显示全部楼层
软件延时之类的,因为传统的12t,15是1t,运行速度更快了,所以51单片机的延时放在15里面可能会短一些。注意一下并且调整基本就可以了
回复

使用道具 举报

ID:57657 发表于 2021-12-2 20:46 | 显示全部楼层
只有软件延时需要修改,1T比12T的指令周期缩短了很多,定时器初值不要动。
回复

使用道具 举报

ID:155507 发表于 2021-12-3 07:27 | 显示全部楼层
这个不难解决,去研读DS18B20手册,特别是它的读写时序部分。再对比一下,你的程序对它的操作时序,能满足手册上的要求吗?
回复

使用道具 举报

ID:155507 发表于 2021-12-3 09:09 | 显示全部楼层
此ds180b20程序 51程序移植到STC15失败的主要有两个原因:

1.原来的延时函数要重新调整参数。由于具体函数体写法和采用数据类型不同,CPU处理用时也不同,无法给你一个固定的比例关系套用。可以参考STC官方示例。

2.由于1T单片机速度非常快,对端口写操作后要等待至少2个时钟达到稳定后才能读准,否则容易出错。1个 _nop_()  用时3个时钟。
回复

使用道具 举报

ID:624769 发表于 2021-12-3 10:56 | 显示全部楼层
如果你的15系列,指的是STC15xxxxxx 那么,他也是51单片机,不存在移植问题。

你可能会面临的唯一问题,就相当于单片机换了一个频率的晶振所面临的问题。
如果头文件写的好,也就是一句代码的事情。头文件写得不好,可能要一个一个地方的改。
#define MainForse = 22118400L        这句东西应该不陌生吧? 这句是用来应对换晶振可能需要做的修改工作量最小化的。
考虑到可能用在不同系列的单片机,通常会用到:
#define CrystalType = Y3          //Y1: 89S    Y3: 10,11,12S   Y5: 15S    Y6: 8S      
这种定义方式,以此应用到所有延时函数,在改换系列的时候就不会受任何影响了。


回复

使用道具 举报

ID:139866 发表于 2021-12-3 10:59 | 显示全部楼层
用示波器测时序,然后根据手册调整软件延时
回复

使用道具 举报

ID:401564 发表于 2021-12-3 12:50 | 显示全部楼层
18B20就是个延时的问题
如果你是用定时器来作为延时,在STC单片机中,直接就是烧录,除了STC8G要增加设定端口输出模式而已
回复

使用道具 举报

ID:313854 发表于 2021-12-3 14:21 | 显示全部楼层
更改下延时程序就可以了,可以通过示波器测量数据引脚间隔来调整延时大小,因为两个单片机指令周期不同
回复

使用道具 举报

ID:226055 发表于 2021-12-4 10:57 | 显示全部楼层
    你好,我手头有艾克姆的STC15和STC8的源程序,用的就是DS18B20,直接发你改一下IO口就可以用。
    1、DS18B20温度传感器接在STC15W4K56S4板子上的图片。
DS18B20温度传感器 - 串口调试助手显示实验连接图.jpg

    2、
DS18B20温度传感器接在STC8A8K64S4A12板子上的图片。

DS18B20温度传感器模块实验连接图.jpg

    3、一定注意DS18B20单总线用IO口上一定加上拉电阻。
    4、附件为源码,可直接打开KEIL4编译的。




STC8:DS18B20温度传感器 - 串口调试助手显示(串口1).rar

41.77 KB, 下载次数: 5

STC15:DS18B20温度传感器 - 串口调试助手显示(串口1).rar

55.14 KB, 下载次数: 5

回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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