新聞中心

00-99計(jì)數(shù)器

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

1.實(shí)驗(yàn)任務(wù)

利用AT89S51來(lái)制作一個(gè)手動(dòng)計(jì)數(shù)器,在AT89S51P3.7管腳接一個(gè)輕觸開(kāi)關(guān),作為手動(dòng)計(jì)數(shù)的按鈕,用P2.0P2.7接一個(gè)共陰數(shù)碼管,作為0099計(jì)數(shù)的個(gè)位數(shù)顯示,用單片機(jī)的P0.0P0.7接一個(gè)共陰數(shù)碼管,作為0099計(jì)數(shù)的十位數(shù)顯示;硬件電路圖如圖19所示。

2.電路原理圖

4.10.1

3.系統(tǒng)板上硬件連線(xiàn)

(1. 把“單片機(jī)系統(tǒng)”區(qū)域中的P0.0/AD0P0.7/AD7端口用8芯排線(xiàn)連接到“四路靜態(tài)數(shù)碼顯示模塊”區(qū)域中的任一個(gè)ah端口上;要求:P0.0/AD0對(duì)應(yīng)著a,P0.1/AD1對(duì)應(yīng)著b……,P0.7/AD7對(duì)應(yīng)著h

(2. 把“單片機(jī)系統(tǒng)”區(qū)域中的P2.0/A8P2.7/A15端口用8芯排線(xiàn)連接到“四路靜態(tài)數(shù)碼顯示模塊”區(qū)域中的任一個(gè)數(shù)碼管的ah端口上;

(3. 把“單片機(jī)系統(tǒng)”區(qū)域中的P3.7/RD端口用導(dǎo)線(xiàn)連接到“獨(dú)立式鍵盤(pán)”區(qū)域中的SP1端口上;

4.程序設(shè)計(jì)內(nèi)容

(1. 單片機(jī)對(duì)按鍵的識(shí)別的過(guò)程處理

(2. 單片機(jī)對(duì)正確識(shí)別的按鍵進(jìn)行計(jì)數(shù),計(jì)數(shù)滿(mǎn)時(shí),又從零開(kāi)始計(jì)數(shù);

(3. 單片機(jī)對(duì)計(jì)的數(shù)值要進(jìn)行數(shù)碼顯示,計(jì)得的數(shù)是十進(jìn)數(shù),含有十位和個(gè)位,我們要把十位和個(gè)位拆開(kāi)分別送出這樣的十位和個(gè)位數(shù)值到對(duì)應(yīng)的數(shù)碼管上顯示。如何拆開(kāi)十位和個(gè)位我們可以把所計(jì)得的數(shù)值對(duì)10求余,即可個(gè)位數(shù)字,對(duì)10整除,即可得到十位數(shù)字了。

(4. 通過(guò)查表方式,分別顯示出個(gè)位和十位數(shù)字。

5.程序框圖

4.10.2

6.匯編源程序

Count EQU 30H

SP1 BIT P3.7

ORG 0

START: MOV Count,#00H

NEXT: MOV A,Count

MOV B,#10

DIV AB

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV P0,A

MOV A,B

MOVC A,@A+DPTR

MOV P2,A

WT: JNB SP1,WT

WAIT: JB SP1,WAIT

LCALL DELY10MS

JB SP1,WAIT

INC Count

MOV A,Count

CJNE A,#100,NEXT

LJMP START

DELY10MS: MOV R6,#20

D1: MOV R7,#248

DJNZ R7,$

DJNZ R6,D1

RET

TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

END

7.C語(yǔ)言源程序

#include AT89X51.H>

unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,

0x6d,0x7d,0x07,0x7f,0x6f};

unsigned char Count;

void delay10ms(void)

{

unsigned char i,j;

for(i=20;i>0;i--)

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

}

void main(void)

{

Count=0;

P0=table[Count/10];

P2=table[Count%10];

while(1)

{

if(P3_7==0)

{

delay10ms();

if(P3_7==0)

{

Count++;

if(Count==100)

{

Count=0;

}

P0=table[Count/10];

P2=table[Count%10];

while(P3_7==0);

}

}

}

}

51單片機(jī)相關(guān)文章:51單片機(jī)教程


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


評(píng)論


相關(guān)推薦

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

關(guān)閉