版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言编写单片机万年历系统课程设计报告98分..多功能电脑时钟设计报告 一、实训目的意义及任务要求1.1目的意义单片机的使用领域已十分广泛,如智能仪器仪表、实时工控、通讯设备、导航系统、家用电器等。“学好单片机,工作就不成问题了。”老师说,可见学好单片意义之重大。单片机作为一门基础学科,既是对前期学习C语言的综合运用,也是理论与实践相结合的一大体现。电脑时钟有效地检验了对DS1302时钟芯片,STC89C52单片机中断,独立键盘,数码管,蜂鸣器,LED灯的控制,同时提高了学生的工程系统设计能力。LED数字显示的日历钟显示清晰直观、走时准确、可以进行夜视,并且还可以扩展出多种功能。所以,电子万年历无论作为比赛题目还是练习题目都是很有价值。通过此次单片机系统综合训练,不仅要让学生认识了解它,而且增强学生学科积极性。2.2任务要求要求设计的电脑时钟完成以下功能:1.基本功能①实时显示当前时间(4位数码管显示,2位显示小时,2位显示分钟,第2位小数点0.5秒亮,0.5秒灭)。②能用一按键依次切换显示年及月日。③能修改当前时钟。④具有秒表功能,显示秒和百分秒。2.扩展功能①单片机与PC机的通讯(可选)②可设定初值的倒计时功能(可选)③闹钟及报时功能(可选)。④显示星期(可选)。二、实训方案2.1系统分析C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第1页。根据系统功能要求,可将系统组成结构分成四大部分:DS1302时钟芯片读数据写数据模块,数码管显示模块,按键设置调节时间模块,秒表功能模块,。硬件电路接线图如后图,本系统采用DS1302时钟芯片,四位数码管显示年月,日星期,时分,以及秒和百分秒。其中年月日,时分秒和星期采用DS1302的数据显示,秒表采用单片机定时中断实现。本系统共用到四个按键,且均为独立对地按键,分别用于显示切换,修改切换,修改加一,修改减一,秒表启动暂停和数据清零。C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第1页。2.2器件选择选用STC89C52芯片,频率为11.0592MHz;由于系统要求显示年月日小时和分钟,采用四位LED数码管显示即可;按键是用来设置北京时间或闹钟时间或启动秒表等功能的,设置三个按键:显示切换模式键(key3)、修改数据键(key0)、加一键(key1)、减一键(key2)。DS1302时钟芯片。常见的LED显示具有清晰明亮的特点。是显示接口也是绝大多数单片机应用系统必备的部件之一。发光二极管组成的显示器是单片机应用产品中最常用的廉价输出设备。它由若干个发光二极管按一定的规律排列而成。当某一个发光二极管导通时,相应的一个点或一笔画被点亮,控制不同组合的二极管导通,就能显出各种字符。1.显示器的结构常用的7段显示器的结构如图所示,发光二极管的阳极连在一起的称为共阳极显示器,阴极连在一起的成为共阴显示器。1位显示器由8个发光二极管组成,其中7个发光二极管a~g控制7个笔画的亮或暗,另一个控制一个小数点的亮和暗,这种笔画的七段显示器能显示的字符较少,字符的形状有些失真,但失控简单,使用方便。C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第2页。C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第2页。三、系统硬件设计3.1单片机最小系统单片机功能系统图见附录1,。单片机最小系统由STC89C51单片机、复位电路、晶振电路组成。如图3.1所示图3.1单片机最小系统图3.2数码管、独立按键及DS1302时钟芯片电路的设计C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第3页。系统仿真电路图C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第3页。系统仿真电路图系统仿真电路图DS1302与单片机连线图C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第4页。C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第4页。3.3其他附属电路设计按键、电频转换芯片、RS232串口通信及电源电路等设计,如图3.3所示图3.3附属电路设计图四、软件设计4.1主程序设计主程序采用定时器0对程序进行扫描执行。分别执行DS1302芯片初始化子程序,写数据子程序,将最初的值写入芯片中,采用while循环循环执行键盘扫描子程序。main(){TMOD=0x01;//使用模式1,16位定时器TH0=(65536-10000)/256;//给定初值TL0=(65536-10000)%256;EA=1;//总中断打开C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第5页。ET0=1;//定时器中断打开C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第5页。TR0=1;//定时器开关打开Ds1302_Init();Ds1302_Write_Time();while(1){keyscan();if(Btread==0){Btread=1;Ds1302_Read_Time();}display();}4.2DS1302子程序设计此子程序分为初始化程序,读数据程序,写数据程序,一些数据程序为例;voidDs1302_Write_Byte(unsignedcharaddr,unsignedchard){CE=0;_nop_();SCLK=0;_nop_();CE=1;_nop_();Write1302(addr);Write1302(d);CE=0;_nop_();IO=1;SCLK=1;}分别写入地址,再写入数据。4.3时间调整子程序时间调整子程序采用的是对key1按的次数不同来进行对年月日时分及星期的设置。voidzongshi(void){ if(!key){if(btx==0){C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第6页。if(!key)C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第6页。{btx=1;k++;}}}else{btx=0;}}k=1时,调整年份,key1为加,key2为减voidkeyscan()k=2时,调整月份,key1为加,key2为减{k=3时,调整日份,key1为加,key2为减display();k=4时,调整星期,key1为加,key2为减if(!key){if(btx==0){if(!key){btx=1;k++;}}C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第7页。C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第7页。C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第8页。C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第8页。五、调试及性能分析5.1软件测试电子成年历是多功能的数字型,可以看当前日期(阴、阳历),时间,还有温度的仪器。电子成年历功能很多,所以对于它的程序也较为复杂,所以在编写程序和调试时出现了相对较多的问题。最后经过多次的模块子程序的修改,一步一步的完成,最终解决了软件。在软件的调试过程中主要遇到的问题如下:1.烧入程序后,LED数码管显示闪动,而且亮度不均匀。解决:首先对调用的延时进行逐渐修改,可以解决显示闪动问题。其次,由于本作品使作动态扫描方式显示的数字,动态扫描很快,人的肉眼是无法看出,但是调用的显示程序时,如果不在反回时屏蔽掉最后的附值,则会出现很亮的现象,所以在显示的后面加了屏蔽子令,最后解决了此问题。2.修改时间、日期时没有农历没有自动对应上。解决:把不相关的程序暂时屏蔽,地农历的子程序独立调试,发现在调用农历自动更新时,对十进制和十六进制处理不好,所以会造成错乱。最后把相应的十进制进行修改,使得可以与十六进制对应,最后解决了此问题.5.2测试结果分析与结论(1).在测试中遇到发光二极管、LED数码管为不显示时,首先使用试测仪对电路进行测试,观察是否存在漏焊,虚焊,或者元件损坏.(2).LED数码管显示不正常,还有亮度不够,首先使用试测仪对电路进行测试,观察电路是否存在短路现象。查看烧写的程序是否正确无误,对程序进行认真修改。(3).DS1302与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位MSB(D7)必须为逻辑1,如果D7=0,则禁止写DS1302,即写保护;D6=0,指定时钟数据,D6=1,指定RAM数据;D5~D1指定输入或输出的特定寄存器;最低位LSB(D0)为逻辑0,指定写操作(输入),D0=1,指定读操作(输出)。在DS1302的时钟日历或RAM进行数据传送时,DS1302必须首先发送命令字节。若进行单字节传送,8位命令字节传送结束之后,在下2个SCLK周期的上升沿输入数据字节,或在下8个SCLK周期的下降沿输出数据字节。DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄存器,在此方式下可一次性读、写所有的RAM的31个字节。C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第9页。要特别说明的是备用电源B1,可以用电池或者超级电容器(0.1F以上)。虽然DS1302在主电源掉电后的耗电很小,但是,如果要长时间保证时钟正常,最好选用小型充电电池。可以用老式电脑主板上的3.6V充电电池。如果断电时间较短(几小时或几天)时,就可以用漏电较小的普通电解电容器代替。100μF就可以保证1小时的正常走时。DS1302C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第9页。5.3测试结论经过多次的反复测试与分析,可以对电路的原理及功能更加熟悉,同时提高了设计能力与及对电路的分析能力.同时在软件的编程方面得到更到的提高,对编程能力得到加强.同时对所学的知识得到很大的提高与巩固C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第10页。C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第10页。六、心得体会从大一开始接触单片机,简单运用单片机,我初步认识了单片机。再经过这两周的单片机的专门学习,我对单片机有了进一步的学习和认识,加深了我对单片机理论知识的理解,提升了我个人理论结合实际的实践能力。从简单的单片机设计开始,一步一步的增加难度。刚开始设计时,老师给我们的任务很简单,可以轻松完成任务完成。电脑时钟的设计,是在秒表的基础上慢慢的添加一个又一个的功能,然后一个一个的调试。在调试的过程中我们遇到了很多的问题,我们编出来的程序不是一下子就能实现我们想要的功能的,要经过不断的修改、调试,实现我们想要的功能。程序设计中,定时器的应用相当广泛,它与中断函数构成了基本的计数环节,中断为定时提供了条件,函数每5ms便进入中断函数一次,并执行相应的操作与计数。条件语句为数码管的功能显示提供了条件。我们还进一步优化设计,比如整点报时设计对应点数报时,闹钟用音乐播放形式与整点报时区分开来,闹钟及整点(半点)可设是否开启等。总之,通过本次单片机系统综合训练,我对单片机的基础知识及基本的应用技术有了深刻的了解,提升了个人理论到实践的运用能力。进一步为后续学习及工作有打下坚实基础。C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第11页。参考文献C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第11页。C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第12页。附录一C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第12页。附录二#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint#defineWrite_Protect0x8e//写保护#defineOutPutP0//显示输出//sbitDU=P2^6;//数码管段选//sbitWE=P2^7;//数码管位选sbitCE=P3^3;//复位端口定义在P0.2引脚sbitIO=P2^4;//数据输出端定义在P0.4引脚sbitSCLK=P3^2;//时钟输出端口定义在P0.3引脚sbitkey=P3^4;//时间调节控制键sbitkey1=P3^5;//每按一次位加一sbitkey2=P3^6;//每按一次位减一sbitkey3=P3^7;//显示切换ucharcodeWei[]={0xfe,0xfd,0xfb,0xf7,0xfd};//位选数据0xef,0xdf,0xbf,0x7fucharcodeDuan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0--9共阴代码codeucharWaddr[]={0x8c,0x88,0x86,0x84,0x82,0x80,0x8a};//寄存器写地址codeucharRaddr[]={0x8d,0x89,0x87,0x85,0x83,0x81,0x8b};//寄存器读地址uchartimeset[]={0x01,0x02,0x03,0x04,0x05,0x00,0x01};/*设置初始时间*/uchartime_buf[7];/*存读到的时间*/uchartime_disp[7];uchardispdat[5];/*存储显示值的*/ucharBtdis=0,k=0,z;bitbtx,btx1,btx2,btx3,bt1,bt2,bt3;bitBtread;uintflag1;/*==================================================函数功能:延时n毫秒入口参数:n====================================================*/voidWrite1302(uchardat);voiddelaynms(ucharn){uchari,j;for(i=n;i>0;i--)for(j=125;j>0;j--);}/*=============================================函数功能:根据命令字,向1302写一个字节数据C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第13页。入口参数:Cmd,存储命令字;dat,存储待写的数据C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第13页。==============================================*/voidDs1302_Write_Byte(unsignedcharaddr,unsignedchard){CE=0;_nop_();SCLK=0;_nop_();CE=1;_nop_();Write1302(addr);Write1302(d);CE=0;_nop_();IO=1;SCLK=1;}//从DS1302读出一字节数据ucharDs1302_Read_Byte(unsignedcharaddr){unsignedchari;unsignedchartemp;CE=1;addr=addr|0x01;for(i=0;i<8;i++){if(addr&0x01){IO=1;}else{IO=0;}SCLK=1;SCLK=0;addr=addr>>1;}//输出数据:tempfor(i=0;i<8;i++){temp=temp>>1;if(IO){temp|=0x80;}else{temp&=0x7F;}SCLK=1;SCLK=0;}CE=0;//停止DS1302总线returntemp;}/*===================================================函数功能:向1302日历时钟芯片写入一个字节的数据C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第14页。入口参数:datC语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第14页。====================================================*/voidWrite1302(uchardat){uchari;//SCLK=0;CE=1;for(i=0;i<8;i++){IO=dat&0x01;SCLK=0;SCLK=1;dat=dat>>1;}}/*=====================================================函数功能:根据命令字,从1302读取一个字节的数据入口参数:Cmd返回参数:dat======================================================*/ucharReadset1302(ucharCmd){uchardat;CE=0;SCLK=0;CE=1;Write1302(Cmd);SCLK=1;CE=0;returndat;}voidbcdpro(void){unsignedchari,tmp;for(i=0;i<7;i++)//BCD处理{tmp=timeset[i]/10;//timeset[]={0x01,0x02,0x03,0x04,0x05,0x06,0x01}time_buf[i]=timeset[i]%10;//time_buf[7]time_buf[i]=time_buf[i]+tmp*16;} }/*================================================向DS1302写入时钟数据===================================================*/C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第15页。voidDs1302_Write_Time(void)C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第15页。{unsignedinti;ucharflag;flag=Readset1302(0x81);if(flag&0x80)//判断时钟芯片是否停止,为1时时钟停止{//掉电保存 bcdpro(); for(i=0;i<7;i++) {Ds1302_Write_Byte(Waddr[i],time_buf[i]);}Ds1302_Write_Byte(0x8e,0x80);//打开写保护}}/*===============================================从DS1302读出时钟数据=================================================*/voidDs1302_Read_Time(void){unsignedchari,tmp; for(i=0;i<7;i++){time_buf[i]=Ds1302_Read_Byte(Raddr[i]);} for(i=0;i<7;i++)//BCD处理{tmp=time_buf[i]/16; time_buf[i]=time_buf[i]%16; time_disp[i]=time_buf[i]+tmp*10;}}/*======================================================DS1302初始化===================================================*/voidDs1302_Init(void){CE=0;//RST脚置低SCLK=0;//SCK脚置低Ds1302_Write_Byte(0x80,0x00);}/*====================================================函数名:时分秒显示子程序==函数功能:将从DS1302读到的数据在8位共阴数码管上显示==返回参数:===================================================*/voiddisplay(){C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第16页。uchari;C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第16页。if(Btdis==0){if(bt2==0){dispdat[0]=Duan[time_disp[3]/10];//时dispdat[1]=Duan[time_disp[3]%10];}else{dispdat[0]=0x00;dispdat[1]=0x00;}//dispdat[2]=0x40;//"-"if(bt3==0){dispdat[2]=Duan[time_disp[4]/10];//分dispdat[3]=Duan[time_disp[4]%10];}else{dispdat[2]=0x00;dispdat[3]=0x00;}//dispdat[5]=0x40;if(flag1<25)dispdat[4]=0x80;elsedispdat[4]=0x00;} if(Btdis==3) { dispdat[0]=Duan[time_disp[5]/10];//秒dispdat[1]=Duan[time_disp[5]%10];dispdat[2]=0x40;dispdat[3]=0x40; }if(Btdis==1){if(bt1==0){dispdat[0]=Duan[time_disp[0]/10];//年dispdat[1]=Duan[time_disp[0]%10];}elseC语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第17页。{C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第17页。dispdat[0]=0x00;dispdat[1]=0x00;}//dispdat[2]=0x40;//"-"if(bt2==0){dispdat[2]=Duan[time_disp[1]/10];//月dispdat[3]=Duan[time_disp[1]%10];}else{dispdat[2]=0x00;dispdat[3]=0x00;}dispdat[4]=0x00;}if(Btdis==2){//dispdat[0]=0x40;if(bt1==0){dispdat[3]=Duan[time_disp[6]%10];//周}else{dispdat[3]=0x00;} dispdat[2]=0x40; if(bt3==0){dispdat[0]=Duan[time_disp[2]/10];//日dispdat[1]=Duan[time_disp[2]%10];}else{dispdat[0]=0x00;dispdat[1]=0x00;}if(dispdat[3]==7){C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第18页。dispdat[3]=0x7f;C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第18页。}} if(Btdis==4) { }for(i=0;i<5;i++){OutPut=dispdat[i];P1=Wei[i];delaynms(1);OutPut=0x00;}}/*====================================================函数名:按键==函数功能:显示模式,调时模式==返回参数:===================================================*/voidzongshi(void){ if(!key){if(btx==0){if(!key){btx=1;k++;}}}else{btx=0;}}voidkeyscan(){C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第19页。display();C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第19页。if(!key){if(btx==0){if(!key){btx=1;k++;}}/*=================================================k=1时,调整年份,key1为加,key2为减==================================================*/while(k==1){Btdis=1;display();zongshi();if(!key1){if(btx1==0){if(!key1){btx1=1;if(time_disp[0]<99){time_disp[0]++;}else{time_disp[0]=0;}}}}else{btx1=0;}if(!key2){if(btx2==0){if(!key2){btx2=1;C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第20页。if(time_disp[0]>0)C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第20页。{time_disp[0]--;}else{time_disp[0]=99;}}}}else{btx2=0;} }/*=================================================k=2时,调整月份,key1为加,key2为减==================================================*/while(k==2){Btdis=1;display();zongshi();if(!key1){if(btx1==0){if(!key1){btx1=1;if(time_disp[1]<12){time_disp[1]++;if(time_disp[1]==2){if(time_disp[0]%4==0){if(time_disp[2]>29){time_disp[2]=29;}}elseif(time_disp[2]>28){time_disp[2]=28;}}}else{time_disp[1]=1;}}}}else{btx1=0;}if(!key2){C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第21页。C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第21页。{if(!key2){btx2=1;if(time_disp[1]>1){time_disp[1]--;if(time_disp[1]==2){if(time_disp[0]%4==0){if(time_disp[2]>29){time_disp[2]=29;}}elseif(time_disp[2]>28){time_disp[2]=28;}}}else{time_disp[1]=12;}}}}else{btx2=0;} }/*=================================================k=3时,调整天,key1为加,key2为减==================================================*/while(k==3){Btdis=2;display();zongshi();if(!key1){if(btx1==0){if(!key1){btx1=1;if(time_disp[1]==2){if(time_disp[0]%4==0){if(time_disp[2]<29){time_disp[2]++;}C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第22页。elseC语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第22页。{time_disp[2]=1;}}elseif(time_disp[2]<28){time_disp[2]++;}elsetime_disp[2]=1;}elseif(time_disp[1]<8){if(time_disp[1]%2==0)//小于8月的月份除以2的余数为0则为小月{if(time_disp[2]<30){time_disp[2]++;}else{time_disp[2]=1;}}elseif(time_disp[1]%2==1)//小于8月的月份除以2的余数为1则为大月{if(time_disp[2]<31){time_disp[2]++;}else{time_disp[2]=1;}}}elseif(time_disp[1]>7){if(time_disp[1]%2==0){if(time_disp[2]<31){time_disp[2]++;}else{time_disp[2]=1;}}elseif(time_disp[1]%2==1){if(time_disp[2]<30){time_disp[2]++;}else{time_disp[2]=1;}C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第23页。}C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第23页。}}}}else{btx1=0;}if(!key2){if(btx2==0){if(!key2){btx2=1;if(time_disp[1]==2){if(time_disp[0]%4==0){if(time_disp[2]>1){time_disp[2]--;}else{time_disp[2]=29;}}elseif(time_disp[2]>1){time_disp[2]--;}else{time_disp[2]=28;}}elseif(time_disp[1]<8){if(time_disp[1]%2==0){if(time_disp[2]>1){time_disp[2]--;}else{time_disp[2]=30;}}elseif(time_disp[1]%2==1){if(time_disp[2]>1){time_disp[2]--;} else{time_disp[2]=31;}}}elseif(time_disp[1]>7){if(time_disp[1]%2==0){if(time_disp[2]>1){time_disp[2]--;}else{time_disp[2]=31;}C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第24页。}elseif(time_disp[1]%2==1)C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第24页。{if(time_disp[2]>1){time_disp[2]--;}else{time_disp[2]=30;}}}}}}else{btx2=0;} }/*=================================================k=4时,调整星期,key1为加,key2为减==================================================*/while(k==4){Btdis=2;display();zongshi();if(!key1){if(btx1==0){if(!key1){btx1=1;if(time_disp[6]<=6){time_disp[6]++;}else{time_disp[6]=1;}}}}else{btx1=0;}if(!key2){if(btx2==0){if(!key2){btx2=1;if(time_disp[6]>1){--time_disp[6];}else{time_disp[6]=7;}C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第25页。}C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第25页。}}else{btx2=0;} }/*=================================================k=5时,调整小时,key1为加,key2为减==================================================*/while(k==5){Btdis=0;display();zongshi();if(!key1){if(btx1==0){if(!key1){btx1=1; if(time_disp[3]<23){time_disp[3]++;}else{time_disp[3]=0;}}}}else{btx1=0;}if(!key2){if(btx2==0){if(!key2){btx2=1;if(time_disp[3]>0){time_disp[3]--;}else{time_disp[3]=23;}}}}else{btx2=0;} }/*=================================================C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第26页。k=6时,调整分钟,key1为加,key2为减C语言编写单片机万年历系统课程设计报告98分全文共29页,当前为第26页。==================================================*/while(k==6){Btdis=0;display();zongshi();if(!key1){if(btx1==0){if(!key1){btx1=1;if(time_disp[4]<59){time_disp[4]++;}else{time_disp[4]=0;}}}}else{btx1=0;}if(!key2){if(btx2==0){if(!key2){btx2=1;if(time_disp[4]>0){time_disp[4]--;}else{time_disp[4]=59;}}}}else{btx2=0;}}/*======================================================k=7把调整后的数据转换成16进制写入1302======================================================
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年合伙人投资协议样本版B版
- 2024年制造业临时工劳动协议范本版B版
- 2024年二手车交易协议样式一
- 2024年度专业舞台音响设备采购协议版B版
- 2024年员工离职综合协议范本
- 2024年工程成本控制与结算合同
- 2024年二手房买卖含贷款细节协议范本
- 2024年度企业广告宣传及赞助合同2篇
- 2024年度冷冻商品物流配送协议样本版B版
- 2024年买卖交易协议违约赔偿明细规定版B版
- 《电工电子技术》课件-电力电子技术在煤矿电气中的应用
- 心脏瓣膜病查房
- 【负债经营对公司价值的影响:以S食品为例10000字(论文)】
- 人用生物制品生物安全管理体系指南(征求意见稿)
- 中国镥-177(Lu-177)市场发展现状和未来五年前景分析
- 《浙江省建筑信息模型(BIM)技术应用导则》
- 围挡施工技术方案
- 区市监局期间市场监督管理工作总结
- 突尼斯沙漠国度
- 一标三实培训课件
- 《幼儿文学》课程标准
评论
0/150
提交评论