C51教程 第三個51程序:數碼管顯示

keil+proteus

第三個51程序:讓數碼管循環顯示0-9

這是一個AT89c51單片機教程,我們每次都會提供博文教程以及附帶資料下載。

單片機就是一個小型CPU,在電子領域應用廣泛,電視、冰箱、洗衣機、空調等產品中都能見到他們的身影。它是一個可編程的mcu,根據代碼的不同可實現非常多功能

數碼管是生活中常見的電子元件之一,它其實是由8個led連接而成,可顯示數字與部分字母。數碼管又可以分爲共陰極與共陽極之分。本實驗採用共陰極爲例

在這裏插入圖片描述
瞭解數碼管之後,就可以開始今天的實驗了。打開proteus仿真,找到一個共陰極的數碼管,可參考下圖中左上角元件名稱,查找,連接電路在這裏插入圖片描述
有人要問了,爲什麼要接上拉電阻呢,因爲接的是P0口,P0沒有輸出能力,只能接上拉輸出了。我們也可以把數碼管接在別的地方,P1,P2,P3都是不用接上拉電阻的,好了,硬件搭建完畢。接下來開始編寫程序了

先在你的學習文件夾下新建一個文件夾, 名字叫數碼管,接下來吧工程文件放到這一個文件夾就可以了
在這裏插入圖片描述
下面開始建立工程,打開keil4,新建一個工程,寫下代碼

#include <reg51.h>

void delayms(unsigned int m)      //延時子程序
{
	unsigned int a,b;
	for(a=0; a<m; a++)
		for(b=0; b<120; b++);
}		  

unsigned int a[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//分別顯示0 1 2 3 4 5 6 7 8 9

void main (void)
{	  
		unsigned char n;
	     //在這裏定義初始化防止循環執行時循環初始化
		while(1)
		{
			for(n=0; n<10; n++)	//0-9循環顯示
			{
			   P0 = a[n];           //數碼管輸出
			   delayms(500);
		    }	
		}
}

寫入keil工程之後編譯生成hex文件
在這裏插入圖片描述
編譯通過,發現文件夾多了一些文件,其中有一個.hex文件
在這裏插入圖片描述
接下來用同樣的方法,把hex文件入錄到仿真,可以看到數碼管在從0-9循環顯示,實驗成功
在這裏插入圖片描述
附帶教程文件:數碼管.rar

另外,提供給學者一本祕籍:《51精簡版教程》//download.csdn.net/download/mbs520/12167589

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章