设定起始地址0x40后,可以写入8个字节的点阵数据,即组成了一个字符。
点阵数据00是自己编写的,和地址0x40,没有什么密切关系。
下一个字符的地址是0x48。
我要 显示 0 怎么做 求高手
-----
显示0,用不着自定义字符,如下即可:
write_LCD_data(0x30); //即可。在51单片机中,模式0为13位C/T,最大定时/计数值为8192。它由TL0的低5位和TH0的8个位组成13位定时器/计数器TL0的5个位最大为0x1f,也就是十进制的31。那么同样可以用模式1那样的公式来计算初始值,只需要把因子改成32即可:
#define CNT XXXX //XXXX为需要定时的值
//假定1个机器周期 = 1us
TH0 = (8192 - CNT) / 32;
TL0 = (8192 - CNT) % 32;这是基本问题。
定时器置初值后,当定时器全部位数为1,则溢出启动定时中断。
在本题目中,要求50ms中断,求定时器初值。
晶振110592M,每个机器周期时间为:t=12×(1/110592M) 单位:us
50ms所需机器周期为:50×1000÷t=46080
那么需要初值为:
0xFFFF-46080=65535-46080=19456=0x4C00
因此,置初值为TH=0x4c,TL=0x00,经过46080个指令周期,计数器将产生50ms定时中断。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)