求问一下,怎么将基于AT89的这些代码写成MSP430的呢?谢谢了

2019-07-15 16:43发布

#include<reg52.h>         //库文件#define uchar unsigned char//宏定义无符号字符型#define uint unsigned int  //宏定义无符号整型/********************************************************************                            I/O定义*********************************************************************/sbit LED=P1^0; //定义单片机P1口的第1位 (即P1.0)为指示端sbit DOUT=P2^0; //定义单片机P2口的第1位 (即P2.0)为传感器的输入端/********************************************************************                            延时函数*********************************************************************/void delay()//延时程序{uchar m,n,s;for(m=20;m>0;m--)for(n=20;n>0;n--)for(s=248;s>0;s--);}/********************************************************************                            主函数*********************************************************************/void main(){while(1)   //无限循环{ LED=1;   //熄灭P1.0口灯 if(DOUT==0)//当浓度高于设定值时 ,执行条件函数 {    delay();//延时抗干扰if(DOUT==0)//确定 浓度高于设定值时 ,执行条件函数    { LED=0;   //点亮P1.0口灯} }}}/******************************************************************** 结束
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
井头江
2019-07-16 08:20
本帖最后由 井头江 于 2015-1-15 14:49 编辑

/*******************
电脑现在里面没有430的编译软件,
你试试看这个可不可以
********************/
#include <msp430x14x.h>
#define LED    (P1OUT & 0x01)
#define DOUT   (P2IN & 0x01)
typedef unsigned char uchar;
typedef unsigned int  uint;

void delay()//延时程序
{
uchar m,n,s;
for(m=20;m>0;m--)
for(n=20;n>0;n--)
for(s=248;s>0;s--);
}

/********************主函数********************/
void main( void )
{   
    WDTCTL = WDTPW + WDTHOLD;   //关闭看门狗



    P1DIR = BIT0;             //P1.0为输出
    P1OUT = 0;
    P2DIR = 0xfe;            //P2.0为输入


    while(1)   //无限循环
   {
   LED=1;   //熄灭P1.0口灯
   if(DOUT==0)//当浓度高于设定值时 ,执行条件函数
    {
    delay();//延时抗干扰
    if(DOUT==0)//确定 浓度高于设定值时 ,执行条件函数
     {
        LED=0;   //点亮P1.0口灯
         }
}
}
}

一周热门 更多>