xianfajushi 发表于 2020-7-7 10:11 有滚动显示的吗 |
你这种代码有点重了,可以去论坛搜索。挺多挺好有易懂的代码 |
说你电路图让人看不清,以为是8*8点阵4个合并的,你这种点阵只有32个引脚的我没有; 哪里学?没哪里学,都自学的,我写的点阵从8*8到16*8到16*16全部在这里了,也算是都教了。 |
其实你也可提升你的代码演化成像我这样简洁的形式,51蛋骗鸡像你这样的代码到处都是,而提升演化则需要了解其原理及自己归纳的习惯,我是看不惯那一堆代码,看得眼花缭乱的,因此下功夫提升演化后就一直沿用,像你这样的也就是学习时一直沿用而已,这种现象常见,就如本论坛,蛋骗鸡一个IO引脚驱动后面电路常提问的都是只会应用放大器的形式,而不知道使用射随器,难道他们没学过?未必就没学过射随器电路的,那因何不用?缘其不加思考而已,射随器电路本论坛我曾回复过,因此也不想反复了,射随器输入高阻抗输出低阻抗,意味着虾米?意味着对前级影响极小对后级驱动能力增强,当影响到前级时就该考虑使用射随器,而不是一味地使用放大器形式,而这些都源于对基础原理的理解,看似简单的背后是知识的有力支持,就像电脑容易使用,其背后是强大的知识支持。 |
你说的虾米指的是? |
你的电路图让人看不清,我的电路图让人看得清清楚楚的,有人说代码和硬件不匹配,叫拿出证据,结果这么长时间也不见拿出虾米证据来证明其言论,各种都能见到这种歪曲事实胡说八道的人物!我的代码与硬件不匹配的话,怎么能正确显示你的数据字符? |
xianfajushi 发表于 2020-7-7 10:11 。。。。,你怎么做出来的啊? 我。。。。不会啊,最近太忙了,没有上来看 |
原来是这几个汉字![]() ![]() |
zzjz 发表于 2020-7-5 08:36 哦,提出证据来说话 |
你写的程序和你的硬件不匹配 |
本帖最后由 xianfajushi 于 2020-7-5 11:04 编辑 你的正题就不回复了,留给你自己去对比去悟。 |
![]() |
![]() ![]() ![]() ![]() |
![]() |
![]() |
驱动不是随意写的,需配合具体电路图去写,由于没提供电路图,单从代码上去推测写出之上示例,让人去猜测属于不善问,结果欲速而不达。 |
由于没提供仿照虾米电路,也没去查资料,因此,就循着普通的思路写了之上的演示,当我查资料后发现有一种电路接法可实现16*16,稍后得闲写个驱动演示。 |
我学蛋骗鸡也不长时间,弄完我的机器改造就没去玩那板子,点阵也是看了你的贴子,才试写的,所以,连电路图怎么正确接都不知道,反正就是接上了电路了。 买板子倒是有很多例子,没去看,因为用不到。 |
![]() 这是用8*8的4和7的字符显示的,电路图没调整方向,显示你的数据,被转向了,看不出来数据是虾米字。 |
0xEF,0xEF,0x0F,0xE0,0xEF,0x0F,0xFF,0x01,0xDD,0xDD,0xDD,0xDD,0x01,0xFF,0xFF,0xFF, 0xBF,0xDD,0xEA,0xF7,0xE9,0x9E,0xBF,0x80,0xBD,0xBD,0xBD,0xBD,0x80,0xBF,0xBF,0xFF,这数据是虾米汉字?显示被转向看不出来。 |
修改了一下程序![]() ![]() |
本帖最后由 xianfajushi 于 2020-7-3 16:03 编辑 为了演示如何写驱动,就按你代码中这样使用4个IO写个16*8的例子,使用8*8字符0和7略作演示。 ![]() 代码 ![]() |
可以多在论坛找找相似的 |
按你这样4个io写驱动只能驱动红16*8点阵,使用第二行数据,看不出是虾米字符。 |
不管虾米数据,都是可以调整过来的很容易,明白了点阵的扫描道理,就可以写自己的代码了,不比生搬硬套。 |
你这数据是行的还是列的? |
点阵也没虾米,就是行对列地扫描而已,8和16一样道理,直接用IO的8口联系2各IO口就是16,要处理的逻辑就是对2各IO口的控制而已。 |
xianfajushi 发表于 2020-7-2 16:48 我数组中每16个数据一个字啊 |
我例子中的数组每8个数据就是一个字。 |
道理是一样的,你说说你那些数据是怎么用的? |
xianfajushi 发表于 2020-7-2 15:11 唉,那有没有那些点良16*16点阵的资料啊?我慢慢研究。最好有列子的 |
改你的程序?看那一堆代码就眼花,提不起兴趣,你看我的代码,怕你消化不良,呵呵。 |
xianfajushi 发表于 2020-7-2 13:21 那应该怎样做,不会改啊。 |
这里有个8*8的例子,或许可参考点虾米。![]() |
另外这个函数最后一个参数未超过255不需要用int用char足够 同样P3=0xff;是共同的也可提出来。 最后显示的数据提取,确定这样写的算式提到正确的使用数据了? display(zimo[(t+flag)*2],zimo[(t+flag)*2+1],t+1); |
其他暂且不管,说说修改的地方: { P3=0x7f; P1=0xff;这是共有的,直接提出来写一句足矣 } 就会变成这样 if(col==1) P3=0x7f; else if(col==2) P3=0xbf; 。 。 。 。 P1=0xff; 用了中断就不需要计数延时,直接用中断延时就好了。 |