JHD12864显示喇叭图标例程
时间: 2023-06-19 09:08:18 浏览: 143
以下是一个基于JHD12864显示器的显示喇叭图标的例程,使用C语言编写,需要根据具体硬件进行适当修改:
```c
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit SCL=P1^0;
sbit SDA=P1^1;
void Delay5ms() // 延时5ms
{
uint i,j;
for(i=0;i<50;i++)
for(j=0;j<114;j++);
}
void WriteCommand(uchar com) // 写命令
{
uchar i;
SCL=0;
for(i=0;i<8;i++)
{
SDA=com&0x80;
SCL=1;
_nop_();
_nop_();
SCL=0;
com<<=1;
}
}
void WriteData(uchar dat) // 写数据
{
uchar i;
SCL=0;
for(i=0;i<8;i++)
{
SDA=dat&0x80;
SCL=1;
_nop_();
_nop_();
SCL=0;
dat<<=1;
}
}
void ShowBuzzerIcon() // 显示喇叭图标
{
uchar i,j;
WriteCommand(0x40); // 设置起始行地址为0
WriteCommand(0xB0); // 设置页地址为0
WriteCommand(0x10); // 设置列地址的高4位为0
WriteCommand(0x00); // 设置列地址的低4位为0
for(i=0;i<8;i++)
{
for(j=0;j<64;j++)
{
WriteData(0xFF); // 喇叭图标的像素点为1
}
}
}
void main()
{
WriteCommand(0xE2); // 软复位
WriteCommand(0x2C); // 增益设置
WriteCommand(0x2E); // 增益开启
WriteCommand(0x2F); // 显示开启
while(1)
{
ShowBuzzerIcon();
Delay5ms();
}
}
```
在这个例程中,我们使用了JHD12864显示器,通过写命令和写数据的方式,在显示器上显示喇叭图标。主函数中,我们不断地显示喇叭图标并延时5ms。
阅读全文