代碼非常簡單易懂。很適合初學者。
/*********************************************************************************************/ /* 給新手的學習建議,如何快速學習單片機。 */ /* 鐵牛單片機 購買單片機實驗板請直接在淘寶下單 */ /* 技術支持 QQ:124471241 TEL:15829700675 僅限鐵牛單片機用戶 */ /* 實驗目的:學會8*8點陣動態掃描方法. */ /* 實驗現象:8*8點陣光柱先從0-9每隔一定的時間動態顯示。 */ /*【版權】Copyright(C)鐵牛單片機 All Rights Reserved */ /*【聲明】此程序僅用于學習與參考,引用請注明版權和作者信息! */ /*********************************************************************************************/ #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int uchar code row[] ={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//行掃描數組row0--row7.硬件定義為P1口。 uchar code word[][8]={ {0xC7,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xC7},//硬件定義為P0口。'0' {0xEF,0x8F,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF},//硬件定義為P0口。'1' {0xC7,0xBB,0xBB,0xF7,0xEF,0xDF,0xBF,0x83},//硬件定義為P0口。'2' {0xC7,0xBB,0xFB,0xC7,0xFB,0xFB,0xBB,0xC7},//硬件定義為P0口。'3' {0xE7,0xE7,0xD7,0xD7,0xB7,0x83,0xF7,0xF7},//硬件定義為P0口。'4' {0x83,0xBF,0xBF,0x87,0xFB,0xFB,0xBB,0xC7},//硬件定義為P0口。'5' {0xC7,0xBB,0xBF,0x87,0xBB,0xBB,0xBB,0xC7},//硬件定義為P0口。'6' {0x83,0xFB,0xF7,0xF7,0xF7,0xEF,0xEF,0xEF},//硬件定義為P0口。'7' {0xC7,0xBB,0xBB,0xC7,0xBB,0xBB,0xBB,0xC7},//硬件定義為P0口。'8' {0xC7,0xBB,0xBB,0xBB,0xC3,0xFB,0xBB,0xC7},//硬件定義為P0口。'9' };
void display(uchar); void delay(uint x) { uint a,b; for(a=x;a>0;a--) for(b=100;b>0;b--); }
void main() { uint i=1000; uchar dis_num; dis_num=0; while(1) { for(i=100;i>0;i--) { if(dis_num==10) dis_num=0; display(dis_num); } dis_num++; } }
void display(uchar word_num) { uchar i; for(i=0;i<8;i++) { P1=row[i]; P0=word[word_num][i]; delay(1); P1=0xff; P0=0xff; } } |