"); //-->
要能画波形,有一点是至关重要重要的,那就是打点,所谓打点,就是能在指定的X,Y的坐标处打上一个小黑点,12864液晶的操作就像大多数16位以上的处理器一样是字节或字或双字操作的,不像51和彩色液晶一样的位操作,所以要在12864上打点,就必须用“与或”的方式。下面把打点的函数贴上,这是以前做温度波形显示的时候做的
/****************打点******************/
void point(uchar x,uchar y)
{
uchar y1,hang,lie,msb_data,lsb_data,temp=0x01;
if(y1!=y)
{
msb_data=0;
lsb_data=0;
}
y1=y;
if(y<32)
{
hang=0x80+y;
lie=0x80;
}
if(y>31)
{
hang=0x80+y-32;
lie=0x88;
}
if(y>63)//return;
{
lcm_com(0x80);
_nop_();
hanzi("温度超出显示范围");
while(1)
flash();
}
lie=lie+x/16;
if(x%16==0)
{
msb_data=0;
lsb_data=0;
}
if(x%16<8)
{
msb_data=msb_data|(temp<<(7-x%16));
lsb_data=0x00|lsb_data;
}//保留以前的数据,把第x个点亮
if(x%16==8)
{
msb_data=msb_data|0x00;
lsb_data=lsb_data|0x80;
}
if(x%16>8)
{
msb_data=msb_data|0x00;
lsb_data=lsb_data|(temp<<(15-x%16));
}
lcm_com(0x34);//扩充指令集
lcm_com(hang);
lcm_com(lie);
lcm_dat(msb_data);
lcm_dat(lsb_data);
lcm_com(0x36);//绘图显示开
}
打点完成之后波形就相应的出来了,比如说要记录一个波形随时间变化,x坐标随着时间自动增加,x增加一个单位时相应y的值就得确定,在送个打点函数,波形就出来了。这是一种实时波形
还有一种波形,比如正弦,余弦,等等数学波形,可以添加math.h这个头文件。然后里面相应的函数得到x,y的关系,就能画出这个波形了,下面把正弦波的函数贴出来
/**********正弦波*********/
void fsin()
{
float x,y;
uchar x1,y1;
for(x=0;x<(4*3.1415);x+=0.1)
{
y=sin(x);
x1=10*x;
y1=31-(10*y+0.5);
point(x1,y1);
}
}
y1=31-(10*y+0.5);这条语句是对y值进行四舍五入!
其实波形的显示就是这么简单!
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
TCL王牌TCL3418KV3
明协牌电蚊拍电路
揭秘STM32 OTA升级:轻松实现固件远程无缝更新(一)
村田SDGs案例分享 | 无锡村田电子环保型立体停车场
适合NFC应用的电感,怎么选型?如何贴装?
台新老两栖车性能对比
电话原理图
美之杰牌MWQ-A型单管灭蚊灯电路
pcb抄板,电子产品克隆开发设计
村田近距离无线用电感器在汽车数字钥匙中的应用
揭秘STM32 OTA升级:轻松实现固件远程无缝更新(三)
关于ftpXfer 的使用
TCL王牌TCL3418KV1
超声波驱虫器电路
揭秘STM32 OTA升级:轻松实现固件远程无缝更新(二)
传输基本知识
红外遥控六足爬虫机器人设计
台湾两艘“基德”级驱逐舰正式入役
观众登记全面开启,7月9-11日与您相约西部电博会!
台湾透露“光华六号”隐身导弹艇细节
微小型制导弹药的关键技术
一文详解AI芯片价值链:引领未来计算的核心力量
专业PCB电路板生产及样品加工
红外遥控器软件解码原理和程序
pcb抄板,电子产品克隆开发设计
探索吉他音色与效果器的奇妙世界(2)- 失真类效果器
网络中心战对无人机系统的技术挑战
【技术浅谈】谈谈EV中的主动放电
YAESU FT-50R 扩频资
请教:如何在vxworks下直接收发以太网的MAC帧