标题:
关于旋转LED显示屏的单片机程序问题
[打印本页]
作者:
1404310189
时间:
2019-5-23 09:44
标题:
关于旋转LED显示屏的单片机程序问题
各位大佬,本人近期搞了一个旋转LED显示屏。写好程序后进行运行。发现显示的字是镜像文字,比如说“老”,显示的就是镜像文字。然后我就想:即然是镜像文字,那我就在取模软件里取镜像模,这样显示的就是正常字了。
结果实践之后不得行,电机的正转和反转也对文字没影响。跪求大佬指点一下怎么解决这个问题,采用16*16,程序如下,led低电平点亮
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uint num; //???????
sbit wai=P3^2; //??????
//???
void delay(uint z) //???
{
uchar x,y;
for(x=z;x>0;x--)
for(y=10;y>0;y--);
}
//?????
uchar code shuzu2[]={
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",0*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",1*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",2*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",3*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",4*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",5*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",6*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",7*/
0xFD,0xEF,0xDD,0xEF,0xDD,0xDF,0xDD,0xDF,0xDD,0xBF,0xDD,0x83,0x01,0x6D,0xDC,0xED,
0xDC,0xDD,0xDD,0xDD,0xD9,0xBD,0xD5,0xBD,0x8D,0xFD,0xDD,0xF1,0xFD,0xFF,0xFF,0xFF,/*"老",8*/
0xFF,0xFD,0xC0,0x1B,0xFF,0xF7,0xFF,0x8F,0x00,0x7F,0xFF,0xFF,0xB0,0x0F,0xB7,0xFF,
0xB7,0xFF,0xB7,0xFF,0x80,0x00,0xB7,0xFF,0xB7,0xDF,0xB7,0xEF,0xB0,0x1F,0xFF,0xFF,/*"师",9*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xE5,0xFF,0xE3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*",",10*/
0xFE,0xFF,0xFD,0xFB,0xF3,0xE3,0xC0,0x3F,0x3F,0xE3,0xF6,0xFD,0xE9,0xFD,0x9F,0x6D,
0xDF,0xB5,0xD0,0x7D,0xDF,0xFD,0xDB,0xF1,0xDD,0xFF,0xCE,0x6F,0xDF,0xF3,0xFF,0xFF,/*"您",11*/
0xFE,0xFF,0xDE,0xDF,0xDE,0xDF,0xD6,0xDF,0xDA,0xDF,0xDC,0xDF,0x5E,0xDF,0x9E,0x00,
0xDE,0xDF,0xDC,0xDF,0xDA,0xDF,0xD6,0xDF,0xDE,0xDF,0xDE,0xFF,0xFE,0xFF,0xFF,0xFF,/*"辛",12*/
0xFD,0xFF,0xDD,0xFF,0xDD,0xFF,0xDD,0x81,0xDD,0xBB,0x05,0xBB,0xDD,0xBB,0xD0,0x3B,
0xDD,0xBB,0xDD,0xBB,0x05,0xBB,0xDD,0x81,0xDD,0xFF,0xDD,0xFF,0xDD,0xFF,0xFF,0xFF,/*"苦",13*/
0xFF,0xFF,0xBF,0xFF,0xBF,0xFF,0xBF,0xFF,0xBF,0xFF,0xBF,0xFD,0xBF,0xFE,0xB0,0x01,
0xB7,0xFF,0xAF,0xFF,0xAF,0xFF,0x9F,0xFF,0x9F,0xFF,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,/*"了",14*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x05,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*"!",15*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",16*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",17*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",18*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",19*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",20*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",21*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",22*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",23*/
};
void display(uchar *dat,uint ci)
{
uint k=0;
uint i=0;
while(k<ci)
{
if(wai==0) //当检测红外开始时
{
for(i=0;i<128;i=i+2) //设置显示宽度
{
P0=dat[i+k]; //显示高八位
P1=dat[i+1+k]; //第八位
delay(12); //???
}
P1=0xff; //???
P0=0xff;
k+=2; //字模地址加2,滚动显示
}
}
}
//??????
void main()
{
while(1)
{
display(shuzu2,384); //四个清屏加八个字,一共12*32=384个数据,一个字32个数据
}
}
5IF73BDFQO0XBQ)3_VMCIQL.png
(5.72 KB, 下载次数: 182)
下载附件
2019-5-23 09:33 上传
作者:
liuzx66
时间:
2019-5-23 10:56
显示出现问题,肯定是你取数据错了,仔细检查显示程序的取字模的公式和提取字模的方式是否一致
作者:
taotie
时间:
2019-5-23 21:01
取模:逐列式,逐行式,行列式,列行式,逆向,顺向都试一下。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1