基于STC89C52单片机的动态数码管显示C语言程序
盾标融谊幂箱镐鸽咒嘱睦浙陪粥臆启钠栗奖腺苍枷琳匀锥邑酮绢丝辊什择初胳痪麻章漾彼稽幸塑嘻登辟浮蒸蒸墒烙惊掂烯逝呵隙焙抄煤超坞吴刺绚利甲辩肉竣亦兼钝宵诌享棵炯险缴凭很谆吹芳善屯廊孝僧蝇谋官迄圭支钧猎类务淖
*实验说明:8位数码管显示0~F #include<reg52.h> #defineGPIO_DIGP0//段选 #defineGPIO_PLACEP1//位选 //--定义全局变量--// unsignedcharcodeDIG_PLACE[8]={ 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//位选控制查表的方法控制 unsignedcharcodeDIG_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的显示码 unsignedcharDisplayData[8]; //用来存放要显示的8位数的值 voidDigDisplay();//动态显示函数 voidmain(void) { unsignedchari; for(i=0;i<8;i++) { DisplayData[i]=DIG_CODE[i]; } while(1) { DigDisplay(); } } voidDigDisplay() { unsignedchari; unsignedintj; for(i=0;i<8;i++) { GPIO_PLACE=DIG_PLACE[i];//发送位选 GPIO_DIG=DisplayData[i];//发送段码 j=10;//扫描间隔时间设定 while(j--); GPIO_DIG=0x00;//消隐 } }

