• 大小: 24KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-12
  • 语言: 其他
  • 标签: LCD12864  

资源简介

msp430g2553和LCD12864的串行显示代码

资源截图

代码片段和文件信息

//LCD12864P.c
#include
#define BIT(x)        (1 << (x))
#define uint unsigned int
#define uchar unsigned char
uchar LCD_table[]={0x300x310x320x330x340x350x360x370x380x39};//0123456789
 
void Send(uchar typeuchar transdata);
 
#define cyCS      0    //P1.0,片选信号
#define cySID     1    //P1.1,串行数据
#define cyCLK     2    //P1.2,同步时钟
#define cyPORT    P1OUT
#define cyDDR     P1DIR
 
void delay_1ms()
{
        uint i;
        for(i=0;i<1140;i++);
}
 
void delay_nms(uint n)
{
    uint i = 0;
    for(i = n;i > 0;i--)
        delay_1ms();
}
 
void Ini_Lcd(void)
{
        cyDDR |= BIT(cyCLK) + BIT(cySID) + BIT(cyCS);   //相应的位端口设置为输出
        delay_nms(600);                 //延时等待液晶完成复位
        Send(00x30);  /*功能设置:一次送8位数据基本指令集*/
        delay_nms(10);
        Send(00x02);  /*DDRAM地址归位*/
        delay_nms(5);
        Send(00x0c);  /*显示设定:开显示不显示光标不做当前显示位反白闪动*/
        delay_nms(5);
        Send(00x01);  /*清屏,将DDRAM的位址计数器调整为“00H”*/
        delay_nms(500);
        Send(00x06);  /*功能设置,点设定:显示字符/光标从左到右移位DDRAM地址加1*/
        delay_nms(10);
}
 
void Send(uchar typeuchar transdata)//0-写控制命令,1-写数据
{
        uchar firstbyte = 0xf8;
        uchar temp;
        uchar ij = 3;
 
        if(type) firstbyte |= 0x02;
 
        cyPORT |= BIT(cyCS);
        cyPORT &= ~BIT(cyCLK);
        while(j > 0)
        {
                if(j == 3) temp = firstbyte;
                else if(j == 2) temp = transdata&0xf0;
                else  temp = (transdata << 4) & 0xf0;
 
                for(i = 8;i > 0;i--)
                {
                        if(temp & 0x80)        cyPORT |= BIT(cySID);
                        else                        cyPORT &= ~BIT(cySID);
                        cyPORT |= BIT(cyCLK);
                        temp <<= 1;
                        cyPORT &= ~BIT(cyCLK);
                }
                //三个字节之间一定要有足够的延时,否则易出现时序问题
                if(j == 3)        delay_nms(1);
                else               delay_nms(1);
 
                j--;
        }
 
        cyPORT &= ~BIT(cySID);
        cyPORT &= ~BIT(cyCS);
}
 
void lcd_pos(uchar xuchar y)//定位
{
         uchar pos;
          switch(x)
          {
            case 1:pos=0x80;break;
            case 2:pos=0x90;break;
            case 3:pos=0x88;break;
            case 4:pos=0x98;break;
            default:pos=0x80;
          }
          pos += y;
          Send(0pos);
}
 
void Disp_HZ(const uchar * ptuchar num)//显示汉字
{
    uchar i;
           for(i = 0;i < (num*2);i++)
           Send(1*(pt++));
}
 
void Disp_SZ(uchar shuzi)//显示一个数字
{
    Send(1LCD_table[shuzi]);
}
 

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

     文件      18159  2012-07-26 21:28  LaunchPad  12864串口\Debug\Exe\test18.d43

     文件          0  2012-07-26 21:27  LaunchPad  12864串口\Debug\Obj\main.pbi

     文件       9943  2012-07-26 21:27  LaunchPad  12864串口\Debug\Obj\main.pbi.cout

     文件      19890  2012-07-26 21:27  LaunchPad  12864串口\Debug\Obj\main.r43

     文件          0  2012-07-26 21:27  LaunchPad  12864串口\Debug\Obj\test18.pbd

     文件          0  2012-07-26 21:27  LaunchPad  12864串口\Debug\Obj\test18.pbd.browse

     文件       2866  2012-07-26 21:27  LaunchPad  12864串口\LCD12864P.c

     文件        513  2012-07-26 21:27  LaunchPad  12864串口\LCD12864P.h

     文件        341  2012-07-26 21:26  LaunchPad  12864串口\main.c

     文件       1676  2012-07-26 21:27  LaunchPad  12864串口\settings\test18.cspy.bat

     文件         63  2012-07-26 21:28  LaunchPad  12864串口\settings\test18.dbgdt

     文件       1044  2012-07-26 21:28  LaunchPad  12864串口\settings\test18.dni

     文件       4540  2012-07-26 21:28  LaunchPad  12864串口\settings\test18.wsdt

     文件       2058  2012-07-26 21:28  LaunchPad  12864串口\test18.dep

     文件      20422  2012-07-26 21:27  LaunchPad  12864串口\test18.ewd

     文件      52511  2012-07-26 21:27  LaunchPad  12864串口\test18.ewp

     文件        160  2012-07-26 21:24  LaunchPad  12864串口\test18.eww

     文件         25  2012-07-26 21:28  LaunchPad  12864串口\test18CustomSfr.sfr

     目录          0  2012-07-26 21:27  LaunchPad  12864串口\Debug\Exe

     目录          0  2012-07-26 21:24  LaunchPad  12864串口\Debug\List

     目录          0  2012-07-26 21:27  LaunchPad  12864串口\Debug\Obj

     目录          0  2012-07-26 21:24  LaunchPad  12864串口\Debug

     目录          0  2012-07-26 21:28  LaunchPad  12864串口\settings

     目录          0  2012-07-26 21:27  LaunchPad  12864串口

----------- ---------  ---------- -----  ----

               134211                    24


评论

共有 条评论