<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于51的簡(jiǎn)易00-99計數器的設計與仿真

基于51的簡(jiǎn)易00-99計數器的設計與仿真

作者: 時(shí)間:2014-03-13 來(lái)源:網(wǎng)絡(luò ) 收藏

1 系統描述

本文引用地址:http://dyxdggzs.com/article/234714.htm

本系統利用 單片機來(lái)制作一個(gè)手動(dòng),在 單片機的P3.2 管腳和P3.3 管腳各接一個(gè)輕觸開(kāi)關(guān)K1和K2,作為手動(dòng)計數的按鈕,用單片機的P0.0 - P0.7 接一個(gè)兩位綠色共陰極數碼管(7SEG-COM-CAT-GRN),作為00 - 99 計數的個(gè)位數和十位數顯示。系統正常運行后顯示00,按一次K1 鍵,數字加1,當計數到 99 時(shí),再按一次 K1 鍵,又從00 開(kāi)始計數。當計數到 99 時(shí),按一次K2,計數為98,繼續按K2,直到計數為00,由此實(shí)現正計數和倒計數的功能。本系統可用于競技比賽中的計分,或者用于重要事件將要到來(lái)的倒計時(shí)。

2 硬件電路設計

硬件電路的設計是本系統能否實(shí)現所需功能的關(guān)鍵環(huán)節,在設計過(guò)程中須注意電路的整體布局、元器件的擺放、元器件的參數選擇及電路的優(yōu)化,具體電路圖如1-1 所示。其中,X1 為12MHZ 的晶體振蕩器,RX8 為排阻。

圖1-1 電路原理圖:

 

 

3 軟件設計

根據硬件電路的結構及功能要求,在分析所需算法和功能模塊的基礎上編寫(xiě)本系統的代碼,要求代碼盡可能的簡(jiǎn)潔易懂,并有在必要的地方寫(xiě)明注釋。具體代碼如下所示:

#include// 導入頭文件

unsigned b[10]={0x3f,0×06,0x5b,0x4f,0×66,0x6d,0x7d,0×07,0x7f,0x6f};//0-9 的編碼

void delay(void)// 延時(shí)子程序,延時(shí)1 秒

{

unsigned char i,j,k;for(i=20;i>0;i- )

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

for( k=250; k>0; k-);

}

void Inc_CNT ( void )// 按K1 鍵正計數,可從0 計到99

{

unsigned char x, y, z;

for( x=0; x<10; x++){

for( y=0; y<10; y++){

if( (P3|0xfb)==0xfb ){

for( z=0; z<22; z++){

P2=0xf2;

P0=b[x];

delay( );// 調用延時(shí)子程序

P2=0xf1;

P0=b[y];

delay( );

}

}

else{

P0 = 0x3f;

P2 = 0×00;

break;}}}}

void Dec_CNT( void )// 按k2 鍵倒計數,可從99 計到00

{

unsigned char x, y, z;

for( x=10; x>0; x-){

for( y=10; y>0; y-){

if((P3|0xf7)==0xf7){

for(z=0; z<22;z++){

P2=0xf2;

P0=b[x-1];

delay( );

P2=0xf1;

P0=b[y-1];

delay( );}// 調用延時(shí)子程序

}

else {

P0=0x3f;

P2=0×00;

break;}}}}

void main( void )// 主函數

{

unsigned char key;

P2=0×00;

P0=0x3f;

for(;;){

P3|=0xf3;

key=P3;

if(key==0xfb)Inc_CNT();// 調用正計數函數

else if(key==0xf7 )Dec_CNT();// 調用倒計數函數

else{

P2=0×00;

P0=0x3f;}}}

4 軟硬件聯(lián)調

單片機系統的硬件調試和軟件調試是不能分開(kāi)的,許多硬件錯誤是在軟件調試過(guò)程中被發(fā)現和糾正的。但通常是先排除明顯的硬件故障以后,再和軟件結合起來(lái)調試以進(jìn)一步排除故障??梢?jiàn)硬件的調試時(shí)基礎,如果硬件調試不通過(guò),軟件設計則無(wú)從談起。硬件的調試主要是把電路各種參數調整到符合設計要求。先排除硬件電路故障,包括設計性錯誤和公益性故障。一般原則是先靜態(tài)后動(dòng)態(tài)。利用萬(wàn)用表或邏輯測試儀器,檢查電路中的各器件以及引腳是否連接正確,是否有短路故障。運行正確的仿真電路圖如下所示。

 

 

5 結語(yǔ)

本系統利用 單片機來(lái)制作一個(gè)手動(dòng),在A(yíng)T89C51 單片機的P3.2 管腳和P3.3 管腳各接一個(gè)輕觸開(kāi)關(guān)K1和K2,作為手動(dòng)計數的按鈕, 通過(guò)使用專(zhuān)業(yè)繪制電路圖的軟件和程序編譯軟件,不斷進(jìn)行測試和調試,從而證明了本系統可用于競技比賽中的計分,或者用于重要事件將要到來(lái)的倒計時(shí)。

塵埃粒子計數器相關(guān)文章:塵埃粒子計數器原理


關(guān)鍵詞: AT89C51 計數器

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>