当前位置:首页 > 技术学院 > 技术前线
[导读]数码管里面相当于有8个段码管(或叫发光二极管)。 数码管分阳极管(CA),阴极管(CC)。阳极管是接高电平然后通过每个段选为来控制数码管亮灭(高电平灭,低电平亮)。阴极管则是接低电平,通过段选来控制亮灭(高电平亮,低电平灭)。 在驱动多个阳极数码管的时候,位选控制应加三极管来控制(为了防止电流太小,驱动不了数码管)。

现在开始用仿真来实现数码管的使用,这里使用的是stc89c51单片机。

1、控制数码管全亮和全灭


数码管的使用方法

这是仿真图。

#include

#define uchar unsigned char

#define uint unsigned int

void main()

{

while(1)

{

P2 = 0x00; //直接对端口进行控制。

}

}

代码部分。

2、数码管显示数字


数码管的使用方法

仿真图。

#include

#define uchar unsigned char

#define uint unsigned int

void main()

{

while(1)

{

P2 = 0xc0; //控制数码管显示0。

}

}

代码部分。

3、数码管显示连续数字


数码管的使用方法


数码管的使用方法

仿真图。

#include

#define uchar unsigned char

#define uint unsigned int

uchar code ledchar[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,0x80, 0x90}; //阳极管代码

void delay(uint n) //延时 时间取决于晶振部分

{

while(n–);

}

void main()

{

uchar i;

while(1)

{

for(i=0; i<10; i++)

{

P2 = ledchar[i]; //连续切换不同的数组元素

delay(50000);

}

}

}

代码部分。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭