老陈VFD 显示驱动程序(串口发送)

自己写的老陈VFD显示程序,串口波特率115200

头文件

#ifndef _drv_vfd128x64_h_

#define _drv_vfd128x64_h_

#include <string.h>
#include “common.h”//包含延时函数头文件
#include “drv_usart1.h”

#define bigfont 0x11//字体控制命令宏定义
#define smallfont 0x10

extern void Vfd128x64_Clear_All();//清屏
extern void Vfd128x64_Show_All();//所有点显示
extern void Vfd128x64_Show_Num(unsigned char font,unsigned char x,unsigned char y,unsigned int sdata);//4位数字显示
extern void Vfd128x64_Show_str(unsigned char font,unsigned char x,unsigned char y,unsigned char *str);//字符串显示

#endif
C文件
#include “drv_vfd128x64.h”
static unsigned char Calculate_Xor(unsigned char *dat, unsigned char len)//使用的老陈写的校验子程序,校验方法为按位异或(从控制命令、数据长度、坐标、数据)
{
unsigned char calc_xor = 0;
unsigned char i = 0;

for (i = 0; i < len; i++)
{
calc_xor ^= *dat;
dat++;
}
return (calc_xor);
}
void Vfd128x64_Show_All()//显示所有点
{
    SendData(0x20);
    SendData(0xFF);
    SendData(0x00);
    SendData(0XFF);
    SendData(0X03);
}

void Vfd128x64_Clear_All()//清屏
{
    SendData(0x20);
    SendData(0x00);
    SendData(0x00);
    SendData(0X00);
    SendData(0X03);
}

void Vfd128x64_Show_Num(unsigned char font,unsigned char x,unsigned char y,unsigned int sdata)//font=bigfont or smallfont,sdata为4位数
{
    unsigned char i=0,sxor=0;
    unsigned char temp[8];
    temp[0]=font;
    temp[1]=0x06;
    temp[2]=x;
    temp[3]=y;
    temp[4]=sdata/1000+0x30;
    temp[5]=sdata%1000/100+0x30;
    temp[6]=sdata%100/10+0x30;
    temp[7]=sdata%10+0x30;
    sxor=Calculate_Xor(temp,8);
    Delayus(30);
    SendData(0x20);
    for(i=0; i<8; i++)
    {
        SendData(temp[i]);
    }
    SendData(sxor);
    SendData(0x03);
}

void Vfd128x64_Show_str(unsigned char font,unsigned char x,unsigned char y,unsigned char *str)//font为smallfont时不能显示汉字
{
unsigned char slen=0,scom=0,sxor=0;
scom=font;
slen=strlen(str);
sxor=Calculate_Xor(str,slen)^scom^(slen+2)^x^y;
Delayus(30);
        SendData(0x20);
SendData(scom);
SendData(slen+2);
SendData(x);
SendData(y);
while(*str!=’ ’)
{
SendData(*str++);
}
SendData(sxor);
        SendData(0x03);
}
感谢老陈的指导

来源:galtdw

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2013年7月7日
下一篇 2013年7月8日

相关推荐