/*************************************************************** “天祥电子” 倾情奉献 www.txmcu.com www.txmcu.cn ***************************************************************** 程序功能: 记录按键s1按下的次数,且在掉电是仍可保存,重新开机后数码管 仍可显示上次未掉电时,s1按下的次数,s2键用来对次数进行清零。 ***************************************************************/ #include #include #define uint unsigned int #define uchar unsigned char uint num; //定义计数值,每过1秒,sec加1 sbit sda=P2^0; //IO口定义 sbit scl=P2^1; sbit dula=P2^6; sbit wela=P2^7; sbit s1=P3^4;//计数按键 sbit s2=P3^5;//清零按键 unsigned char j,k; char a,b; void delay(unsigned char i) //延时程序 { for(j=i;j>0;j--) for(k=125;k>0;k--); } uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, //数码管编码 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; void nop() { _nop_(); _nop_(); } void display(uchar a,uchar b) //显示程序 { dula=0; P0=table[a]; //显示百位 dula=1; dula=0; wela=0; P0=0x7e; wela=1; wela=0; delay(5); dula=0; P0=table[b]; //显示十位 dula=1; dula=0; wela=0; P0=0x7d; wela=1; wela=0; delay(5); /*dula=0; P0=table[c]; //显示个位 dula=1; dula=0; wela=0; P0=0x7b; wela=1; wela=0; delay(5); */ } /////////24C02读写驱动程序//////////////////// void delay1(unsigned int m) { unsigned int n; for(n=0;n