3471|10

186

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

小白求问,怎样将51的程序移植到430上??? [复制链接]

现在有51的程序,怎样改成430上的程序呢?需要改些什么?需要注意些什么?

最新回复

正如前面的回答。纯算法的部分,可以直接拿过来,或者稍微改动一下。设计寄存器的,就重写吧。其实,功能不太复杂,可以重新写一个出来啊。  详情 回复 发表于 2015-3-6 21:24
 
点赞 关注

回复
举报

2万

帖子

340

TA的资源

版主

沙发
 
一个16位的,一个8位,再说单个I/O口进行的操作就不一样,还有,430看门狗默认为打开,不关闭看门狗则每过一段时间复位一次,,,等等这些,,怎么移植?

点评

你这么一说感觉 无望了额,,,,,,现在有个程序是51的,想参考下 弄到430上面 是c程序~  详情 回复 发表于 2015-3-6 16:59
 
 

回复

1193

帖子

0

TA的资源

纯净的硅(高级)

板凳
 
我觉得最麻烦的应该是51有位操作,430只能一次操作一个寄存器组
 
 
 

回复

3404

帖子

6

TA的资源

裸片初长成(初级)

4
 
移植嘛。方法总是有的,C语言的就是方便移植,只要楼主的程序不是汇编的,移植是没有问题的
移植其实就是修改底层驱动的问题。比如GPIO驱动,在51的程序里面可能写成P0_1=1;换到430里面就改成对应的语句就行。
具体还要看到你用到了哪些外设,比如用到了定时器,你就要修改定时器的初始化程序和中断服务程序。
一句话,凡是涉及到对单片机本身操作的都需要修改。而一些纯粹的运算则不需要修改。
注意事项嘛,没有特别要注意的,保证功能一样就行。

点评

非常感谢!我好好研究下~~~~~谢谢您!  详情 回复 发表于 2015-3-6 17:00
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

5
 
这个的问题有点多了。
1、若在51上仅仅只是对IO口操作进行移植到MSP430就很简单,你找到51程序对应的接口赋值语句进行适合MSP430的修改,注意51是进行位操作而MSP430是寄存器操作,对每一位也就是每一个IO口操作你需要进行 |、&(与、或)语句才行,你可以在你的函数前面先对相关接口进行宏定义或者函数,这样你就可以像51那样类似位操作了。
2、另外就是51的中断操作和内部集成的通信(如I2C、UART等)有专门操作和MSP430不一样你要有针对进行修改,这个不外乎就是查看数据手册和相关例子程序(可以在CCS里面找到)进行针对操作。
3、51程序中的有些模拟通信语句,比如SPI是IO模拟SPI进行的,而MSP430有专门的SPI口可以不进行模拟设计,你可以参考数据手册进行修改,当然你也可以直接用51的模拟SPI语句,这就需要你注意里面时钟配置和接口操作(接口操作可以参考我给你写的第一条)。
4、关于看门狗,直接关掉就行,然后再进行你的项目程序设计,这个很简单的。
5、别的算法设计就不用过多修改,可以直接移植。
等等。

点评

谢谢您!这么认真的回答!我再好好看看~~~~  详情 回复 发表于 2015-3-6 17:01
 
 
 

回复

186

帖子

0

TA的资源

一粒金砂(中级)

6
 
qwqwqw2088 发表于 2015-3-6 16:34
一个16位的,一个8位,再说单个I/O口进行的操作就不一样,还有,430看门狗默认为打开,不关闭看门狗则每过一段时间复位一次,,,等等这些,,怎么移植?

你这么一说感觉 无望了额,,,,,,现在有个程序是51的,想参考下 弄到430上面 是c程序~


点评

所谓程序移植理解不一样, 参考一些控制方法,编程的算法还是可以的吧, 个人理解,具体怎么操作的语句不能移植,什么算法控制原理可以借鉴意思。  详情 回复 发表于 2015-3-6 17:12
 
 
 

回复

186

帖子

0

TA的资源

一粒金砂(中级)

7
 
jishuaihu 发表于 2015-3-6 16:39
移植嘛。方法总是有的,C语言的就是方便移植,只要楼主的程序不是汇编的,移植是没有问题的
移植其实就是修改底层驱动的问题。比如GPIO驱动,在51的程序里面可能写成P0_1=1;换到430里面就改成对应的语句就行。
具体还要看到你用到了哪些外设,比如用到了定时器,你就要修改定时器的初始化程序和中断服务程序。
一句话,凡是涉及到对单片机本身操作的都需要修改。而一些纯粹的运算则不需要修改。
注意事项嘛,没有特别要注意的,保证功能一样就行。

非常感谢!我好好研究下~~~~~谢谢您!


 
 
 

回复

186

帖子

0

TA的资源

一粒金砂(中级)

8
 
zhaomm 发表于 2015-3-6 16:56
这个的问题有点多了。
1、若在51上仅仅只是对IO口操作进行移植到MSP430就很简单,你找到51程序对应的接口赋值语句进行适合MSP430的修改,注意51是进行位操作而MSP430是寄存器操作,对每一位也就是每一个IO口操作你需要进行 |、&(与、或)语句才行,你可以在你的函数前面先对相关接口进行宏定义或者函数,这样你就可以像51那样类似位操作了。
2、另外就是51的中断操作和内部集成的通信(如I2C、UART等)有专门操作和MSP430不一样你要有针对进行修改,这个不外乎就是查看数据手册和相关例子程序(可以在CCS里面找到)进行针对操作。
3、51程序中的有些模拟通信语句,比如SPI是IO模拟SPI进行的,而MSP430有专门的SPI口可以不进行模拟设计,你可以参考数据手册进行修改,当然你也可以直接用51的模拟SPI语句,这就需要你注意里面时钟配置和接口操作(接口操作可以参考我给你写的第一条)。
4、关于看门狗,直接关掉就行,然后再进行你的项目程序设计,这个很简单的。
5、别的算法设计就不用过多修改,可以直接移植。
等等。
谢谢您!这么认真的回答!我再好好看看~~~~



 
 
 

回复

2万

帖子

340

TA的资源

版主

9
 
Ben讨厌苦咖啡 发表于 2015-3-6 16:59
你这么一说感觉 无望了额,,,,,,现在有个程序是51的,想参考下 弄到430上面 是c程序~

所谓程序移植理解不一样,

参考一些控制方法,编程的算法还是可以的吧,不能说无望了啊。

个人理解,具体怎么操作的语句不能移植,什么算法控制原理可以借鉴意思。

 
 
 

回复

954

帖子

0

TA的资源

纯净的硅(初级)

10
 
我感觉楼主很多东西都要重写一遍啊,特别是一些直接操作硬件的代码
 
 
 

回复

3471

帖子

13

TA的资源

五彩晶圆(高级)

11
 
正如前面的回答。纯算法的部分,可以直接拿过来,或者稍微改动一下。设计寄存器的,就重写吧。其实,功能不太复杂,可以重新写一个出来啊。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表