⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 12864.txt

📁 液晶驱动程序 用51c语言编写实用于12864液晶芯片
💻 TXT
📖 第 1 页 / 共 2 页
字号:
享受孤独享受孤独
            luoye314.blog.tianya.cn扬一场远远的风送我少年的梦如穹苍一帆


                  留言板 | 博客家园 | 加友情博客
            博客信息博主:luoye314  
            栏目分类·爱晚亭 (128) 
              ·朋友的话 (2) 
              ·纯粹转载 (13) 
              ·文娱广场 (22) 
              ·挑山工 (22) 
              ·单片机 (10) 
              ·开关电源 (5) 
              ·电子学习 (13) 
              ·DSP (13) 
              ·ARM (0) 
            最新文章·一日三省(2007-8-14) 
              ·dsp2407 知识(转)(2007-8-12) 
              ·2812和2407的比较(转)(2007-8-12) 
              ·我要把用勺子吃饭申请专利(2007-8-10) 
              ·回来了(2007-8-9) 
              ·《与青春有关的日子》(2007-8-6) 
              ·上拉电阻,下拉电阻(2007-7-31) 
              ·DSP学习笔记(4)—I/O口流水灯实验(2007-7-30) 
              更多>>
            最新评论· 深圳生溢快捷电路有限公司 联系人: ...(2007-9-13) 
              · 深圳生溢快捷电路有限公司 联系人: ...(2007-9-13) 
              ·int0之类的命令要顶格写哦...(2007-8-6) 
              ·库文件rts2xx.lib是不是没有添加...(2007-8-6) 
              ·--------------------...(2007-8-2) 
              ·高山流水...(2007-6-1) 
              ·老家赶牲口去地里干活,走到拐弯儿处,赶车...(2007-5-31) 
              ·呵呵这都看不懂啊,意思就是我就是。我的生...(2007-5-4) 
              ·er....傻孩子,,,瞎嘟囔啥。。。。...(2007-5-1) 
            留言
            在这给我留言吧 >> 
            友情博客lisa 
              --
              半杯纯净水 
              吃的就是那个味儿2008-3-2标签列表
            LF2407 DSP 火箭 PCB 开关电源 C语言 代码 测试程序 
            博客搜索
              
            日志存档·2007-10 ( 1 ) 
              ·2007-8 ( 6 ) 
              ·2007-7 ( 17 ) 
              ·2007-6 ( 6 ) 
              ·2007-5 ( 6 ) 
              ·2007-4 ( 8 ) 
              ·2007-3 ( 4 ) 
              ·2007-1 ( 8 ) 
              ·2006-12 ( 25 ) 
              ·2006-11 ( 21 ) 
              ·2006-10 ( 11 ) 
              ·2006-9 ( 17 ) 
            友情链接·lisa 
              ·半杯纯净水 
              ·Aleena 
              ·猪头seven 
            统计信息访问:42859 次 
              日志: 237篇 
              评论: 206 个 
              留言: 7 个 
              建站时间: 2006-5-5 
            博客成员luoye314 管 理 员 








            海蓝


      128x64液晶KS0108驱动程序(C51)(转帖)作者:luoye314 分类:单片机 提交日期:2006-11-15 18:00:00 | 
      访问量:173   #include "absacc.h"
        #include "intrins.h"
        //自定义库 在"C:\comp51\UserLib\"文件夹中
        #include ".\inc\ASCII816.h" //标准ASCII库
        #include ".\inc\HZTable.h" //汉字点阵库(自做)
        #include ".\inc\Menu.h" //菜单库(自做)
        
        // LCD128*64 数据线
        #define LCD12864DataPort P1
        // LCD128*64 I/O 信号管脚
        sbit di =P3^1; // 数据\指令 选择
        sbit rw =P3^3; // 读\写 选择
        sbit en =P3^2; // 读\写使能
        sbit cs1 =P3^4; // 片选1,低有效(前64列)
        sbit cs2 =P3^5; // 片选2,低有效(后64列)
        sbit reset=P0^7; // 复位
        /*----------------------------------------------------------------------------------------------------*/
        /* ****函数列表****
        //开关显示
        void SetOnOff(unsigned char onoff)
        //选择屏幕
        //screen: 0-全屏,1-左屏,2-右
        void SelectScreen(unsigned char screen)
        //清屏
        //screen: 0-全屏,1-左屏,2-右
        void ClearScreen(unsigned char screen)
        //显示8*8点阵
        //旋转90度:字模被竖着切分
        //lin:行(0-7), column: 列(0-15)
        //address : 字模区首地址
        void Show88(unsigned char lin,unsigned char column,unsigned int address)
        //显示8*16字符
        //旋转90度:字模被竖着切分
        //lin:行(0-3), column: 列(0-15)
        //character:字符代码(标准ASCII码)
        void ShowChar(unsigned char lin,unsigned char column,unsigned char 
      character)
        //显示8*16字符串
        //!!!只能显示在一行上即: 串长+column <=15
        //旋转90度:字模被竖着切分
        //lin:行(0-3), column: 列(0-15)
        //address : 字模区首地址
        void ShowString(unsigned char lin,unsigned char column, unsigned char 
      *string)
        //显示一个汉字
        //旋转90度:字模被竖着切分
        //lin:行(0-3), column: 列(0-15)
        //hzcode: 汉字代码(自定义的)
        void ShowHZ(unsigned char lin,unsigned char column,unsigned int hzcode)
        //显示图片
        //旋转90度 :字模被竖着切分
        //startline :开始行
        //startcolumn:开始列
        //linechar :图片行点除8(图片以8*8点阵为单位)
        //columnchar :图片列点除8(图片以8*8点阵为单位)
        //address : 字模区首地址
        void ShowPicture(unsigned char startline,unsigned char 
      startcolumn,unsigned char linechar,unsigned char columnchar,unsigned int 
      address)
        //!!问题大户
        //显示一行汉字
        //lin:行
        //lineheadaddr: 此行汉字代码区首地址
        void ShowLine(unsigned char lin,unsigned int lineheadaddr)
        //显示一屏汉字
        //pageheadaddr:此屏汉字代码地址区首地址
        void ShowPage(unsigned int pageheadaddr)
        //反显一个8*8字块
        //lin:行(0-3), column: 列(0-7)
        void ReverseShow88(unsigned char lin,unsigned char column)
        
        //反显一个字符
        //lin:行(0-4), column: 列(0-15)
        void ReverseShowChar(unsigned char lin,unsigned char column)
        
        //反显一个汉字
        //lin:行(0-3), column: 列(0-7)
        ReverseShowHZ(unsigned char lin,unsigned char column)
        //反显一行汉字
        //lin:行
        ReverseShow(unsigned char lin)
        //初始化LCD
        void InitLCD()
        ****函数列表结束**** */
        /*----------------------------------------------------------------------------------------------------*/
        /*--基本函数源程序------------------------------------------------------------------------------------*/
        //延时
        Lcd12864delay()
        {
        unsigned int i=500;
        while(i--) {;}
        }
        /*----------------------------------------------------------------------------------------------------*/
        //状态检查
        void CheckState()
        {
        unsigned char dat;
        di=0;
        rw=1;
        do{
        LCD12864DataPort=0xff;
        en=1; dat=LCD12864DataPort; en=0;
        dat=0x90 & dat; //仅当第4,7位为0时才可操作
        }while(!(dat==0x00));
        }
        /*----------------------------------------------------------------------------------------------------*/
        //写显示数据
        //dat:显示数据
        void WriteByte(unsigned char dat)
        {
        CheckState();
        di=1; rw=0;
        LCD12864DataPort=dat;
        en=1; en=0;
        }
        /*-----------------------------------------------------------------------------------------------------*/
        //向LCD发送命令
        //command :命令
        SendCommandToLCD(unsigned char command)
        {
        CheckState();
        rw=0;
        LCD12864DataPort=command;
        en=1; en=0;
        }
        /*----------------------------------------------------------------------------------------------------*/
        //设定行地址(页)--X 0-7
        void SetLine(unsigned char line)
        {
        line=line & 0x07; // 0<=line<=7
        line=line|0xb8; //1011 1xxx
        SendCommandToLCD(line);
        }
        //设定列地址--Y 0-63
        void SetColumn(unsigned char column)
        {
        column=column &0x3f; // 0=  column=column | 0x40; //01xx xxxx
        SendCommandToLCD(column);
        }
        //设定显示开始行--XX
        void SetStartLine(unsigned char startline) //0--63
        {
        startline=startline & 0x07;
        startline=startline|0xc0; //1100 0000
        SendCommandToLCD(startline);
        }
        //开关显示
        void SetOnOff(unsigned char onoff)
        {
        onoff=0x3e | onoff; //0011 111x
        SendCommandToLCD(onoff);
        }
        /*---------------------------------------------------------------------------------------------------*/
        //选择屏幕
        //screen: 0-全屏,1-左屏,2-右屏
        void SelectScreen(unsigned char screen)
        { //北京显示器:负有效 cs1: 0--右; cs2: 0--左
        switch(screen)
        { case 0: cs1=0;//全屏
        _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); 
      _nop_(); _nop_(); _nop_();
        cs2=0; 
        _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); 
      _nop_(); _nop_(); _nop_();
        break; 
        case 1: cs1=1;//左屏
        _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); 
      _nop_(); _nop_(); _nop_(); 
        cs2=0;
        _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); 
      _nop_(); _nop_(); _nop_();
        break;
        case 2: cs1=0;//右屏
        _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); 
      _nop_(); _nop_(); _nop_(); 
        cs2=1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -