51单片机程序设计:[3]8*8点阵翻页显示love

作者:追风筝的人 | 创建时间: 2023-06-03
8X8行扫描,翻页显示 love。适合出刚刚入门学习51单片机的同志们。下面提供详细的电路图和程序。...
51单片机程序设计:[3]8*8点阵翻页显示love

操作方法

通过下图软件,先分别取出L O V E的字模存放数组里面。这里的结果是: uchar code TAB[]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, //空屏 0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,0xC1,0xFF, //L 0xE3,0xDD,0xDD,0xDD,0xDD,0xDD,0xE3,0xFF, //O 0xDD,0xDD,0xDD,0xDD,0xDD,0xEB,0xF7,0xFF, //V 0xC1,0xFD,0xFD,0xC1,0xFD,0xFD,0xC1,0xFF, //E 0xff,0xc9,0xb6,0xbe,0xdd,0xeb,0xf7,0xff, //心号0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, //空屏};

字码取模方式为逐行 第一次从字码数组中取出第1~8个数据置于列上,行扫描顺序为1~8行,显示一帧,第二次取第9~16个数据,行扫描顺序仍为1~8行,显示第二帧,第三次取第17~24个数据,…… 具体代码下面步骤: 由于编辑器显示的不够规整,格式见图片:

#include<at89x52.h> #include "51hei.H" #define uchar unsigned char #define uint unsigned int uchar code TAB[]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, //空屏 0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,0xC1,0xFF, //L 0xE3,0xDD,0xDD,0xDD,0xDD,0xDD,0xE3,0xFF, //O 0xDD,0xDD,0xDD,0xDD,0xDD,0xEB,0xF7,0xFF, //V 0xC1,0xFD,0xFD,0xC1,0xFD,0xFD,0xC1,0xFF, //E 0xff,0xc9,0xb6,0xbe,0xdd,0xeb,0xf7,0xff, //心号0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, //空屏}; uchar i,t; delay(uchar t) { while (t--) {;} } void main(void) { uchar N,T,d; P2_7=0;//关数码管while(1) { for(N=0;N<7;N++) //循环扫描一遍6帧 for(T=0;T<90;T++) //速度 { d=0x01; out164(d); for(i=0;i<8;i++) { P0=TAB[i+8*N]; delay(100); d=d<<1|d>>7; P0=0xff; // 消隐,很重要,不加要红一片out164(d);} } } } 效果如下图:

点击展开全文

更多推荐