]); //向1602 液晶写数据函数 delay(5); } (0x80+0x40+6);// 写出时间显示部分的两个冒号 write_dabe(':'); delay(5); (0x80+0x40+9); write_dabe(':'); delay(5); miao=11; //用于使时钟从 11点 11分 11秒开始显现 shi=11; fen=11; write_sfm(10,miao); //分别送去让液晶显示单片机原理及系统课程设计报告 9 write_sfm(7,fen); write_sfm(4,shi); TMOD=0x01; //设置定时器 0工作方式 1 TH0=(65535-50000)/256; //定时器装初值 TL0=(65535-50000)%256; ET0=1;// 开定时器 0中断 EA=1; //开总中断 TR0=1;// 启动定时器 0} void jianpan()// 按键扫描函数{ if(s1==0) //扫描是否功能键按下{ delay(5); //去抖延迟 if(s1==0) //确定功能键按下{ s1num++; while(!s1); if(s1num==1)// 第一次被按下时{ TR0=0; //关闭定时器(0x80+0x40+10); //光标定位到秒位置(0x0f);// 光标开始闪烁} if(s1num==2)// 第二次按下光标闪烁定位到分钟的位置{ (0x80+0x40+7); } if(s1num==3) { (0x80+0x40+4);// 第三次按下光标闪烁定位到小时的位置} if(s1num==4) //第四次按下停止功能键改值,从而使时钟运作{ s1num=0; (0x0c); TR0=1; }}} if(s1num!=0)// 只有功能键被按下后,增大和减小减小键才有效{ if(s2==0)