安装产品计数器 2 位,将学习笔记上传讨论栏目的作业提交,注明学习任务、班级、姓名和时间, 要求对按照过程必须截图 ,老师根据作业情况计入成绩。 具体要求: 1 、电路图设计 2 、程序设计 /* 按与单片机 P3.4 引脚相连, P0 口通过电阻接共阳极数码管(十位), P2 口通过电阻接共阳极数码管(个位)。 开始显示 2 位数 00 , 每按一次按 , 计数值加 1, 数码管显示计数值。 */ //== 声明区 ================================================ #include
// 定义 8051 暂存器之标头档 unsigned char code TAB[17]= // 共阳 7 节显示器 (g~a) 编码 { 0xc0, 0xf9, 0xa4, 0xb0, 0x99, // 数字 0-4 0x92, 0x82, 0xf8, 0x80, 0x98, // 数字 5-9 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E}; //;A~F 的共阳极显示码 unsigned char i=0; sbit key=P3^4; void delay1ms(int); // 声明延迟函数 //== 主程序 ================================================ main() // 主程序开始 { P0=0XC0; P2=0XC0; // 开始显示 0 while(1) // 无穷回圈 , 程序一直跑 if(key==0) // 检查按键 { delay1ms(10); // 延时去抖动 if(key==0) // 再检查 { while(key==0){};// 等待按键释放 i++; // 计数值加 1 if(i==100)i=0; }; }; P0=TAB[i/10]; // 显示十位数 P2=TAB[i%10]; // 显示个位数 } // 主程序结束 // === 延迟函数 , 延迟约 x*1ms ================================ void delay1ms(int x) { int i,j; // 声明整数变数 i for(i=0;i