找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5121|回复: 4
收起左侧

为什么数码管最后一位不显示

[复制链接]
ID:72258 发表于 2015-1-15 13:20 | 显示全部楼层 |阅读模式
我将MCU的JP8连接到动态数码管模块的J16上,MCU模块的JP10连接到J12上,可是74HC165模块上的JP165用跳线帽短接了,于是在烧录数码管程序的时候,数码管最后一位没有亮,断开跳线帽,数码管最后一位就亮了。我想知道为什么跳线帽会使最后一位数码管不亮。。求大神解释一下。小弟洗耳恭听!!!
1.PNG
2.PNG
3.PNG
回复

使用道具 举报

ID:1 发表于 2015-1-15 14:27 来自手机 | 显示全部楼层
把你的程序贴上来看一下,才能判断
回复

使用道具 举报

ID:72258 发表于 2015-1-15 17:10 | 显示全部楼层
admin 发表于 2015-1-15 14:27
把你的程序贴上来看一下,才能判断

  1. #include<reg51.h>

  2. //--定义使用的IO口--//
  3. #define GPIO_DIG   P0        //段选,被选中的数码管显示的内容
  4. #define GPIO_PLACE P1        //位选,选择哪个数码管显示

  5. //--定义全局变量--//
  6. unsigned char code DIG_PLACE[8] = {
  7.                                         0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//位选控制   查表的方法控制
  8. unsigned char code DIG_CODE[16] = {
  9.                                         0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
  10.                                         0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
  11.                                         //共阴数码管的0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的显示码
  12. unsigned char DisplayData[8];                //用来存放要显示的8位数的值

  13. //--声明全局函数--//
  14. void DigDisplay(); //动态显示函数

  15. /*******************************************************************************
  16. * 函 数 名         : main
  17. * 函数功能                   : 主函数
  18. * 输    入         : 无
  19. * 输    出         : 无
  20. *******************************************************************************/

  21. void main(void)
  22. {
  23.         unsigned char i;

  24.         for(i=0; i<8; i++)
  25.         {
  26.                 DisplayData[i] = DIG_CODE[i];       
  27.         }
  28.         while(1)
  29.         {
  30.                 DigDisplay();
  31.         }                               
  32. }

  33. /*******************************************************************************
  34. * 函 数 名         : DigDisplay
  35. * 函数功能                   : 使用数码管显示
  36. * 输    入         : 无
  37. * 输    出         : 无
  38. *******************************************************************************/

  39. void DigDisplay()
  40. {
  41.         unsigned char i;
  42.         unsigned int j;

  43.         for(i=0; i<8; i++)
  44.         {
  45.                 GPIO_PLACE = DIG_PLACE[i];         //发送位选
  46.                 GPIO_DIG = DisplayData[i];     //发送段码
  47.                 j = 10;                                                 //扫描间隔时间设定
  48.                 while(j--);       
  49.                 GPIO_DIG = 0x00;//消隐
  50.         }
  51. }
复制代码
回复

使用道具 举报

ID:153199 发表于 2016-12-31 12:02 | 显示全部楼层
问题解决了吗,求分享
回复

使用道具 举报

ID:72258 发表于 2017-12-3 08:43 | 显示全部楼层
sorry , 刚刚看到,因为买的是开发板,有些部分是共用的,是因为一个短路帽没有弄好。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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