找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3145|回复: 13
打印 上一主题 下一主题
收起左侧

求大神一个复杂的程序

  [复制链接]
跳转到指定楼层
楼主
用STC15F104W的6个IO口控制9个LED灯        3行3列
                                           1             2             3
                                           4             5             6
                                           7             8             9

   每次点亮3个,例如:147       258        369       158     148    269     259   159    186等等,请大神慷慨赐教   谢谢!谢谢!谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:111634 发表于 2018-6-23 08:06 | 只看该作者
不能称复杂,只是一个很简单的程序。
回复

使用道具 举报

板凳
ID:357078 发表于 2018-6-23 10:01 | 只看该作者
参考单片机教程
回复

使用道具 举报

地板
ID:155507 发表于 2018-6-23 10:50 | 只看该作者
按照如下输出就可以分别点亮每一盏灯:
LY0 LY1 LX2
0         1         0         LX0
0         1         1         LX1
1         0         0         LX2
你的单片机端口有强的推挽输出能力,
图给LED矩阵的点亮还是比较容易的:
1、按图给电路,每个LED的坐标为(LX(i),LY(j)),LX(i)为高电平,LY(j)为低电平时,交点(i,j)上的LED被点亮,所以……………………
2、例子:要点亮D6,需要LX2接高电平,LY1接地即可
3、理解以上两点,程序控制应该不难…………
需要动态显示的方法了,就像扫描键盘矩阵那样。一次只点亮一行(如LX0)上面需要电量的灯,下一次点亮下一行(LX1)上面的,这样一秒重复至少30次,这样每个灯看着是持续点亮的了。

LED_Matrix01.png (13.44 KB, 下载次数: 40)

LED_Matrix01.png
回复

使用道具 举报

5#
ID:202586 发表于 2018-6-23 22:38 | 只看该作者
zl2168 发表于 2018-6-23 08:06
不能称复杂,只是一个很简单的程序。

谢谢版主  这个简单吗?对于您们大神级人物肯定简单,但对于我来说很复杂,如果用9个IO口我勉强可以,用6 个IO每次点亮列向3个灯要怎样弄,请大神们给个例程程序,谢谢,
回复

使用道具 举报

6#
ID:202586 发表于 2018-6-23 22:41 | 只看该作者
angmall 发表于 2018-6-23 10:50
按照如下输出就可以分别点亮每一盏灯:
LY0 LY1 LX2
0         1         0         LX0

您好 老师,可不可以给个例程程序   谢谢谢谢
回复

使用道具 举报

7#
ID:357762 发表于 2018-6-24 14:15 | 只看该作者
参考单片机教程
回复

使用道具 举报

8#
ID:357878 发表于 2018-6-24 16:51 | 只看该作者
加油啊,,,,
回复

使用道具 举报

9#
ID:142059 发表于 2018-6-26 09:24 | 只看该作者
对你来说确实难了点,涉及到矩阵扫描和动态显示
回复

使用道具 举报

10#
ID:359145 发表于 2018-6-26 10:57 | 只看该作者
你直接操作寄存器不就好了,一步步执行呗
回复

使用道具 举报

11#
ID:359193 发表于 2018-6-26 11:29 | 只看该作者
led,动态显示
回复

使用道具 举报

12#
ID:358947 发表于 2018-6-26 12:12 | 只看该作者
矩阵键盘扫描,就好比一个x轴,一个y轴。你这个分成3*3就能正好控制9个灯。既然想同时多个灯亮,那就利用人眼的暂留效应。快速的刷新,也就是通俗的将,一会这个亮一下,一会另一个亮一下。由于速度过快,让人误认为是同时亮的。
回复

使用道具 举报

13#
ID:266943 发表于 2018-6-26 12:25 | 只看该作者
先编一个点亮一个固定灯的程序,C语言的话用switch语句把每种情况都列出来,主程序写三条点亮一盏灯的语句循环就好了,有点麻烦,有思路你可以自己改进一下
回复

使用道具 举报

14#
ID:202586 发表于 2018-6-26 20:04 | 只看该作者
出来逛逛 发表于 2018-6-26 12:25
先编一个点亮一个固定灯的程序,C语言的话用switch语句把每种情况都列出来,主程序写三条点亮一盏灯的语句 ...

谢谢您,我试试看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表