• 大小: 32KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-13
  • 语言: 其他
  • 标签: MSP430  ADC12  

资源简介

MSP430F149 ADC12 单通道多次采样工程文件,还包含LCD1602显示

资源截图

代码片段和文件信息

/**************引用头文件***************/
#include          //视具体单片机型号引用不同头文件
#include “LCD1602_Driver.h“
#define uchar unsigned char
#define uint unsigned int

/**************接口定义***************/
#define DataDir     P4DIR       //8位数据线=P4口
#define DataPort    P4OUT
#define DataIn      P4IN                
#define Busy        0x80        //Busy信号为数据线最高位BIT7
#define CtrlDir     P3DIR
#define CLR_RS P3OUT&=~BIT0;    //RS = P3.0    
#define SET_RS P3OUT|=BIT0;    
#define CLR_RW P3OUT&=~BIT1;    //RW = P3.1
#define SET_RW P3OUT|=BIT1;    
#define CLR_EN P3OUT&=~BIT2;    //EN = P3.2    
#define SET_EN P3OUT|=BIT2;    

/*******************************************
函数名称:LcdWriteCommand
功    能:向液晶模块写入命令
参    数:cmd--命令,
         chk--是否判忙的标志,1:判忙,0:不判
返回值  :无
********************************************/
void LcdWriteCommand(uchar cmduchar chk) 
{

   if (chk) CheckBusy();   // 检测忙信号?
   
   CLR_RS;    
   CLR_RW; 
   _NOP();

   DataPort = cmd;             //将命令字写入数据端口 
   _NOP();                    
   
   SET_EN;                     //产生使能脉冲信号
   _NOP();
   _NOP();
   CLR_EN;            
}
   
/*******************************************
函数名称:LcdWriteData
功    能:向液晶显示的当前地址写入显示数据
参    数:data--显示字符数据
返回值  :无
********************************************/
void LcdWriteData( uchar data ) 
{
   CheckBusy();        //等待液晶不忙

   SET_RS;
   CLR_RW; 
   _NOP();

   DataPort = data;        //将显示数据写入数据端口
   _NOP();

   SET_EN;                 //产生使能脉冲信号
   _NOP(); 
   _NOP(); 
   CLR_EN;        
}
/*******************************************
函数名称:CheckBusy
功    能:检测1602是否忙,等待1602液晶完成内部操作
参    数:无
返回值  :无
********************************************/
void CheckBusy(void)
{
   DataDir &= 0x00;  //将P4口切换为输入状态

   CLR_RS;
   SET_RW;
   _NOP();
   SET_EN; 
   _NOP();
   _NOP();
   
   while((DataIn & Busy)!=0);  //检测忙标志

   CLR_EN;

   DataDir |= 0xFF;  //将P4口切换为输出状态
}    
                      
/*******************************************
函数名称:Delay5ms
功    能:延时约5ms
参    数:无
返回值  :无
********************************************/
void Delay5ms(void)

   uint i=40000;
   while (i != 0)
   {
       i--;
   }
}

/*******************************************
函数名称:LcdReset
功    能:对1602液晶模块进行复位操作
参    数:无
返回值  :无
********************************************/
void LcdReset(void) 
{
   CtrlDir |= 0x07;                 //控制线端口设为输出状态 
   DataDir  = 0xFF;                 //数据端口设为输出状态
 
   LcdWriteCommand(0x38 0);        //规定的复位操作
   Delay5ms();
   LcdWriteCommand(0x38 0);        
   Delay5ms();
   LcdWriteCommand(0x38 0);
   Delay5ms();

   LcdWriteCommand(0x38 1);        //显示模式设置
   LcdWriteCommand(0x08 1);        //显示关闭
   LcdWriteCommand(0x01 1);        //显示清屏
   LcdWriteCommand(0x06 1);        //写字符时整体不移动
   LcdWriteCommand(0x0c 1);        //显示开,不开游标,不闪烁
}
/*******************************************
函数名称:LocateXY
功    能:向液晶输入显示

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        4000  2012-07-01 10:29  ADC12SingleChMultiSamp\ADC12SingleChMultiSamp.dep
     文件       50738  2012-06-29 15:43  ADC12SingleChMultiSamp\ADC12SingleChMultiSamp.ewp
     文件         176  2012-06-29 15:41  ADC12SingleChMultiSamp\ADC12SingleChMultiSamp.eww
     目录           0  2012-06-29 10:34  ADC12SingleChMultiSamp\Debug\
     目录           0  2012-06-29 15:42  ADC12SingleChMultiSamp\Debug\Exe\
     文件       23798  2012-06-29 15:42  ADC12SingleChMultiSamp\Debug\Exe\ADC12SingleChMultiSamp.d43
     文件        2950  2012-06-29 16:06  ADC12SingleChMultiSamp\Debug\Exe\ADC12SingleChMultiSamp.txt
     目录           0  2012-06-29 10:34  ADC12SingleChMultiSamp\Debug\List\
     目录           0  2012-07-01 10:29  ADC12SingleChMultiSamp\Debug\Obj\
     文件         226  2012-07-01 10:29  ADC12SingleChMultiSamp\Debug\Obj\ADC12SingleChMultiSamp.pbd
     文件       14897  2012-06-29 15:42  ADC12SingleChMultiSamp\Debug\Obj\LCD1602_Driver.r43
     文件       13179  2012-06-29 16:06  ADC12SingleChMultiSamp\Debug\Obj\main.r43
     文件        5221  2012-06-28 01:03  ADC12SingleChMultiSamp\LCD1602_Driver.c
     文件         464  2012-06-28 00:53  ADC12SingleChMultiSamp\LCD1602_Driver.h
     文件        3483  2012-06-29 16:06  ADC12SingleChMultiSamp\main.c
     文件        1383  2012-06-29 15:24  ADC12SingleChMultiSamp\MyMain.c
     目录           0  2012-06-29 15:41  ADC12SingleChMultiSamp\settings\
     文件        1071  2012-07-01 10:28  ADC12SingleChMultiSamp\settings\ADC12SingleChMultiSamp.cspy.bat
     文件          63  2012-07-01 10:29  ADC12SingleChMultiSamp\settings\ADC12SingleChMultiSamp.dbgdt
     文件         486  2012-07-01 10:29  ADC12SingleChMultiSamp\settings\ADC12SingleChMultiSamp.dni
     文件        2885  2012-07-01 10:29  ADC12SingleChMultiSamp\settings\ADC12SingleChMultiSamp.wsdt

评论

共有 条评论