/************************************************ 跳线设置:双排针除PSEN外全部插上 硬件结构框架: 1,八位八段数码管 2,MCU STC89C52 显示效果: 1,在数码管上循环显示0-9 相关知识点: 1,数码管的驱动显示方式 ************************************************/
#include"AT89x52.h" #include"math.h" #define uint unsigned int #define uchar unsigned char
sbit DUAN=P2^6; //74HC573的LE端 U1 数码管LED的段选端 sbit WEI=P2^7; //74HC573的LE端 U1 数码管LED的位选端 uchar Temp[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴显示字库
void delay(uint z) //1ms延时 { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }
main() { uchar i; DUAN=1; WEI=1; //让第2个74hc573处于直通状态 P0=0; //开启所有数码管的位选 WEI=0; //锁存,保持第2个74hc573的输出数据保持不变 while(1) { for(i=0;i<10;i++) { delay(500); //延时 P0=Temp; //送段码 delay(500); } } }
|