微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 菜鸟零基础学电子之从潘肯蚋吒凰У牡谝徊

菜鸟零基础学电子之从潘肯蚋吒凰У牡谝徊

时间:10-15 来源:互联网 点击:

单片机硬件电路:

红灯阳极接上拉电阻,阴极接单片机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 来定义。并存放在头文件内或者程序的开头。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top