首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于F2812的监测系统的设计
来源:本站整理  作者:佚名  2009-03-31 17:05:56



在下面将列出部分初始化程序来说明指令的使用,但对于CSRDIR和CSRW指令,有必要详细解释一下。CSRDIR指令是用来设置光标移动方向的,有上,下,左,右四个移动方向(4EH,4FH,4DH,4CH),CSRW指令则是用来设置光标地址的。要特别注意这里的光标是对应显存里面的一个字节(byte),而不是对应字节里的一个位(bit),当设置光标向右移动时,每写完一个字节数据到显存,光标地址就会加一,此时对应显存的字节地址加一;同理,设置光标向左移动时,对应显存的字节地址减一。而当设置光标向下移动时,目标光标地址(字节地址)=当前光标地址(字节地址)+AP(液晶屏一行所对应显存的字节数),注:一般AP设置为完整显示液晶屏一行所用字节数加1,即40+1=41. 如下图所示,如果当前光标在字节地址Add1处,则写完一个字节数据后光标则移到了字节地址Add42处;同理,设置光标向上移动时,如果当前光标在Add81处,则写完一个字节数据后光标则移到了Add40处

5.  液晶显示的软件设计

  5.1初始化LCD程序:

#define      LCD_DAT        (*((volatile  unsigned  int *)0x3800)) //定义数据寄存器

#define      LCD_COM        (*((volatile  unsigned  int *)0x3801))//定义指令寄存器

    void Lcd_init(void)

            {

                   LCD_COM = 0x40;//显示窗口设置指令,之后带8个参数

                   LCD_DAT = 0x30;//单屏LCD模式,内部字元发生器有效

                   LCD_DAT = 0x87;//显示字符宽度8

                   LCD_DAT = 0x07;//显示字符高度8

                   LCD_DAT = 0x27;//一行显示40个字节

                   LCD_DAT = 0x46; 

                   LCD_DAT = 0xEF;//总共显示240行

                   LCD_DAT = 0x28;//AP=40+1

                   LCD_DAT = 0x00;

           …………… //其他初始化指令

       }

  5.2 显示一个32x32字符程序:

       void  Disp16x32Char(void)

           {

LCD_COM = 0x4E;//设置光标地址自动移动方向 向上

                   for(i=0;i<4;i++)//从左到右连续写入4列数据,每列32字节,共128字节

                { // x1取值范围1--40,y1取值范围1--240

                  Set_Graphic_Csr(x1,y1);  //根据光标所在位置计算出对应的字节地址

                     p = CharTab[1];  //指针指向字模数组

             LCD_COM = 0x42;  //写显示数据指令

                  //自下而上写入32个字节

for(j=0;j<32;j++)

                      {

                           LCD_DAT = p[j+32*i+128*k];//从字模数组中取出一字节

                      }

                     x1++;//准备写右边一列数据

                   }

          }

上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:222,191.40000 毫秒