怎么判断共阴、共阳数码管?

已举报 回答 关注
怎么判断共阴、共阳数码管?
问在线客服
扫码问在线客服
  • 回答数

    7

  • 浏览数

    9,101

7个回答 默认排序
  • 默认排序
  • 按时间排序

已采纳
用一个+5v电源比较简单
先在电源上串一个10-120Ω电阻
再找出公共端
把电源+与公共端,把电源-和其他任意极连接
这样如果有一个笔画亮了
那就是共阳极
反之就是共阴极
至于电路板上的数码管
就看公共端是与地相连(共阴)还是与vcc相连(共阳)(无论是共阴还是共阳公共端与地\vcc之间一般会串一个小电阻)
取消 评论
//*******时间程序**************//
//*******2010-7-14 00:31:39 *******//
//******* Z X C ******************//
//*******晶体振荡器 12.000MHZ 共阳数码管***//
//*******头文件*********************//
#include <AT89X52.H>
#define uchar unsigned char
#define uint unsigned int
sbit H_KEY=P1^0; //时调整键
sbit M_KEY=P1^1; //分调整键
sbit S_KEY=P1^2; //秒调整键
void sec_tiao(); //秒调整函数
void min_tiao(); //分调整函数
void hou_tiao(); //时调整函数
//********数码管显示与数组关系******//
char DATA_sled[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
/* 0 1 2 3 4 5 6 7 8 9 */
uchar hour=21, min=00, sec=00; //时间初始化
uchar deda=0;
void delay(uchar count); //延时模块
void zhh(); //走时模块
void disp(); //十进制转换模块
/***采用定时器0中断,50MS更新一次***/
void init_timer()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
IE=0x82;
TR0=1;
}
//**************************//
void T0_srv(void) interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
deda++;
}
/*************************
函 数 名:hou_tiao
功 能:时调整
说 明:
入口参数:无
返 回 值:无 ************/
//*******秒调整模块 S***********//
void sec_tiao()
{
while(!S_KEY) disp(); //等待秒调整键松开
deda=0;sec++; //毫秒清零、秒加1
if(sec==60) sec=0; //如果秒等于60,秒变0
}
//*******分调整模块 M***********//
void min_tiao()
{
while(!M_KEY) disp(); //等待分调整键松开
sec=0;min++; //秒清零、分加1
if(min==60) min=0; //如果分等于60,分变0
}
//*******时调整模块 H***********//
void hou_tiao()
{
while(!H_KEY) disp(); //等待时调整键松开
sec=0;hour++; //秒清零,时加1
if(hour==24) hour=0; //如果时等于24,时变0
}
/*********程序**************/
void zhh()
{
if(deda>=20){sec++;deda=0;}
if(sec==60){min++;sec=0;}
if(min==60){hour++;min=0;}
if(hour==24){hour=0;}
}
//******十进制转换模块*****//
void disp()
{
P0=DATA_sled[hour/10]; P2=0xfe; delay(1);
P0=DATA_sled[hour%10]; P2=0xfd; delay(1);
P0=DATA_sled[min/10]; P2=0xfb; delay(1);
P0=DATA_sled[min%10]; P2=0xf7; delay(1);
P0=DATA_sled[sec/10]; P2=0xef; delay(1);
P0=DATA_sled[sec%10]; P2=0xdf; delay(1);
}
//*******延时模块************//
void delay(uchar count)
{
uchar i,j;
for(i=0;i<count;i++)
for(j=0;j<120;j++);
}
//*******主程序*************//
void main()
{
init_timer(); //定时模块
while(1) //无限循环
{
if(!H_KEY) hou_tiao(); //时调整模块
if(!M_KEY) min_tiao(); //分调整模块
if(!S_KEY) sec_tiao(); //秒调整模块
zhh(); //走时模块
disp(); //十进制转换模块
}
}

此程序已经硬件调试通过,希望采纳!
取消 评论
把共阴的脚接到P2 段位的接到P0
取消 评论
用一个+5v电源比较简单
先在电源上串一个10-120Ω电阻
再找出公共端
把电源+与公共端,把电源-和其他任意极连接
这样如果有一个笔画亮了
那就是共阳极
反之就是共阴极
至于电路板上的数码管
就看公共端是与地相连(共阴)还是与vcc相连(共阳)(无论是共阴还是共阳公共端与地\vcc之间一般会串一个小电阻)
取消 评论
数码管的引脚都可以用万用表量出来,单片机的引脚你程序里自己定意就行了
取消 评论
你可以用万用表测量一下导通性啊,一只放在公共端,然后另外一只在数码管引脚上一个一个测量过去,基本能发现问题的。
取消 评论
万用表二极管档测测有没有亮。
当然,我估摸着你这行应该烧坏了,是不是你焊接时电烙铁时间放长了?我也有个数码管也烧坏了,影响不打就将就用,不舒服就换一个。
取消 评论
ZOL问答 > 怎么判断共阴、共阳数码管?

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?