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