*老x用51单片机做的VGA示波器——将匠人彻底打趴下:)

[复制链接]
27431|89
ocon 发表于 2010-1-15 01:54 | 显示全部楼层
进来佩服一下:D
xlsbz 发表于 2010-1-15 08:25 | 显示全部楼层
xwj没有必要和匠人pk 因为你的水平本身就高于匠人  我心里清楚的很
xlsbz 发表于 2010-1-15 08:32 | 显示全部楼层
21ic之所以这么好 就是因为有xwj chuanyang 等等各种牛人........(排名不分先后)
反质子 发表于 2010-1-15 13:07 | 显示全部楼层
高手之间是猩猩相惜:)
czdo 发表于 2010-1-15 14:10 | 显示全部楼层
你们可以组成牛牛组合!呵呵在讨论中进步!!!!!
 楼主| xwj 发表于 2010-1-15 23:00 | 显示全部楼层
RE古道热肠:
估计是C8051F,这个系列的MIPS相当的强悍。
古道热肠 发表于 2010-1-14 22:02


当然不是用C8051F,不然也就不叫挑战了。


老x用的是随便找出来的STC的“号称1T”的单周期51,为什么是“号称1T”呢?
因为这玩意,置位或清除个IO(位)全都要4个周期,任何比较跳转也至少要4个周期(还有更多的),读、写一个数也都要好几个周期,这个"1T"看了真是让人无语...

所以老x根本就不是用的置位、清除IO、或延时的方法,而是用了别的技巧:)
 楼主| xwj 发表于 2010-1-15 23:08 | 显示全部楼层
至于电路图,就是单片机的最小接法:接上电源、晶振、复位和几个必要的电容,然后RGB线上各串个330欧的电阻接到VGA插座上。
就这么简单。

只是实验时觉得硬件逻辑电平反过来应该更好些,老x就试着给绿色加了个三极管反向,但是单个三极管的话存储效应严重,对效果(边沿、位置)有影响,其实这个是可以去掉的。

通过老x透露的信息,大家猜到我用了什么技巧了吗?:P
程序匠人 发表于 2010-1-15 23:40 | 显示全部楼层
不是用的置位、清除IO、或延时的方法,难不成你用移魂(移位)大 法 (又被禁用字了一回!)?
程序匠人 发表于 2010-1-15 23:47 | 显示全部楼层
列表来了:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| xwj 发表于 2010-1-15 23:49 | 显示全部楼层
呵呵,没错,就是 移 魂 大 法!

所以老x发的全都是点阵数据。
——这又是冰山的一角哦~
而且CPU不超频,只用到24MHz。

老x本来还准备用通用的51(12T、6T)来做出200点以上的,结果... 好不容易找到个40M的晶体,出来的行频却只有10k,原来是3次泛音晶体,频率变成了13.333MHz,我晕~

手边要什么没什么,到时再找个小电感、电容并上去...
程序匠人 发表于 2010-1-15 23:59 | 显示全部楼层
呵呵,没错,就是 移 魂 大 法!

所以老x发的全都是点阵数据。
——这又是冰山的一角哦~
而且CPU不超频,只用到24MHz。

老x本来还准备用通用的51(12T、6T)来做出200点以上的,结果... 好不容易找到个40M的晶体, ...
xwj 发表于 2010-1-15 23:49


如果是用移 魂 大 法,有两个弊端:
1、浪费7个IO口,当然,对于这个项目来说无所谓,反正IO口有富余。
2、每移完8位要装载一次数据,而装载数据时需要时间。会留下缺口。(看你的线条,水平方向确实是不连续的)
 楼主| xwj 发表于 2010-1-16 00:03 | 显示全部楼层
1、为什么会“浪费7个IO口”???
2、STC的的移位模块有问题,数据没发完就送下一字节的话则会丢失一个字节。而我曾经试过,其他的标准51都不会有缺口,比如ATMEL、SST、华邦、新茂等都不会。
程序匠人 发表于 2010-1-16 00:11 | 显示全部楼层
1、为什么会“浪费7个IO口”???
2、STC的的移位模块有问题,数据没发完就送下一字节的话则会丢失一个字节。而我曾经试过,其他的标准51都不会有缺口,比如ATMEL、SST、华邦、新茂等都不会。 ...
xwj 发表于 2010-1-16 00:03


哦,可能我的理解有误吧,呵呵。
strang 发表于 2010-1-16 10:39 | 显示全部楼层
牛人!向前辈们致敬!
牛牛特工 发表于 2010-1-17 11:12 | 显示全部楼层
本帖最后由 牛牛特工 于 2010-1-17 11:16 编辑

呵呵 观看 xwj说的名词俺们全都没听过 3次泛音晶体~~ 我们之前晶振好像也有这情况的 40M结果变13M了 三极管的存储效应俺们也不晓得
我本来想利用SPI输出的 但SPI中间有停顿时间的  所以没弄成
牛牛特工 发表于 2010-1-17 11:21 | 显示全部楼层
本帖最后由 牛牛特工 于 2010-1-17 11:26 编辑

stc的那些指令是很烂~~所以只能选择MOV和移位 这两条最快的指令 以达成3T输出一个点的目标~~不跳转 不判断~~~
wuzx-61 发表于 2010-1-17 21:59 | 显示全部楼层
不知怎么玩,能批资料出来也照着玩。
fkwll 发表于 2010-1-19 08:35 | 显示全部楼层
顶一下
ifree64 发表于 2010-1-23 19:40 | 显示全部楼层
老x可否把代码共享出来,让我等学习一下呢?
ifree64 发表于 2010-1-25 10:20 | 显示全部楼层
再顶一下,什么是“移魂”**。
用硬件比如SPI来将数据输出吗?但RGB不是就需要3个SPI了吗?而且3个SPI如何同步?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部