真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

MCU-51:靜態(tài)數(shù)碼管顯示-創(chuàng)新互聯(lián)

目錄
  • 一、數(shù)碼管介紹
    • 2.1 介紹
    • 2.2 數(shù)碼管引腳定義
    • 2.3 原理圖
  • 二、要用到的C語(yǔ)言知識(shí)
    • 2.1 數(shù)組
    • 2.2 子函數(shù)
  • 三、數(shù)碼管顯示
    • 3.1 單個(gè)數(shù)碼管顯示
    • 3.2 通過(guò)定位函數(shù)實(shí)現(xiàn)數(shù)碼管顯示
  • 四、動(dòng)態(tài)數(shù)碼管顯示

成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括大連網(wǎng)站建設(shè)、大連網(wǎng)站制作、大連網(wǎng)頁(yè)制作以及大連網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,大連網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到大連省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!一、數(shù)碼管介紹 2.1 介紹

LED數(shù)碼管:數(shù)碼管是一種簡(jiǎn)單、廉價(jià)的顯示器,是由多個(gè)發(fā)光二極管封裝在一起組成“8”字型的器件
在這里插入圖片描述

2.2 數(shù)碼管引腳定義

單個(gè)引腳:
數(shù)碼管分為共陽(yáng)極連接和共陰極連接兩種:
1,共陰極連接就是說(shuō)3,8這一頭連得是負(fù)極,所以在下面的那頭給上高電平(即置1)就可以使二極管發(fā)光
2,共陽(yáng)極連接就是說(shuō)3,8這一頭連得是正極,所以在下面的那頭給上低電平(即置0)就可以使二極管發(fā)光
注意:在實(shí)際編寫代碼的時(shí)候這一點(diǎn)一定要搞清楚,或者進(jìn)行實(shí)驗(yàn)后發(fā)現(xiàn)亮光的二極管的位置和預(yù)想的不對(duì),那么對(duì)賦值的I/O口使用取反符號(hào)~也行
在這里插入圖片描述
在這里插入圖片描述
多個(gè)引腳管:
在這里插入圖片描述

2.3 原理圖

在這里插入圖片描述

二、要用到的C語(yǔ)言知識(shí) 2.1 數(shù)組

把相同類型的一系列數(shù)據(jù)統(tǒng)一編制到某一個(gè)組別中,可以通過(guò)數(shù)組名+索引號(hào)簡(jiǎn)單快捷的操作大量數(shù)據(jù)

int x[3];			//定義一組變量(3個(gè))
int x[]={1,2,3};	//定義一組變量并初始化
x[0] 		//引用數(shù)組的第0個(gè)變量
x[1] 		//引用數(shù)組的第1個(gè)變量
x[2]			//引用數(shù)組的第2個(gè)變量
2.2 子函數(shù)

將完成某一種功能的程序代碼單獨(dú)抽取出來(lái)形成一個(gè)模塊,在其它函數(shù)中可隨時(shí)調(diào)用此模塊,以達(dá)到代碼的復(fù)用和優(yōu)化程序結(jié)構(gòu)的目的

void Function(unsigned char x, y)
{}

返回值 函數(shù)名(形參)
{函數(shù)體
}
三、數(shù)碼管顯示 3.1 單個(gè)數(shù)碼管顯示

第三個(gè)數(shù)碼管顯示6:
結(jié)合原理圖可以看到要使得第三位顯示為6
LED6對(duì)應(yīng)Y5,Y5對(duì)應(yīng)的二進(jìn)制為101,要讓低電平Y(jié)5通電
對(duì)應(yīng)由高位到低位得

#includevoid main()
{P2_4=1;
	P2_3=0;
	P2_2=1;
	P0=0x7D;
	while(1)
	{}
}
3.2 通過(guò)定位函數(shù)實(shí)現(xiàn)數(shù)碼管顯示
#includeunsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
void Nixie(unsigned char Location,Number)
{switch(Location)
	{case 1:P2_4=1;P2_3=1;P2_2=1;break;
			  case 2:P2_4=1;P2_3=1;P2_2=0;break;
				case 3:P2_4=1;P2_3=0;P2_2=1;break;
				case 4:P2_4=1;P2_3=0;P2_2=0;break;
				case 5:P2_4=0;P2_3=1;P2_2=1;break;
				case 6:P2_4=0;P2_3=1;P2_2=0;break;
				case 7:P2_4=0;P2_3=0;P2_2=1;break;
				case 8:P2_4=0;P2_3=0;P2_2=0;break;
	}
		P0=NixieTable[Number];
}
void main()
{Nixie(2,3);
	while(1)
	{}
}
四、動(dòng)態(tài)數(shù)碼管顯示

學(xué)會(huì)設(shè)計(jì)靜態(tài)數(shù)碼管的顯示后,我們可以在各個(gè)靜態(tài)數(shù)碼管顯示之間加入延時(shí)函數(shù),這樣就能實(shí)現(xiàn)動(dòng)態(tài)數(shù)碼管的顯示。根據(jù)以前的內(nèi)容,我們先寫一個(gè)簡(jiǎn)單的代碼,來(lái)看看效果。

#includeunsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
void Nixie(unsigned char Location,Number)
{switch(Location)
	{case 1:P2_4=1;P2_3=1;P2_2=1;break;
			  case 2:P2_4=1;P2_3=1;P2_2=0;break;
				case 3:P2_4=1;P2_3=0;P2_2=1;break;
				case 4:P2_4=1;P2_3=0;P2_2=0;break;
				case 5:P2_4=0;P2_3=1;P2_2=1;break;
				case 6:P2_4=0;P2_3=1;P2_2=0;break;
				case 7:P2_4=0;P2_3=0;P2_2=1;break;
				case 8:P2_4=0;P2_3=0;P2_2=0;break;
	}
		P0=NixieTable[Number];
}
void delay(int i)
{while(i--);
}
void main()
{	void delay(int i);
	while(1)
	{Nixie(1,2);
		delay(10000);
		Nixie(2,0);
		delay(10000);
		Nixie(3,2);
		delay(10000);
		Nixie(4,2);
		delay(10000);
		Nixie(5,1);
		delay(10000);
		Nixie(6,2);
		delay(10000);
		Nixie(7,2);
		delay(10000);
		Nixie(8,3);
		delay(10000);
		
	}
}

通過(guò)以上代碼,我們雖然看到了數(shù)碼管動(dòng)態(tài)顯示,但是大家也可以看到數(shù)碼管有殘影現(xiàn)象
我們先來(lái)解釋一下殘影出現(xiàn)的原因。
多個(gè)數(shù)碼管顯示時(shí)中間如果沒有延時(shí),那么單片機(jī)執(zhí)行的操作應(yīng)該是 位選->段選->位選->段選->位選…… 而單片機(jī)執(zhí)行速度非常快,上一次的段選還沒有結(jié)束,位選的數(shù)據(jù)已經(jīng)傳了進(jìn)去,這樣下一個(gè)數(shù)碼管就有可能顯示出上一個(gè)數(shù)碼管的數(shù)字。
這些內(nèi)容在數(shù)電中被稱為“競(jìng)爭(zhēng)與冒險(xiǎn)”
解決這樣的問(wèn)題,我們需要在段選結(jié)束之后對(duì)數(shù)碼管清零,在Nixie函數(shù)后加上延時(shí)和清零的語(yǔ)句即可。清零就是防止段選還沒結(jié)束,位選的數(shù)據(jù)就傳到了下一個(gè)數(shù)碼管。延時(shí)是防止數(shù)碼管還沒顯示完就被清零,導(dǎo)致顯示的非常暗。

void Nixie(unsigned char Location,Number)
{switch(Location)
	{case 1:P2_4=1;P2_3=1;P2_2=1;break;
			  case 2:P2_4=1;P2_3=1;P2_2=0;break;
				case 3:P2_4=1;P2_3=0;P2_2=1;break;
				case 4:P2_4=1;P2_3=0;P2_2=0;break;
				case 5:P2_4=0;P2_3=1;P2_2=1;break;
				case 6:P2_4=0;P2_3=1;P2_2=0;break;
				case 7:P2_4=0;P2_3=0;P2_2=1;break;
				case 8:P2_4=0;P2_3=0;P2_2=0;break;
	}
		P0=NixieTable[Number];
	delay(1);
	P0=0x00;
}

燒錄進(jìn)去 你會(huì)發(fā)現(xiàn)殘影就沒了

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


本文題目:MCU-51:靜態(tài)數(shù)碼管顯示-創(chuàng)新互聯(lián)
本文來(lái)源:http://weahome.cn/article/cegogj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部