微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 点数码管时只闪了一下下就没了

点数码管时只闪了一下下就没了

时间:10-02 整理:3721RD 点击:
在学习《手把手教你学51单片机》一书,初学
没有买实体实验的单片机,用了PROTES来做实验的
代码如下:


  1. #include <reg51.h>
  2. sbit _74hc138_a         = P1^0;
  3. sbit _74hc138_b         = P1^1;
  4. sbit _74hc138_c         = P1^2;
  5. sbit _74hc138_e1        = P1^3;
  6. sbit _74hc138_e2_e3     = P1^4;  //74HC138总使能

  7. void main(void)
  8. {
  9.   _74hc138_e2_e3= 0;
  10.   _74hc138_e1   = 1;
  11.   _74hc138_a    = 0;
  12.   _74hc138_b    = 0;
  13.   _74hc138_c    = 0;

  14.   P0=0xff;
  15.    P0=0xc0;
  16.    while(1){
  17.      ;
  18.    }
  19. }

复制代码



一,你的电路画复杂了,你使用了静态方式驱动数码管,只驱动一个,但电路画了6个,一开始的电路最好简洁,这样好查错。
二,不确定你的数码管是共阳的,还是共阴的,驱动电路会有所不同。
三,电路里的驱动方式不能用138,138一次只能选通一路。
四,查查数码管的资料,以及数码管静态驱动和动态驱动的资料。

谢楼上回复,我的电路后来找了数码管为7SEG-MPX1-CA,就可以了,可是我查了一下,CA代表的是共阳数码管,可能是我原先的数码管型号选成了CC共阴了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top