新闻中心

EEPW首页 > 嵌入式系统 > 牛人业话 > 菜鸟零基础学电子之从屌丝向高富帅的第一步

菜鸟零基础学电子之从屌丝向高富帅的第一步

作者:Snake0301时间:2013-11-21来源:电子产品世界收藏

  在学习中我们怎么应用吸星大法呢?

本文引用地址:http://www.eepw.com.cn/article/192480.htm

  打开你的IE浏览器,进入淘宝主页,搜索开发板,出来的宝贝令郎满目,而且绝大部分都是带有视频教程和数据手册的。这些视频教程就是可以让你少走很多弯路,首先你要学会怎么安装IAR软件,然后怎么设置软件,创建一个新的工程。这是最基本的技能,一步一步的跟着他学,你会发现用msp430和51是差不多一样,有它的共性,也有它的不同。

  学习单片机,就要尽可能的减少花费在寻址资料和阅读大量数据手册上的时间,应该把时间花在对程序的分析,和对寄存器设置的记忆上。在你买你的开发板时,你的卖家已经帮你把资料整理,把教程和例子都给你,那么就等你把它一一吸入你的大脑转变成为你的知识。

  吸星大法——学会利用开发板及视频教程,尽可能的减少弯路,将更多时间用于实际的操作和开发中。

  第二招:移花接木

  移花接木,是一门与吸星大法相似的武功,但是移花接木的不同之处是利用自己以前用过的武功,转接到新的武功中去,瞬间爆发出巨大的威力。

  就51单片机和单片机来说,两种单片机的编程上有它的相同的地方,也有它不同的地方,我们可以利用51单片机的程序只需要修改几个字母,那么它的程序就能当做MSP430的程序,这种方法叫程序移植。C语言有很强的移植性,无论是什么单片机,只要是用C语言编程的,大多都可以相互移植,但是移植程序需要将程序模块化,否则移植会变得更加困难。

  51 程序模块化移植msp430举例说明

  分别用51单片机和MSP430控制两个灯,一个红灯一个绿灯,两个灯交替亮灭,时间间隔0.5秒。 要求:程序要用模块化设计,并且可轻易移植

  51单片机硬件电路:
           红灯阳极接上拉电阻,阴极接单片机P1.0引脚。
           绿灯阳极接上拉电阻,阴极接单片机P1.1引脚

  Msp430单片机硬件电路:
           红灯阳极接上拉电阻,阴极接单片机P2.0引脚。
           绿灯阳极接上拉电阻,阴极接单片机P2.1引脚。

  红色字体就是51单片机与MSP430单片机在编程上的不同点。 51单片机需要用IO口时需要位声明,例如 sbit P10 = P1^0; 而MSP430单片机不需要位定义,但是要设置设置IO的方向,例如 P2DIR |= BIT0; 把P20 IO引脚配置成输出模式。
  MSP430默认打开看门狗,所有在程序开始时要关掉。

  蓝色字体为延迟函数,每一种单片机的延迟函数都是不相同的,这取决于单片机单个机器周期所用的时间,所有在移植程序的时候不能移植延迟函数。但是为了其他程序移植方便,需要将两种不同单片机的延迟函数的函数名取相同。
  51单片机的延迟函数一般采用程序延迟,这种延迟方法不精确。
  在本文中,MSP430的延迟方式采用MSP430函数库中的延迟函数,__delay_cycles((long)(CPU_F*(double)x/1000.0))来做精确延迟,只需要用户设置好晶振频率即可。

  黑色加粗字体,就是我们应用函数,这个应用函数就是一个可移植的模块,这个模块的程序无论移植到哪里都不需要修改直接就可以用。这就是程序模块化移植思想。这个程序不仅仅能应用与MSP430,还能应用其他的单片机,比如STM32。

  模块化的程序有以下特点:
  1. 在应用函数内不能出现 P10 = 1; 或者 P1OUT &=BIT0; 这些IO口配置的代码 ,必须使用其他名词来代替,比如#define Red_ON P10 = 0,我们就把P10口打开状态用Red_ON来取代。
  2. 模块化的程序一般用英文来描述,比如说 Red_ON 意思红灯开,意思表述很明确,所有模块化程序的优点之一是方便阅读和理解。
  3.一般的IO配置,常用#define 来定义。并存放在头文件内或者程序的开头。

51单片机相关文章:51单片机教程


单片机相关文章:单片机教程


单片机相关文章:单片机视频教程


单片机相关文章:单片机工作原理



上一页 1 2 下一页

关键词: 单片机 LED MSP430 ROM

评论


相关推荐

技术专区

关闭