-
大小: 49.19 KB文件类型: .rar金币: 1下载: 0 次发布日期: 2024-11-18
- 语言: 其他
- 标签: msp430f149 ps2键盘 lcd1602
资源简介
msp430f149控制PS2键盘并用1602显示,调试通过
代码片段和文件信息
#include
#include “cry1602.h“
typedef unsigned char uchar;
typedef unsigned int uint;
/**************宏定义***************/
#define DataDir P4DIR
#define DataPort P4OUT
#define Busy 0x80
#define CtrlDir P3DIR
#define CLR_RS P3OUT&=~BIT0 //RS = P3.0
#define SET_RS P3OUT|=BIT0
#define CLR_RW P3OUT&=~BIT1 //RW = P3.1
#define SET_RW P3OUT|=BIT1
#define CLR_EN P3OUT&=~BIT2 //EN = P3.2
#define SET_EN P3OUT|=BIT2
/*******************************************
函数名称: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;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 12489 2008-03-22 21:37 MSP430f149-ps2-1602\P1\Backup of P1.ewd
文件 43826 2008-03-22 21:37 MSP430f149-ps2-1602\P1\Backup of P1.ewp
文件 689 2008-03-05 14:30 MSP430f149-ps2-1602\P1\BoardConfig.h
文件 2248 2007-12-31 10:47 MSP430f149-ps2-1602\P1\code.h
文件 4420 2008-03-05 15:30 MSP430f149-ps2-1602\P1\cry1602.c
文件 401 2007-12-29 21:25 MSP430f149-ps2-1602\P1\cry1602.h
文件 19318 2011-06-15 21:23 MSP430f149-ps2-1602\P1\Debug\Exe\P1.d43
文件 13831 2011-06-15 21:23 MSP430f149-ps2-1602\P1\Debug\Obj\cry1602.r43
文件 16994 2011-06-15 21:23 MSP430f149-ps2-1602\P1\Debug\Obj\Keyboard.r43
文件 21420 2011-06-15 21:23 MSP430f149-ps2-1602\P1\Debug\Obj\main.r43
文件 265 2011-06-15 21:23 MSP430f149-ps2-1602\P1\Debug\Obj\P1.pbd
文件 391 2007-12-31 13:06 MSP430f149-ps2-1602\P1\gdata.h
文件 3519 2011-06-16 10:41 MSP430f149-ps2-1602\P1\Keyboard.c
文件 124 2007-12-31 12:54 MSP430f149-ps2-1602\P1\Keyboard.h
文件 4676 2011-06-16 10:41 MSP430f149-ps2-1602\P1\main.c
文件 6729 2011-06-16 10:41 MSP430f149-ps2-1602\P1\P1.dep
文件 17846 2011-06-15 21:23 MSP430f149-ps2-1602\P1\P1.ewd
文件 47264 2011-06-15 21:23 MSP430f149-ps2-1602\P1\P1.ewp
文件 156 2008-03-22 21:37 MSP430f149-ps2-1602\P1\P1.eww
文件 4145 2011-06-16 10:41 MSP430f149-ps2-1602\P1\Release\Exe\P1.txt
文件 7666 2011-06-15 21:23 MSP430f149-ps2-1602\P1\Release\Obj\cry1602.r43
文件 10002 2011-06-16 10:41 MSP430f149-ps2-1602\P1\Release\Obj\Keyboard.r43
文件 12646 2011-06-16 10:41 MSP430f149-ps2-1602\P1\Release\Obj\main.r43
文件 271 2011-06-16 10:41 MSP430f149-ps2-1602\P1\Release\Obj\P1.pbd
文件 2594 2011-06-16 10:25 MSP430f149-ps2-1602\P1\settings\P1.cspy.bat
文件 3880 2011-06-16 10:41 MSP430f149-ps2-1602\P1\settings\P1.dbgdt
文件 981 2011-06-16 10:41 MSP430f149-ps2-1602\P1\settings\P1.dni
文件 3116 2011-06-16 10:41 MSP430f149-ps2-1602\P1\settings\P1.wsdt
目录 0 2011-06-15 21:23 MSP430f149-ps2-1602\P1\Debug\Exe
目录 0 2011-06-15 21:22 MSP430f149-ps2-1602\P1\Debug\List
............此处省略12个文件信息
- 上一篇:qt-电子点菜系统
- 下一篇:CAD计算板料展开插件
相关资源
- vhdl与lcd1602实现的多控制电子钟
- MSP430f149读sd FAT txt
- ADC0809数字电压表 LCD1602显示 汇编程序
- LCD1602显示程序
- 初识畅学系列MSP430F149单片机开发板
- 第四章 畅学多功能实验箱液晶资源详
- proteus仿真、keil4、DHT11、LCD1602
- DS18B20温度+DHT11湿度+LCD1602
- MSP430F149中文英文用户指南和英文数据
- 基于FPGA的LCD1602实时显示DS18b20温度
- STM32+ZE08-CH2O甲醛传感器+LCD1602显示.r
- 基于51单片机的电机转速监测
- FPGA VGA lcd1602 显示时钟 闹钟 按键控制
- STM32f103电压采样并用LCD1602显示
- FPGA PS2键盘接口设计
- STM32CubeMX+LCD1602 + PCF8574AT
- fpga verilog 电子琴
- 基于STM32的LCD1602驱动程序
- 基于stm32的lcd1602
- MSP430F149最小系统板
- LCD1602硬件结构及程序设计
- 基于stm32 和LCD1602的电子密码锁课程设
- STM32-串口能显示-超声波测距SR04 - LC
- MSP430F149BSL编程无须仿真器资料(新版
- VHDL利用PCF8591采集4个电压在LCD1602上进
- STM32F407VET6_SMART_LCD1602显示
- 基于STM32单片机的饮水机水位控制系统
- stm32F103C8T6+LCD1602.rar
- 51单片机时钟电路LCD1602显示完整源码
- 基于stm32的lcd1602显示C程序源码
评论
共有 条评论