1602显示秒表
- 格式:doc
- 大小:49.00 KB
- 文档页数:9
红外控制秒表最小系统设计小组成员:班级:学院:重庆邮电大学2013年06 月题目及要求:红外控制显示秒表1.能够从00-00到59-99秒正常计时;2.显示电路的设计,选用LCD1602。
3.具有启动/暂停、清零、记录、显示功能,能够记录并显示3组数据。
4.其它扩展功能。
摘要:随着科学技术的发展,单片机因其高可靠性和高性价比,在智能化家用电器、仪器仪表等诸多领域内得到了极为广泛的应用。
当前单片机对家用电器控制呈现出外型简单化、功能多样化、性能优越化的发展趋向。
红外遥控器具用使用方便、功耗低、抗干扰能力强的特点,因此它的应用前景是不可估量。
本设计以红外线作为传递信息的载体,以AT89S52单片机为控制核心,12MHz的晶体振荡电路, 1602作为显示电路,并用24C02作为数据的存储,实现秒表的控制。
关键词:复位电路;LCD1602;晶振电路;AT89S52单片机目录摘要 (2)1、设计 (4)2、各功能模块分析 (4)2.1红外遥控部分介绍 (5)2.2液晶显示模块介绍 (10)2.3 24c02存储模块介绍 (12)3、系统软件设计 (15)3.1程序思路 (15)3.2单片机程序流程图 (15)4、系统调试 (16)4.1 合理布局 (15)4.2 调试 (16)4.3 调试结果分析 (17)5、结论与心得 (17)参考文献 (19)附录1 (20)1设计1.1 概述本文通过设计一个红外调节的电路,利用采用AT89S52单片机为主控芯片、遥控器发射、一体化红外接收头位红外接收模块、显示模块利用lcd1602液晶,存储模块选择24C02,其他扩展有按键扫描,蜂鸣器。
本设计框图如图1.1所示。
1.2 工作原理分析在这个实训中,采用一般的万用遥控器发射红外信号,接收部分用红外一体化接收头,对信号进行初步处理,并用AT89S52单片机对一体化红外接收头处理输出的信号进行识别,解码,显示。
在本次实验中,我们主要是运用AT89S52单片机设计了一款基于单片机控制的最小系统。
功能完整的1602LCD时钟实验摘要本设计基于单⽚机技术原理,以单⽚机芯⽚STC89C52作为核⼼控制器,通过硬件电路的制作以及软件程序的编制,设计制作出⼀个多功能数字时钟系统。
单⽚机扩展的LCD显⽰器⽤来显⽰年、⽉、⽇、时、分、秒计数单元中的值。
整个设计包括两⼤部分: 硬件部分和软件部分,以单⽚机为核⼼, 配以⼀定的外围电路和软件。
硬件是整个系统的基础, 软件部分则要合理、充分地⽀持和使⽤系统的硬件, 从⽽完成系统所要完成的任务。
本设计采⽤LCD液晶显⽰,电路简单使⽤⼴泛。
该时钟系统主要由时钟模块、闹钟模块、液晶显⽰模块、键盘控制模块以及信号提⽰模块组成。
能够准确显⽰时间(显⽰格式为年:⽉:⽇:时时:分分:秒秒,24⼩时制),可随时进⾏时间调整,具有闹钟时间设置、闹钟开/关、⽌闹功能。
设计以硬件软件化为指导思想,充分发挥单⽚机功能,⼤部分功能通过软件编程来实现,电路简单明了,系统稳定性⾼。
单⽚机在这种情况下诞⽣了基于单⽚机电⼦时钟。
关键词:单⽚机 LCD1602 数字钟This design based on the single chip microcomputer principle, taking single-chip chip STC89C52 as core controller, through the hardware circuit and software production procedure formulation, designed and produced a multi-function digital clock system. SCM extended LCD display used to display date and time, minutes and seconds counting unit of values. The whole design includes two parts, hardware and software of, based on singlechip, match with certain peripheral circuit and software. Hardware is based in the whole system, the software part then be reasonable and fully support and use the system hardware, thus completing system to complete the task. This design USES the LCD, simple circuit is widely used. This clock system mainly by the clock module, alarm module, LCD module, keyboard control module and signal hint module. To accurately display the time (display format for years: month: day: always: component: seconds seconds, 24-hour system), available for time to adjust, with alarm time setting, alarm clock on/off, stop joking function. Design with hardware and software into guiding ideology, give full play to the SCM functions, most functions through software programming realize, circuit straightforward, stability of the system is high. SCM in this case was born based on single-chip electronic clock. Keywords: SCM LCD1602 digital clock前⾔数字钟是采⽤数字电路实现对时,分,秒数字显⽰的计时装置,⼴泛⽤于个⼈家庭,车站, 码头办公室等公共场所,成为⼈们⽇常⽣活中不可少的必需品,由于数字集成电路的发展和⽯英晶体振荡器的⼴泛应⽤,使得数字钟的精度,远远超过⽼式钟表, 钟表的数字化给⼈们⽣产⽣活带来了极⼤的⽅便,⽽且⼤⼤地扩展了钟表原先的报时功能。
基于单片机的LCD1602电子时钟设计一、设计任务和目的1.1、设计任务(1):用单片机设计基于LCD1602的电子时钟,显示时间和日期;(2):误差精度控制在1s/天;(3):具有时间和日期的校准功能;(4):能区分某年是闰年或平年,并对应显示2月份的天数;(5):根据月份的不同显示不同的最大日数;(6):搭建仿真电路图,模拟单片机要实现的功能;(7):焊接单片机开发板;(8):编写程序,下载并调试,实现要求的功能。
1.2、设计目的(1):熟练掌握KEIL软件的使用方法;(2):熟练掌握PROTEUS软件的使用方法;(3):掌握单片机I/O接口的工作原理;(4):掌握LCD显示器的工作原理及编程方法;(5):掌握独立式键盘的工作原理及编程使用方法;(6):掌握单片机的下载使用方法。
二、设计思路和方案论证2.1、设计思路电路总体上分为控制和显示部分。
以单片机最小系统作为核心控制电路,控制LCD显示,具体显示内容及方式由软件来完成;由于有时钟和日期的调节功能需要校准电路和基本的复位电路,复位电路采用按键复位,调节键、加1键、减1键三个按键完成,共需四个按键;计时功能由固定频率的晶振完成(采用11.0592MHz);显示部分主要采用LCD1602作为显示。
2.2、方案论证(1):时钟芯片的选择和论证方案一:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、月、年以及闰年补偿的年进行计数,精度也较高,工作电压2.5V~5.5V范围内,功耗也较低,但价格比较贵。
方案二:直接采用单片机定时计数器提供秒信号,使用程序实现秒、分、时、日、月、年计数。
采用此方案实现虽然有一定的时间误差,但可减少芯片的使用,节约成本,易于实现,符合现实选用,所以采用此种作为时钟信号发生器。
(2):显示模块选择方案和论证:方案一:采用点阵式图形LCD12864液晶显示屏,液晶显示屏的显示功能强大,可显示文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用点阵式图形LCD12864液晶显示屏。
单片机时钟芯片ds1302在lcd1602上显示年月日时分秒_图文单片机设计实验内容摘要:单片机实验是通过Proteus仿真并且与Keil相结合使用控制单片机使其在仿真中完成一系列所设计的程序。
我们这个小组所做的实验是仿真一个数字时钟,通过DS1302这个芯片从计算机上读取时间信息,再由51单片机对数据进行处理、分配,将其输出在LCD1602上,实现简单的数字时钟的功能。
设计内容及要求:(1)根据设计课题的技术指标和给定条件,在教师指导下,能够独立而正确地进行方案论证和设计计算,要求概念清楚、方案合理、方法正确、步骤完整; (2)要求学生掌握单片机的设计内容、方法和步骤;(3)要求会查阅有关参考资料和手册等;(4)要求学会选择有关元件和参数;(5)要求学会绘制有关电路图和设计流程图;(6)要求学会编写设计说明书。
系统框图:硬件选择:1、AT89C51AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51外形及引脚排列主要特性:?与MCS-51 兼容?4K字节可编程FLASH存储器?寿命:1000写/擦循环?数据保留时间:10年?全静态工作:0Hz-24MHz?三级程序存储器锁定?128×8位内部RAM?32可编程I/O线?两个16位定时器/计数器?5个中断源?可编程串行通道?低功耗的闲置和掉电模式?片内振荡器和时钟电路特性概述:AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
物理与电子信息学院课程设计报告书姓名:班级:学号:时间:2010年11月电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的时、分、秒,同时使用C语言程序来控制整个时钟显示,使得编程变得更容易,这样通过三个模块:键盘、芯片、显示屏即可满足设计要求。
原理如图一所示。
3.2.各部分功能实现3.2.1.控制部分(AT89C52)单片机采用52系列单片机。
由ATMEL公司生产的AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。
使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。
在单芯片上,拥有灵巧的8 位CPU 和在线系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。
AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
而且,它还具有一个看门狗(WDT)定时/计数器,如果程序没有正常工作,就会强制整个系统复位,还可以在程序陷入死循环的时候,让单片机复位而不用整个系统断电,从而保护你的硬件电路。
单片机最小系统单片机最小系统主要由复位电路,晶振电路,电源等几部分组成。
1)复位电路复位电路有两种方式:上电复位和按钮复位,我们主要用按钮复位方式。
如图二所示:图二复位电路2)晶振电路晶振电路原理图三:图三晶振模块原理图选取原则:电容选取30pF,晶振为12MHz。
3)电源AT89S52单片机的供电电源是5V的直流电。
4)EA非/Vpp 脚我们没有用外部扩展ROM,因此EA非/Vpp为高电平,即接+5V电源。
今日做一个简单1602应用案例—-设计一个秒表。
要求:具有秒表启动和复位功能按键,秒表计时时间实时显示在LCD1602。
1.系统的硬件电路原理图:2.系统的程序设计2.1 头文件、全局变量和函数的声明#include “LCD_1602.h”#includeunsigned char Disp_Buffer[10];//这个可以稍微设置大一点,不影响结果显示,显示的时候遇到字符串结束标志就结束//定义二个位变量,分别对应按键开始按键和停止复位按键sbit key_set=P3^2;sbit key_reset=P3^3;unsigned char TIme_count=0;unsigned int TIme_S=0;void TImer_inial();//定时器初始化void delay(unsigned int i);//延时函数void start();//启动秒表void stop();//停止复位秒表void second_cal_show();//秒的计算与显示2.2 主程序主程序主要完成显示屏的初始化和初始化显示、定时器的初始化,注意定时初始化的时候不启动。
启动有开始按键控制,不按下开始键不启动定时器。
初始化完了,在while循环中调用start();确定是否启动定时器,调用stop();根据按键状态确定是否停止秒表并复位;调用second_cal_show(); 进行秒的计算和显示。
void main(){InitLcd1602();LcdShowStr(0, 0, “Current : 0 S”);LcdShowStr(0, 1, “Last: 0 S”);TImer_inial();while(1){start();stop();second_cal_show();}}2.3 子程序2.3.1 初始定时器:定时器T0工作在模式1,定时器定时时间0.02秒。
void timer_inial(){TMOD = 0X01;//TH0=0XB8;//定时0.02sTL0=0X00;}2.3.2 延时函数:软件延时,主要用按键软件消抖//延时函数void delay(unsigned int i){unsigned int k;for(k=0;k2.3.3 启动函数:检测按键是否按下,按键如果按下则启动定时器T0,并从0开始计数。
计算机科学与工程系实验报告实验题目:制作一个采用LCD1602显示的电子钟班级:姓名:学号:日期:一、实验目的掌握单片机使用定时器/计数器控制字符型液晶显示器LCD1602的设计与软件编程二、实验要求在LCD上显示当前的时间。
显示格式为“时时:分分:秒秒”。
设有4个功能键k1~k4,功能如下:(1)k1——进入时间修改。
(2)k2——修改小时,按一下k2,当前小时增1。
(3)k3——修改分钟,按一下k3,当前分钟增1。
(4)k4——确认修改完成,电子钟按修改后的时间运行显示。
三、实验要求提交的实验报告中应包括:电路原理图、实验设计思路、C51源程序(含注释语句)、运行效果(含运行截图与说明)、实验小结三、硬件电路原理图的设计四、编程思路及C51源程序编程思路:1、实现当按下K1之后,使中断T0停止计数2、实现当按下K2之后,使小时加一3、实现当按下K3之后,使分钟加一4、实现当按下K4之后,使中断T0恢复计数源程序:#include<reg51.h>#ifndef LCD_CHAR_1602_2005_4_9#define LCD_CHAR_1602_2005_4_9#define uchar unsigned char#define uint unsigned intsbit lcdrs = P2^0;sbit lcdrw = P2^1;sbit lcden = P2^2;void delay(uint z)//延时函数,此处使用晶振为11.0592MHz {uint x,y;for(x=z;x>0;x--){for(y=110;y>0;y--){;}}}void write_com(uchar com) //写入指令数据到lcd{lcdrw=0;lcdrs=0;P3=com;delay(5);lcden=1;delay(5);lcden=0;}void write_data(uchar date) //写入字符显示数据到lcd{lcdrw=0;lcdrs=1;P3=date;delay(5);lcden=1;delay(5);lcden=0;}void init1602()//1602液晶初始化设定{lcdrw=0;lcden=0;write_com(0x3C);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);}/*void write_string(uchar *pp,uint n)//采用指针的方法输入字符,n为字符数目{int i;for(i=0;i<n;i++)write_data(pp[i]);}*/void write_sfm(uchar add,uchar date)//向指定地址写入数据{uchar shi,ge;shi=date/10;ge=date%10;write_com(0x80+add);write_data(0x30+shi);write_data(0x30+ge);}#endif#define uchar unsigned char#define uint unsigned intsbit Key1 = P1^0;sbit Key2 = P1^1;sbit Key3 = P1^2;sbit Key4 = P1^3;uchar int_time;//定义中断次数计数变量uchar second;//秒计数变量uchar minute;//分钟计数变量uchar hour;//小时计数变量uchar code date[]=" H.I.T. CHINA ";//LCD第1行显示的内容uchar code time[]=" TIME 23:59:55 ";//LCD第2行显示的内容uchar second=55,minute=59,hour=23;void clock_init(){uchar i,j;for(i=0;i<16;i++){write_data(date[i]);}write_com(0x80+0x40);for(j=0;j<16;j++){write_data(time[j]);}}void clock_write( uint s, uint m, uint h){write_sfm(0x47,h);write_sfm(0x4a,m);write_sfm(0x4d,s);}void Keyscan1(){if(Key1==0) {delay(10);if(Key1==0) while(!Key1); TR0=0;}if(Key4==0) {delay(10);if(Key4==0) while(!Key4); TR0=1;}if(Key3==0){delay(10);if(Key3==0)while(!Key3);minute++;if(minute==60)minute=0;} if(Key2==0){delay(10);if(Key2==0)while(!Key2);hour++;if(hour==24)hour=0;}}void main(){init1602();//LCD初始化clock_init();//时钟初始化TMOD=0x01;//设置定时器T0为方式1定时EA=1; // 总中断开ET0=1; // 允许T0中断TH0=(65536-46483)/256;//给T0装初值TL0=(65536-46483)%256;TR0=1;int_time=0;//中断次数、秒、分、时单元清0second=55;minute=59;hour=23;while(1){clock_write(second ,minute, hour);Keyscan1();}}void T0_interserve(void) interrupt 1 using 1 //T0中断服务子程序{int_time++;//中断次数加1if(int_time==20) //若中断次数计满20次{int_time=0; //中断次数变量清0second++;//秒计数变量加1}if(second==60)//若计满60s{second=0; //秒计数变量清0minute ++;//分计数变量加1}if(minute==60)//若计满60分{minute=0;//分计数变量清0hour ++;//小时计数变量加1}if(hour==24){hour=0;//小时计数计满24,将小时计数变量清0 }TH0=(65536-46083)/256;//定时器T0重新赋值TL0=(65536-46083)%256;}五、仿真运行效果展示仿真初始状态按下k1键,进入修改模式六、实验小结通过本次实验,我掌握了LCD1602编程的方法,将所学知识运用到实践中,这是一件慢慢的过程,首先要把理论知识理解透彻,然后就是例题看懂,弄懂举一反三。
/**********************BST-V51实验开发板例程************************* 平台:BST-V51 + Keil U3 + STC89C52* 名称:1602显示秒表******************************************************************* ** 描述:** ** 上电后液晶屏先显示信息,接着按下K3,定时开始,再次按下** ** K3暂停,第3次按下显示累积计时,第4次按下暂停计时,任何时候按下K4* * ** 计数清零。
** ** *************************************************************************/#include <reg51.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intuchar KeyCount=0;sbit K3 = P3^6;sbit K4 = P3^7;sbit BEEP = P2^3; //蜂鸣器uchar code cdis1[ ] = {" STOPWA TCH 0 "};uchar code cdis2[ ] = {" BST-V51 "};uchar code cdis3[ ] = {"TIME "};uchar code cdis4[ ] = {" BEGIN COUNT 1 "};uchar code cdis5[ ] = {" PAUSE COUNT 2 "};uchar code cdis6[ ] = {" BEGIN COUNT 3 "};uchar code cdis7[ ] = {" PAUSE COUNT 4 "};uchar code cdis8[ ] = {" "};sbit LCD_RS = P1^0;sbit LCD_RW = P1^1;sbit LCD_EN = P2^5;#define delayNOP(); {_nop_();_nop_();_nop_();_nop_();};uchar display[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00};uchar display2[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};/********************************************************* 延时函数*********************************************************/void Delay(uint num)//延时函数{while( --num );}/********************************************************* 蜂鸣器响一声**********************************************************/ void beep(){unsigned char y;for (y=0;y<180;y++){BEEP=!BEEP; //BEEP取反Delay(70);}BEEP=1; //关闭蜂鸣器}/********************************************************* 延时函数1*********************************************************/ void delay1(int ms){unsigned char n;while(ms--){for(n = 0; n<250; n++){_nop_();_nop_();_nop_();_nop_();}}}/*********************************************************** ** 检查LCD忙状态* * lcd_busy为1时,忙,等待。
** lcd-busy为0时,闲,可写指令与数据。
** ***********************************************************/bit lcd_busy(){bit result;LCD_RS = 0;// LCD_RW = 1;LCD_EN = 1;delayNOP();result = (bit)(P0&0x80);LCD_EN = 0;return(result);}/*********************************************************** **写指令数据到LCD * *RS=L,RW=L,E=高脉冲,D0-D7=指令码。
* * ***********************************************************/ void lcd_wcmd(uchar cmd){// while(lcd_busy());LCD_RS = 0;// LCD_RW = 0;LCD_EN = 0;_nop_();_nop_();P0 = cmd;delayNOP();LCD_EN = 1;delayNOP();LCD_EN = 0;Delay(10);}* **写显示数据到LCD * *RS=H,RW=L,E=高脉冲,D0-D7=数据。
* * ***********************************************************/ void lcd_wdat(uchar dat){// while(lcd_busy());LCD_RS = 1;// LCD_RW = 0;LCD_EN = 0;P0 = dat;delayNOP();LCD_EN = 1;delayNOP();LCD_EN = 0;Delay(10);}/*********************************************************** ** LCD初始化设定* * ***********************************************************/ void lcd_init(){LCD_RW = 0;delay1(15);lcd_wcmd(0x01); //清除LCD的显示内容lcd_wcmd(0x38); //16*2显示,5*7点阵,8位数据delay1(5);lcd_wcmd(0x38);delay1(5);lcd_wcmd(0x38);delay1(5);lcd_wcmd(0x0c); //开显示,不显示光标delay1(5);lcd_wcmd(0x01); //清除LCD的显示内容delay1(5);}* * * 设定显示位置* * * **********************************************************/void lcd_pos(uchar pos){lcd_wcmd(pos | 0x80); //数据指针=80+地址变量}/********************************************************显示函数*********************************************************/ void play(){uchar i;for(i=0;i<6;i++){display2[i]=display[i]+0x30;}display2[7]=display[6]/10+0x30; //时单位数据处理display2[6]=display[6]%10+0x30;lcd_pos(0x45);lcd_wdat(display2[7]); //显示时lcd_wdat(display2[6]);lcd_wdat(0x3a); //显示':'lcd_wdat(display2[5]); //显示分lcd_wdat(display2[4]);lcd_wdat(0x3a); //显示':'lcd_wdat(display2[3]); //显示秒lcd_wdat(display2[2]);lcd_wdat(0x3a); //显示':'lcd_wdat(display2[1]); //显示毫秒lcd_wdat(display2[0]);}/********************************************************主函数main(){uchar m;TMOD=0x01;TH0=0xdc; TL0=0x00; //50ms定时EA=1; ET0=1;lcd_init();lcd_pos(0x00); //设置显示位置为第一行for(m=0;m<16;m++)lcd_wdat(cdis1[m]); //显示字符lcd_pos(0x40); //设置显示位置为第二行for(m=0;m<16;m++){lcd_wdat(cdis2[m]); //显示字符delay1(60);}delay1(1000);lcd_pos(0x40); //设置显示位置为第二行for(m=0;m<16;m++)lcd_wdat(cdis3[m]);while(1){if(K3==0){KeyCount++; //计数beep();delay1(100);switch (KeyCount){case 1:TR0=1; //启动中断lcd_pos(0x00);for(m=0;m<16;m++)lcd_wdat(cdis4[m]);break;case 2:TR0=0; //停止中断lcd_pos(0x00);for(m=0;m<16;m++)lcd_wdat(cdis5[m]);break;case 3:TR0=1; //启动中断lcd_pos(0x00);for(m=0;m<16;m++)lcd_wdat(cdis6[m]);break;case 4:TR0=0; //停止中断lcd_pos(0x00);for(m=0;m<16;m++)lcd_wdat(cdis7[m]);break;default:TR0=0; //停止中断break;}}if(K4==0){TR0=0; //停止中断KeyCount=0;for(m=0;m<8;m++)display[m]=0x00; //计时单元清零lcd_pos(0x00); //设置显示位置为第一行for(m=0;m<16;m++)lcd_wdat(cdis1[m]);beep();delay1(100);}play();}}/********************************************************* * * * Time0中断函数* * * **********************************************************/ void Time0(void) interrupt 1 using 0{TH0=0xdc; //10ms定时TL0=0x00;display[0]++; //0.01Sif(display[0]==10){display[0]=0;display[1]++; //0.1S}if(display[1]==10){display[1]=0;display[2]++; //秒个位}if(display[2]==10){display[2]=0;display[3]++; //秒十位}if(display[3]==6){display[3]=0;display[4]++; //分个位}if(display[4]==10){display[4]=0;display[5]++; //分十位}if(display[5]==6){display[5]=0;display[6]++; //时}if(display[6]==24){display[6]=0;}}/*********************************************************/。