實(shí)驗(yàn)2 王倩 0121

一毁涉、實(shí)驗(yàn)?zāi)康?

將大板上的獨(dú)立按鍵移植到小板上

二沉帮、實(shí)驗(yàn)器材:

計(jì)算機(jī)、Keil軟件贫堰、單片機(jī)(小板)穆壕、普中科技燒寫(xiě)軟件

三、代碼修改:

1.在修改代碼時(shí)其屏,首先要知道大板和小板的差異:

1)大板共陰小板共陽(yáng)喇勋;

2)大板與小板位選的控制不同,大板是3線8線譯碼器,小板沒(méi)有偎行,位選信號(hào)為4位川背;

3)獨(dú)立按鍵不同贰拿。

2.具體代碼更改:

1)小板共陽(yáng),所以每一位的段選低電平有效熄云,需要將大板上的代碼轉(zhuǎn)換為二進(jìn)制再取反膨更。

大板上字形碼程序代碼:u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0-9,A-F 字形碼

改為小板上的程序代碼:u8 code smgduan[17]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,

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

2)獨(dú)立按鍵使用Init1

sbit Init1=P3^2;

3)將小板位選信號(hào)改為4位

大板代碼:

sbit LSA=P2^2;

sbit LSB=P2^3;

sbit LSC=P2^4;

改為小板:

sbit LSA=P2^0;

sbit LSB=P2^1;

sbit LSC=P2^2;

sbit LSD=P2^3;

4)switch函數(shù)的更改。應(yīng)先顯示最右一個(gè)數(shù)碼管(置0)缴允,之后左移

void DigDisplay()

{

u8 i;

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

{

switch(i)

{

case(0):

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

case(1):

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

case(2):

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

case(3):

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

}

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

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

P0=0xff;? ? ? ? ? ? ? //消隱 ? ? ? 大板置0無(wú)效荚守,小板置1

}

}

5)main函數(shù)的更改。須與上方保持一致 ??


完整代碼如下:

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

* 為確保數(shù)碼管顯示正常练般,請(qǐng)將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 Init1=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}; //用于顯示計(jì)數(shù)值的4位數(shù)

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

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

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

void delay(u16 i)

{

while(i--);

}

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

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

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

void DigDisplay()

{

u8 i;

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

{

switch(i)

{

case(0):

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

case(1):

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

case(2):

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

case(3):

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

}

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

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

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

}

}

void main()

{

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

u8 i=0;

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

while(1)

{

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

{

while (Init1==0);? ? //等待按鍵K3抬起薄料,確保按動(dòng)一下敞贡,計(jì)數(shù)加1

? ? ? ? ? ? ? ? ? //將此while語(yǔ)句注釋掉,會(huì)產(chǎn)生什么結(jié)果摄职?為何會(huì)這樣誊役?

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

m=n;

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

{

number[i]=m%10;

m=m/10;

}

}

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

}

}

四势木、實(shí)驗(yàn)結(jié)果:


五、實(shí)驗(yàn)反思:

實(shí)驗(yàn)過(guò)程沒(méi)有出現(xiàn)錯(cuò)誤歌懒,但是感覺(jué)自己對(duì)基礎(chǔ)知識(shí)的掌握不夠牢靠啦桌,需要再鞏固。

兩個(gè)實(shí)驗(yàn)最深的感觸:只要?jiǎng)邮志蜁?huì)有收獲及皂!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末甫男,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子验烧,更是在濱河造成了極大的恐慌板驳,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件碍拆,死亡現(xiàn)場(chǎng)離奇詭異若治,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)感混,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)端幼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人弧满,你說(shuō)我怎么就攤上這事婆跑。” “怎么了庭呜?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵滑进,是天一觀的道長(zhǎng)犀忱。 經(jīng)常有香客問(wèn)我,道長(zhǎng)扶关,這世上最難降的妖魔是什么阴汇? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮驮审,結(jié)果婚禮上鲫寄,老公的妹妹穿的比我還像新娘吉执。我一直安慰自己疯淫,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布戳玫。 她就那樣靜靜地躺著熙掺,像睡著了一般。 火紅的嫁衣襯著肌膚如雪咕宿。 梳的紋絲不亂的頭發(fā)上币绩,一...
    開(kāi)封第一講書(shū)人閱讀 51,155評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音府阀,去河邊找鬼缆镣。 笑死,一個(gè)胖子當(dāng)著我的面吹牛试浙,可吹牛的內(nèi)容都是我干的董瞻。 我是一名探鬼主播,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼田巴,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼钠糊!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起壹哺,我...
    開(kāi)封第一講書(shū)人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤抄伍,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后管宵,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體截珍,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年箩朴,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了岗喉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡隧饼,死狀恐怖沈堡,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情燕雁,我是刑警寧澤诞丽,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布鲸拥,位于F島的核電站,受9級(jí)特大地震影響僧免,放射性物質(zhì)發(fā)生泄漏刑赶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一懂衩、第九天 我趴在偏房一處隱蔽的房頂上張望撞叨。 院中可真熱鬧,春花似錦浊洞、人聲如沸牵敷。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)枷餐。三九已至,卻和暖如春苫亦,著一層夾襖步出監(jiān)牢的瞬間毛肋,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工屋剑, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留润匙,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓唉匾,卻偏偏與公主長(zhǎng)得像孕讳,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子肄鸽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容