带小数点动态数码管——小白的单片机笔记

码表:

共阴接法,不带小数点。数码管段选码表:

Unsigned char code distab[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}

共阴接法,带小数点数。码管段选码表:

Unsigned char code distab[16]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1}

*******************************************************************

共阳接法,无小数点。数码管段选码表:
 unsigned char code distab[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}

共阳接法,有小数点。数码管段选码表:

unsigned char code distab[16]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x08,0x03,0x46,0x21,0x06,0x0e} 

 

以下程序实现的功能:在第一个数码管循环显示0-7.在第八个数码管循环显示带有小数点的0-7.

#include"reg52.h"
typedef unsigned char u8;
typedef unsigned int u16;
u8 code smgd[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,0x00} ;//共阴接法不带小数点,码表
u8 code smgdp[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,
0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1} ;////共阴接法带小数点,码表

sbit ymqA=P2^2;
sbit ymqB=P2^3;
sbit ymqC=P2^4;
void delay(u16 i)
{
while(i--);

}

void display(u8 value,u8 No)//显示函数,仅仅显示数字
{
switch(No)
{
case 1:ymqA=0;ymqB=0;ymqC=0;break;
case 2:ymqA=1;ymqB=0;ymqC=0;break;
case 3:ymqA=0;ymqB=1;ymqC=0;break;
case 4:ymqA=1;ymqB=1;ymqC=0;break;
case 5:ymqA=0;ymqB=0;ymqC=1;break;
case 6:ymqA=1;ymqB=0;ymqC=1;break;
case 7:ymqA=0;ymqB=1;ymqC=1;break;
case 8:ymqA=1;ymqB=1;ymqC=1;break;
}
P0=smgd[value];
delay(100);
}
void displayp(u8 value,u8 No)//显示函数,显示的数字带有小数点
{
switch(No)
{
case 1:ymqA=0;ymqB=0;ymqC=0;break;
case 2:ymqA=1;ymqB=0;ymqC=0;break;
case 3:ymqA=0;ymqB=1;ymqC=0;break;
case 4:ymqA=1;ymqB=1;ymqC=0;break;
case 5:ymqA=0;ymqB=0;ymqC=1;break;
case 6:ymqA=1;ymqB=0;ymqC=1;break;
case 7:ymqA=0;ymqB=1;ymqC=1;break;
case 8:ymqA=1;ymqB=1;ymqC=1;break;
}
P0=smgdp[value];
delay(100);
}
void main()
{
u8 i=0;
for(i=0;i<8;i++)
{
display(i,1);
delay(10000);//这里需要加入延时函数保证肉眼可以观察到数码管数字改变,这里数字不宜太大,两侧的数码管会明显出现依次跳动数字的情况,也不可以太小,肉眼不能查看跳动,但是实际情况到此也没有找到一个合理的数字达到满意的效果
displayp(i,8);
delay(10000);
}

}

posted on 2017-05-07 16:33  草寇将军  阅读(1010)  评论(0编辑  收藏  举报

导航