一、實驗目的
1、學習共陽/陰極數碼管工作原理 2、掌握并能夠推算出數碼管顯示的數字 二、實驗要求
實驗前做好實驗預習,按照實驗要求認真完成實驗有關內容并做好記錄,實驗后要撰寫并提交實驗報告。 三、實驗環境
1、PC機 一臺 2、單片機開發綜合實驗箱 一臺 3、Keil C51 集成開發環境 一套 四、實驗原理與基礎理論
數碼管本質上是發光二極管的另一種應用形式,下圖列出兩種數碼管的結構圖 下圖表是共陽極數碼管的具體位碼表 五、實驗內容
使用共陽級數碼管按照順序循環顯示16位進制中的0-f。 程序:
#include <reg51.h>//主控芯片的頭文件
/* char tableA[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,\
0x77,0x7C,0x39,0x5E,0x79,0x71}; */
//共陰數碼管段碼0至F
chartableB[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,\
0x88,0x83,0xC6,0xA1,0x86,0x8E};
//共陽數碼管段碼0至F
/*************************函數聲明區域***************************/
void delay(short Count);//延時函數聲明
/**************************主函數區域****************************/
int main(void)
{
int num;//定義for循環控制變量“num”
while(1)
{
for(num=0;num<=15;num++)
{
//P0=tableA[num];
P0=tableB[num];
delay(100);//延時便于觀察LED情況
}
}
}
/***************************************************************/
//延時函數delay(),有形參Count用于控制延時函數執行次數,無返回值
/****************************************************************/
void delay(short Count)
{
int i,j;
while (Count--)//Count形參控制延時次數
{
for(i=0;i<50;i++)
for(j=0;j<20;j++);
}
}
|