❶ 单片机的共阴共阳8段码的原理及显示代码推导
用LED数码显示器循环显示数字0~9
#include<reg51.h> // 包含51单片机寄存器定义的头文件
/**************************************************
函数功能:延时函数,延时一段时间
***************************************************/
void delay(void)
{
unsigned char i,j;
for(i=0;i<255;i++)
for(j=0;j<255;j++)
;
}
/**************************************************
函数功能:主函数
***************************************************/
void main(void)
{
unsigned char i;
unsigned char code Tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//数码管显示0~9的段码表,程序运行中当数组值不发生变化时,
//前面加关键字code ,可以大大节约单片机的存储空间
P2=0xfe; //P2.0引脚输出低电平,数码显示器DS0接通电源工作
while(1) //无限循环
{
for(i=0;i<10;i++)
{
P0=Tab[i]; //让P0口输出数字的段码92H
delay(); //调用延时函数
}
}
}
❷ 单片机中怎样根据汇编代码判断二极管是共阴极还是共阳极的
程序中红线标出的,是共阳极LED的段码表,对应的字符依次是0~9。
例如,首个段码是 C0h =1100 0000b,
即a,b,c,d,e,f,脚低电平,对应"笔画"亮,显示“0”字符。
请参阅下图:
❸ 在单片机中,怎样判断数码管的阴阳极
1、检查数码管是共阴还是共阳,A表示共阳,K表示共阴。或者直接给公共端接高电平或者低电平,段码端一部分接高电平,一部分接低电平,这样数码管亮的话看公共端接的是高还是低电平就可以判断了。
2、看你接的限流电阻是不是太大,大于1K的值有可能不亮,最好不要接限流电阻。做实际的实物电路再加上470欧姆。
3、是不是接到51单片机的P0口了,接到P0口必须加上拉电阻,否则不会亮。
4、如果是程序控制数码管,注意延时时间的长短,太短会看不到亮。
❹ 为什么我的单片机段码是共阴极的位码是共阳极的
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f 这是共阴极的位码 不是共阳极
阳极就是段码 写1 阴极就是位码 写0 二极管才能亮 这是共阴极
比如0xfe 是1111 1110 只有一位是0
当位码写0 选中 的说明是共阴极
❺ 为什么我的单片机段码是共阴极的位码是共阳极的
一般来说
数码管是共阴极的,那么位码是阳极(如果你想让数码管全亮,就把所有阳极并接在一起,但是最好也要每个阳极串个限流电阻,再并接,不过这也不是叫共阳极)。
如果不是这样那你的数码管有没有型号或数据手册,帮你看一下。
还有多个数码管的话是可以把不同的数码管位码接在一起,这也不叫共阳极,只是因为它们一般不会同时导通而已。
❻ 单片机阴阳级是0亮还是1亮
阴阳极?好吧,如果你说的是 共阴数码管 就是 1 亮;共阳数码管 就是 0亮!数码管就是把LED的某个公共端接在一起,你这样想就行了,阴的就是0那肯定要有电压差才能亮,所以要接1。具体的话,你可以看看 数码管 的内部结构图,一看不明白了的。就是LED!
如果不是说 数码管,请追问。
望采纳!
❼ 51单片机一到九的段码
你是说数码管的段码吗? 共阴极与共阳极不同
共阳极段码:
uchar code table[]={
0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90,
0x88,0x83,0xc6,0xa1,0x86,
0x8e,0xbf};
共阴极段码:
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
❽ 单片机 共阴数码管。如何编程
你所说的“8” 0xff是共阴的,那么要是他点亮,8段数码管abcdefg都应该为1,h是小数点,没有用到,则是0.
abcdefgh则为:11111110
把顺序倒过来就是01111111
把八为二进制分2组,四位一组
根据8421码:
8 4 2 1 8 4 2 1
-----------------------------------------------------
0 1 1 1 1 1 1 1
4+2+1=7 8+4+2+1=15 (分数下面是0的不用和上面相加的)
16进制中 10=a 11=b 12=c13=d14=e15=f
即 0x7f
你上面说的8=0xff是把小数点也算上去了的!