菜鸟零基础学电子之从潘肯蚋吒凰У牡谝徊
单片机硬件电路:
红灯阳极接上拉电阻,阴极接单片机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 来定义。并存放在头文件内或者程序的开头。
- FPGA的DSP性能揭秘(06-16)
- 基于单片机通用引脚的软件UART设计(10-16)
- 分时操作系统思想在单片机中的具体应用 (10-30)
- 基于AT89C51+DSP的双CPU伺服运动控制器的研究(05-26)
- 关于RTX51 TINY的分析与探讨(05-30)
- 基于MC9S12DGl28单片机的智能寻迹车设计(04-03)