资源简介
已经经过多次下载验证过,完全可以实现,没有问题。
代码片段和文件信息
#include
#include “cry1602.h“
typedef unsigned char uchar;
typedef unsigned int uint;
/**************宏定义***************/
#define DataDir P2DIR
#define DataPort P2OUT
#define Busy 0x80
#define CtrlDir P6DIR
#define CLR_RS P6OUT&=~BIT3; //RS = P6.3
#define SET_RS P6OUT|=BIT3;
#define CLR_RW P6OUT&=~BIT4; //RW = P6.4
#define SET_RW P6OUT|=BIT4;
#define CLR_EN P6OUT&=~BIT5; //EN = P6.5
#define SET_EN P6OUT|=BIT5;
/*******************************************
函数名称:DispNchar
功 能:让液晶从某个位置起连续显示N个字符
参 数:x--位置的列坐标
y--位置的行坐标
n--字符个数
ptr--指向字符存放位置的指针
返回值 :无
********************************************/
void DispNChar(uchar xuchar y uchar nuchar *ptr)
{
uchar i;
for (i=0;i {
Disp1Char(x++yptr[i]);
if (x == 0x0f)
{
x = 0;
y ^= 1;
}
}
}
/*******************************************
函数名称:LocateXY
功 能:向液晶输入显示字符位置的坐标信息
参 数:x--位置的列坐标
y--位置的行坐标
返回值 :无
********************************************/
void LocateXY(uchar xuchar y)
{
uchar temp;
temp = x&0x0f;
y &= 0x01;
if(y) temp |= 0x40; //如果在第2行
temp |= 0x80;
LcdWriteCommand(temp1);
}
/*******************************************
函数名称:Disp1Char
功 能:在某个位置显示一个字符
参 数:x--位置的列坐标
y--位置的行坐标
data--显示的字符数据
返回值 :无
********************************************/
void Disp1Char(uchar xuchar yuchar data)
{
LocateXY( x y );
LcdWriteData( data );
}
/*******************************************
函数名称:LcdReset
功 能:对1602液晶模块进行复位操作
参 数:无
返回值 :无
********************************************/
void LcdReset(void)
{
CtrlDir |= 0x07; //控制线端口设为输出状态
DataDir = 0xFF; //数据端口设为输出状态
LcdWriteCommand(0x38 0); //规定的复位操作
Delay5ms();
LcdWriteCommand(0x38 0);
Delay5ms();
LcdWriteCommand(0x38 0);
Delay5ms();
LcdWriteCommand(0x38 1); //显示模式设置
LcdWriteCommand(0x08 1); //显示关闭
LcdWriteCommand(0x01 1); //显示清屏
LcdWriteCommand(0x06 1); //写字符时整体不移动
LcdWriteCommand(0x0c 1); //显示开,不开游标,不闪烁
}
/*******************************************
函数名称:LcdWriteCommand
功 能:向液晶模块写入命令
参 数:cmd--命令,
chk--是否判忙的标志,1:判忙,0:不判
返回值 :无
********************************************/
void LcdWriteCommand(uchar cmduchar chk)
{
if (chk) WaitForEnable(); // 检测忙信号?
CLR_RS;
CLR_RW;
_NOP();
DataPort = cmd; //将命令字写入数据端口
_NOP();
SET_EN; //产生使能脉冲信号
_NOP();
_NOP();
CLR_EN;
}
/*******************************************
函数名称:LcdWriteData
功 能:向液晶显示的当前地址写入显示数据
参 数:data--显示字符数据
返回值 :无
********************************************/
void LcdWriteData( uchar data )
{
WaitForEnable(); //等待液晶不忙
SET_RS;
CLR_RW;
_NOP();
DataPort = data; //将显示数据写入数据端口
_NOP();
SET_EN;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4420 2013-03-06 15:22 18b20\1602.c
文件 159 2013-03-06 15:22 18b20\1602.eww
文件 4206 2013-03-06 16:23 18b20\18b20.c
文件 3488 2013-03-11 09:27 18b20\18b20.dep
文件 15457 2013-03-06 15:22 18b20\18b20.ewd
文件 46360 2013-03-06 15:22 18b20\18b20.ewp
文件 444 2008-03-21 10:48 18b20\cry1602.h
文件 24597 2013-03-07 20:55 18b20\Debug\Exe\18b20.d43
文件 17427 2013-03-06 15:22 18b20\Debug\Obj\1602.r43
文件 247 2013-03-11 09:12 18b20\Debug\Obj\18b20.pbd
文件 20186 2013-03-07 20:55 18b20\Debug\Obj\18b20.r43
文件 24265 2013-03-07 20:55 18b20\Debug\Obj\main.r43
文件 260 2007-12-31 11:56 18b20\DS18B20.h
文件 3607 2013-03-06 15:30 18b20\main.c
文件 3148 2013-03-11 09:27 18b20\settings\1602.wsdt
文件 2650 2013-03-11 09:11 18b20\settings\18b20.cspy.bat
文件 4761 2013-03-11 09:27 18b20\settings\18b20.dbgdt
文件 676 2013-03-11 09:27 18b20\settings\18b20.dni
目录 0 2013-03-06 15:31 18b20\Debug\Exe
目录 0 2013-03-06 15:21 18b20\Debug\List
目录 0 2013-03-11 09:12 18b20\Debug\Obj
目录 0 2013-03-06 15:21 18b20\Debug
目录 0 2013-03-06 16:17 18b20\settings
目录 0 2013-03-06 16:23 18b20
----------- --------- ---------- ----- ----
176358 24
- 上一篇:dsp28335AD7606程序
- 下一篇:OPC 环境搭建详解
相关资源
- C2000 DSP对DS18B20的初始化读写程序
- 基于单片机的DS18B20温度采集,液晶屏
- STM32 STM32F103C8T6 读取DS18B20温度数据例
- 基于51单片机、PCF8563时钟芯片的智能
- DS18B20仿真
- msp430 DS18B20.rar
- DS18B20-温度传感器的51汇编程序
- Proteus8.9 VSM Studio WINAVR编译器仿真ATM
- DS18B20测温程序完全解读
- 同一总线上多个DS18b20
- 读取DS18B20ID号
- 基于DS18B20的温度控制系统
- 51单片机Ds1302及温度Ds18B20+1602液晶显示
- DS18B20初始化程序
- 智能大棚单片机源码
- PROTEUS仿真DS18B20程序+仿真
- PIC单片机 18B20温度传感器和六位数码
- 基于单片机万年历+温度+LCD12864 prote
- 基于AT89C51_DS18B20的数字温度计设计
- 51单片机驱动DS1302时间模块+DS18B20温度
- STC89C52 LCD1602 DS18B20 LED
- DS18B20 Verilog驱动程序
- 基于DS18B20的DSP温度测量并用液晶显示
- 基于ARM的DS18B20程序
- DS18B20测温及QT界面实现
- 1602+DS1302时钟+DS18B20
- 简单、规范的Linux下的ds18b20驱动基于
- 飞思卡尔DG128单片机ds18b20程序
- s3c2440裸机DS18B20程序
- 51单片机用温度传感器控制直流电机转
评论
共有 条评论