资源简介

基于MSP430f149编写的万年历在12864上的显示。不一定可以正常运行,但是可以作为参考。

资源截图

代码片段和文件信息

#include 
typedef unsigned char uchar;
typedef unsigned int  uint;

//extern const unsigned char shuzi_table[];

#define LCD_DataIn    P4DIR=0x00    //数据口方向设置为输入
#define LCD_DataOut   P4DIR=0xff    //数据口方向设置为输出
#define LCD2MCU_Data  P4IN
#define MCU2LCD_Data  P4OUT
#define LCD_CMDOut    P3DIR|=0x07     //P3口的低三位设置为输出
#define LCD_RS_H      P3OUT|=BIT0      //P3.0
#define LCD_RS_L      P3OUT&=~BIT0     //P3.0
#define LCD_RW_H      P3OUT|=BIT1      //P3.1
#define LCD_RW_L      P3OUT&=~BIT1     //P3.1
#define LCD_EN_H      P3OUT|=BIT2      //P3.2
#define LCD_EN_L      P3OUT&=~BIT2     //P3.2

/*******************************************
函数名称:Delay_1ms
功    能:延时约1ms的时间
参    数:无
返回值  :无
********************************************/
void Delay_1ms(void)
{
uchar i;
    
for(i = 150;i > 0;i--)  _NOP();

/*******************************************
函数名称:Delay_Nms
功    能:延时N个1ms的时间
参    数:n--延时长度
返回值  :无
********************************************/
void Delay_Nms(uint n)
{
    uint i;
    
    for(i = n;i > 0;i--)    Delay_1ms();
}
/*******************************************
函数名称:Write_Cmd
功    能:向液晶中写控制命令
参    数:cmd--控制命令
返回值  :无
********************************************/
void Write_Cmd(uchar cmd)
{
    uchar lcdtemp = 0;

    LCD_RS_L;
    LCD_RW_H;
    LCD_DataIn;  
    do                       //判忙
    {    
        LCD_EN_H;
        _NOP();
        lcdtemp = LCD2MCU_Data; 
        LCD_EN_L;
        
    }
    while(lcdtemp & 0x80); 
    
    LCD_DataOut;    
    LCD_RW_L;  
    MCU2LCD_Data = cmd; 
    LCD_EN_H;
    _NOP();   
    LCD_EN_L;
}
/*******************************************
函数名称:Write_Data
功    能:向液晶中写显示数据
参    数:dat--显示数据
返回值  :无
********************************************/
void  Write_Data(uchar dat)
{
    uchar lcdtemp = 0;   
        
    LCD_RS_L;
    LCD_RW_H;  
    LCD_DataIn;   
    do                       //判忙
    {    
        LCD_EN_H;
        _NOP();
        lcdtemp = LCD2MCU_Data; 
        LCD_EN_L;      
    }
    while(lcdtemp & 0x80);  
    
    LCD_DataOut; 
    LCD_RS_H;
    LCD_RW_L;  
        
    MCU2LCD_Data = dat;
    LCD_EN_H;
    _NOP();
    LCD_EN_L;
}  
/*******************************************
函数名称:Ini_Lcd
功    能:初始化液晶模块
参    数:无
返回值  :无
********************************************/
void Ini_Lcd(void)
{                  
    LCD_CMDOut;    //液晶控制端口设置为输出
    
    Delay_Nms(500);
    Write_Cmd(0x30);   //基本指令集
    Delay_1ms();
    Write_Cmd(0x02);   // 地址归位
    Delay_1ms();
Write_Cmd(0x0c);   //整体显示打开游标关闭
    Delay_1ms();
Write_Cmd(0x01);   //清除显示
   Delay_1ms();
Write_Cmd(0x06);   //游标右移
   Delay_1ms();
Write_Cmd(0x80);   //设定显示的起始地址
}
/*******************************************
函数名称:Disp_HZ
功    能:控制液晶显示汉字
参    数:addr--显示位置的首地址
          pt--指向显示数据的指针
          num--显示字符个数
返回值  :无
********************************************

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3952  2011-07-04 12:36  12864.c

     文件        690  2008-03-04 21:55  BoardConfig.h

     文件      20634  2011-08-09 21:23  calculator.c

     文件       5892  2011-09-25 14:19  calculator.dep

     文件      13743  2011-06-04 12:48  calculator.ewd

     文件      46495  2011-07-05 21:09  calculator.ewp

     文件         95  2011-09-25 17:25  calculator.eww

     文件          0  2011-06-02 21:31  dispdata.c

     文件       4206  2011-07-05 21:05  ds18b02.c

     文件       4288  2011-06-03 21:33  ds1302.c

     文件       2989  2011-06-20 20:31  key.c

     文件      15829  2011-06-20 19:31  main.c

     文件      32163  2011-08-09 21:23  Debug\Exe\calculator.d43

     文件      11178  2011-08-09 21:06  Debug\Obj\12864.r43

     文件        379  2011-09-25 14:18  Debug\Obj\calculator.pbd

     文件     132145  2011-08-23 20:18  Debug\Obj\calculator.r43

     文件        793  2011-06-02 21:32  Debug\Obj\dispdata.r43

     文件      12798  2011-08-09 21:06  Debug\Obj\ds1302.r43

     文件      14522  2011-08-09 21:06  Debug\Obj\ds18b02.r43

     文件      12183  2011-08-09 21:06  Debug\Obj\key.r43

     文件      92991  2011-06-20 19:26  Debug\Obj\main.r43

     文件       2331  2011-09-25 14:18  settings\calculator.cspy.bat

     文件       4950  2011-09-25 14:19  settings\calculator.dbgdt

     文件       1016  2011-09-25 14:19  settings\calculator.dni

     文件       2702  2011-09-25 17:25  settings\calculator.wsdt

     目录          0  2011-10-09 08:08  Debug\Exe

     目录          0  2011-06-02 20:23  Debug\List

     目录          0  2011-10-09 08:08  Debug\Obj

     目录          0  2011-10-09 08:08  Debug

     目录          0  2011-10-09 08:08  settings

............此处省略3个文件信息

评论

共有 条评论