LED点阵显示屏(完整源程序版) - 图文(6)

2019-02-17 11:11

(3),main.h #define __MAIN_H #include #define uint unsigned int #define uchar unsigned char extern uchar scan_mod;

2,code_area.c LED点阵的字库

//英文的ASCII为97-122(十进制) 61-7A(ASCII码) #include

unsigned char code num_dotmatrix[10][16]={ /*-- 文字: 0 --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/

0xFF,0xFF,0xFF,0xE7,0xDB,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xDB,0xE7,0xFF,0xFF,/*\*/

0xFF,0xFF,0xFF,0xEF,0x8F,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0x83,0xFF,0xFF,/*\0xFF,0xFF,0xFF,0xC3,0xBD,0xBD,0xBD,0xFB,0xFB,0xF7,0xEF,0xDF,0xBD,0x81,0xFF,0xFF,/*\0xFF,0xFF,0xFF,0xC3,0xBD,0xBD,0xFB,0xE7,0xFB,0xFD,0xFD,0xBD,0xBB,0xC7,0xFF,0xFF,/*\0xFF,0xFF,0xFF,0xFB,0xF3,0xEB,0xDB,0xDB,0xBB,0xBB,0x81,0xFB,0xFB,0xE1,0xFF,0xFF,/*\0xFF,0xFF,0xFF,0x81,0xBF,0xBF,0xBF,0xA7,0x9B,0xFD,0xFD,0xBD,0xBB,0xC7,0xFF,0xFF,/*\0xFF,0xFF,0xFF,0xE3,0xDB,0xBF,0xBF,0xA7,0x9B,0xBD,0xBD,0xBD,0xDB,0xE7,0xFF,0xFF,/*\0xFF,0xFF,0xFF,0x81,0xBB,0xBB,0xF7,0xF7,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xFF,0xFF,/*\0xFF,0xFF,0xFF,0xC3,0xBD,0xBD,0xBD,0xDB,0xE7,0xDB,0xBD,0xBD,0xBD,0xC3,0xFF,0xFF,/*\*/

0xFF,0xFF,0xFF,0xE7,0xDB,0xBD,0xBD,0xBD,0xD9,0xE5,0xFD,0xFD,0xDB,0xC7,0xFF,0xFF/*\};

unsigned char code picture_code[128]={ /*--图片--*/ /*--宽度16*64*/

0xFF,0xFF,0xFF,0xE0,0x7F,0xFE,0x03,0xFF,0xF8,0x01,0xFF,0xCF,0x3F,0xFC,0xF8,0x7F, 0xF3,0xFC,0xFF,0xBF,0x9F,0xF3,0xFF,0x3F,0xE6,0x66,0x3E,0x7F,0xCF,0xF5,0xAD,0xDF, 0xEC,0x63,0xBE,0xC4,0x27,0xEC,0x21,0xCF,0xE9,0x5B,0xBC,0xFF,0xF3,0xCE,0x73,0xEF, 0xEF,0xFF,0xBD,0xFF,0xFB,0xDF,0xFF,0xEF,0xEF,0xFF,0xBD,0xFF,0xF3,0xDF,0xFF,0xEF, 0xEE,0xF7,0xBC,0xE0,0x77,0xCC,0xFD,0x9F,0xEE,0x67,0xBE,0xFF,0xF7,0xEE,0xF9,0x9F, 0xEF,0x0F,0x3E,0x7F,0xF7,0xEE,0x03,0x3F,0xE7,0xFF,0x7F,0x3F,0xC7,0xF7,0xFF,0x7F,

26

0xF7,0xFE,0x7F,0xBF,0x8F,0xF1,0xFE,0x7F,0xF3,0xFC,0xFF,0x9F,0xBF,0xFC,0xFC,0xFF,

0xF8,0x01,0xFF,0xC0,0x7F,0xFF,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*\未命名文件\};

unsigned char code dotmatrix_chinese[8][32]= {

0xDF,0xBF,0xDF,0xBF,0xDF,0xBF,0xDC,0x03,0x03,0xBF,0xDF,0xBF,0x88,0x01,0x97,0xFF,

0x97,0xBF,0x5F,0xBF,0xDC,0x03,0xDF,0xBF,0xDF,0xBF,0xDF,0xBF,0xD0,0x01,0xDF,0xFF,/*\桂\0xEF,0xDF,0xEF,0xDF,0xEF,0xDF,0xEF,0xDF,0x02,0x01,0xEF,0xDF,0xEF,0x9F,0xC7,0x8F, 0xCB,0x4F,0xAB,0x57,0xAE,0xD7,0x6D,0xD9,0xEB,0xDB,0xEF,0xDF,0xEF,0xDF,0xEF,0xDF,/*\\

0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xC0,0x07,0xDE,0xF7,0xDE,0xF7,0xC0,0x07,0xDE,0xF7,

0xDE,0xF7,0xDE,0xF7,0xC0,0x07,0xDE,0xF7,0xFE,0xFD,0xFE,0xFD,0xFF,0x01,0xFF,0xFF,/*\电\0xFF,0xFF,0xC0,0x0F,0xFF,0xDF,0xFF,0xBF,0xFF,0x7F,0xFE,0xFF,0xFE,0xFF,0xFE,0xFB,

0x00,0x01,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFA,0xFF,0xFD,0xFF,/*\子\0xF9,0xF7,0x87,0x77,0xF7,0xB7,0xF7,0xB7,0x01,0xF7,0xE7,0x77,0xE3,0xB7,0xD5,0xB7, 0xD7,0xF1,0xB7,0x87,0x74,0x77,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,/*\科\0xEF,0xDF,0xEF,0xDF,0xEF,0xDF,0x02,0x01,0xEF,0xDF,0xEB,0xDF,0xE6,0x03,0xCE,0xF7, 0x2F,0x77,0xEF,0x6F,0xEF,0x9F,0xEF,0x9F,0xEF,0x6F,0xEE,0xF1,0xA9,0xFB,0xDF,0xFF,/*\技\0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0x00,0x01,0xFE,0xFF,0xFD,0x7F,

0xFD,0x7F,0xFD,0xBF,0xFB,0xBF,0xFB,0xDF,0xF7,0xEF,0xEF,0xE7,0xDF,0xF1,0xBF,0xFB,/*\大\0xFE,0xF7,0xEF,0x73,0xF3,0x37,0xF7,0x6F,0x80,0x01,0xBF,0xFB,0x70,0x17,0xFF,0xBF, 0xFF,0x7F,0x80,0x01,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFD,0x7F,0xFE,0xFF/*\学\} ;

unsigned char code letter_matrix[26][16]= {

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC3,0xBD,0xE1,0xDD,0xBD,0xBD,0xC0,0xFF,0xFF,/*\0xFF,0xFF,0xFF,0x3F,0xBF,0xBF,0xBF,0xA7,0x9B,0xBD,0xBD,0xBD,0x9B,0xA7,0xFF,0xFF,/*\0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE3,0xDD,0xBF,0xBF,0xBF,0xDD,0xE3,0xFF,0xFF,/*\0xFF,0xFF,0xFF,0xF9,0xFD,0xFD,0xFD,0xE1,0xDD,0xBD,0xBD,0xBD,0xD9,0xE4,0xFF,0xFF,/*\0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC3,0xBD,0x81,0xBF,0xBF,0xBD,0xC3,0xFF,0xFF,/*\0xFF,0xFF,0xFF,0xF0,0xEE,0xEF,0xEF,0x81,0xEF,0xEF,0xEF,0xEF,0xEF,0x83,0xFF,0xFF,/*\0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC1,0xBB,0xBB,0xC7,0xBF,0xC3,0xBD,0xBD,0xC3,/*\0xFF,0xFF,0xFF,0x3F,0xBF,0xBF,0xBF,0xA3,0x9D,0xBD,0xBD,0xBD,0xBD,0x18,0xFF,0xFF,/*\0xFF,0xFF,0xFF,0xCF,0xCF,0xFF,0xFF,0x8F,0xEF,0xEF,0xEF,0xEF,0xEF,0x83,0xFF,0xFF,/*\

27

0xFF,0xFF,0xFF,0xF3,0xF3,0xFF,0xFF,0xE3,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xBB,0x87,/*\0xFF,0xFF,0xFF,0x3F,0xBF,0xBF,0xBF,0xB1,0xB7,0xAF,0x97,0xB7,0xBB,0x11,0xFF,0xFF,/*\0xFF,0xFF,0xFF,0x8F,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0x83,0xFF,0xFF,/*\0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0xB6,0xB6,0xB6,0xB6,0xB6,0x12,0xFF,0xFF,/*\0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x23,0x9D,0xBD,0xBD,0xBD,0xBD,0x18,0xFF,0xFF,/*\0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC3,0xBD,0xBD,0xBD,0xBD,0xBD,0xC3,0xFF,0xFF,/*\0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x27,0x9B,0xBD,0xBD,0xBD,0xBB,0x87,0xBF,0x1F,/*\0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE1,0xDD,0xBD,0xBD,0xBD,0xDD,0xE1,0xFD,0xF8,/*\0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x11,0xCD,0xDF,0xDF,0xDF,0xDF,0x07,0xFF,0xFF,/*\0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC1,0xBD,0xBF,0xC3,0xFD,0xBD,0x83,0xFF,0xFF,/*\0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0xEF,0x83,0xEF,0xEF,0xEF,0xEF,0xEF,0xF3,0xFF,0xFF,/*\0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x39,0xBD,0xBD,0xBD,0xBD,0xB9,0xC4,0xFF,0xFF,/*\0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x18,0xBD,0xDB,0xDB,0xD7,0xEF,0xEF,0xFF,0xFF,/*\0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x28,0x6D,0x6D,0x55,0x55,0xBB,0xBB,0xFF,0xFF,/*\0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x91,0xDB,0xE7,0xE7,0xE7,0xDB,0x89,0xFF,0xFF,/*\0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x18,0xBD,0xDB,0xDB,0xD7,0xE7,0xEF,0xEF,0x1F,/*\0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x81,0xBB,0xF7,0xEF,0xEF,0xDD,0x81,0xFF,0xFF /*\};

code_area.c所用到的头文件源代码: (1),code_area.h

#define __CODE_AREA_H #include #define uint unsigned int #define uchar unsigned char

extern unsigned char code num_dotmatrix[10][16]; extern unsigned char code dotmatrix_chinese[8][32];

extern unsigned char code picture_code[128]; extern unsigned char code letter_matrix[26][16];

//extern void display(unsigned char char_num);//显示函数 //extern unsigned char xdata disp_buf[128]; //extern unsigned char xdata disp_buf[64];

28

关键的显示子程序源代码:

3,display.c

/****************************************************************************** *文件:display.c *功能:处理缓存及显示

********************************************************************************/ #include #include #include #include #include

#define dispbuf_mul 16 //显示屏行数 #define plong 8 //屏宽为8*8=64 uchar scan_temp;//显示内容标志

sbit R1= P0^0 ; sbit R2= P0^1; sbit G1= P0^2; sbit G2= P0^3; sbit LL1 = P0^4; sbit LL2= P0^5; sbit LL3= P0^6; sbit LL4= P0^7; sbit OE= P2^3 ; sbit STR= P2^2; sbit CLK= P2^1;

unsigned char xdata disp_buf[plong*dispbuf_mul]; //显示屏宽度的单倍显示缓存 void dztodisp(void); //汉字数据到显示缓存区 void photo_todisp(void); //图片到缓存 void letter_todisp(void); //字母到缓存 void num_todisp(void); //数据到显示缓存区 void Showline(uchar line_num); //行扫 void ddlay(uchar ms); //延时

29

void display1p();//显示函数

void moveleft(unsigned char sspp); //左移显示效果 void leftoned();//左移一点

void flicker(unsigned char sspeed,unsigned char stop);//闪烁显示

/*********************************************** 函数名称:cldispb() 传入参数:无

函数功能:清显示缓存区

************************************************/ void cldispb(void) { }

/*********************************************** 函数名称:onedisp()

传入参数:unsigned char ttime 显示时长 函数功能:立即显示

************************************************/ void onedisp(unsigned char ttime) {

//清显示缓存区

uchar *disbuff; uint i;

disbuff=&disp_buf[0];

for(i=0;i

*disbuff=0xff; disbuff++;

uint i,stopt;

dztodisp(); //计算缓存直接送入显示缓存 stopt=ttime*50; //显示时间 for(i=0;i

display1p(); //调用扫描子程序 }

30


LED点阵显示屏(完整源程序版) - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:二年级数学下册 几百几十的加减法1教案 人教版

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: