51_指针数码管
/**********************51单片机学习例程************************ * 平台:Keil U4 + STC89C52 * 名称: 指针静态数码管试验流动显示0-F * 编写:Tony * 日期:2022-2-2 * QQ : 674749794 * 晶体:12MHZ * 变更记录:无 ******************************************************************/ #include<reg52.h> #define uchar unsigned char #define uint unsigned int //--定义使用的IO--// #define GPIO_DIG P1 sbit LSA=P2^2; sbit LSB=P2^3; sbit LSC=P2^4; //--定义全局变量--// uchar code DIG_CODE[17]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的显示码 uchar *p;//用来存储数组元素地址 uchar j; //地址累加值 uint i; //延时用 /******************************************************************************* * 函 数 名 : main * 函数功能 : 主函数 * 输 入 : 无 * 输 出 : 无 *******************************************************************************/ void main() { p=DIG_CODE; j=0; GPIO_DIG=0x00; LSA=0;LSB=0;LSC=1; while(1) { if(j==15) j=0; else j++; GPIO_DIG=*(p+j); // GPIO_DIG=0x04; for(i=0;i<60000;i++); } }