用proteus和keilc做一个计数显示器

2025-11-13 18:06:20

1、首先,在proteus中画电路图。不知道用proteus怎么画电路图的话,可以看我以前的经验。用到的元器件和电路图如下所示(此电路图为数码管为共阴极的情况):

用proteus和keilc做一个计数显示器

用proteus和keilc做一个计数显示器

2、然后,用keilc软件写代码。不知道具体怎么使用keilc,或者不知道如何在keilc中生成hex文件的话,可以看我以前的经验。代码如下图:

用proteus和keilc做一个计数显示器

3、之后,就可以把生成的hex文件导入到80C51元器件中,然后执行了。执行结果截图如下:

用proteus和keilc做一个计数显示器

4、如果数码管为共阳极呢?共阴极数码管与共阳极数码管又有何区别呢?共阳极数码管是指八段数码管的八段发光二极管的阳极(正极)都连在一起,而阴极对应的各段可分别控制;共阴极数码管是指八段数码管的八段发光二极管的阴极负极)都连在一起,而阳极对应的各段分别控制。

下图为所选元器件和电路图:

用proteus和keilc做一个计数显示器

用proteus和keilc做一个计数显示器

5、共阴极是的keilc代码:

#include<reg51.h>

char led_mod[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

int count;   //计数器

void delay(unsigned int time){//延迟函数

int j = 150;

for(;time>0;time--)

for(;j>0;j--);

}

void main(){

count = 0;

while(1){

P0 = led_mod[count/10];  //十位上的数字

P3 = led_mod[count%10]; //个位上的数字

count++;

if(count==100) //若计数器为100,则从0开始

count = 0;

delay(100000);

}

}

6、将keilc代码导入到80C51元器件后结果如图所示:

用proteus和keilc做一个计数显示器

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢