1、设计要求
用一个共阳极数码管循环显示数值“0~F”,显示变换时间为1s,由P1口输出要显示的数值
2、硬件设计
使用proteus Isis仿真,选择元器件,AT89C51、7SEG-COM-AN-GRN、RESPACK8
3、软件设计
源程序:
#include <reg51.h>
#include <intrins.h>
typedef unsigned char u8;
typedef unsigned int u16;
u8 smgduan[16] = {0x3f ,0x06 ,0x5b ,0x4f ,0x66 ,0x6d ,0x7d ,0x07 ,
0x7f ,0x6f ,0x77 ,0x7c ,0x39 ,0x5e ,0x79 ,0x71 }; //共阴
void delay(u16 i)
{
u8 a,b;
for( ;k>0 ;k--)
for(b=142 ; b>0 ;b--)
for(a=2 ;a>0 ;a--);
}
void main()
{
//u16 i;
P1 = ~smgduan[0];
//delay(1000);
while(1)
{
for(i=0;i<10;i++) // 静态数码管数字动态输出
{
P1= ~smgduan[i];
delay(1000);
}
}
}