卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

探索Proteus和KeilC:打造高效計(jì)數(shù)顯示器

在日常生活中,我們經(jīng)常會遇到由數(shù)碼管和特定的組成電路構(gòu)成的計(jì)數(shù)器。如何用Proteus和KeilC實(shí)現(xiàn)這樣一個計(jì)數(shù)顯示器呢?讓我們一起來探索吧。 在Proteus中繪制電路圖首先,我們需要在Prote

在日常生活中,我們經(jīng)常會遇到由數(shù)碼管和特定的組成電路構(gòu)成的計(jì)數(shù)器。如何用Proteus和KeilC實(shí)現(xiàn)這樣一個計(jì)數(shù)顯示器呢?讓我們一起來探索吧。

在Proteus中繪制電路圖

首先,我們需要在Proteus中繪制電路圖。如果不清楚如何使用Proteus進(jìn)行電路設(shè)計(jì),可以參考相關(guān)經(jīng)驗(yàn)教程。在這個示例中,我們使用的是數(shù)碼管為共陰極的情況。所需的元件和電路圖如下所示。

利用KeilC軟件撰寫代碼

接下來,我們要使用KeilC軟件編寫代碼。如果對如何使用KeilC或者在KeilC中生成hex文件感到困惑,可以查閱相關(guān)經(jīng)驗(yàn)教程。下面是示例代碼:

```c

include

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]; // 十位數(shù)字

P3 led_mod[count]; // 個位數(shù)字

count ;

if(count 100)

count 0;

delay(100000);

}

}

```

將生成的hex文件導(dǎo)入并執(zhí)行

完成KeilC代碼編寫后,將生成的hex文件導(dǎo)入到80C51元器件中,并執(zhí)行程序。執(zhí)行結(jié)果截圖如下所示。

探討共陽極與共陰極數(shù)碼管的差異

若數(shù)碼管為共陽極,與共陰極有何區(qū)別呢?共陽極數(shù)碼管指的是八段數(shù)碼管的八段發(fā)光二極管的陽極(正極)連接在一起,而陰極則分別控制;而共陰極數(shù)碼管則是八段數(shù)碼管的八段發(fā)光二極管的陰極(負(fù)極)連接在一起,陽極分別控制。下圖展示了所選元器件和電路圖。

共陰極數(shù)碼管的KeilC代碼示例

```c

include

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]; // 十位數(shù)字

P3 led_mod[count]; // 個位數(shù)字

count ;

if(count 100)

count 0;

delay(100000);

}

}

```

通過以上步驟,您可以成功實(shí)現(xiàn)LED計(jì)數(shù)顯示器的功能。讓我們充分利用Proteus和KeilC工具,打造更多精彩的電路設(shè)計(jì)項(xiàng)目吧。

標(biāo)簽: