单片机光标显示问题 12864方面的_12864 开光标

lco12864怎样让光标显示指定的位置呢?就是在81H和80H之间显示光标呢?
你好 , LCD12864每一行有八址 , 一个地址可以显个汉字或者两个字符 , 像你说的这种是不可能实现的
像你图中的地址是0x83(显示光标的地址),
20占用的地址是0x80
14占用的地址是0x81
/1占用的地址是0x82
2/占用的地址是0x83
你说的意思我懂 , 是想让光标在月份12下面闪烁是吧???
除非年月日的间隔用汉字 , 否则你说的是无法实现的
望采纳
哪位大侠告诉我一下LCD12864中用什么指令设定光标的上下左右移动啊?
首先给指令 到对应的行然后再发指令控制光标的左右移动
单片机怎么关闭12864液晶上的光标
这个在资料里面有说明 , 一个位置地就关光标了 。
命令没写对 , 或者没写进去 。
12864光标怎么定位?
/*************************************
延时子程序
输入: nDelay 是外圈环次(数值的大小决定了的延时量)
总循环时间=外圈循环次数*内圈循环次数*for语句的指令执行时间
***************************************/
void v_DelayMs_f( unsigned int nDelay )//延时
{
unsigned int i ;
for( ; nDelay > 0 ; nDelay-- ) //外圈循环 循环次数=输入变量值
{
for( i = 125 ; i > 0 ; i-- ) ;//内圈循环 循环125次
}
}
/*************************************
液晶初始化程序
功能:12864的一些基本设置或功能配置
***************************************/
void v_Lcd12864Init_f( void )//初始化
{
v_Lcd12864SendCmd_f( 0x30 ) ;//给液晶的指令区发送0X30 , 使液晶接下来遵循基本指令集的操作
v_DelayMs_f( 50 ) ;//延时等待12864内部处理完毕
v_Lcd12864SendCmd_f( 0x01 ) ;//给液晶的指令区发送0X01 , 液晶自动执行清屏操作
v_DelayMs_f( 50 ) ;//延时等待12864内部处理完毕
v_Lcd12864SendCmd_f( 0x06 ) ;//给液晶的指令区发送0X06 , 液晶光标右移
v_DelayMs_f( 50 ) ;//延时等待12864内部处理完毕
v_Lcd12864SendCmd_f( 0x0c ) ;//给液晶的指令区发送0X0c , 液晶数据区允许接收数据并开始显示数据
}
//12864接收到有效指令后 , 需要一个内部处理的时间 , 处理完了当前指令 , 才能响应下一个指令 , 标准的做法是用查询的方式
//读取液晶的忙标志位 , 但不管怎样 , 12864总会处理完 , 所以用延时的方法等待也可 。
/*************************************
地址转换程序
功能:确定显示在哪个区域(一共有4个空位/区域) , 
将这个区域的首地址确定出来 , 并写入液晶的地址寄存器 。
输入变量:
x-显示的基础偏移地址
y-显示的区域 数值:0 , 1 , 2 , 3
***************************************/
void v_Lcd12864SetAddress_f( unsigned char x, y )//地址转换
{
unsigned char byAddress ;//最终显示地址暂存
switch( y ) //根据Y的数值来决定X应该加上多少偏移量 , 得出的是一个最终显示地址
{//(另:应该是一排一共有4个空位 , y是指当前显示在哪个空位里)
case 0 :byAddress = 0x80x ;
break;
case 1 :byAddress = 0x90x ;
break ;
case 2 :byAddress = 0x88x ;
break ;
case 3 :byAddress = 0x98x ;
break ;
default :
单片机光标显示问题 12864方面的
【单片机光标显示问题 12864方面的_12864 开光标】你可以这么做 , 我没有编译器 , 个别单词可能打错 , 明白意思就行 。
unsigned char Time_Buffer[8] = {"09:15:33"};// 这是个数组来作为时钟显示
unsigned char Setting_Status = 0;// 状态标志,0:无设置 1:设置时钟 2:分钟
bit Time_500ms_IS_OK = 0;
// 这个标志位可以用延时来改变它的状态 , 最好用定时器 , 500毫秒改变一次 , 0变1变0循环
// 这个是用来做闪烁标志的 , 当状态为小时或分钟设置时 , 判断这个标志位来改变Time_Buffer的赋值 。如Time_500ms_IS_OK == 1 , Time_Buffer[3] = Time_Buffer[4] = ' ';为0时 , 就让Time_Buffer[3] = Minute / 10; ime_Buffer[4] = Minute % 10;
// 需要注意的是 , 你需要在12864的驱动程序里写一个可以显示字符串的子函数
// 在while里面 , Setting_Status 状态为0时 , 显示正常的不闪烁的数
Write_Strins( 0, 0, Time_Buffer,8 );// 第1行第1个位置显示这个字符串
// 当按键按下 , 改变Setting_Status的值 , 进入小时/分钟/退出设置
// 当Setting_Status==3时 , 清零 , 回到初始状态
12864液晶实现光标上下左右移动的指令????
你好:
没有指令实现上下左右移动 , 是通过写地址命令来控制光标显示的位置 , 可以达到上下左右移动的目的 , 但本身并没有直接一条命令来控制 。
希望我的回答能帮助到你 。