用proteus和keilc做一个计数显示器
在日常生活中,我们经常会见到由数码管和特定的组成电路构成的计数器,现在就来看看用proteus和keilc如何实现计数器。
操作方法
- 01
首先,在proteus中画电路图。不知道用proteus怎么画电路图的话,可以看我以前的经验。用到的元器件和电路图如下所示(此电路图为数码管为共阴极的情况):
- 02
然后,用keilc软件写代码。不知道具体怎么使用keilc,或者不知道如何在keilc中生成hex文件的话,可以看我以前的经验。代码如下图:
- 03
之后,就可以把生成的hex文件导入到80C51元器件中,然后执行了。执行结果截图如下:
- 04
如果数码管为共阳极呢?共阴极数码管与共阳极数码管又有何区别呢?共阳极数码管是指八段数码管的八段发光二极管的阳极(正极)都连在一起,而阴极对应的各段可分别控制;共阴极数码管是指八段数码管的八段发光二极管的阴极负极)都连在一起,而阳极对应的各段分别控制。 下图为所选元器件和电路图:
- 05
共阴极是的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); } }
- 06
将keilc代码导入到80C51元器件后结果如图所示: