• 大小: 178KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-07
  • 语言: 其他
  • 标签: 转速测量  12864  

资源简介

基于51单片机的转速测量仪,用lcd12864显示

资源截图

代码片段和文件信息

#include
#include“zifuku.h“
#define uchar unsigned char
#define uint unsigned int
unsigned int v;   //储存电机转速
unsigned char count;  //储存定时器T0中断次数
bit flag;      //计满1秒钟标志位
sbit CS1=P2^0; //LCD右屏幕
sbit CS2=P2^1; //LCD左屏幕
sbit RS=P2^2; //LCD数据、指令寄存器
sbit RW=P2^3; //LCD读、写操作
sbit E=P2^4; //LCD使能信号,下降沿有效


/*
自定义延时子函数
*/
void delayms(uchar z)
{
 int xy;
 for(x=z;x>0;x--)
    for(y=110;y>0;y--);
}

/*
     判断LCD忙信号状态
*/
void buys()
{
 int dat;
 RW=1;
 RS=0;
 do
   {
        P0=0x00;
        E=1;
dat=P0;
E=0;
dat=0x80 & dat;
} while(!(dat==0x00));
}

/*
     LCD写指令函数
*/
void w_com(uchar com)
{
 //buys();
 RW=0;
 RS=0;
 E=1;
 P0=com;
 E=0;
}

 /*
     LCD写数据函数
*/
void w_date(uchar date)
{
 //buys();
 RW=0;
 RS=1;
 E=1;
 P0=date;
 E=0;
}


/*
   LCD选屏函数
*/
void select_screen(uchar screen)
{
   switch(screen)
   {
      case 0:     //选择全屏
             CS1=0;
 CS2=0;
     break;
  case 1:     //选择左屏
             CS1=0;
 CS2=1;
     break;
           
          case 2:     //选择右屏
             CS1=1;
 CS2=0;
     break;
/*  case 3:     //选择右屏
             CS1=1;
   CS2=1;
          break;
*/
   }       
   
}

/*
 LCDx向上滚屏显示
*/
void lcd_rol()
{
   int x;
   for(x=0;x<64;x++)
      {
   select_screen(0);
w_com(0xc0+x);
   delayms(500);
  }


}

/*
   LCD清屏函数:清屏从第一页的第一列开始,总共8页,64列
*/
void clear_screen(screen)
{
 int xy;
 select_screen(screen);    //screen:0-选择全屏,1-选择左半屏,2-选择右半屏
 for(x=0xb8;x<0xc0;x++) //从0xb8-0xbf共8页
    {
w_com(x);
w_com(0x40); //列的初始地址是0x40
for(y=0;y<64;y++)
   {
        w_date(0x00);
   
    }
     }    
}

/*
LCD显示汉字字库函数
*/
void lcd_display_hanzi(uchar screenuchar pageuchar coluint mun)
{ //screen:选择屏幕参数,page:选择页参数0-3,col:选择列参数0-3,mun:显示第几个汉字的参数
      int a;
  mun=mun*32;
  select_screen(screen);
  w_com(0xb8+(page*2));
  w_com(0x40+(col*16));
  for ( a=0;a<16;a++)
     {
     w_date(hanzi[mun++]);
 
 }
  w_com(0xb8+(page*2)+1);
  w_com(0x40+(col*16));
  for ( a=0;a<16;a++)
     {
     w_date(hanzi[mun++]);
 
 }
}

 /*
LCD显示字符字库函数
*/
void lcd_display_zifuk(uchar screenuchar pageuchar coluchar mun)
{ //screen:选择屏幕参数,page:选择页参数0-3,col:选择列参数0-7,mun:显示第几个汉字的参数
      int a;
  mun=mun*16;
  select_screen(screen);
  w_com(0xb8+(page*2));
  w_com(0x40+(col*8));
  for ( a=0;a<8;a++)
     {
     w_date(zifu[mun++]);
 
 }
  w_com(0xb8+(page*2)+1);
  w_com(0x40+(col*8));
  for ( a=0;a<8;a++)
     {
     w_date(zifu[mun++]);
 
 }
}

/*
LCD显示数字字库函数
*/
void lcd_display_shuzi(uchar screenuchar pageuchar coluchar mun)
{ //screen:选择屏幕参数,page:选择页参数0-3,col:选择列参数0-7,mun:显示第几个汉字的参数
      int a;
  mun=mun*16;
  select_screen(screen);
  w

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-04-23 17:47  转速测量仪lcd12864显示\
     目录           0  2017-04-23 17:47  转速测量仪lcd12864显示\LCD128641\
     文件      108763  2009-08-23 14:14  转速测量仪lcd12864显示\LCD128641\12864.DSN
     文件       18027  2017-04-10 21:23  转速测量仪lcd12864显示\LCD128641\12864.pdsprj
     文件        3814  2017-04-21 20:05  转速测量仪lcd12864显示\LCD128641\12864.pdsprj.LJW.asus.workspace
     文件        1054  2009-08-23 14:14  转速测量仪lcd12864显示\LCD128641\12864.PWI
     文件       18028  2017-04-10 21:06  转速测量仪lcd12864显示\LCD128641\Backup Of 12864.pdsbak
     目录           0  2017-04-23 17:47  转速测量仪lcd12864显示\LCD128641\C 程序源代码\
     文件        6376  2005-03-22 15:22  转速测量仪lcd12864显示\LCD128641\C 程序源代码\STARTUP.A51
     文件       14043  2017-04-10 21:06  转速测量仪lcd12864显示\LCD128641\C 程序源代码\STARTUP.LST
     文件         758  2017-04-10 21:06  转速测量仪lcd12864显示\LCD128641\C 程序源代码\STARTUP.OBJ
     文件       13775  2017-04-10 21:06  转速测量仪lcd12864显示\LCD128641\C 程序源代码\Test
     文件        6064  2017-04-10 21:06  转速测量仪lcd12864显示\LCD128641\C 程序源代码\Test.hex
     文件          42  2017-04-10 21:06  转速测量仪lcd12864显示\LCD128641\C 程序源代码\Test.lnp
     文件       18731  2017-04-10 21:06  转速测量仪lcd12864显示\LCD128641\C 程序源代码\Test.M51
     文件        1413  2017-04-21 18:26  转速测量仪lcd12864显示\LCD128641\C 程序源代码\Test.Opt
     文件         215  2017-04-21 18:11  转速测量仪lcd12864显示\LCD128641\C 程序源代码\Test.plg
     文件        2214  2017-04-10 19:01  转速测量仪lcd12864显示\LCD128641\C 程序源代码\Test.Uv2
     文件        1417  2017-04-10 21:30  转速测量仪lcd12864显示\LCD128641\C 程序源代码\Test_Opt.Bak
     文件        2229  2009-08-06 22:50  转速测量仪lcd12864显示\LCD128641\C 程序源代码\Test_Uv2.Bak
     文件        6367  2017-04-10 21:05  转速测量仪lcd12864显示\LCD128641\C 程序源代码\Text1.c
     文件       14685  2017-04-10 21:06  转速测量仪lcd12864显示\LCD128641\C 程序源代码\Text1.LST
     文件       15793  2017-04-10 21:06  转速测量仪lcd12864显示\LCD128641\C 程序源代码\Text1.OBJ
     文件        7774  2017-04-10 21:04  转速测量仪lcd12864显示\LCD128641\C 程序源代码\zifuku.h
     文件      108763  2009-08-08 00:29  转速测量仪lcd12864显示\LCD128641\Last Loaded 12864.DBK
     文件         146  2008-09-14 14:41  转速测量仪lcd12864显示\MoNi.hex
     文件       73414  2017-04-10 21:23  转速测量仪lcd12864显示\QQ截图20170410212343.png
     文件        7774  2017-04-10 21:20  转速测量仪lcd12864显示\头文件.txt
     文件        6917  2017-04-10 21:06  转速测量仪lcd12864显示\转速测量lcd12864.txt

评论

共有 条评论