多语言展示
当前在线:1863今日阅读:19今日分享:20

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

在日常生活中,我们经常会见到由数码管和特定的组成电路构成的计数器,现在就来看看用proteus和keilc如何实现计数器。
工具/原料
1

proteus

2

keilc

方法/步骤
1

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

2

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

3

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

4

如果数码管为共阳极呢?共阴极数码管与共阳极数码管又有何区别呢?共阳极数码管是指八段数码管的八段发光二极管的阳极(正极)都连在一起,而阴极对应的各段可分别控制;共阴极数码管是指八段数码管的八段发光二极管的阴极负极)都连在一起,而阳极对应的各段分别控制。下图为所选元器件和电路图:

5

共阴极是的keilc代码:#includechar 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元器件后结果如图所示:

注意事项

要注意延迟函数一定要加。如果不加延迟函数会因为人眼的暂留特性,看不到数码管的闪烁。

推荐信息