1643|0

2015

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

MSP430单片机超级终端人机对话程序 [复制链接]

#include "msp430x42x.h"    /*430寄存器头文件*/
#include "UART.h"          /*串口通讯程序库头文件*/
#include "stdio.h"         /*标准IO设备头文件(printf/scanf函数所需)*/
#include "math.h"          /*数学函数库*/
#include "LCD_Display.h"   /*LCD显示函数库头文件*/
#include "ADC16.h"         /*ADCc采样函数库头文件*/
int Count=0;                      //打印次数
long Number;
long High,Weight,BMI;  
int ADC_Value,i;

void main( void )
{ unsigned long int i=0;
  WDTCTL=WDTPW+WDTHOLD;  //停止看门狗
  FLL_CTL0|=XCAP18PF;          //配置晶振负载电容
  P1DIR|=BIT0+BIT1+BIT2+BIT3+BIT4;
  P2DIR|=BIT0+BIT1+BIT2+BIT3;       //不用的IO设为输出
  P1OUT=0;P2OUT=0;                  //以免不确定电平造成额外耗电
  BTCTL=0;//LCD会用到BasicTimer,BTCTL在复位过程不会自动初始化,需要人工清零
  LCD_Init();              //初始化液晶显示
  UART_Init(4800,'n',8,1); //串口初始化,设置成4800bps,无校验,8位数据,1位停止
  ADC16_Init(2,0,'S',1);   //ADC2设为外部输入,数据格式有符号,1倍放大
   while(1)
   {
     for(i=0;i<80000;i++);                      //延迟
//---------------------------------------------------------------------     
   //基本功能演示范例
     printf("\nHello World!\n");                //打印到超级终端
     printf("欢迎光临\n");                      //中文也支持!
     //Count++;
     //printf("第%d次打印\n",Count);              //能够支持格式化数据打印
     //printf("根号%d等于%f\n",Count,sqrt(Count));      //能够支持浮点数
     //printf("根号%d约等于%.2f\n",Count,sqrt(Count));  //能够支持小数格式

//---------------------------------------------------------------------
/*   //输入数字到变量
   printf("请输入数:");
   scanf("%ld",&Number);
   printf("%ld平方等于%ld\n\n",Number,Number*Number);
*/
//---------------------------------------------------------------------
/*   //调试显示函数的例子      
   printf("请输入显示数值:");
   scanf("%ld",&Number);
   LCD_DisplayLongNumber(Number);
*/
//---------------------------------------------------------------------      
/* //暂停程序,单步调试的例子
   getchar();                //暂停在此,每按回车一次,运行一次
   Count++;
   LCD_DisplayNumber(Count);
   printf("Count=%d\n",Count);
*/
//---------------------------------------------------------------------
/*  //调试ADC的例子
  ADC16_VrefOn();        //打开基准源
  Analog_On();           //打开外设电源P2.2(如果有必要)
  for(i=0;i<100;i++);    //略延迟,等待稳定
  ADC_Value=ADC16_Sample(2,1); //ADC2单次采样
  ADC16_VrefOff();        //打开基准源
  Analog_Off();           //关闭外设电源P2.2(如果有必要)
  printf("ADC2的采样值=%d   ",ADC_Value);
  printf("对应电压=%.4fV\n",(float)ADC_Value*0.6/32768);   
*/
//---------------------------------------------------------------------      
/* //计算肥胖率的例子(人机对话)
    printf("请输入身高(cm):");
    scanf("%ld",&High);
    printf("请输入体重(kg):");
    scanf("%ld",&Weight);
    BMI=Weight*100000/(High*High);
    printf("您的肥胖率=%ld.%ld\n",BMI/10,BMI%10);
    if(BMI<180)      printf("太瘦了,多吃点!!\n\n");
    else if(BMI<240) printf("太帅了,请保持!!\n\n");
    else if(BMI<280) printf("再瘦一点点就帅了,加油!!\n\n");
    else if(BMI<320) printf("轻度肥胖,要注意哦!!\n\n");
    else if(BMI<360) printf("中度肥胖,要减肥了!!\n\n");
    else             printf("重度肥胖,随便吃吧,已经没救了!!\n\n");
*/
//---------------------------------------------------------------------      
   }
}

 
点赞 关注

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表