资源简介
基于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
- 上一篇:xm
l学生信息管理系统报告 - 下一篇:winnt.sif 无人值守安装脚本
相关资源
- msp430 温湿度sht10 和 DS18B20显示
- STM32 实现12864液晶屏显示汉字和图片且
- 用51单片机解析GPS数据并在12864液晶显
- 12864液晶屏.zip
- 基于AT89S51利用MAX485半双工串行口通讯
- LCD12864串行显示DS18B20温度和超声波测
- 12864编程使用手册
- 开关控制12864LCD串行模式显示
- ADC序列通道多次转换12864液晶程序ms
- 12864多级菜单程序+proteus仿真
- LCD12864读取DS1302模块,显示实时时间
- STM32并口、串口驱动12864
- 温度显示并在LCD绘制曲线程序
- YXD-12864液晶技术规格
- 12864显示,protus仿真
- 不带字库的液晶OCM12864-5资料
- 基于STC15单片机12864万年历
- LCD12864硬件连接图
- 12864时钟程序+按键可调
- 矩阵键盘+lcd12864液晶显示
- 关于12864显示屏与arduino的连接图
- 基于12864的简易示波器C51编程
- 用DS18B20测量温度并在12864液晶屏上显
- 基于msp430单片机的电子万年历LCD 128
- LCD12864 万年历 单片机 农历 显示 温度
- 基于C8051f020的电子万年历
- 12864液晶屏控制器为ks0108的proteus仿真
- 基于MSP430F149控制LCD12864串口显示C程序
- 12864 显示1302 实时时钟
- 51单片机控制乒乓球游戏
评论
共有 条评论