51單片機入門之靜態(tài)數碼管
LED數碼管是單片機外圍接口設備中常用的顯示設備,有七段管和米字管兩種,實驗室中常用的是七段管。其工作方式有兩種:共陰極和共陽極。所謂共陰極是把LED的com端都接地,而共陽極就是把com端都接高電平。其驅動顯示方式也有兩種:靜態(tài)顯示和動態(tài)顯示。
靜態(tài)顯示中每個數碼管占用單片機的一個八位口I/O口,工作時點亮的段常亮。于該種方式而言,硬件電路簡單,編程簡單,但是浪費單片機的I/O口。下面簡單演示一下該種驅動方式。
P2口接一個數碼管,數碼管顯示的數字每秒鐘自動加一,加到9后清0,一直循環(huán),本實驗中數碼管采用共陰極接法。
實驗原理圖如下:
實驗程序如下:
[cpp] view plain copy
#include
#define uchar unsigned char;
#define uint unsigned int;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共陰極數碼管數據表
uchar a,i,j,z;
void delay(z) //延時子函數
{
for(j=z;j>0;j--)
for(i=110;i>0;i--);
}
void main() //主函數
{
while(1)
{
for(a=0;a<10;a++)//從0到9,共10次循環(huán)
{
P2=table[a]; //P2口從數據表中取數據
delay(1000); //延時大約1s
}
}
}
試驗結果如下: