一、实验目的
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++);
}
}
|