点阵数码混合屏故障。
整屏抖动、闪烁,原因是机内卡,T型卡不正常,更换卡。数码部分亮度不对,T型卡电位器调整不误或损坏要重新调整,更换T型卡。某行股票异常亮,行短路要排除。LED某笔不亮、有虚焊或LED坏,补焊,更换LED。行情显示位置错误,T型卡地址跳位错误,更新调整。
如果屏某一区域出现花屏,检查屏幕后面扁平线是否插实。如室内屏出现某一行常亮或不亮,是显示板的三极管出现故障。
可能和程序延时有关,16128显示时占用的时间长,点阵屏扫描显示完一遍后显示下一遍时之间的时间长,就会出现闪烁的现象。1696占用时间短点,显示时两次扫描时间差短,就看不出闪烁现象了
按照人的常规的视觉停留的频率计算就行了,一般地,扫描频率要50HZ以上肉眼看起来就不闪烁,就拿50HZ阀值,那么一个点阵显示的时间为1S/50=20mS,即需要20mS后再对它进行扫描;
但是你每行是5mS,那么一共有8行,重复扫描时间为5mS8=40mS>>20mS,所以当然看起来闪烁。
把扫描时间跳到25到2mS就差不多了,太小的话,通电时间过短,显示亮度不足。
毕业设计 (论文)任务书
机电系电气自动化专业 班级08电气 姓名学号
毕业设计名称:单片机点阵式LED显示屏设计
毕业设计主要研究内容及研究意义:
研究内容:1、用8051单片机显示字体 2、PROTEUS软件和KEIL软件的使用3、单片机的控制程序 4、点阵屏幕的使用
研究意义:利用51单片机和C语言程序的控制制定的汉字在点阵屏幕上的显示,了解51单片机的性质和使用,提高对PROTEUS软件和KEIL软件的使用。
毕业设计研究思路及方法: 通过介绍51单片机和所用到的元件,用KEIL软件写C程序并仿真对错与修改,还在PROTEUS软件里面画仿真电路图,把正确的C程序烧入51单片机的芯片里面,运行。在点阵屏幕上显示“单片机”三个字样。
这个程序可以循环显示0~9#include<reg51h>#include<intrinsh>#define uchar unsigned char#define uint unsigned intuchar code Table_of_Digits[]={0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00, //00x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00, //10x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00, //20x00,0x22,0x49,0x49,0x49,0x36,0x00,0x00, //30x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00, //40x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00, //50x00,0x3e,0x49,0x49,0x49,0x26,0x00,0x00, //60x00,0x40,0x40,0x40,0x4f,0x70,0x00,0x00, //70x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00, //80x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00, //90xff,0x81,0x81,0x81,0x81,0x81,0x81,0xff};uchar code xdat[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};uchar code ydat[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};uchar i=0,j=0,t=0,Num_Index,key,xi,yi; sbit we1=P1^1;sbit we2=P1^3;//主程序void main(){//P1=0x80;Num_Index=0; //从0 开始显示TMOD=0x01; //T0 方式0TH0=(65536-2000)/256; //2ms 定时TL0=(65536-2000)%256;IE=0x82;key=0;xi=0;yi=0;EX0=1;IT0=1;TR0=1; //启动T0while(1);}//T0 中断函数void ext_int0() interrupt 0{ key++; key&=0x03;}void LED_Screen_Display() interrupt 1{TH0=(65536-2000)/256; //2ms 定时TL0=(65536-2000)%256;switch(key){case 0: P0=0xff; we1=1; P0=~Table_of_Digits[Num_Index8+i]; we1=0; P0=0xff; //输出位码和段码 we2=1; P0=xdat[i]; we2=0; if(++i==8) i=0; //每屏一个数字由8 个字节构成 if(++t==250) //每个数字刷新显示一段时间 { t=0; if(++Num_Index==10) Num_Index=0; //显示下一个数字 } break;case 1: we1=1; P0=~xdat[xi]; we1=0; we2=1; P0=ydat[yi]; we2=0; if(++t==250) //每个数字刷新显示一段时间 { t=0; yi++; if(yi>7){yi=0;xi++;} if(xi>7)xi=0; } break;case 2: we1=1; P0=0x00; we1=0; P0=0xff; //输出位码和段码 we2=1; P0=xdat[i]; we2=0; if(++t==250) //每个数字刷新显示一段时间 { if(++i==8) i=0; //每屏一个数字由8 个字节构成 t=0; } break;default: key=0; i=0; j=0; t=0; xi=0; yi=0; Num_Index=0; we1=1; P0=0xff; we1=0; we2=1; P1=0x80; we2=0; break;}}
以上就是关于esp32驱动点阵屏数字乱跳全部的内容,包括:esp32驱动点阵屏数字乱跳、自己做的16*128的LED点阵屏,总是闪烁,字体显示不完整!、我用51单片机串行通信方式去控制一块8×8LED点阵屏,显示的时候,文字闪烁厉害……等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)