實驗2-陳淼-0213

一、實驗要求

通過keil編程,在小板實驗板中實現(xiàn)按鍵加1的四位顯示效果。

二、實驗器材

C52單片機、筆記本電腦(裝有keil、燒錄軟件等)

三、實驗步驟

1.修改代碼。

(1)

四位顯示,添加LSD

(2)


修改字形碼

(3)

根據(jù)從右到左的顯示順序修改switch文件

(4)

根據(jù)大板小板共陰極共陽極之分,修改消隱代碼


2.編譯代碼,生成.hex文件。

3.燒錄.hex文件,下載到52單片機。

5.關(guān)閉單片機開關(guān),打開單片機開關(guān),按鍵觀察。

四、程序代碼

/**************************************************************************************

* 為確保數(shù)碼管顯示正常,請將JOE跳線與VCC短接 ?

***************************************************************************************/

#include "reg52.h"

typedef unsigned int u16;

typedef unsigned char u8;

sbit LSA=P2^0;

sbit LSB=P2^1;

sbit LSC=P2^2;

sbit LSD=P2^3;

sbit K3=P3^2;

u8 code smgduan[17]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,

0x80,0x90};//0-9字形碼

u8 number[4]={0,0,0,0}; //用于顯示計數(shù)值的4位數(shù)

/*******************************************************************************

* 延時函數(shù),i=1時約延時10us

*******************************************************************************/

void delay(u16 i)

{

while(i--);

}

/*******************************************************************************

* 動態(tài)數(shù)碼管顯示

*******************************************************************************/

void DigDisplay()

{

u8 i;

for(i=0;i<4;i++) //依次顯示第1-4位數(shù)字

{

switch(i)

{

case(3):

LSA=0;LSB=1;LSC=1;LSD=1; break;

case(2):

LSA=1;LSB=0;LSC=1;LSD=1; break;

case(1):

LSA=1;LSB=1;LSC=0;LSD=1; break;

case(0):

LSA=1;LSB=1;LSC=1;LSD=0; break;

}

P0=smgduan[number[i]];//發(fā)送第i位數(shù)字的字形碼

delay(100);? ? ? ? ? //延時約1ms

P0=0xff;? ? ? ? ? ? ? //消隱

}

}

void main()

{

u16 n=0, m=0; //n用于存儲記錄按鍵次數(shù)的值,m用于臨時變量

u8 i=0;

K3 = 1;? ? ? //讀取IO口前先置1

while(1)

{

if (K3 == 0)? ? ? ? //若按鍵K3按下

{

while (K3==0);? ? //等待按鍵K3抬起,確保按動一下,計數(shù)加1

? ? ? ? ? ? ? ? ? //將此while語句注釋掉,會產(chǎn)生什么結(jié)果?為何會這樣?

n++;? ? ? ? ? ? ? //計數(shù)加1

m=n;

for (i=0;i<4;i++)? //依次將計數(shù)值n的個位、十位、百位和千位數(shù)字賦值給number[0-3]

{

number[i]=m%10;

m=m/10;

}

}

DigDisplay();? ? ? ? //調(diào)用顯示函數(shù)顯示計數(shù)值

}

}

五、實驗結(jié)果



按鍵加1四位顯示

六、經(jīng)驗總結(jié)

燒錄時要注意在軟件界面選擇正確的單片機型號和串口號。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容