标题:
通过38译码器来控制数码管的显示
[打印本页]
作者:
daming
时间:
2014-12-29 19:38
标题:
通过38译码器来控制数码管的显示
#include<reg52.h> //头文件
#define uchar unsigned char //宏定义
#define uint unsigned int
uchar code table[]={0x3f,0x06,0x5b, //建立数码管数值表
0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,
0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay(uint x) //延时函数
{
uint i,j;//局部变量
for(i=x;i>0;i--)
for(j=200;j>0;j--);
}
void main()
{
uint i,j;//局部变量
while(1)
{
for(i=0;i<16;i++) //第一个数码管显示0-f
{
P1=0xf8;
P2=table[i];
delay(250);
}
for(i=0;i<500;i++) //动态扫描显示0-7
{
P1=0xf8; P2=table[j++]; delay(1);//延时值得大小要适中
P1=0xf9; P2=table[j++]; delay(1);
P1=0xfa; P2=table[j++]; delay(1);
P1=0xfb; P2=table[j++]; delay(1);
P1=0xfc; P2=table[j++]; delay(1);
P1=0xfd; P2=table[j++]; delay(1);
P1=0xfe; P2=table[j++]; delay(1);
P1=0xff; P2=table[j++]; delay(1);
if(j==8)
j=0;
}
}
}
/* 数码管接P2口,低电平有效,
通过3-8译码器来控制那个数码管亮
*/
复制代码
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1