求行138列74hc595控制led点阵16乘80点阵时钟的程序

讨论16*32点阵DIY制作
我是学习单片机的新手,最近在研究LED点阵。想自己做一个,但因为没有经验所以请大伙帮帮忙看看我的方案有什么不足。
-------------------------------------------------------------------------------------------------------------------------------
不要求有通讯部分(如果那位大虾给出更好)。
先上传原理图:
有4个595,2个138组成 (原文件名:101.jpg)
另外还有一点就是,电源是12V的,电压转换的电路没做。
C语言代码:
点击此处下载
(原文件名:101.txt)
字模工具:
点击此处下载
(原文件名:zk.rar)
我做了,,用的是两个hc595和两个hc154
能否给份资料看看
没有画电路。
点击此处下载
(原文件名:74HC04.pdf)
点击此处下载
(原文件名:74HC154.pdf)
点击此处下载
(原文件名:m74HC595中文资料.pdf)
程序也只有汇编的。。。
我用8个595串联,一个138(8515驱动),1/8扫描,亮度还可以,,,1/16扫描的话亮度可能不会太高
to: erxun 老孟
1/8扫描(硬件支持)是指一次送两行数据吧?
请教一下:我遇到1/8扫时,在字幕左移的时候会出现上下错一位的现象,请问是怎么回事?
to 【5楼】 eiglxl
那是因为人眼在跟着滚动的画面运动
即画面相对于人的视野是静止的,屏幕相对于人眼是运动的
因为是按行扫描,所以每行出现的时间不同,在人眼中映出的位置也不同
字体倾斜,错位等现象都是由此导致的
解决方法:
1,根治方法,按列扫描(不会倾斜,不会错位)
2,缓解方法,扫描线洗牌(只倾斜,不错位)
to erxun 老孟:我用的是1/32扫描 亮度还可以。。。呵呵,上了32个三极管
谢谢!h2feo4 无机酸 :
看来你是这方面的行家。请教您一下:
1、在硬件定了的情况下,按列扫描是怎么个扫法?
2、扫描线洗牌怎么理解?
不好意思,刚刚由于笔误弄错了人。
无线电杂志有一期,既有电路,又有C程序的
奇怪7、8楼去哪了?
to 【11楼】 eiglxl
1.取决于你的硬件结构,主要是看行驱动是如何设计的,如果是译码型的就不用想了,如果使用595或者573这样的锁存器,每次发送画面的一列到全部行驱动器,逐次选通每一列驱动即可
2.原来你可能是把屏幕分为上下两屏分别扫描的,现在仅仅是改成分奇偶行扫描,本质一样,只不过是把上下两半混合在了一起,像洗牌一样
随手画了一张洗牌的示意图,解释如何消除错位,并减弱倾斜
(原文件名:洗牌.PNG)
以前我发过我做的屏的,可惜论坛资料丢失,还没恢复,我当时用的是13*43(16*48),1/96扫,按列扫描
to: h2feo4 无机酸
谢谢你的解释!
1、现在市面上的条屏模组一般都是138译码型的。
2、买来的条屏模组的硬件就是将屏分成上下两半屏驱动的,也就是上半屏一个接口,下半屏一个接口。如果程序中按1/16扫是不会有问题的,但1/8扫的时候一次必须要点亮上半屏的一行和下半屏的一行,问题就出来的。像你说的洗牌后也会有错位的感觉,不是上下屏错位,而是行与行之间的错位,不过效果要好一些。
to 【17楼】 eiglxl
洗牌之后应该会消除错位,如果发生行与行之间错位,就可能是你扫描时序有问题
1/8扫时隔行扫描应该会解决严重错位的问题,不过竖线看起来应该有点弯曲,下次有这样的屏时试试。
to: h2feo4 无机酸
字幕在左移的时候,刷一帧(屏)后左移一位时,看起来很流畅、很平滑。在保证帧频的前题下,为了控制移动的速度,刷几帧后左移一位时,看起来就一跳一跳的,怎么才能消除跳动呢?
to 【19楼】 eiglxl
首先扫描线洗牌并不是隔行扫描,时序是很不同的
to 【20楼】 eiglxl
可以继续提高帧率,我自己用的是很高的频率(&500Hz),每帧刷几十次
在滚动速度较慢的时候一般会有跳动感的,解决的方法很多
可以采用虚拟像素,或者是灰度平滑等方法解决,不过都需要很高的控制速度和计算量
to: h2feo4 无机酸
首先感谢你对我所说的“隔行扫描”的指正。
请教:“虚拟像素”和“灰度平滑”是怎么实现的?
确实,扫描&500Hz时,字符移动看起来很流畅,不会跳跳的感觉
定时器T0扫描:8M,1024分频,TCNT0 = 0xf0;,2.048ms
to: erxun 老孟
但如果移动变慢的时候,一样会有跳跳的感觉。
你上面算的时间是行频吧,你的屏扫描程序是在T0里扫一行吗?还是在T0里置一个标志位后在主程序里扫一行?
这个时间是扫描一行的时间,中断里面给行列数据
T0中断有个计数器:0-7中断一次扫描一行,
to: erxun 老孟
1、0-7中断一次扫描一行是什么意思?
2、移动的速度您是如何调节的?
1.计数器计数范围0-7,正好给138的ABC,呵呵,
2.改变显示缓冲区数据的时间间隔&&决定移动的速度,
哦,明白了,你这应该是1/8扫的吧?
to 【22楼】 eiglxl&&
要想在低速滚动时候减弱跳动感
就要提高水平方向的分辨率
在内存中虚拟一个水平分辨率更高的屏幕,让字幕在其中滚动
在虚拟屏幕向物理屏幕映射的时候,可以通过控制相邻像素的显示时差/亮度差来达到平滑效果
我半年前做的一块屏,照片:
以前其实发过帖子介绍这个原理,也贴了代码,可惜论坛资料丢失,还没恢复
(原文件名:P1011961_.JPG)
屏的分辨率是13*43,20dpi
to: h2feo4 无机酸
1、虚拟一个水平分辨率更高的屏幕,是指显存中让水平的点更多吗?如果是,那么多的点如何填充数值呢?
2、怎样控制相邻像素的显示时差/亮度差?
我觉得你在这方面的描述很专业,请问你这些专业述语都从哪得到的?
大家能先给点可行性的建议吧?
你的行驱动要用CEM4953之类的MOS管来增加驱动能力。
我准备自己做点阵,用发光二极管。
自已做点阵也要加行驱动管呀。
to h2feo4 无机酸
我在31楼向你请教的问题,麻烦你看到了答复一下。
我说主要是电流不知怎么弄?
to 【31楼】 eiglxl
1.例如你要做一个16*48的屏,要准备16*96的显存,就像你正在做一个大一倍的屏,字符的水平尺寸也翻倍,但滚动速度不变
字幕在虚拟屏幕中滚动,取相邻两个虚拟像素的亮度平均值作为物理像素的亮度
(原文件名:虚拟.PNG)
上图左边是显存中的内容,右边是物理像素显示的内容
当然还可以分的更细,效果更好
2.PWM或者PCM之类的都可以
我一点也不专业,很多词都是自己造的,或者在论坛上看别人说过的而已
to: h2feo4 无机酸
你说的这种方法好像不太好实现。
to 【39楼】 eiglxl
的确复杂度提高不少,不过我觉得几级灰度对于单片机的性能来说,并没有什么问题
to: h2feo4 无机酸
几级灰度的控制是通过PWM来改变屏体(市面上通用的点阵条屏)上EN的占空比或频率来实现的吗?
to 【41楼】 eiglxl
我没用过市售条屏,不过我觉得控制EN的占空比是可行的
为什么用8*8点阵,点亮数字2时,总有几个点是“微亮”的(要仔细看才能看到,亮度很低)
看图片 (原文件名:001.jpg)
是不是 : i++&&的问题
代码如下:
#include &reg52.h&
unsigned char const dofly[]={0x0,0x0,0x33,0x45,0x49,0x31,0x0,0x0};//2的形状
unsigned char code seg[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//分别对应相应的段亮
//0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe /0xfe,0xfd,0xfb,0xf7,0xef,0xfd,0xfb,0x7f,/0x,0x,0x,0x,0x,0x,0x,0x,
////////////////////////////////////////////////////////
void delay(unsigned int cnt)
while(--cnt);
///////////////////////////////////////////////////////
& && & P0=dofly;//取显示数据
& & & && & P2=seg;&&//取段码
& & & && & delay(100); //扫描间隙延时
& & & && & i++
& & & && & ;
& & & && &
& & & && & if(8==i)
& & & && && &i=0;
to 【43楼】 kd911
估计是扫描时候没做消隐
G_L;//消隐 138的使能引脚为低,138均不输出扫描线
send_595(disp_buf[hang_no]);// 发送字符 ,需要一定的时间
PORTD = 0x40;
PORTD =0x40+ hang_& && &//扫描
G_H;//正常显示
这样非字符的led就不会有隐约的亮光了。。。
延时后到下一数据发送到IO前要关闭输出。
48V转5V的电路图,谁给个??
谁会三极管的提升电压
我给你们发一个1/16扫描的原理图给你们
原理图1/16扫描 (原文件名:Protel Schematic.pdf)
MC33063不知道能不能接48V,我看下资料后再发图纸给你,不好意思最大40v,我再给给找一个。
呵呵,去年无聊时我也做过一块,是红绿双色的16X16点阵,采用6片595实现双色16X16的行列驱动,1/16扫描,
每个16X16用一块a8控制,多块模块间用485级联,支持显示数据二级缓冲。。。程序是用C写的,在公司没带,如有需要,改天上传……
期待您早日做出来。。。
LED16X16???í?? (原文件名:LED1616???í??.JPG)
LED16X16???·3D?? (原文件名:LED1616???·3D??.JPG)
楼上朋友能打包一下你的资料分享一下吗 想学习一下!
【58楼】 e315 陈。
把你的资料共享一下,有时间我也玩玩!
这里,我就先附上原理,里面有sch格式和pdf格式,程序我明天再传上来。
LED16x16原理图: (原文件名:LED16x16_sch.rar)
【61楼】 e315 陈。
几号&&正要研究呢
学习学习!
初学者,学习学习
前些天一直在忙,今补上源代码。希望对有些人有用。
LED16X16 program (原文件名:AVR485_V1.0_.rar)
阿莫电子论坛, 原"中国电子开发网"16乘16点阵屏仿真(4个74hc595)+程序_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
16乘16点阵屏仿真(4个74hc595)+程序
上传于|0|0|文档简介
&&16乘16的点阵屏仿真加程序用595控制
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩5页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢求一个简单的16*16点阵的测试程序,行控为138,列控为595,附图,谢谢 - 单片机/MCU论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
求一个简单的16*16点阵的测试程序,行控为138,列控为595,附图,谢谢
09:38:05  
求一个简单的16*16点阵的测试程序,行控为138,列控为595,附图,谢谢
(72.27 KB, 下载次数: 6)
09:37 上传
20:30:35  
想空手套白狼?
23:07:50  
PCB在线计价下单
板子大小:
板子数量:
PCB 在线计价
想空手套白狼?
没,如果有人能帮一下就帮,不想帮请不要说话
Powered by移位锁存器 74HC595 原理 74HC595 是一个串入并出的芯片,通过一个 for(i...8X8_LED点阵显示原理与编... 5页 免费
8X8_LED点阵显示驱动程序... 5页 ...
74hc595 通过 ULN2003 驱动 8*8LED 点阵屏。 附录:原理图 源程序: //16x64 点阵程序及滚动效果视频 #include&reg52.h& #define uchar unsigned char #...
16×16 点阵 LED 显示屏整个过程及 C 语言程序 × 显示屏整个过程 整个过程...列驱动电路 9 Q7 列驱动电路由集成电路 74HC595 构成,它具有一个 8 位串入...
2、采用74HC595和74HC138设计点阵屏的驱动电路。 、采用 设计点阵屏的驱动电路。 和 设计点阵屏的驱动电路 3、利用Keil C 软件编写主函数、行列驱动显示等 程序...
16X16点阵(74HC595作列驱动)C源程序_工学_高等教育_教育专区。简易广告牌,16X16点阵制作,51C程序编写的源程序,自下而上移动。...
和单片机的硬件接口和软件设计方法 二、实验说明 使用双色共阴极 LED 点阵,其...系统使用 74HC595 芯片,使串行输出转 换成并行输出,驱动矩阵 LED。 RCLK SCLK...
(uchar n) //数据打入 74HC595 函数 { uchar x,y; y = for(x =...51单片机驱动1616LED点阵... 8页 免费 51单片机8*8点阵LED显示... 7页 免费...
74HC595 驱动88点阵_电子/电路_工程科技_专业资料。74HC595 驱动88点阵开始...先把原理和软件这一部分搞清楚 【外观】 用6个8*8的 LED 点阵做显示屏 1...
点阵原理、驱动和电源_工学_高等教育_教育专区。74HC154+三极管(PNP)行驱动,74HC595列驱动上图是 8*8LED 点阵,有 16 个引脚,上 8 个下 8 个。但是一般情...
16乘16点阵屏仿真(4个74hc595)+程序_电子/电路_工程科技_专业资料。16乘16...74HC595的驱动程序 2页 1下载券
74HC595测试程序 2页 免费 喜欢...

我要回帖

更多关于 16乘16点阵 的文章

 

随机推荐