找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机独立按键控制数码管的问题

查看数: 5893 | 评论数: 11 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-10-21 12:49

正文摘要:

为什么我控制不了数码管的显示,开和关只是位置的改变,而且点阵那边也会亮,请各位前辈解释一下 #include<reg52.h> typedef unsigned u8; typedef unsigned int u16; sbit LSA=P2^2; sbit k1=P3 ...

回复

ID:542954 发表于 2019-8-10 10:16
作为一块开发板集成了太多的功能,所以不同的模块会共用引脚,短接片连上右边的点阵就不会亮了。
位选控制了数码管亮的位,并没有控制数码管的八个管脚具体如何亮,你虽然命名了duansmg,但发送的实际上是位选信号。
ID:594559 发表于 2019-8-3 13:25
你可以先查看下开发板原理图看下是不是因为开发板的硬件设计把数码管和点阵的驱动引脚相连了,再有就是对于数码管的断选和位选你再好好看下,估计你看完断选和位选你就知道怎么单独控制一个数码管发光了
ID:594300 发表于 2019-8-2 19:22
sbit LSA=P2^2; sbit k1=P3^1; #define LSA P2    定义重复了把。。
ID:235200 发表于 2019-8-2 18:58
数码管的显示要采取动态显示方式,即在20ms时间内要依次点亮各位数码管一次,并按此方法不间断依次点亮,才可以整体显示出来,你的程序只用P0=smgduan[6];一条语句点亮了默认的一位,建议你去看一下动态显示原理再编写程序试验!
ID:591676 发表于 2019-8-2 18:42
这种开发板带的戴南镇和数码管是连在一起的,你如果不想让他们俩同时点亮就需要把74HC595模块上的JP595短接片拔掉。至于程序问题是出在你的主程序里边,而且你的数码管位定义不完整
ID:542209 发表于 2019-8-2 17:22
这个板子的点阵端和数码管是连在一起的所以点阵那边也会亮 应该有短接片让点阵那边不再亮
       然后是你的问题——你让LSA取反完全没有改变数码管的显示啊 只是让原先的管脚电平改变了,因为这个管脚是与数码管位置有关的管脚 所以这个管脚电平的改变会导致数码管显示位置的改变
ID:332444 发表于 2019-8-2 16:36
删除#define LSA P2试看
ID:594113 发表于 2019-8-2 14:41
我在遇到类似的问题时,都是看看那个宝上哪家在销售同样的板子,然后找客服直接咨询,通常都能解决问题。
ID:511461 发表于 2019-8-2 14:15
如果不想让点阵模块显示,可以将74HC595模块上的JP595短接片拔掉。
ID:591400 发表于 2019-8-2 13:20
你不是已经让数码管显示“6”了吗?不知道你想怎么控制,你查一下原理图看看位选引脚是哪个,LSA既位定义又宏定义,不知道你想干嘛
ID:568662 发表于 2019-8-2 11:06
问题解决了吗   我也想知道  是为什么

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

Powered by 单片机教程网

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